
--BEFORE CODE 29.06.2016
--текст
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--Таблица SVODREP_DETAIL_KAU
IF not exists(select * from sysobjects where id = object_id('[dbo].[SVODREP_DETAIL_KAU]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SVODREP_DETAIL_KAU] (
	[UID] uniqueidentifier NULL ,
	[CODE] varchar(100) NULL )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[SVODREP_DETAIL_KAU] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SVODREP_DETAIL_KAU')
CREATE INDEX [IX_SVODREP_DETAIL_KAU] ON [dbo].[SVODREP_DETAIL_KAU] ([UID], [CODE]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SVODREP_DETAIL_KAU_1')
CREATE INDEX [IX_SVODREP_DETAIL_KAU_1] ON [dbo].[SVODREP_DETAIL_KAU] ([UID]) ON [INDEX]
GO
--Констрэйнты
--Триггеры


GO
--текст
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--Таблица SVODREP_DETAIL_RULE
IF not exists(select * from sysobjects where id = object_id('[dbo].[SVODREP_DETAIL_RULE]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SVODREP_DETAIL_RULE] (
	[UID] uniqueidentifier NULL ,
	[LINK_CALC_RULE] int NULL ,
	[LINK_TABLE] int NULL ,
	[LINK_COL] int NULL ,
	[LINK_DICTION_ROW] int NULL ,
	[LINK_DICTION_ROW_GROUP] int NULL ,
	[ORDER] int NULL ,
	[SIGN] tinyint NULL ,
	[DT_MASK] varchar(8000) NULL ,
	[KT_MASK] varchar(8000) NULL ,
	[DT_EKR] varchar(8000) NULL ,
	[KT_EKR] varchar(8000) NULL ,
	[Mask_KBK] varchar(8000) NULL ,
	[TYPE_KBK] tinyint NULL ,
	[TYPE] tinyint NULL ,
	[IS_DT] tinyint NULL ,
	[OPER] varchar(1000) NULL )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[SVODREP_DETAIL_RULE] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SVODREP_DETAIL_RULE')
CREATE INDEX [IX_SVODREP_DETAIL_RULE] ON [dbo].[SVODREP_DETAIL_RULE] ([UID]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SVODREP_DETAIL_RULE_1')
CREATE INDEX [IX_SVODREP_DETAIL_RULE_1] ON [dbo].[SVODREP_DETAIL_RULE] ([UID], [LINK_COL], [LINK_DICTION_ROW]) ON [INDEX]
GO
--Констрэйнты
--Триггеры


GO
--текст
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--Таблица SVODREP_DETAIL_VFO
IF not exists(select * from sysobjects where id = object_id('[dbo].[SVODREP_DETAIL_VFO]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SVODREP_DETAIL_VFO] (
	[UID] uniqueidentifier NULL ,
	[CODE] varchar(1) NULL )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[SVODREP_DETAIL_VFO] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SVODREP_DETAIL_VFO')
CREATE INDEX [IX_SVODREP_DETAIL_VFO] ON [dbo].[SVODREP_DETAIL_VFO] ([UID]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SVODREP_DETAIL_VFO_1')
CREATE INDEX [IX_SVODREP_DETAIL_VFO_1] ON [dbo].[SVODREP_DETAIL_VFO] ([UID], [CODE]) ON [INDEX]
GO
--Констрэйнты
--Триггеры


GO
--текст
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--Таблица SVOD_REP_CALC_DATA
IF not exists(select * from sysobjects where id = object_id('[dbo].[SVOD_REP_CALC_DATA]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SVOD_REP_CALC_DATA] (
	[UID] uniqueidentifier NULL ,
	[KBK_DT] varchar(50) NULL ,
	[KBK_TYPE_DT] tinyint NULL ,
	[ACC_DT] varchar(50) NULL ,
	[SGU_DT] char(3) NULL ,
	[EKR_DT] char(3) NULL ,
	[KAU_CODE_DT] varchar(50) NULL ,
	[DEP_CODE_DT] varchar(10) NULL ,
	[DEP_NAME_DT] varchar(1000) NULL ,
	[DEP_INN_DT] varchar(20) NULL ,
	[DEP_OKTMO_DT] varchar(1000) NULL ,
	[DEP_ADM_DT] varchar(1000) NULL ,
	[DEP_EL_BUDG_DT] varchar(1000) NULL ,
	[DEP_ACC_DT] varchar(20) NULL ,
	[DCL_DT] varchar(20) NULL ,
	[KBK_KT] varchar(50) NULL ,
	[KBK_TYPE_KT] tinyint NULL ,
	[ACC_KT] varchar(50) NULL ,
	[SGU_KT] char(3) NULL ,
	[EKR_KT] char(3) NULL ,
	[KAU_CODE_KT] varchar(50) NULL ,
	[DEP_CODE_KT] varchar(10) NULL ,
	[DEP_NAME_KT] varchar(1000) NULL ,
	[DEP_INN_KT] varchar(20) NULL ,
	[DEP_OKTMO_KT] varchar(1000) NULL ,
	[DEP_ADM_KT] varchar(1000) NULL ,
	[DEP_EL_BUDG_KT] varchar(1000) NULL ,
	[DEP_ACC_KT] varchar(20) NULL ,
	[DCL_KT] varchar(20) NULL ,
	[DATE] datetime NULL ,
	[SUMMA] numeric(20, 2) NULL ,
	[OPERS] varchar(1000) NULL ,
	[TYPE] tinyint NULL ,
	[INN] char(15) NULL ,
	[DEP_INN] varchar(20) NULL ,
	[DEP_OKTMO] varchar(1000) NULL ,
	[DEP_ADM] varchar(1000) NULL ,
	[STAMP] bigint NULL )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[SVOD_REP_CALC_DATA] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы
--Констрэйнты
--Триггеры

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SVOD_REP_CALC_DATA')
CREATE INDEX [IX_SVOD_REP_CALC_DATA] ON [dbo].[SVOD_REP_CALC_DATA] ([UID]) ON [INDEX]
GO

GO
--текст
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--Таблица SVOD_REP_CALC_DATA75
IF not exists(select * from sysobjects where id = object_id('[dbo].[SVOD_REP_CALC_DATA75]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SVOD_REP_CALC_DATA75] (
	[UID] uniqueidentifier NULL ,
	[KBK] varchar(50) NULL ,
	[KBK_TYPE] tinyint NULL ,
	[ACC] varchar(50) NULL ,
	[EKR] char(3) NULL ,
	[SUMMA] numeric(20, 2) NULL ,
	[OPERS] varchar(1000) NULL ,
	[DEP_NAME] varchar(1000) NULL ,
	[DEP_INN] varchar(20) NULL ,
	[DATE_B] varchar(20) NULL ,
	[DATE_I] varchar(20) NULL )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[SVOD_REP_CALC_DATA75] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы
--Констрэйнты
--Триггеры


GO
--Таблица sys_values
IF not exists(select * from sysobjects where id = object_id('[dbo].[SYS_VALUES]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SYS_VALUES] (
	[RID] uniqueidentifier NOT NULL ,
	[CODE] varchar(30) NULL ,
	[VARCHAR] varchar(7000) NULL)
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[sys_values] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SYS_VALUES')
CREATE CLUSTERED INDEX [IX_SYS_VALUES] ON [dbo].[SYS_VALUES] ([RID])
GO



GO
IF COLUMNPROPERTY(object_id('[dbo].[DEPARTMENTS]'), 'SVOD_CODE', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[DEPARTMENTS] ADD SVOD_CODE varchar(10) NULL 
GO

GO
--Таблица empl_expir_dop
IF not exists(select * from sysobjects where id = object_id('[dbo].[EMPL_EXPIR_DOP]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[EMPL_EXPIR_DOP] (
	[LINK] int NOT NULL IDENTITY(1,1) ,
	[EMPL_LINK] int NOT NULL ,
	[EXPIR_LINK] int NOT NULL ,
	[DATE_BEGIN] DATETIME NOT NULL,
	[YEARS] int NOT NULL ,
	[MONTHS] int NOT NULL ,
	[DAYS] int NOT NULL ,
	[COMENT] VARCHAR(254) null )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[EMPL_EXPIR_DOP] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы 

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'EMPL_EXPIR_DOP_INDEX')
CREATE UNIQUE INDEX [EMPL_EXPIR_DOP_INDEX] ON [dbo].[EMPL_EXPIR_DOP] ([EMPL_LINK], [EXPIR_LINK],[DATE_BEGIN])  ON [INDEX]
GO
--Констрэйнты

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[PK_EMPL_EXPIR_DOP]'))
ALTER TABLE [dbo].[EMPL_EXPIR_DOP] 
ADD CONSTRAINT [PK_EMPL_EXPIR_DOP] PRIMARY KEY CLUSTERED ([LINK])
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_EMPL_EXPIR_DOP_EMPL]'))
ALTER TABLE [dbo].[EMPL_EXPIR_DOP] 
ADD CONSTRAINT [FK_EMPL_EXPIR_DOP_EMPL] FOREIGN KEY ([EMPL_LINK]) REFERENCES [dbo].[EMPL] ([LINK])
 ON DELETE CASCADE
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_EMPL_EXPIR_DOP_EXPIR]'))
ALTER TABLE [dbo].[EMPL_EXPIR_DOP] 
ADD CONSTRAINT [FK_EMPL_EXPIR_DOP_EXPIR] FOREIGN KEY ([EXPIR_LINK]) REFERENCES [dbo].[EXPIR] ([LINK])
 ON DELETE CASCADE
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[CK_EMPL_EXPIR_DOP_VALUES]'))
ALTER TABLE [dbo].[EMPL_EXPIR_DOP] 
ADD CONSTRAINT [CK_EMPL_EXPIR_DOP_VALUES] CHECK ([years] >= 0 and [months] >= 0 and [months] < 12 and [days] >= 0 and [days] < 30)
GO
--Триггеры


GO

--BEFORE CODE 04.05.2016

--BEFORE CODE 11.04.2016

--BEFORE CODE 30.03.2016
------------------- ВЫГРУЗКА СПРАВОЧНИКА: КОД_СТРОКИ_0503123M_2016_t2 С КОДОМ R_SPR_0503123_CODE_STR_2------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_0503123_CODE_STR_2'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_0503123_CODE_STR_2', 'КОД_СТРОКИ_0503123M_2016_т2', '#Cols_tmp', '#Data_tmp', 1


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_0503123_CODE_STR_2]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_0503123_CODE_STR_2]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 16.10.2015

	справочник КОД_СТРОКИ_0503123M_2016_т2 (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_0503123_CODE_STR_2]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_0503123_CODE_STR_2' GROUP BY Code, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_0503123_CODE_STR_2] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503123_CODE_STR_2')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503123_CODE_STR_2'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503123_CODE_STR_2', 'КОД_СТРОКИ_0503123M_2016_т2', 230, (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503123_CODE_STR_2', NAME = 'КОД_СТРОКИ_0503123M_2016_т2', ORDERS = '230', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503123_CODE_STR_2'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503123_CODE_STR_2_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503123_CODE_STR_2_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503123_CODE_STR_2_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503123_CODE_STR_2_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503123_CODE_STR_2_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503123_CODE_STR_2_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503123_CODE_STR_2_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503123_CODE_STR_2_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503123_CODE_STR_2_Name'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'TITLE', 'КОД_СТРОКИ_0503123M_2016_т2'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_0503123_CODE_STR_2'')'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_0503123_CODE_STR_2'')'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'SERVER_TABLE_NAME', 'R_SPR_0503123_CODE_STR_2'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_0503123_CODE_STR_2'''
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_0503123_CODE_STR_2', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503123_CODE_STR_2', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503123_CODE_STR_2', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503123_CODE_STR_2', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503123_CODE_STR_2',0,'КОД_СТРОКИ_0503123M_2016_т2','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='FORM_2011' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503123_CODE_STR_2',@link_self,'КОД_СТРОКИ_0503123M_2016_т2','HEADER'
GO
delete report_control_protokol
delete report_kbk_hist where link_up in (select link from report_kbk where code_form= 'R_SPR_0503123_CODE_STR_2')
delete report_kbk_cashe where link_up in (select link from report_kbk where code_form= 'R_SPR_0503123_CODE_STR_2')
delete report_kbk where code_form= 'R_SPR_0503123_CODE_STR_2'
declare @LS int
insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '900',0,'R_SPR_0503123_CODE_STR_2',1,'Расходы',0,'',0,'','', '20160101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '980',0,'R_SPR_0503123_CODE_STR_2',1,'Возврат дебиторской задолжености прошлых лет',0,'',0,'','', '20160101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '990',0,'R_SPR_0503123_CODE_STR_2',1,'Операции с денежными обеспечениями',0,'',0,'','', '20160101',NULL,0

exec dbo.[RO_KBK_CASHE_UPDATE] @vcCodeForm = 'R_SPR_0503123_CODE_STR_2'

GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: КОД_СТРОКИ_0503723M_2016_t2 С КОДОМ R_SPR_0503723_CODE_STR_2------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_0503723_CODE_STR_2'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_0503723_CODE_STR_2', 'КОД_СТРОКИ_0503723M_2016_т2', '#Cols_tmp', '#Data_tmp', 1


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_0503723_CODE_STR_2]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_0503723_CODE_STR_2]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 16.10.2015

	справочник КОД_СТРОКИ_0503723M_2016_т2 (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_0503723_CODE_STR_2]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_0503723_CODE_STR_2' GROUP BY Code, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_0503723_CODE_STR_2] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503723_CODE_STR_2')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503723_CODE_STR_2'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503723_CODE_STR_2', 'КОД_СТРОКИ_0503723M_2016_т2', 230, (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503723_CODE_STR_2', NAME = 'КОД_СТРОКИ_0503723M_2016_т2', ORDERS = '230', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503723_CODE_STR_2'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503723_CODE_STR_2_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503723_CODE_STR_2_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503723_CODE_STR_2_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503723_CODE_STR_2_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503723_CODE_STR_2_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503723_CODE_STR_2_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503723_CODE_STR_2_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503723_CODE_STR_2_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503723_CODE_STR_2_Name'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'TITLE', 'КОД_СТРОКИ_0503723M_2016_т2'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_0503723_CODE_STR_2'')'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_0503723_CODE_STR_2'')'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'SERVER_TABLE_NAME', 'R_SPR_0503723_CODE_STR_2'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_0503723_CODE_STR_2'''
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_0503723_CODE_STR_2', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503723_CODE_STR_2', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503723_CODE_STR_2', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503723_CODE_STR_2', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503723_CODE_STR_2',0,'КОД_СТРОКИ_0503723M_2016_т2','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='FORM_2011' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503723_CODE_STR_2',@link_self,'КОД_СТРОКИ_0503723M_2016_т2','HEADER'
GO
delete report_control_protokol
delete report_kbk_hist where link_up in (select link from report_kbk where code_form= 'R_SPR_0503723_CODE_STR_2')
delete report_kbk_cashe where link_up in (select link from report_kbk where code_form= 'R_SPR_0503723_CODE_STR_2')
delete report_kbk where code_form= 'R_SPR_0503723_CODE_STR_2'
declare @LS int
insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '900',0,'R_SPR_0503723_CODE_STR_2',1,'Расходы',0,'',0,'','', '20160101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '980',0,'R_SPR_0503723_CODE_STR_2',1,'Расходы по текущим операциям',0,'',0,'','', '20160101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '990',0,'R_SPR_0503723_CODE_STR_2',1,'Расходы по инвистиционным операциям',0,'',0,'','', '20160101',NULL,0

exec dbo.[RO_KBK_CASHE_UPDATE] @vcCodeForm = 'R_SPR_0503723_CODE_STR_2'

GO


GO

--Добавление колонки LINK_VKR таблицы CALCULATE_JURNAL
IF COLUMNPROPERTY(object_id('[dbo].[CALCULATE_JURNAL]'), 'LINK_VKR2', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[CALCULATE_JURNAL] ADD [LINK_VKR2] int NULL 
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_CALCULATE_JURNAL_VKR2')
CREATE INDEX [IX_CALCULATE_JURNAL_VKR2] ON [dbo].[CALCULATE_JURNAL] ([LINK_VKR2]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_CALCULATE_JURNAL_SAL_SFIN2]'))
ALTER TABLE [dbo].[CALCULATE_JURNAL] 
ADD CONSTRAINT [FK_CALCULATE_JURNAL_SAL_SFIN2] FOREIGN KEY ([LINK_VKR2]) REFERENCES [dbo].[SAL_SFIN] ([LINK])
GO

ALTER TABLE [dbo].[CALCULATE_JURNAL] DISABLE TRIGGER ALL
GO

UPDATE J SET J.LINK_VKR2 = J.LINK_VKR
FROM
	dbo.CALCULATE_JURNAL J
	INNER JOIN dbo.SDOC S ON J.LINK_DOC = S.LINK
	INNER JOIN dbo.S_OBJECTS SO ON SO.LINK = S.[OBJECT]
WHERE
	SO.CODE = 'DOCUMENTS_DEDUCT_ESN_G'	
	AND
	J.LINK_VKR2 IS NULL	
GO

ALTER TABLE [dbo].[CALCULATE_JURNAL] ENABLE TRIGGER ALL
GO


--Добавление колонки LINK_VKR2 таблицы SDOC_DOT_SKIDKI
IF COLUMNPROPERTY(object_id('[dbo].[SDOC_DOT_SKIDKI]'), 'LINK_VKR2', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] ADD [LINK_VKR2] int NULL 
GO

ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] DISABLE TRIGGER ALL
GO

UPDATE [dbo].[SDOC_DOT_SKIDKI] SET [LINK_VKR2] = [LINK_VKR] WHERE [LINK_VKR2] IS NULL
GO

ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] ENABLE TRIGGER ALL
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_SDOC_DOT_SKIDKI_SAL_SFIN]'))
ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] 
ADD CONSTRAINT [FK_SDOC_DOT_SKIDKI_SAL_SFIN] FOREIGN KEY ([LINK_VKR2]) REFERENCES [dbo].[SAL_SFIN] ([LINK])
GO

--Добавление колонки LINK_VKR2 таблицы SDOC_DOT_VYCHET
IF COLUMNPROPERTY(object_id('[dbo].[SDOC_DOT_VYCHET]'), 'LINK_VKR2', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[SDOC_DOT_VYCHET] ADD [LINK_VKR2] int NULL 
GO

ALTER TABLE [dbo].[SDOC_DOT_VYCHET] DISABLE TRIGGER ALL
GO

UPDATE [dbo].[SDOC_DOT_VYCHET] SET [LINK_VKR2] = [LINK_VKR] WHERE [LINK_VKR2] IS NULL
GO

ALTER TABLE [dbo].[SDOC_DOT_VYCHET] ENABLE TRIGGER ALL
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_SDOC_DOT_VYCHET_SAL_SFIN]'))
ALTER TABLE [dbo].[SDOC_DOT_VYCHET] 
ADD CONSTRAINT [FK_SDOC_DOT_VYCHET_SAL_SFIN] FOREIGN KEY ([LINK_VKR2]) REFERENCES [dbo].[SAL_SFIN] ([LINK])
GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Справочник расходов для формы 0503737M таб_2 С КОДОМ R_SPR_0503737M_2016------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE_STR', 3, 'Code_str', 'Код строки', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_0503737M_2016'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_0503737M_2016', 'Справочник расходов для формы 0503737M таб_2', '#Cols_tmp', '#Data_tmp', 1


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_0503737M_2016]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_0503737M_2016]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 24.03.2016

	справочник Справочник расходов для формы 0503737M таб_2 (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_0503737M_2016]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],Code_str as [CODE_STR],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_0503737M_2016' GROUP BY Code,Code_str, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_0503737M_2016] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503737M_2016')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503737M_2016'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016', 'Справочник расходов для формы 0503737M таб_2', 231, (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016', NAME = 'Справочник расходов для формы 0503737M таб_2', ORDERS = '231', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016_Name'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016_CODE_STR')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016_CODE_STR', 'Код строки', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016_CODE_STR', NAME = 'Код строки', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016_CODE_STR'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'TITLE', 'Справочник расходов для формы 0503737M таб_2'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_0503737M_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_0503737M_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'SERVER_TABLE_NAME', 'R_SPR_0503737M_2016'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_0503737M_2016'''
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_Name', 'FIELD_DATA', 'Name'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE_STR', 'TITLE', 'Код строки'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE_STR', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE_STR', 'CONTROLSOURCE', 'm.cAlias + ".CODE_STR"'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE_STR', 'FIELD_DATA', 'CODE_STR'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_0503737M_2016', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503737M_2016', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503737M_2016', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503737M_2016', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503737M_2016',0,'Справочник расходов для формы 0503737M таб_2','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='FORM_2011' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503737M_2016',@link_self,'Справочник расходов для формы 0503737M таб_2','HEADER'
GO
delete report_control_protokol
delete report_kbk_hist where link_up in (select link from report_kbk where code_form= 'R_SPR_0503737M_2016')
delete report_kbk_cashe where link_up in (select link from report_kbk where code_form= 'R_SPR_0503737M_2016')
delete report_kbk where code_form= 'R_SPR_0503737M_2016'
declare @LS int
insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '100',0,'R_SPR_0503737M_2016',1,'Расходы на выплаты персоналу в целях обеспечения выполнения функций государственными (муниципальными) органами, казенными учреждениями, органами управления государственными внебюджетными фондами',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '110',0,'R_SPR_0503737M_2016',1,'Расходы на выплаты персоналу казенных учреждений',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '111',0,'R_SPR_0503737M_2016',1,'Фонд оплаты труда учреждений',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '112',0,'R_SPR_0503737M_2016',1,'Иные выплаты персоналу учреждений, за исключением фонда оплаты труда',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '113',0,'R_SPR_0503737M_2016',1,'Иные выплаты, за исключением фонда оплаты труда учреждений, лицам, привлекаемым согласно законодательству для выполнения отдельных полномочий',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '119',0,'R_SPR_0503737M_2016',1,'Взносы по обязательному социальному страхованию  на выплаты по оплате труда работников и иные выплаты работникам учреждений',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '130',0,'R_SPR_0503737M_2016',1,'Расходы на выплаты персоналу в сфере национальной безопасности, правоохранительной деятельности и обороны',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '131',0,'R_SPR_0503737M_2016',1,'Денежное довольствие военнослужащих и сотрудников, имеющих специальные звания',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '133',0,'R_SPR_0503737M_2016',1,'Расходы на выплаты военнослужащим и сотрудникам, имеющим специальные звания, зависящие от размера денежного довольствия',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '134',0,'R_SPR_0503737M_2016',1,'Иные выплаты персоналу и сотрудникам, имеющим специальные звания',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '139',0,'R_SPR_0503737M_2016',1,'Взносы по обязательному социальному страхованию на выплаты по оплате труда лиц, принимаемых на должности стажеров',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '200',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ и услуг для обеспечения государственных (муниципальных) нужд',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '220',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ и услуг для обеспечения специальным топливом и горюче-смазочными материалами, продовольственного и вещевого обеспечения органов в сфере национальной безопасности, правоохранительной деятельности и обороны',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '221',0,'R_SPR_0503737M_2016',1,'Обеспечение специальным топливом и горюче-смазочными материалами в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '222',0,'R_SPR_0503737M_2016',1,'Обеспечение специальным топливом и горюче-смазочными материалами вне рамок государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '223',0,'R_SPR_0503737M_2016',1,'Продовольственное обеспечение в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '224',0,'R_SPR_0503737M_2016',1,'Продовольственное обеспечение вне рамок государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '225',0,'R_SPR_0503737M_2016',1,'Вещевое обеспечение в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '226',0,'R_SPR_0503737M_2016',1,'Вещевое обеспечение вне рамок государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '240',0,'R_SPR_0503737M_2016',1,'Иные закупки товаров, работ и услуг для обеспечения государственных (муниципальных) нужд',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '241',0,'R_SPR_0503737M_2016',1,'Научно-исследовательские и опытно-конструкторские работы',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '242',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ, услуг в сфере информационно-коммуникационных технологий',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '243',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ, услуг в целях капитального ремонта государственного (муниципального) имущества',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '244',0,'R_SPR_0503737M_2016',1,'Прочая закупка товаров, работ и услуг для обеспечения государственных (муниципальных) нужд',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '245',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ и услуг для обеспечения государственных (муниципальных) нужд в области геодезии и картографии вне рамок государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '300',0,'R_SPR_0503737M_2016',1,'Социальное обеспечение и иные выплаты населению',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '320',0,'R_SPR_0503737M_2016',1,'Социальные выплаты гражданам, кроме публичных нормативных социальных выплат',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '321',0,'R_SPR_0503737M_2016',1,'Пособия, компенсации и иные социальные выплаты гражданам, кроме публичных нормативных обязательств',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '322',0,'R_SPR_0503737M_2016',1,'Субсидии гражданам на приобретение жилья',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '323',0,'R_SPR_0503737M_2016',1,'Приобретение товаров, работ, услуг в пользу граждан в целях их социального обеспечения',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '350',0,'R_SPR_0503737M_2016',1,'Премии и гранты',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '360',0,'R_SPR_0503737M_2016',1,'Иные выплаты населению',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '400',0,'R_SPR_0503737M_2016',1,'Капитальные вложения в объекты государственной (муниципальной) собственности',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '410',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '411',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции на приобретение объектов недвижимого имущества в федеральную собственность в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '412',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции на приобретение объектов недвижимого имущества в государственную (муниципальную) собственность',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '413',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции в объекты капитального строительства в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '414',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции в объекты капитального строительства государственной (муниципальной) собственности',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '415',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции в соответствии с концессионными соглашениями',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '416',0,'R_SPR_0503737M_2016',1,'Капитальные вложения на приобретение объектов недвижимого имущества государственными (муниципальными) учреждениями',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '417',0,'R_SPR_0503737M_2016',1,'Капитальные вложения на строительство объектов недвижимого имущества государственными (муниципальными) учреждениями',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '790',0,'R_SPR_0503737M_2016',1,'Результат исполнения  (дефицит / профицит)',0,'450',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '800',0,'R_SPR_0503737M_2016',1,'Иные бюджетные ассигнования',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '830',0,'R_SPR_0503737M_2016',1,'Исполнение судебных актов',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '831',0,'R_SPR_0503737M_2016',1,'Исполнение судебных актов Российской Федерации и мировых соглашений по возмещению вреда, причиненного в результате незаконных действий (бездействия) органов государственной власти (государственных органов), органов местного самоуправления либо должно',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '832',0,'R_SPR_0503737M_2016',1,'Исполнение судебных актов судебных органов иностранных государств, международных судов и арбитражей, определяемых международными договорами Российской Федерации, в результате незаконных действий (бездействия) органов государственной власти (государст',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '850',0,'R_SPR_0503737M_2016',1,'Уплата налогов, сборов и иных платежей',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '851',0,'R_SPR_0503737M_2016',1,'Уплата налога на имущество организаций и земельного налога',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '852',0,'R_SPR_0503737M_2016',1,'Уплата прочих налогов, сборов',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '853',0,'R_SPR_0503737M_2016',1,'Уплата иных платежей',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '860',0,'R_SPR_0503737M_2016',1,'Предоставление платежей, взносов, безвозмездных перечислений субъектам международного права',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '861',0,'R_SPR_0503737M_2016',1,'Безвозмездные перечисления субъектам международного права',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '862',0,'R_SPR_0503737M_2016',1,'Взносы в международные организации',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '863',0,'R_SPR_0503737M_2016',1,'Платежи в целях обеспечения реализации соглашений по обязательствам Российской Федерации перед иностранными государствами и международными организациями',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '960',0,'R_SPR_0503737M_2016',1,'Расходы - всего',0,'200',0,'','', '19000101',NULL,0

exec dbo.[RO_KBK_CASHE_UPDATE] @vcCodeForm = 'R_SPR_0503737M_2016'

GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Автозаполняемый справочник для формы 0503128G - Расходы С КОДОМ R_SPR_RASH_128_2016------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Code_str', 2, 'Code_str', 'Код строки', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 3, 'isnull(Long_Name,Name)', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_RASH_128_2016'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_RASH_128_2016', 'Автозаполняемый справочник для формы 0503128G - Расходы', '#Cols_tmp', '#Data_tmp', 1


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_RASH_128_2016]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_RASH_128_2016]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 02.02.2016

	справочник Автозаполняемый справочник для формы 0503128G - Расходы (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_RASH_128_2016]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],Code_str as [CODE_STR],max(isnull(Long_Name,Name)) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_RASH_128_2016' GROUP BY Code,Code_str, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_RASH_128_2016] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_RASH_128_2016')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_RASH_128_2016'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016', 'Автозаполняемый справочник для формы 0503128G - Расходы', 221, (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016', NAME = 'Автозаполняемый справочник для формы 0503128G - Расходы', ORDERS = '221', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016_Code_str')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016_Code_str', 'Код строки', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016_Code_str', NAME = 'Код строки', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016_Code_str'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016_Name', 'Наименование', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016_Name', NAME = 'Наименование', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016_Name'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'TITLE', 'Автозаполняемый справочник для формы 0503128G - Расходы'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_RASH_128_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_RASH_128_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'SERVER_TABLE_NAME', 'R_SPR_RASH_128_2016'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_RASH_128_2016'''
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Code_str', 'TITLE', 'Код строки'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Code_str', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Code_str', 'CONTROLSOURCE', 'm.cAlias + ".Code_str"'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Code_str', 'FIELD_DATA', 'Code_str'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_RASH_128_2016', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_RASH_128_2016', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_RASH_128_2016', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_RASH_128_2016', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_RASH_128_2016',0,'Автозаполняемый справочник для формы 0503128G - Расходы','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='FORM_2011' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_RASH_128_2016',@link_self,'Автозаполняемый справочник для формы 0503128G - Расходы','HEADER'
GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'01011234567891021',@link_self,'','R_SPR_RASH_128_2016',0,'200',0,'','Субсидии на обеспечение жильем молодых семей и молодых специалистов, проживающих и работающих в сельской местности','19000101','30000101'
delete dbo.report_kbk_hist where link_up = @link

exec dbo.RO_KBK_HIST_SAVE @link, '', 'Субсидии на обеспечение жильем молодых семей и молодых специалистов, проживающих и работающих в сельской местности', '19000101'


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'79000000000000000',@link_self,'','R_SPR_RASH_128_2016',0,'450',0,'','Результат исполнения бюджета (дефицит / профицит)','19000101','30000101'
delete dbo.report_kbk_hist where link_up = @link

exec dbo.RO_KBK_HIST_SAVE @link, '', 'Результат исполнения бюджета (дефицит / профицит)', '19000101'


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'96000000000000000',@link_self,'','R_SPR_RASH_128_2016',0,'200',0,'','Итого','19000101','30000101'
delete dbo.report_kbk_hist where link_up = @link

exec dbo.RO_KBK_HIST_SAVE @link, '', 'Итого', '19000101'


GO

GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Код строки для формы 0503737 С КОДОМ R_SPR_STR_737------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_STR_737'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_STR_737', 'Код строки для формы 0503737', '#Cols_tmp', '#Data_tmp', 0


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_STR_737]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_STR_737]


GO



/*******************************************************************************



	© Кейсистемс (Keysystems), 30.03.2015



	справочник Код строки для формы 0503737 (сгенерировано Редактором справочников)



*******************************************************************************/



CREATE     VIEW dbo.[R_SPR_STR_737]



AS



SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_STR_737' GROUP BY Code, begin_date, end_date




GO


GRANT SELECT ON dbo.[R_SPR_STR_737] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_STR_737')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_STR_737'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_STR_737')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_STR_737', 'Код строки для формы 0503737', 512, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_STR_737', NAME = 'Код строки для формы 0503737', ORDERS = '512', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_STR_737'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_STR_737_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_STR_737_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_STR_737_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_STR_737_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_STR_737_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_STR_737_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_STR_737_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_STR_737_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_STR_737_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_STR_737_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_STR_737_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_STR_737_Name'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'TITLE', 'Код строки для формы 0503737'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_STR_737'')'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_STR_737'')'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'SERVER_TABLE_NAME', 'R_SPR_STR_737'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_STR_737'''
GO
EXEC X_SET_PROP 'R_SPR_STR_737_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_STR_737', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_STR_737', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_STR_737', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_STR_737', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_STR_737',0,'Код строки для формы 0503737','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='USER_REPORT' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_STR_737',@link_self,'Код строки для формы 0503737','HEADER'
GO
delete report_control_protokol
delete report_kbk_hist where link_up in (select link from report_kbk where code_form= 'R_SPR_STR_737')
delete report_kbk_cashe where link_up in (select link from report_kbk where code_form= 'R_SPR_STR_737')
delete report_kbk where code_form= 'R_SPR_STR_737'
declare @LS int
insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '910',0,'R_SPR_STR_737',1,'Возвращено остатков субсидий прошлых лет, всего',0,'',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '911',0,'R_SPR_STR_737',1,'из них по кодам аналитики: Доходы от оказания платных услуг (работ)',0,'',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '912',0,'R_SPR_STR_737',1,'Прочие доходы',0,'',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '950',0,'R_SPR_STR_737',1,'Возвращено расходов прошлых лет, всего',0,'',0,'','', '19000101',NULL,0

exec dbo.[RO_KBK_CASHE_UPDATE] @vcCodeForm = 'R_SPR_STR_737'

GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Справочник видов расходов для формы 0503123 С КОДОМ R_SPR_VR_EKR_0503123------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_VR_EKR_0503123'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_VR_EKR_0503123', 'Справочник видов расходов для формы 0503123', '#Cols_tmp', '#Data_tmp', 0


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_VR_EKR_0503123]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_VR_EKR_0503123]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 09.03.2016

	справочник Справочник видов расходов для формы 0503123 (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_VR_EKR_0503123]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_VR_EKR_0503123' GROUP BY Code, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_VR_EKR_0503123] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_VR_EKR_0503123')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_VR_EKR_0503123'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_VR_EKR_0503123', 'Справочник видов расходов для формы 0503123', 519, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_VR_EKR_0503123', NAME = 'Справочник видов расходов для формы 0503123', ORDERS = '519', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_VR_EKR_0503123'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_VR_EKR_0503123_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_VR_EKR_0503123_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_VR_EKR_0503123_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_VR_EKR_0503123_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_VR_EKR_0503123_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_VR_EKR_0503123_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_VR_EKR_0503123_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_VR_EKR_0503123_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_VR_EKR_0503123_Name'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'TITLE', 'Справочник видов расходов для формы 0503123'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_VR_EKR_0503123'')'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_VR_EKR_0503123'')'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'SERVER_TABLE_NAME', 'R_SPR_VR_EKR_0503123'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_VR_EKR_0503123'''
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_VR_EKR_0503123', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_VR_EKR_0503123', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_VR_EKR_0503123', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_VR_EKR_0503123', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_VR_EKR_0503123',0,'Справочник видов расходов для формы 0503123','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='USER_REPORT' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_VR_EKR_0503123',@link_self,'Справочник видов расходов для формы 0503123','HEADER'
GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'000',@link_self,'Неизвестная статья','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'100',@link_self,'','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'120',@link_self,'','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'122',@link_self,'','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'200',@link_self,'Расходы','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'210',@link_self,'Оплата труда и начисления на выплаты по оплате труда','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'211',@link_self,'Заработная плата','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'212',@link_self,'Прочие выплаты','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'213',@link_self,'Начисления на выплаты по оплате труда','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'220',@link_self,'Оплата работ, услуг','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'221',@link_self,'Услуги связи','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'222',@link_self,'Транспортные услуги','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'223',@link_self,'Коммунальные услуги','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'224',@link_self,'Арендная плата за пользование имуществом','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'225',@link_self,'Работы, услуги по содержанию имущества','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'226',@link_self,'Прочие работы, услуги','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'230',@link_self,'Обслуживание государственного (муниципального) долга','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'231',@link_self,'Обслуживание внутреннего долга','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'232',@link_self,'Обслуживание внешнего долга','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'240',@link_self,'Безвозмездные перечисления организациям','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'241',@link_self,'Безвозмездные перечисления государственным и муниципальным организациям','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'242',@link_self,'Безвозмездные перечисления организациям, за исключением государственных и муниципальных организаций','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'250',@link_self,'Безвозмездные перечисления бюджетам','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'251',@link_self,'Перечисления другим бюджетам бюджетной системы Российской Федерации','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'252',@link_self,'Перечисления наднациональным организациям и правительствам иностранных государств','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'253',@link_self,'Перечисления международным организациям','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'260',@link_self,'Социальное обеспечение','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'261',@link_self,'Пенсии, пособия и выплаты по пенсионному, социальному и медицинскому страхованию населения','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'262',@link_self,'Пособия по социальной помощи населению','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'263',@link_self,'Пенсии, пособия, выплачиваемые организациями сектора государственного управления','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'270',@link_self,'Расходы по операциям с активами','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'271',@link_self,'Амортизация основных средств и нематериальных активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'272',@link_self,'Расходование материальных запасов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'273',@link_self,'Чрезвычайные расходы по операциям с активами','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'290',@link_self,'Прочие расходы','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'300',@link_self,'Поступление нефинансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'310',@link_self,'Увеличение стоимости основных средств','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'320',@link_self,'Увеличение стоимости нематериальных активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'330',@link_self,'Увеличение стоимости непроизведенных активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'340',@link_self,'Увеличение стоимости материальных запасов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'500',@link_self,'Поступление финансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'510',@link_self,'Поступление на счета бюджетов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'520',@link_self,'Увеличение стоимости ценных бумаг, кроме акций и иных форм участия в капитале','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'530',@link_self,'Увеличение стоимости акций и иных форм участия в капитале','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'540',@link_self,'Увеличение задолженности по бюджетным кредитам','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'550',@link_self,'Увеличение стоимости иных финансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'560',@link_self,'Увеличение прочей дебиторской задолженности','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'600',@link_self,'Выбытие финансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'610',@link_self,'Выбытие со счетов бюджетов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'620',@link_self,'Уменьшение стоимости ценных бумаг, кроме акций и иных форм участия в капитале','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'630',@link_self,'Уменьшение стоимости акций и иных форм участия в капитале','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'640',@link_self,'Уменьшение задолженности по бюджетным ссудам и кредитам','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'650',@link_self,'Уменьшение стоимости иных финансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'660',@link_self,'Уменьшение прочей дебиторской задолженности','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO

GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 28 2016  9:39:46:740AM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503123M (Отчет о движении денежных средств)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-03-28 09:39:46.740
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503123M' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-28 09:39:46.740',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503123M',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503123M'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Отчет о движении денежных средств',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_STANDART',0,0,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, '','sv_0503123M_20160101.bas','','KirRepMakerMultiSheet.xls','sv_0503123M_20160101.xlt','',NULL,'RA_EXPORT_FORM_STANDART',0,NULL,NULL,NULL,'223       ','',NULL,NULL,'|',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 1', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование',@iLINK_TABLE,0,1,0,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код по КОСГУ',@iLINK_TABLE,1,1,3,0,3,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'За отчетный период',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'За аналогичный период прошлого года',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 1', @iLINK_FORM,1, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 2', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование',@iLINK_TABLE,0,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,1,'R_SPR_0503123_CODE_STR_2','COL2','CODE',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код по КОСГУ',@iLINK_TABLE,1,1,3,0,3,1,'R_SPR_ST_2011','COL3,COL1','CODE,NAME',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Код раздела, подраздела',@iLINK_TABLE,1,1,4,0,4,1,'podr_2012','COL5','CODE',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 2', @iLINK_FORM,2, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,1,16,1)
INSERT #R VALUES (2,1,2,1)
INSERT #R VALUES (3,1,3,1)
INSERT #R VALUES (4,1,4,1)
INSERT #R VALUES (14,1,77,1)
INSERT #R VALUES (15,1,13,1)
INSERT #R VALUES (16,1,14,1)
INSERT #R VALUES (17,1,15,1)
INSERT #R VALUES (18,1,16,1)
INSERT #R VALUES (19,1,47,1)
INSERT #R VALUES (20,1,21,1)
INSERT #R VALUES (21,1,19,1)
INSERT #R VALUES (22,1,20,1)
INSERT #R VALUES (23,1,20,1)
INSERT #R VALUES (24,1,28,1)
INSERT #R VALUES (25,1,22,1)
INSERT #R VALUES (26,1,23,1)
INSERT #R VALUES (27,1,24,1)
INSERT #R VALUES (28,1,25,1)
INSERT #R VALUES (29,1,26,1)
INSERT #R VALUES (30,1,27,1)
INSERT #R VALUES (31,1,31,1)
INSERT #R VALUES (32,1,29,1)
INSERT #R VALUES (33,1,29,1)
INSERT #R VALUES (34,1,30,1)
INSERT #R VALUES (35,1,34,1)
INSERT #R VALUES (36,1,32,1)
INSERT #R VALUES (37,1,33,1)
INSERT #R VALUES (38,1,38,1)
INSERT #R VALUES (39,1,35,1)
INSERT #R VALUES (40,1,36,1)
INSERT #R VALUES (41,1,37,1)
INSERT #R VALUES (42,1,42,1)
INSERT #R VALUES (43,1,39,1)
INSERT #R VALUES (44,1,40,1)
INSERT #R VALUES (45,1,41,1)
INSERT #R VALUES (46,1,46,1)
INSERT #R VALUES (47,1,43,1)
INSERT #R VALUES (48,1,44,1)
INSERT #R VALUES (49,1,45,1)
INSERT #R VALUES (50,1,46,1)
INSERT #R VALUES (51,1,51,1)
INSERT #R VALUES (52,1,50,1)
INSERT #R VALUES (53,1,50,1)
INSERT #R VALUES (54,1,62,1)
INSERT #R VALUES (55,1,60,1)
INSERT #R VALUES (56,1,50,1)
INSERT #R VALUES (57,1,51,1)
INSERT #R VALUES (58,1,60,1)
INSERT #R VALUES (59,1,79,1)
INSERT #R VALUES (60,1,78,1)
INSERT #R VALUES (61,1,53,1)
INSERT #R VALUES (62,1,54,1)
INSERT #R VALUES (63,1,60,1)
INSERT #R VALUES (64,1,56,1)
INSERT #R VALUES (65,1,57,1)
INSERT #R VALUES (66,1,61,1)
INSERT #R VALUES (67,1,59,1)
INSERT #R VALUES (68,1,60,1)
INSERT #R VALUES (69,1,101,1)
INSERT #R VALUES (70,1,91,1)
INSERT #R VALUES (71,1,81,1)
INSERT #R VALUES (72,1,64,1)
INSERT #R VALUES (73,1,65,1)
INSERT #R VALUES (74,1,81,1)
INSERT #R VALUES (75,1,67,1)
INSERT #R VALUES (76,1,68,1)
INSERT #R VALUES (77,1,81,1)
INSERT #R VALUES (78,1,70,1)
INSERT #R VALUES (79,1,79,1)
INSERT #R VALUES (80,1,80,1)
INSERT #R VALUES (81,1,81,1)
INSERT #R VALUES (82,1,82,1)
INSERT #R VALUES (83,1,83,1)
INSERT #R VALUES (84,1,84,1)
INSERT #R VALUES (85,1,85,1)
INSERT #R VALUES (86,1,86,1)
INSERT #R VALUES (87,1,87,1)
INSERT #R VALUES (88,1,88,1)
INSERT #R VALUES (89,1,89,1)
INSERT #R VALUES (90,1,90,1)
INSERT #R VALUES (91,1,91,1)
INSERT #R VALUES (92,1,92,1)
INSERT #R VALUES (93,1,93,1)
INSERT #R VALUES (94,1,94,1)
INSERT #R VALUES (95,1,95,1)
INSERT #R VALUES (96,1,96,1)
INSERT #R VALUES (97,1,97,1)
INSERT #R VALUES (98,1,98,1)
INSERT #R VALUES (99,1,99,1)
INSERT #R VALUES (100,1,100,1)
INSERT #R VALUES (101,1,101,1)
INSERT #R VALUES (102,1,102,1)
INSERT #R VALUES (103,1,103,1)
INSERT #R VALUES (104,1,104,1)
INSERT #R VALUES (105,1,105,1)
INSERT #R VALUES (106,1,106,1)
INSERT #R VALUES (107,1,107,1)
INSERT #R VALUES (108,1,108,1)
INSERT #R VALUES (5,1,12,1)
INSERT #R VALUES (6,1,75,1)
INSERT #R VALUES (7,1,5,1)
INSERT #R VALUES (8,1,10,1)
INSERT #R VALUES (9,1,7,1)
INSERT #R VALUES (10,1,8,1)
INSERT #R VALUES (11,1,9,1)
INSERT #R VALUES (12,1,10,1)
INSERT #R VALUES (13,1,15,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 108
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (1,1,1,'ПОСТУПЛЕНИЯ                                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,2,1,'Поступления по текущим операциям -всего')
INSERT #F VALUES (1,3,1,'по налоговым доходам                                                                                                                                                                                                                                      ')
INSERT #F VALUES (1,4,1,'по доходам от собственности')
INSERT #F VALUES (1,14,1,'из них: от компенсации затрат государства                                                                                                                                                                                                                     ')
INSERT #F VALUES (1,15,1,'по прочим доходам')
INSERT #F VALUES (1,16,1,'Поступления от инвестиционных  операций - всего                                                                                                                                                                                                           ')
INSERT #F VALUES (1,17,1,'от реализации нефинансовых активов:')
INSERT #F VALUES (1,18,1,'основных средств                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,19,1,'нематериальных активов                                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,20,1,'непроизведенных активов                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,21,1,'материальных запасов')
INSERT #F VALUES (1,22,1,'Поступления от финансовых операций - всего                                                                                                                                                                                                                ')
INSERT #F VALUES (1,23,1,'от реализации финансовых активов:')
INSERT #F VALUES (1,24,1,'ценных бумаг, кроме акций                                                                                                                                                                                                                                     ')
INSERT #F VALUES (1,25,1,'акций и иных форм участия в капитале')
INSERT #F VALUES (1,26,1,'от возврата бюджетных ссуд и кредитов                                                                                                                                                                                                                         ')
INSERT #F VALUES (1,27,1,'иных финансовых активов')
INSERT #F VALUES (1,28,1,'от осуществления заимствований')
INSERT #F VALUES (1,29,1,'в виде внутреннего государственного  (муниципального) долга                                                                                                                                                                                               ')
INSERT #F VALUES (1,30,1,'в виде внешних долговых обязательств')
INSERT #F VALUES (1,31,1,'ВЫБЫТИЯ                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,32,1,'Выбытия по текущим операциям - всего')
INSERT #F VALUES (1,33,1,'за счет оплаты труда и начислений на выплаты по оплате труда                                                                                                                                                                                                  ')
INSERT #F VALUES (1,34,1,'из них за счет заработной платы                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,35,1,'за счет прочих выплат')
INSERT #F VALUES (1,36,1,'за счет начислений на оплату труда')
INSERT #F VALUES (1,37,1,'за счет приобретения работ, услуг                                                                                                                                                                                                                             ')
INSERT #F VALUES (1,38,1,'из них услуг связи                                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,39,1,'транспортных услуг')
INSERT #F VALUES (1,40,1,'коммунальных услуг')
INSERT #F VALUES (1,41,1,'арендной платы за пользование имуществом')
INSERT #F VALUES (1,42,1,'работ, услуг по содержанию имущества                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,43,1,'прочих работ, услуг                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,44,1,'за счет обслуживания долговых обязательств')
INSERT #F VALUES (1,45,1,'из них внутренних долговых обязательств                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,46,1,'внешних долговых обязательств')
INSERT #F VALUES (1,47,1,'за счет безвозмездных и безвозвратных перечислений организациям')
INSERT #F VALUES (1,48,1,'из них за счет перечислений государственным и муниципальным организациям                                                                                                                                                                                      ')
INSERT #F VALUES (1,49,1,'за счет перечислений организациям, за исключением государственных и муниципальных организаций')
INSERT #F VALUES (1,50,1,'за счет безвозмездных перечислений бюджетам                                                                                                                                                                                                               ')
INSERT #F VALUES (1,51,1,'из них за счет перечислений другим бюджетам бюджетной системы Российской Федерации                                                                                                                                                                            ')
INSERT #F VALUES (1,52,1,'за счет перечислений наднациональным организациям и правительствам иностранных государств')
INSERT #F VALUES (1,53,1,'за счет перечислений международным организациям')
INSERT #F VALUES (1,54,1,'за счет социального обеспечения')
INSERT #F VALUES (1,55,1,'из них за счет пенсий, пособий и выыплат по пенсионному, социальному и медицинскому страхованию                                                                                                                                                               ')
INSERT #F VALUES (1,56,1,'за счет пособий по социальной помощи населению')
INSERT #F VALUES (1,57,1,'за счет пенсий, пособий, выплачиваемых организациями сектора государственного управления')
INSERT #F VALUES (1,58,1,'за счет операций с активами, из них:                                                                                                                                                                                                                      ')
INSERT #F VALUES (1,59,1,'зиз них за счет чрезвычайных расходов по операциями с активами                                                                                                                                                                                                ')
INSERT #F VALUES (1,60,1,'за счет прочих расходов                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,61,1,'Выбытия по инвестиционным операциям - всего                                                                                                                                                                                                               ')
INSERT #F VALUES (1,62,1,'на приобретение нефинансовых активов:')
INSERT #F VALUES (1,63,1,'из них основных средств                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,64,1,'нематериальных активов')
INSERT #F VALUES (1,65,1,'непроизведенных активов')
INSERT #F VALUES (1,66,1,'материальных запасов')
INSERT #F VALUES (1,67,1,'Выбытия по финансовым операциям - всего                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,68,1,'в т.ч. с финансовыми активами:                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,69,1,'из них по приобретению ценных бумаг, кроме акций                                                                                                                                                                                                              ')
INSERT #F VALUES (1,70,1,'по приобретению акций и иных форм участия в капитале                                                                                                                                                                                                      ')
INSERT #F VALUES (1,71,1,'по предоставлению бюджетных кредитов                                                                                                                                                                                                                      ')
INSERT #F VALUES (1,72,1,'с иными финансовыми активами                                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,73,1,'на погашение государственного (муниципального) долга                                                                                                                                                                                                      ')
INSERT #F VALUES (1,74,1,'из них на погашение внутреннего долга                                                                                                                                                                                                                         ')
INSERT #F VALUES (1,75,1,'на погашение внешнего долга                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,76,1,'Иные выбытия — всего                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,78,1,'из них: за счет уплаты налогов и сборов                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,80,1,'ИЗМЕНЕНИЕ ОСТАТКОВ СРЕДСТВ                                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,81,1,'По операциям с денежными средствами, не относящимся к поступлениям и выбытиям                                                                                                                                                                                 ')
INSERT #F VALUES (1,82,1,'   в том числе:
   по возврату дебиторской задолженности прошлых лет                                                                                                                                                                                         ')
INSERT #F VALUES (1,83,1,'        в том числе:
        по возврату дебиторской задолженности   прошлых лет                                                                                                                                                                             ')
INSERT #F VALUES (1,84,1,'        по возврату остатков субсидий прошлых лет                                                                                                                                                                                                             ')
INSERT #F VALUES (1,85,1,'   по операциям с денежными обеспечениями                                                                                                                                                                                                                     ')
INSERT #F VALUES (1,86,1,'       в том числе:
       возврат средств, перечисленных в виде денежных обеспечений                                                                                                                                                                        ')
INSERT #F VALUES (1,87,1,'       перечисление денежных обеспечений                                                                                                                                                                                                                      ')
INSERT #F VALUES (1,88,1,'   со средствами во временном распоряжении                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,89,1,'        в том числе:
        поступление денежных средств во временное  распоряжение                                                                                                                                                                         ')
INSERT #F VALUES (1,90,1,'       выбытие денежных средств во временном распоряжении                                                                                                                                                                                                     ')
INSERT #F VALUES (1,91,1,'   по расчетам с филиалами и обособленными структурными подразделениями                                                                                                                                                                                       ')
INSERT #F VALUES (1,92,1,'        в том числе: 
        увеличение расчетов                                                                                                                                                                                                            ')
INSERT #F VALUES (1,93,1,'        уменьшение расчетов                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,94,1,'Изменение остатков средств при управлении остатками — всего                                                                                                                                                                                                   ')
INSERT #F VALUES (1,95,1,'    в том числе: 
    поступление денежных средств на депозитные счета                                                                                                                                                                                       ')
INSERT #F VALUES (1,96,1,'   выбытие денежных средств с депозитных счетов                                                                                                                                                                                                               ')
INSERT #F VALUES (1,97,1,'   поступление денежных средств при управлении остатками                                                                                                                                                                                                      ')
INSERT #F VALUES (1,98,1,'   выбытие денежных средств при управлении остатками                                                                                                                                                                                                          ')
INSERT #F VALUES (1,99,1,'Изменение остатков средств — всего                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,100,1,'    в том числе: 
    за счет увеличения денежных средств                                                                                                                                                                                                    ')
INSERT #F VALUES (1,101,1,'    за счет уменьшения денежных средств                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,102,1,'    за счет курсовой разницы                                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,103,1,'из них: пожертвования                                                                                                                                                                                                                                         ')
INSERT #F VALUES (1,104,1,'прочие безвозмездные поступления                                                                                                                                                                                                                              ')
INSERT #F VALUES (1,5,1,'из них: проценты полученные                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,6,1,'дивиденды                                                                                                                                                                                                                                                     ')
INSERT #F VALUES (1,7,1,'по доходам от оказания платных услуг (работ)                                                                                                                                                                                                              ')
INSERT #F VALUES (1,8,1,'по суммам принудительного изъятия                                                                                                                                                                                                                         ')
INSERT #F VALUES (1,9,1,'по безвозмездным поступлениям                                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,10,1,'из них: от других бюджетов бюджетной системы Российской Федерации                                                                                                                                                                                         ')
INSERT #F VALUES (1,11,1,'от наднациональных организаций и правительств иностранных государств                                                                                                                                                                                      ')
INSERT #F VALUES (1,12,1,'от международных финансовых организаций                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,13,1,'от взносов на социальные нужды                                                                                                                                                                                                                                ')
INSERT #F VALUES (1,1,2,'010')
INSERT #F VALUES (1,2,2,'020')
INSERT #F VALUES (1,3,2,'030')
INSERT #F VALUES (1,4,2,'040')
INSERT #F VALUES (1,14,2,'052                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,15,2,'120')
INSERT #F VALUES (1,16,2,'130')
INSERT #F VALUES (1,17,2,'140')
INSERT #F VALUES (1,18,2,'141')
INSERT #F VALUES (1,19,2,'142')
INSERT #F VALUES (1,20,2,'143')
INSERT #F VALUES (1,21,2,'144')
INSERT #F VALUES (1,22,2,'150')
INSERT #F VALUES (1,23,2,'160')
INSERT #F VALUES (1,24,2,'161                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,25,2,'162')
INSERT #F VALUES (1,26,2,'163                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,27,2,'164')
INSERT #F VALUES (1,28,2,'180')
INSERT #F VALUES (1,29,2,'181')
INSERT #F VALUES (1,30,2,'182')
INSERT #F VALUES (1,31,2,'210')
INSERT #F VALUES (1,32,2,'220')
INSERT #F VALUES (1,33,2,'230                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,34,2,'231                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,35,2,'232')
INSERT #F VALUES (1,36,2,'233')
INSERT #F VALUES (1,37,2,'240                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,38,2,'241                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,39,2,'242')
INSERT #F VALUES (1,40,2,'243')
INSERT #F VALUES (1,41,2,'244')
INSERT #F VALUES (1,42,2,'245                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,43,2,'246                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,44,2,'250')
INSERT #F VALUES (1,45,2,'251                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,46,2,'252')
INSERT #F VALUES (1,47,2,'260')
INSERT #F VALUES (1,48,2,'261                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,49,2,'262')
INSERT #F VALUES (1,50,2,'270')
INSERT #F VALUES (1,51,2,'271                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,52,2,'272')
INSERT #F VALUES (1,53,2,'273')
INSERT #F VALUES (1,54,2,'280')
INSERT #F VALUES (1,55,2,'281                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,56,2,'282')
INSERT #F VALUES (1,57,2,'283')
INSERT #F VALUES (1,58,2,'290                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,59,2,'291                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,60,2,'300                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,61,2,'310')
INSERT #F VALUES (1,62,2,'320')
INSERT #F VALUES (1,63,2,'321                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,64,2,'322')
INSERT #F VALUES (1,65,2,'323')
INSERT #F VALUES (1,66,2,'324')
INSERT #F VALUES (1,67,2,'330')
INSERT #F VALUES (1,68,2,'340')
INSERT #F VALUES (1,69,2,'341                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,70,2,'342')
INSERT #F VALUES (1,71,2,'343')
INSERT #F VALUES (1,72,2,'344                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,73,2,'350')
INSERT #F VALUES (1,74,2,'351                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,75,2,'352')
INSERT #F VALUES (1,76,2,'360                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,77,2,'345                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,78,2,'301                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,79,2,'361                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,80,2,'400                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,81,2,'410                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,82,2,'420                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,83,2,'421                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,84,2,'422                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,85,2,'430                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,86,2,'431                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,87,2,'432                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,88,2,'440                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,89,2,'441                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,90,2,'442                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,91,2,'450                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,92,2,'451                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,93,2,'452                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,94,2,'460                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,95,2,'461                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,96,2,'462                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,97,2,'463                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,98,2,'464                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,99,2,'500                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,100,2,'501                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,101,2,'502                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,102,2,'503                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,103,2,'123                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,104,2,'124                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,105,2,'165                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,106,2,'247                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,107,2,'253                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,108,2,'263                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,5,2,'041                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,6,2,'042                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,7,2,'050                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,8,2,'060')
INSERT #F VALUES (1,9,2,'070                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,10,2,'071')
INSERT #F VALUES (1,11,2,'072')
INSERT #F VALUES (1,12,2,'073')
INSERT #F VALUES (1,13,2,'080                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,1,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,2,3,'100')
INSERT #F VALUES (1,3,3,'110                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,4,3,'120')
INSERT #F VALUES (1,14,3,'130                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,15,3,'180')
INSERT #F VALUES (1,16,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,17,3,'400')
INSERT #F VALUES (1,18,3,'410                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,19,3,'420                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,20,3,'430                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,21,3,'440')
INSERT #F VALUES (1,22,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,23,3,'600')
INSERT #F VALUES (1,24,3,'620                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,25,3,'630')
INSERT #F VALUES (1,26,3,'640                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,27,3,'650')
INSERT #F VALUES (1,28,3,'700')
INSERT #F VALUES (1,29,3,'710                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,30,3,'720')
INSERT #F VALUES (1,31,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,32,3,'200')
INSERT #F VALUES (1,33,3,'210                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,34,3,'211                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,35,3,'212')
INSERT #F VALUES (1,36,3,'213')
INSERT #F VALUES (1,37,3,'220                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,38,3,'221                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,39,3,'222')
INSERT #F VALUES (1,40,3,'223')
INSERT #F VALUES (1,41,3,'224')
INSERT #F VALUES (1,42,3,'225                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,43,3,'226                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,44,3,'230')
INSERT #F VALUES (1,45,3,'231                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,46,3,'232')
INSERT #F VALUES (1,47,3,'240')
INSERT #F VALUES (1,48,3,'241                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,49,3,'242')
INSERT #F VALUES (1,50,3,'250                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,51,3,'251                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,52,3,'252')
INSERT #F VALUES (1,53,3,'253')
INSERT #F VALUES (1,54,3,'260')
INSERT #F VALUES (1,55,3,'261                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,56,3,'262')
INSERT #F VALUES (1,57,3,'263')
INSERT #F VALUES (1,58,3,'270                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,59,3,'273                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,60,3,'290                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,61,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,62,3,'300')
INSERT #F VALUES (1,63,3,'310                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,64,3,'320')
INSERT #F VALUES (1,65,3,'330')
INSERT #F VALUES (1,66,3,'340')
INSERT #F VALUES (1,67,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,68,3,'500                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,69,3,'520                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,70,3,'530                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,71,3,'540                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,72,3,'550                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,73,3,'800                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,74,3,'810                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,75,3,'820                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,76,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,80,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,81,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,82,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,83,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,84,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,85,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,86,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,87,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,88,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,89,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,90,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,91,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,92,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,93,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,94,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,95,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,96,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,97,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,98,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,99,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,100,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,101,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,102,3,'171                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,103,3,'180                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,104,3,'180                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,5,3,'120                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,6,3,'120                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,7,3,'130                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,8,3,'140                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,9,3,'150                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,10,3,'151                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,11,3,'152                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,12,3,'153                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,13,3,'160                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,2,4,'')
INSERT #F VALUES (1,4,4,'')
INSERT #F VALUES (1,15,4,'')
INSERT #F VALUES (1,17,4,'')
INSERT #F VALUES (1,21,4,'')
INSERT #F VALUES (1,23,4,'')
INSERT #F VALUES (1,25,4,'')
INSERT #F VALUES (1,27,4,'')
INSERT #F VALUES (1,28,4,'')
INSERT #F VALUES (1,30,4,'')
INSERT #F VALUES (1,32,4,'')
INSERT #F VALUES (1,35,4,'')
INSERT #F VALUES (1,36,4,'')
INSERT #F VALUES (1,39,4,'')
INSERT #F VALUES (1,40,4,'')
INSERT #F VALUES (1,41,4,'')
INSERT #F VALUES (1,44,4,'')
INSERT #F VALUES (1,46,4,'')
INSERT #F VALUES (1,47,4,'')
INSERT #F VALUES (1,49,4,'')
INSERT #F VALUES (1,52,4,'')
INSERT #F VALUES (1,53,4,'')
INSERT #F VALUES (1,54,4,'')
INSERT #F VALUES (1,56,4,'')
INSERT #F VALUES (1,57,4,'')
INSERT #F VALUES (1,62,4,'')
INSERT #F VALUES (1,64,4,'')
INSERT #F VALUES (1,65,4,'')
INSERT #F VALUES (1,66,4,'')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 340
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1стр.010 =  т.1стр.020 +  т.1стр.150 +  т.1стр.130',1,4,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.1стр.020 =  т.1стр.030 +  т.1стр.040 +  т.1стр.050 +  т.1стр.060 +  т.1стр.070 +  т.1стр.080 +  т.1стр.110 +  т.1стр.120',1,2,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.1стр.070 =  т.1стр.071 +  т.1стр.072 +  т.1стр.073',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(4,NULL,0,NULL,4,7,0,0,0,'т.1стр.130 =  т.1стр.140',1,3,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(5,NULL,0,NULL,5,7,0,0,0,'т.1стр.140 =  т.1стр.141 +  т.1стр.142 +  т.1стр.143 +  т.1стр.144',1,2,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(6,NULL,0,NULL,6,7,0,0,0,'т.1стр.150 =  т.1стр.160 +  т.1стр.180',1,2,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(7,NULL,0,NULL,7,7,0,0,0,'т.1стр.160 =  т.1стр.161 +  т.1стр.162 +  т.1стр.163 +  т.1стр.164',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(8,NULL,0,NULL,8,7,0,0,0,'т.1стр.180 =  т.1стр.181 +  т.1стр.182',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(9,NULL,0,NULL,9,7,0,0,0,'т.1стр.210 =  т.1стр.220 +  т.1стр.310 +  т.1стр.330',1,3,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(10,NULL,0,NULL,10,7,0,0,0,'т.1стр.220 =  т.1стр.230 +  т.1стр.240 +  т.1стр.250 +  т.1стр.260 +  т.1стр.270 +  т.1стр.280 +  т.1стр.290 +  т.1стр.300',1,2,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(11,NULL,0,NULL,11,7,0,0,0,'т.1стр.230 =  т.1стр.231 +  т.1стр.232 +  т.1стр.233',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(12,NULL,0,NULL,12,7,0,0,0,'т.1стр.240 =  т.1стр.241 +  т.1стр.242 +  т.1стр.243 +  т.1стр.244 +  т.1стр.246 +  т.1стр.245',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(13,NULL,0,NULL,13,7,0,0,0,'т.1стр.250 =  т.1стр.251 +  т.1стр.252',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(14,NULL,0,NULL,14,7,0,0,0,'т.1стр.260 =  т.1стр.261 +  т.1стр.262',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(15,NULL,0,NULL,15,7,0,0,0,'т.1стр.270 =  т.1стр.271 +  т.1стр.272 +  т.1стр.273',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(16,NULL,0,NULL,16,7,0,0,0,'т.1стр.280 =  т.1стр.281 +  т.1стр.282 +  т.1стр.283',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(17,NULL,0,NULL,17,7,0,0,0,'т.1стр.310 =  т.1стр.320',1,2,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(18,NULL,0,NULL,18,7,0,0,0,'т.1стр.320 =  т.1стр.321 +  т.1стр.322 +  т.1стр.323 +  т.1стр.324',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(19,NULL,0,NULL,19,7,0,0,0,'т.1стр.330 =  т.1стр.340 +  т.1стр.350',1,2,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(20,NULL,0,NULL,20,7,0,0,0,'т.1стр.340 =  т.1стр.341 +  т.1стр.342 +  т.1стр.343 +  т.1стр.344',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(21,NULL,0,NULL,21,7,0,0,0,'т.1стр.350 =  т.1стр.351 +  т.1стр.352',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(22,NULL,0,NULL,22,7,0,0,0,'т.1стр.380 =  т.1стр.381 +  т.1стр.382',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(23,NULL,0,NULL,23,7,0,0,0,'т.1стр.380 =  -  т.1стр.010 +  т.1стр.210',0,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
INSERT #A VALUES(24,NULL,0,NULL,24,7,0,0,0,'т.1стр.110 =  т.1стр.111 +  т.1стр.112',1,1,1,'20130729','','','','0503123M','20160101','','=',2,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 24
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','010','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','020','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','150','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','130','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','020','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','030','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','040','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','050','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','060','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','070','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','080','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','041','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,9,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','120','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','070','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','071','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','072','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','073','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','130','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','140','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','140','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','141','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','142','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','143','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','144','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','150','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','160','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','180','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','160','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(7,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','161','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','162','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','163','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','164','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','180','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(8,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','181','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','182','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','210','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','220','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','310','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','330','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','220','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','230','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','240','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','250','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','260','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','270','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','280','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','290','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,9,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','300','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','230','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','231','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','232','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','233','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','240','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','241','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','242','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','243','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','244','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','246','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','245','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','250','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','251','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','252','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','260','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','261','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','262','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','270','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','271','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','272','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','273','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','280','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(16,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','281','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','282','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','283','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(17,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','310','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(17,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','320','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','320','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(18,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','321','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','322','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','323','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','324','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','330','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(19,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','340','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','350','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','340','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(20,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','341','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','342','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','343','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','344','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','350','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(21,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','351','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','352','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','360','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(22,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','345','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','301','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','360','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(23,2,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','010','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','210','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','041','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(24,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','042','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','052','1',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 100
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '5         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'5','Годовые формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-28 09:39:46.740',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-28 09:39:46.740'
	BEGIN
		SELECT @vcMessage = 'Форма 0503123M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503123M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-28 09:39:46.740. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 21 2016  5:11:10:630PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503128M (Отчет о принятых бюджетных  обязательствах)
-- Дата ввода : 20150101
-- Дата окончания действия : 20151231
-- Версия : 2016-03-21 17:11:10.630
-- Параметры выгрузки :
-- только обновить  REPORT_FORMS              : да

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503128M' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-21 17:11:10.630',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Обновление только REPORT_FORMS.
UPDATE dbo.[REPORT_FORMS]
SET [NAME]                = 'Отчет о принятых бюджетных  обязательствах',
    [ExportCode]          = '228       ',
    [START_DATE]          = '20150101',
    [END_DATE]            = '20151231',
    [PERIODIC]            = 4,
    [ISSVOD]              = 1,
    [ISEXPORTED]          = 1,
    [ISUSERFORM]          = 1,
    [IsKonsolid]          = 0,
    [IS_AUTOFILL]         = 1,
    [PRINT_OBJECT_METHOD] = 'svodprint_page_itog()',
    [QUERY_ADD_MODULE]    = 'sv_0503128g_20141231.bas',
    [QUERY_BEFORE]        = '',
    [QUERY_REPMAKER]      = 'kirrepmakermultisheet.xls',
    [QUERY_REPORT]        = 'sv_0503128g_20141231.xlt',
    [QUERY_REPORT_PATH]   = '',
    [DECRIPT_PROC]        = NULL,
    [EXPORT_PROC]         = 'RA_EXPORT_FORM_128#RA_IMPORT_FORM_128',
    [IsRemoteAccess]      = 0,
    [PARAM_EXPORT]        = 'COL2+''|$ADM$|''+LEFT(COL16,4)+''|''+SUBSTRING(COL16,5,7)+''|''+SUBSTRING(COL16,12,3)+''|''+SUBSTRING(COL16,15,3)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''+STR(COL13)+''|''+STR(COL14)+''|''+STR(COL15)+''|''
#
LEFT(COL13,3)+''|$ADM$|'' +SUBSTRING(COL13,4,17)+''|'' +STR(COL4)+''|''+STR(COL5) + ''|'' + STR(COL6)+''|''+STR(COL7) +''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''
#
COL2+''|''+STR(COL3)+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''
#
COL2+''|''+COL3+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''
',
    [PARAM_IMPORT]        = 'C1+''|''+C3+C4+C5+C6+''|''+C7+''|''+C8+''|''+C9+''|''+C10+''|''+C11+''|''+C12+''|''+C13+''|''+C14+''|''+C15
# C1+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7+''|''+C8 +''|''+C9+''|''+C10+''|''+C11+''|''+C12
#
C1+''|''+C2+''|''+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7+''|''+C8+''|''+C9+''|''+C10+''|''+C11+''|''+C12+''|''+C1+C2
#
C1+''|''+C2+''|''+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7+''|''+C8+''|''+C9+''|''+C10+''|''+C11
',
    [OBJECT]              = NULL,
    [ATRIBUTS]            = 'REPORTS_ATR_ADM',
    [SvodProc]            = NULL,
    [COMMENT]             = '191н',
    [PRINT_OBJECT_METHOD_NEW] = 'RB_PRINT_0503128G_2015',
    [QUERY_BEFORE_PRINT_NEW]  = '',
    [QUERY_REPORT_NEW]        = 'sv_0503128g_20141231.xlt',
    [IS_CALC]        = 1
WHERE [LINK_FORM] = @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-21 17:11:10.630',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-21 17:11:10.630'
	BEGIN
		SELECT @vcMessage = 'Форма 0503128M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503128M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-21 17:11:10.630. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 25 2016  9:27:59:900AM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503128M (Отчет о принятых бюджетных  обязательствах)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-03-25 09:27:59.900
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503128M' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-25 09:27:59.900',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503128M',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503128M'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Отчет о принятых бюджетных  обязательствах',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_128#RA_IMPORT_FORM_128',0,1,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'svodprint_page_itog()','sv_0503128g_20141231.bas','','kirrepmakermultisheet.xls','sv_0503128g_20141231.xlt','',NULL,'RA_EXPORT_FORM_128#RA_IMPORT_FORM_128',0,'COL2+''|$ADM$|''+LEFT(COL15,4)+''|''+SUBSTRING(COL15,5,10)+''|''+SUBSTRING(COL15,15,3)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''+STR(COL13)+''|''+STR(COL14)+''|''
#
LEFT(COL13,3)+''|$ADM$|'' +SUBSTRING(COL13,4,17)+''|'' +STR(COL4)+''|''+STR(COL5) + ''|'' + STR(COL6)+''|''+STR(COL7) +''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''
#
COL2+''|''+STR(COL3)+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''
#
COL2+''|''+COL3+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''
','C1+''|''+C3+C4+C5+''|''+C6+''|''+C7+''|''+C8+''|''+C9+''|''+C10+''|''+C11+''|''+C12+''|''+C13+''|''+C14
# C1+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7+''|''+C8 +''|''+C9+''|''+C10+''|''+C11+''|''+C12
#
C1+''|''+C2+''|''+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7+''|''+C8+''|''+C9+''|''+C10+''|''+C11+''|''+C12+''|''+C1+C2
#
C1+''|''+C2+''|''+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7+''|''+C8+''|''+C9+''|''+C10+''|''+C11
',NULL,'228       ','REPORTS_ATR_ADM',NULL,'RB_PRINT_0503128G_2016','|sv_0503128g_20141231.xlt',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Расходы бюджета', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,0,1,1500,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,2,100,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'РЗПР',@iLINK_TABLE,0,1,0,0,4,1,'R_SPR_RZPR_2011','COL3','CODE','NNNN',NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'ЦСР',@iLINK_TABLE,0,1,0,0,10,1,'R_SPR_CSR_USER_2016','COL4','CODE','NNNNNNNNNN',NULL,NULL,'dbo.RO_KBK_ORG_IS_VIEW(link, org, budg,%link_org%, %link_budg%, ''20110101'')=1 AND %date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'ВР',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_VR_USER_2011','COL1,COL2,COL5','NAME,CODE_STR,CODE','NNN',NULL,NULL,'dbo.RO_KBK_ORG_IS_VIEW(link, org, budg,%link_org%, %link_budg%, ''20110101'') = 1 AND %date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Утверждено (доведено)  на год бюджетных ассигнований',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Утверждено (доведено) лимитов бюджетных обязательств',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Принимаемые обязательства',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Принято бюджетных обязательств всего',@iLINK_TABLE,1,0,7,7,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Принято бюджетных обязательств с применением конкурентных способов',@iLINK_TABLE,1,0,8,8,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Денежные обязательства',@iLINK_TABLE,1,0,9,9,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,10,10,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Неисполнено принятых бюджетных обязательств',@iLINK_TABLE,1,0,11,11,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,12,12,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Код расхода по ППП, по ФКР, КЦСР, КВР',@iLINK_TABLE,1,1,2,0,17,1,'R_SPR_AUTO_128_2011','COL1,COL2,COL15','NAME,CODE_STR,CODE',NULL,1,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Расходы бюджета', @iLINK_FORM,1, @iLINK_CODE_COL,1,'CALC_SMETA=exec dbo.RB_CALC_FORM_0503127G09 @lsf, 2, @dateEndPeriod, @depLink
CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503127M'',2,''20110101'')
KEY_FOX=PADR(RTRIM(COL3),4,''0'')+PADR(RTRIM(COL4),10,''0'')+PADR(RTRIM(COL5),3,''0'')
KEY_WEB=LEFT(RTRIM(isnull(COL3,''''))+''0000'',4)+LEFT(RTRIM(ISNULL(COL4,''''))+''0000000000000'',10)+LEFT(RTRIM(ISNULL(COL5,''''))+''000'',3)
SPLIT=COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000'',1,4)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000'',5,10)#COL5=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000'',15,3)
FILTER_GRID=Рзпр#COL3|ЦСР#COL4|ВР#COL5
AUTO_SPR_FORM=R_SPR_RASH_117_2016
AUTO_SPR_NAME_UPD=''COL5=SUBSTRING(CODE,15,3)=000#COL4=SUBSTRING(CODE,5,10)=0000000#COL3=SUBSTRING(CODE,1,4)=0000'', ''report_kbk'', ''CODE'', ''LONG_NAME'',''code_form=''''R_SPR_RASH_117_2016'''' and isnull(T.long_name,'''''''')=''''''''''
AUTOFILL_MASK=XXXXXXXXXXXXXXXXXddd
AUTO_SPR_CHECK= exists(select * from R_SPR_RZPR_2011 where code = SUBSTRING(T.code,1,4))  and ((exists(select * from R_SPR_CSR_USER_2016 where code = SUBSTRING(T.code,5,10)) and exists(select * from dbo.R_SPR_VR_2011 where code = SUBSTRING(T.code,15,3))) OR ISNULL((SELECT Val_int FROM dbo.report_options WHERE Razdel = ''COMMON'' AND Code = ''ITOG_117''),0) =1) and T.code <> ''00000000000000000'' and not (LEFT(T.code,4) = ''9600'' and SUBSTRING(T.Code, 15,3) <> ''000'') and not (LEFT(T.code,4) = ''7900'' and SUBSTRING(T.Code, 15,3) <> ''000'')
 
AUTO_SPR_CODE_STR=case when left(T.code,4) <> ''7900'' then ''200'' else ''450'' end
AUTO_SPR_PARENT=5#left(T.Code,14) + XXX','-1#LEFT(CODE,3)=''960''
1#LEFT(CODE,3)=''790''',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Источники финансирования дефицита бюджета', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,0,1,1000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,0,1,0,2,100,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код источника финансирования по бюджетной классификации',@iLINK_TABLE,0,1,0,0,50,1,'R_SPR_IST_17_2011','COL1,COL2,COL3','LONG_NAME,CODE_STR,CODE_IST','NN NN NN NN NN NNNN NNN',NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утверждено (доведено) на год бюджетных ассигнований',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Утверждено (доведено) лимитов бюджетных обязательств',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Принимаемые обязательства',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Принято бюджетных обязательств всего',@iLINK_TABLE,1,0,7,7,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Принято бюджетных обязательств с применением конкурентных способов',@iLINK_TABLE,1,0,8,8,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Денежные обязательства',@iLINK_TABLE,1,0,9,9,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,10,10,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Неисполнено принятых бюджетных обязательств',@iLINK_TABLE,1,0,11,11,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,12,12,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Код строки и Код источника',@iLINK_TABLE,1,1,2,0,20,1,'R_SPR_IST_17_2011','COL1,COL2,COL3,COL13','LONG_NAME,CODE_STR,CODE_IST,CODE',NULL,1,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Источники финансирования дефицита бюджета', @iLINK_FORM,2, @iLINK_CODE_COL,1,'CALC_SMETA=exec dbo.RB_CALC_FORM_0503127G09 @lsf, 3, @dateEndPeriod, @depLink
CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503127M'',3,''20110101'')
KEY_FOX=PADR(RTRIM(COL2),3,''0'')+PADR(RTRIM(COL3),17,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000'',3)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000000000'',17)
SPLIT=COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',1,3)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''0000000000000000000000000'',4,17)
KBK=4,5,6,7,-8,-9','-1#LEFT(CODE,4) =''9000''',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Обязательства финансовых годов', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,0,0,1000,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код источника финансирования по бюджетной классификации',@iLINK_TABLE,1,1,3,0,50,1,NULL,NULL,NULL,'NN NN NN NN NN NNNN NNN',1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утверждено ассигнований бюджетных',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Утверждено лимитов бюджетных обязательств',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Принимаемые обязательства',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Принято бюджетных обязательств всего',@iLINK_TABLE,1,0,7,7,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Принято бюджетных обязательств с применением конкурентных способов',@iLINK_TABLE,1,0,8,8,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Денежные обязательства',@iLINK_TABLE,1,0,9,9,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,10,10,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Неисполнено принятых бюджетных обязательств',@iLINK_TABLE,1,0,11,11,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,12,12,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Код строки и Код источника',@iLINK_TABLE,0,1,13,0,20,0,'R_SPR_IST_17_2011','COL1,COL2,COL3,COL13','LONG_NAME,CODE_STR,CODE_IST,CODE',NULL,1,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Обязательства финансовых годов', @iLINK_FORM,3, @iLINK_CODE_COL,0,'CALC_SMETA=exec dbo.RB_CALC_FORM_0503128G @lsf, 4
CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503128M'',4,''20141231'')
KEY_FOX=PADR(RTRIM(COL2),3,''0'')+PADR(RTRIM(COL3),17,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000'',3)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000000000'',17)
SPLIT=COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',1,3)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''0000000000000000000000000'',4,17)','-1#LEFT(CODE,4) =''9100''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Итого', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,0,0,250,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,0,3,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код по бюджетной классификации',@iLINK_TABLE,1,1,3,0,50,0,NULL,NULL,NULL,'NN NN NN NN NN NNNN NNN',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утверждено ассигнований бюджетных',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Утверждено лимитов бюджетных обязательств',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Принимаемые обязательства',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Принято бюджетных обязательств всего',@iLINK_TABLE,1,0,7,7,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Принято бюджетных обязательств с применением конкурентных способов',@iLINK_TABLE,1,0,8,8,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Принято денежных обязательств',@iLINK_TABLE,1,0,9,9,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,10,10,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Неисполнено принятых бюджетных обязательств',@iLINK_TABLE,1,0,11,11,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,12,12,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Итого', @iLINK_FORM,4, @iLINK_CODE_COL,0,'CALC_SMETA=exec dbo.RB_CALC_FORM_0503127G09 @lsf, 5, @dateEndPeriod, @depLink
CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503127M'',5,''20081231'')
KEY_FOX=PADR(RTRIM(COL2),3,''0'')+PADR(RTRIM(COL3),17,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000'',3)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000000000'',17)
SPLIT=COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',1,3)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''0000000000000000000000000'',4,17)',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,3,1,1)
INSERT #R VALUES (2,3,2,1)
INSERT #R VALUES (3,3,3,1)
INSERT #R VALUES (1,4,1,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 4
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (3,1,1,'Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом, всего')
INSERT #F VALUES (3,2,1,'Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом, всего по расходам')
INSERT #F VALUES (3,3,1,'по выплатам источников финансирования дефицита бюджета')
INSERT #F VALUES (3,1,2,'900')
INSERT #F VALUES (3,2,2,'910                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,3,2,'920')
INSERT #F VALUES (3,3,6,'ЗАПРЕТ()')
INSERT #F VALUES (3,3,8,'ЗАПРЕТ()')
INSERT #F VALUES (3,1,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,2,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,3,10,'ЗАПРЕТ()')
INSERT #F VALUES (4,1,1,'Итого')
INSERT #F VALUES (4,1,2,'999')
INSERT #F VALUES (4,1,3,'99999999999999999')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 14
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,42,7,0,0,0,'т.2гр.7 >=  т.2гр.9',0,2,0,'20101210','1=0','','','0503128M','20160101','Киров','>=',4,'','')
INSERT #A VALUES(2,NULL,0,NULL,43,7,0,0,0,'т.1гр.7 >=  т.1гр.6',0,2,0,'20101210','1=0','','','0503128M','20160101','Киров','>=',4,'','')
INSERT #A VALUES(3,NULL,0,NULL,44,7,0,0,0,'т.2гр.9 >=  т.2гр.10',0,2,0,'20101210','1=0','','','0503128M','20160101','Киров','>=',4,'','')
INSERT #A VALUES(4,NULL,0,NULL,45,7,0,0,0,'т.1гр.6 >=  т.1гр.10',0,2,0,'20101210','1=0','','','0503128M','20160101','Киров','>=',4,'','')
INSERT #A VALUES(5,NULL,0,NULL,47,7,0,0,0,'т.2гр.8 =  т.2гр.8',1,2,0,'20130306','isnull(col(7),0)<convert(float,0) or isnull(col(4),0)<convert(float,0)','','','0503128M','20160101','Киров','=',4,'','')
INSERT #A VALUES(6,NULL,0,NULL,156,7,0,0,0,'т.3стр.900 =  т.3стр.910 +  т.3стр.920',1,0,0,'20150507','','','','0503128M','20160101','ks','=',2,'','')
INSERT #A VALUES(7,NULL,0,NULL,516,7,0,0,0,'т.1Фильтр:ЭКР 200 =  т.1Фильтр:ЭКР 210 +  т.1Фильтр:ЭКР 220 +  т.1Фильтр:ЭКР 230 +  т.1Фильтр:ЭКР 240 +  т.1Фильтр:ЭКР 250 +  т.1Фильтр:ЭКР 260 +  т.1Фильтр:ЭКР 290',1,4,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(8,NULL,0,NULL,517,7,0,0,0,'т.1Фильтр:ЭКР 250 =  т.1Фильтр:ЭКР 251 +  т.1Фильтр:ЭКР 252 +  т.1Фильтр:ЭКР 253',1,3,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(9,NULL,0,NULL,518,7,0,0,0,'т.1Фильтр:ЭКР 260 =  т.1Фильтр:ЭКР 261 +  т.1Фильтр:ЭКР 262 +  т.1Фильтр:ЭКР 263',1,3,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(10,NULL,0,NULL,519,7,0,0,0,'т.1Фильтр:ЭКР 210 =  т.1Фильтр:ЭКР 211 +  т.1Фильтр:ЭКР 212 +  т.1Фильтр:ЭКР 213',1,3,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(11,NULL,0,NULL,520,7,0,0,0,'т.1Фильтр:ЭКР 300 =  т.1Фильтр:ЭКР  310 +  т.1Фильтр:ЭКР 320 +  т.1Фильтр:ЭКР 340 +  т.1Фильтр:ЭКР 330',1,3,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(12,NULL,0,NULL,521,7,0,0,0,'т.1стр.96000000000000000 =  т.1Фильтр:ЭКР 200 +  т.1Фильтр:ЭКР 300 +  т.1Фильтр:ЭКР 600 +  т.1Фильтр:ЭКР 500',1,8,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(13,NULL,0,NULL,522,7,0,0,0,'т.1Фильтр:ЭКР 500 =  т.1Фильтр:ЭКР  540 +  т.1Фильтр:ЭКР  530',1,3,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(14,NULL,0,NULL,523,7,0,0,0,'т.1Фильтр:ЭКР 230 =  т.1Фильтр:ЭКР 231 +  т.1Фильтр:ЭКР 232',1,3,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(15,NULL,0,NULL,524,7,0,0,0,'т.1Фильтр:ЭКР  240 =  т.1Фильтр:ЭКР 241 +  т.1Фильтр:ЭКР 242',1,3,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(16,NULL,0,NULL,525,7,0,0,0,'т.1Фильтр:ЭКР 600 =  т.1Фильтр:ЭКР 620 +  т.1Фильтр:ЭКР  640',1,3,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(17,NULL,0,NULL,526,7,0,0,0,'т.1Фильтр:ЭКР 220 =  т.1Фильтр:ЭКР 221 +  т.1Фильтр:ЭКР 222 +  т.1Фильтр:ЭКР 223 +  т.1Фильтр:ЭКР 224 +  т.1Фильтр:ЭКР 225 +  т.1Фильтр:ЭКР 226',1,3,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(18,NULL,0,NULL,527,7,0,0,0,'т.1Фильтр:ЭКР 000 =  т.1Фильтр:ЭКР 200 +  т.1Фильтр:ЭКР 300 +  т.1Фильтр:ЭКР 500 +  т.1Фильтр:ЭКР 600',1,5,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(19,NULL,0,NULL,528,7,0,0,0,'т.1гр.11 =  т.1гр.7 -  т.1гр.10',1,0,1,'20151013','','','','0503128M','20160101',NULL,'=',3,'','')
INSERT #A VALUES(20,NULL,0,NULL,529,7,0,0,0,'т.1гр.12 =  т.1гр.9 -  т.1гр.10',1,0,1,'20151013','','','','0503128M','20160101','','=',3,'','')
INSERT #A VALUES(21,NULL,0,NULL,530,7,0,0,0,'т.2гр.11 =  т.2гр.7 -  т.2гр.10',1,0,1,'20151013','','','','0503128M','20160101',NULL,'=',3,'','')
INSERT #A VALUES(22,NULL,0,NULL,531,7,0,0,0,'т.2гр.12 =  т.2гр.9 -  т.2гр.10',1,0,1,'20151013','','','','0503128M','20160101',NULL,'=',3,'','')
INSERT #A VALUES(23,NULL,0,NULL,536,7,0,0,0,'т.4стр.99999999999999999гр.4 =  т.1стр.96000000000000000гр.4 +  т.2стр.50090000000000000000гр.4 +  т.3стр.900гр.4',1,113,1,'20151013','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(24,NULL,0,NULL,537,7,0,0,0,'т.4стр.99999999999999999гр.5 =  т.1стр.96000000000000000гр.5 +  т.2стр.50090000000000000000гр.5 +  т.3стр.900гр.5',1,113,1,'20151013','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(25,NULL,0,NULL,538,7,0,0,0,'т.4стр.99999999999999999гр.6 =  т.1стр.96000000000000000гр.6 +  т.2стр.50090000000000000000гр.6 +  т.3стр.900гр.6',1,113,1,'20151013','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(26,NULL,0,NULL,539,7,0,0,0,'т.4стр.99999999999999999гр.7 =  т.1стр.96000000000000000гр.7 +  т.2стр.50090000000000000000гр.7 +  т.3стр.900гр.7',1,113,1,'20151013','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(27,NULL,0,NULL,540,7,0,0,0,'т.4стр.99999999999999999гр.8 =  т.1стр.96000000000000000гр.8 +  т.2стр.50090000000000000000гр.8 +  т.3стр.900гр.8',1,113,1,'20151013','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(28,NULL,0,NULL,541,7,0,0,0,'т.4стр.99999999999999999гр.9 =  т.1стр.96000000000000000гр.9 +  т.2стр.50090000000000000000гр.9 +  т.3стр.900гр.8',1,113,1,'20151013','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(29,NULL,0,NULL,542,7,0,0,0,'т.4стр.99999999999999999гр.10 =  т.1стр.96000000000000000гр.10 +  т.2стр.50090000000000000000гр.10 +  т.3стр.900гр.10',1,113,1,'20151013','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(30,NULL,0,NULL,543,7,0,0,0,'т.4стр.99999999999999999гр.11 =  т.1стр.96000000000000000гр.11 +  т.2стр.50090000000000000000гр.11 +  т.3стр.900гр.11',1,113,1,'20151013','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(31,NULL,0,NULL,544,7,0,0,0,'т.4стр.99999999999999999гр.12 =  т.1стр.96000000000000000гр.12 +  т.2стр.50090000000000000000гр.12 +  т.3стр.900гр.12',1,113,1,'20151013','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(32,NULL,0,NULL,553,7,0,0,0,'т.1гр.7 >=  т.1гр.9',0,2,1,'20151013','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(33,NULL,0,NULL,554,7,0,0,0,'т.1гр.9 >=  т.1гр.10',0,2,1,'20151013','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(34,NULL,0,NULL,555,7,0,0,0,'|т.2гр.7| >=  |т.2гр.9|',0,2,1,'20151013','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(35,NULL,0,NULL,556,7,0,0,0,'|т.2гр.9| >=  |т.2гр.10|',0,2,1,'20151013','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(36,NULL,0,NULL,561,7,0,0,0,'т.2Фильтр:Подитоги по регион. кодам =  т.2Фильтр:Региональные кода',1,0,1,'20151013','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(37,NULL,0,NULL,576,7,0,0,0,'т.3гр.7 >=  т.3гр.9',0,2,1,'20151013','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(38,NULL,0,NULL,577,7,0,0,0,'т.3стр.900 =  т.3стр.910 +  т.3стр.920',1,0,1,'20151013','','','','0503128M','20160101','','=',2,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 38
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','900','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','910','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','920','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','200','RIGHT(RTRIM(CODE),3)=''200''','ЭКР 200','LEFT(code,14)+''200''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(7,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','210','RIGHT(RTRIM(CODE),3)=''210''','ЭКР 210','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','220','RIGHT(RTRIM(CODE),3)=''220''','ЭКР 220','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','230','RIGHT(RTRIM(CODE),3)=''230''','ЭКР 230','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','240','RIGHT(RTRIM(CODE),3)=''240''','ЭКР 240','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,6,4,'+',NULL,NULL,NULL,NULL,0,0,'','','250','RIGHT(RTRIM(CODE),3)=''250''','ЭКР 250','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,7,4,'+',NULL,NULL,NULL,NULL,0,0,'','','260','RIGHT(RTRIM(CODE),3)=''260''','ЭКР 260','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,8,4,'+',NULL,NULL,NULL,NULL,0,0,'','','290','RIGHT(RTRIM(CODE),3)=''290''','ЭКР 290','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(8,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','250','RIGHT(RTRIM(CODE),3)=''250''','ЭКР 250','LEFT(code,14)+''250''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(8,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','251','RIGHT(RTRIM(CODE),3)=''251''','ЭКР 251','LEFT(code,14)+''250''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(8,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','252','RIGHT(RTRIM(CODE),3)=''252''','ЭКР 252','LEFT(code,14)+''250''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(8,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','253','RIGHT(RTRIM(CODE),3)=''253''','ЭКР 253','LEFT(code,14)+''250''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(9,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','260','RIGHT(RTRIM(CODE),3)=''260''','ЭКР 260','LEFT(code,14)+''260''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','261','RIGHT(RTRIM(CODE),3)=''261''','ЭКР 261','LEFT(code,14)+''260''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(9,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','262','RIGHT(RTRIM(CODE),3)=''262''','ЭКР 262','LEFT(code,14)+''260''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(9,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','263','RIGHT(RTRIM(CODE),3)=''263''','ЭКР 263','LEFT(code,14)+''260''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','210','RIGHT(RTRIM(CODE),3)=''210''','ЭКР 210','LEFT(code,14)+''210''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','211','RIGHT(RTRIM(CODE),3)=''211''','ЭКР 211','LEFT(code,14)+''210''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(10,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','212','RIGHT(RTRIM(CODE),3)=''212''','ЭКР 212','LEFT(code,14)+''210''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(10,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','213','RIGHT(RTRIM(CODE),3)=''213''','ЭКР 213','LEFT(code,14)+''210''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','300','RIGHT(RTRIM(CODE),3)=''300''','ЭКР 300','LEFT(code,14)+''300''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','310','RIGHT(RTRIM(CODE),3)=''310''','ЭКР  310','LEFT(code,14)+''300''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(11,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','320','RIGHT(RTRIM(CODE),3)=''320''','ЭКР 320','LEFT(code,14)+''300''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(11,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','340','RIGHT(RTRIM(CODE),3)=''340''','ЭКР 340','LEFT(code,14)+''300''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(11,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','RIGHT(RTRIM(CODE),3)=''330''','ЭКР 330','LEFT(code,14)+''300''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','00000000000000000200','RIGHT(RTRIM(CODE),3)=''200''','ЭКР 200','','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(12,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','00000000000000000300','RIGHT(RTRIM(CODE),3)=''300''','ЭКР 300','','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(12,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','00000000000000000600','RIGHT(RTRIM(CODE),3)=''600''','ЭКР 600','','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(12,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','00000000000000000500','RIGHT(RTRIM(CODE),3)=''500''','ЭКР 500','','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','500','RIGHT(RTRIM(CODE),3)=''500''','ЭКР 500','LEFT(code,14)+''500''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','540','RIGHT(RTRIM(CODE),3)=''540''','ЭКР  540','LEFT(code,14)+''500''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(13,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','530','RIGHT(RTRIM(CODE),3)=''530''','ЭКР  530','LEFT(code,14)+''500''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','230','RIGHT(RTRIM(CODE),3)=''230''','ЭКР 230','LEFT(code,14)+''230''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','231','RIGHT(RTRIM(CODE),3)=''231''','ЭКР 231','LEFT(code,14)+''230''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(14,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','232','RIGHT(RTRIM(CODE),3)=''232''','ЭКР 232','LEFT(code,14)+''230''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','240','RIGHT(RTRIM(CODE),3)=''240''','ЭКР  240','LEFT(code,14)+''240''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','241','RIGHT(RTRIM(CODE),3)=''241''','ЭКР 241','LEFT(code,14)+''240''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(15,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','242','RIGHT(RTRIM(CODE),3)=''242''','ЭКР 242','LEFT(code,14)+''240''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(16,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','600','RIGHT(RTRIM(CODE),3)=''600''','ЭКР 600','LEFT(code,14)+''600''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(16,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','620','RIGHT(RTRIM(CODE),3)=''620''','ЭКР 620','LEFT(code,14)+''600''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(16,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','640','RIGHT(RTRIM(CODE),3)=''640''','ЭКР  640','LEFT(code,14)+''600''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','220','RIGHT(RTRIM(CODE),3)=''220''','ЭКР 220','LEFT(code,14)+''220''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(17,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','221','RIGHT(RTRIM(CODE),3)=''221''','ЭКР 221','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','222','RIGHT(RTRIM(CODE),3)=''222''','ЭКР 222','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','223','RIGHT(RTRIM(CODE),3)=''223''','ЭКР 223','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','224','RIGHT(RTRIM(CODE),3)=''224''','ЭКР 224','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,6,4,'+',NULL,NULL,NULL,NULL,0,0,'','','225','RIGHT(RTRIM(CODE),3)=''225''','ЭКР 225','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,7,4,'+',NULL,NULL,NULL,NULL,0,0,'','','226','RIGHT(RTRIM(CODE),3)=''226''','ЭКР 226','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(18,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','500','RIGHT(RTRIM(CODE),3)=''000'' AND LEFT(CODE,1)  < ''7''','ЭКР 000','LEFT(code,14)+''000''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(18,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','540','RIGHT(RTRIM(CODE),3)=''200''','ЭКР 200','LEFT(code,14)+''000''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(18,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','530','RIGHT(RTRIM(CODE),3)=''300''','ЭКР 300','LEFT(code,14)+''000''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(18,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','RIGHT(RTRIM(CODE),3)=''500''','ЭКР 500','LEFT(code,14)+''000''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(18,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','RIGHT(RTRIM(CODE),3)=''600''','ЭКР 600','LEFT(code,14)+''000''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(19,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(19,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','14','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(20,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(21,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(22,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(23,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','4','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(24,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','7','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','5','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(25,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','8','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(26,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','7','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(27,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','10','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(28,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(29,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(29,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(29,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(29,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(30,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(30,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(30,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','11','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(30,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(31,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(31,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','14','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(31,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','12','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(31,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(32,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(32,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(33,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(33,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(34,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','2',NULL,NULL,'',0,NULL,1,'',2)
INSERT #B VALUES(34,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',2)
INSERT #B VALUES(35,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',0,NULL,1,'',2)
INSERT #B VALUES(35,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',2)
INSERT #B VALUES(36,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,14,4) = ''0000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and LEFT(RD1.Code_Row,13) = LEFT(CODE,13) and SUBSTRING(RD1.Code_Row,18,3) = SUBSTRING(CODE,18,3) and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = (select top 1 B5.Link_Table from report_coloumns B5 where B5.Link_Col = B.Link_Col)) and substring(RD1.Code_Row,14,4) <> ''0000'')','Подитоги по регион. кодам','LEFT(CODE,13)+''0000'' + RIGHT(RTRIM(CODE),3)','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(36,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,14,4)<>''0000''','Региональные кода','LEFT(CODE,13)+''0000'' + RIGHT(RTRIM(CODE),3)','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(37,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(37,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(38,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','900','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(38,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','910','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(38,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','920','3',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 130
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '5         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'5','Годовые формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-25 09:27:59.900',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-25 09:27:59.900'
	BEGIN
		SELECT @vcMessage = 'Форма 0503128M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503128M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-25 09:27:59.900. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 21 2016  5:09:51:657PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503169M_БД (Сведения по дебиторской и кредиторской задолженности (Бюдж, Дебет))
-- Дата ввода : 20150101
-- Дата окончания действия : 20151231
-- Версия : 2016-03-21 17:09:51.653
-- Параметры выгрузки :
-- только обновить  REPORT_FORMS              : да

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503169M_БД' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-21 17:09:51.653',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Обновление только REPORT_FORMS.
UPDATE dbo.[REPORT_FORMS]
SET [NAME]                = 'Сведения по дебиторской и кредиторской задолженности (Бюдж, Дебет)',
    [ExportCode]          = '259       ',
    [START_DATE]          = '20150101',
    [END_DATE]            = '20151231',
    [PERIODIC]            = 6,
    [ISSVOD]              = 1,
    [ISEXPORTED]          = 1,
    [ISUSERFORM]          = 1,
    [IsKonsolid]          = 0,
    [IS_AUTOFILL]         = 0,
    [PRINT_OBJECT_METHOD] = 'svodprint_new_gen()',
    [QUERY_ADD_MODULE]    = 'sv_0503169g_20141231.bas',
    [QUERY_BEFORE]        = '',
    [QUERY_REPMAKER]      = 'KirRepMakerMultiSheet.xls',
    [QUERY_REPORT]        = 'sv_0503169g_bd_20141231.xlt',
    [QUERY_REPORT_PATH]   = '',
    [DECRIPT_PROC]        = NULL,
    [EXPORT_PROC]         = 'RA_EXPORT_FORM_STANDART',
    [IsRemoteAccess]      = 0,
    [PARAM_EXPORT]        = 'REPLACE(LEFT(COL10,3)+''|''+SUBSTRING(COL10,4,14)+''|''+SUBSTRING(COL10,18,1)+''|''+SUBSTRING(COL10,19,5)+''|''+SUBSTRING(COL10,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + RTRIM(COL6) + ''|'' + RTRIM(COL7) + ''|''+ RTRIM(COL8) + ''|''+ RTRIM(COL9) + ''|'' #
REPLACE(LEFT(COL12,3)+''|''+SUBSTRING(COL12,4,14)+''|''+SUBSTRING(COL12,18,1)+''|''+SUBSTRING(COL12,19,5)+''|''+SUBSTRING(COL12,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL6)) +''|'' + LTRIM(STR(COL7)) + ''|'' + LTRIM(STR(COL8)) + ''|'' + LTRIM(STR(COL9)) + ''|'' + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' # 
REPLACE(LEFT(COL10,3)+''|''+SUBSTRING(COL10,4,14)+''|''+SUBSTRING(COL10,18,1)+''|''+SUBSTRING(COL10,19,5)+''|''+SUBSTRING(COL10,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + LTRIM(STR(COL6)) + ''|'' + LTRIM(STR(COL7)) + ''|''  + LTRIM(STR(COL8)) + ''|''  + LTRIM(STR(COL9)) + ''|''  #
''000|00000000000000|''+LEFT(COL9,1)+''|''+SUBSTRING(COL9,2,5)+''|''+SUBSTRING(COL9,7,3)+''|''+dbo.RO_EXP(COL3)+''|''+LTRIM(STR(COL2)) +''|'' + dbo.RO_EXP(COL4) + ''|'' + dbo.RO_EXP(COL5) + ''|'' + dbo.RO_EXP(COL6) + ''|'' 
',
    [PARAM_IMPORT]        = 'REPLACE(C1+C2+C3+C4+C5,''*****************'',''00000000000000000'')+''|''+C6+''|''+C7+''|''+C8+''|''+C9 # # #
C3+C4+C5+C6+C8+''|''+C7+''|''+C6+''|''+C8+''|''+C9+''|''+C10',
    [OBJECT]              = NULL,
    [ATRIBUTS]            = '',
    [SvodProc]            = NULL,
    [COMMENT]             = '191н',
    [PRINT_OBJECT_METHOD_NEW] = NULL,
    [QUERY_BEFORE_PRINT_NEW]  = 'RN_PRINT_169_2015',
    [QUERY_REPORT_NEW]        = '',
    [IS_CALC]        = 1
WHERE [LINK_FORM] = @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-21 17:09:51.653',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-21 17:09:51.653'
	BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БД с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БД с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-21 17:09:51.653. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 29 2016 10:39:23:423AM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503169M_БД (Сведения по дебиторской и кредиторской задолженности (Бюдж, Дебет))
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-03-29 10:39:23.423
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503169M_БД' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-29 10:39:23.423',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503169M_БД',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503169M_БД'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Сведения по дебиторской и кредиторской задолженности (Бюдж, Дебет)',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_STANDART',0,0,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'svodprint_new_gen()','sv_0503169g_20160101.bas','','KirRepMakerMultiSheet.xls','sv_0503169g_bd_20160101.xlt','',NULL,'RA_EXPORT_FORM_STANDART',0,'REPLACE(LEFT(COL17,3)+''|''+SUBSTRING(COL17,4,14)+''|''+SUBSTRING(COL17,18,1)+''|''+SUBSTRING(COL17,19,5)+''|''+SUBSTRING(COL17,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + RTRIM(COL6) + ''|'' + RTRIM(COL7) + ''|''+ RTRIM(COL8) + ''|''+ RTRIM(COL9) + ''|''+ RTRIM(COL10) + ''|''+ RTRIM(COL11) + ''|''+ RTRIM(COL12) + ''|''+ RTRIM(COL13) + ''|''+ RTRIM(COL14) + ''|''+ RTRIM(COL15) + ''|''+ RTRIM(COL16) + ''|'' #
REPLACE(LEFT(COL19,3)+''|''+SUBSTRING(COL19,4,17)+''|''+SUBSTRING(COL19,21,1)+''|''+SUBSTRING(COL19,22,5)+''|''+SUBSTRING(COL19,27,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + LTRIM(STR(COL6)) + ''|'' + LTRIM(STR(COL7)) + ''|'' + LTRIM(STR(COL8)) + ''|'' + LTRIM(STR(COL9)) + ''|'' + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' + LTRIM(STR(COL12)) + ''|'' + LTRIM(STR(COL13)) + ''|'' + LTRIM(STR(COL14)) + ''|'' + LTRIM(STR(COL15)) + ''|'' + LTRIM(STR(COL16)) + ''|'' # 
REPLACE(LEFT(COL17,3)+''|''+SUBSTRING(COL17,4,14)+''|''+SUBSTRING(COL17,18,1)+''|''+SUBSTRING(COL17,19,5)+''|''+SUBSTRING(COL17,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + LTRIM(STR(COL6)) + ''|'' + LTRIM(STR(COL7)) + ''|''  + LTRIM(STR(COL8)) + ''|''  + LTRIM(STR(COL9)) + ''|''  + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' + LTRIM(STR(COL12)) + ''|'' + LTRIM(STR(COL13)) + ''|'' + LTRIM(STR(COL14)) + ''|'' + LTRIM(STR(COL15)) + ''|'' + LTRIM(STR(COL16)) + ''|'' #
''000|00000000000000|''+LEFT(COL9,1)+''|''+SUBSTRING(COL9,2,5)+''|''+SUBSTRING(COL9,7,3)+''|''+dbo.RO_EXP(COL2)+''|''+dbo.RO_EXP(COL3) +''|'' + dbo.RO_EXP(COL4) + ''|'' + dbo.RO_EXP(COL5) + ''|'' + dbo.RO_EXP(COL6) + ''|'' + dbo.RO_EXP(COL7) + ''|'' + dbo.RO_EXP(COL8) + ''|'' + dbo.RO_EXP(COL9) + ''|'' 
','REPLACE(C1+C2+C3+C4+C5,''*****************'',''00000000000000000'')+''|''+C6+''|''+C7+''|''+C8+''|''+C9 # # #
C3+C4+C5+C6+C8+''|''+C7+''|''+C6+''|''+C8+''|''+C9+''|''+C10',NULL,'259       ','REPORTS_ATR_VIDDEYAT',NULL,NULL,'RN_PRINT_169_2016|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Доходы', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'КБК',@iLINK_TABLE,0,1,0,0,17,1,'R_SPR_DOH_14_2011','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169BD_2012','COL3','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года- всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб.-на конец периода прошл. года- из них:долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Доходы', @iLINK_FORM,1, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),17,''0'')+PADR(RTRIM(COL3),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000000'',17)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000000'',4,17)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)


','2#SUBSTRING(CODE,18,4)=''8888''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Расходы', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'РЗПР',@iLINK_TABLE,0,1,0,0,4,1,'R_SPR_RZPR_2011','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'ЦСР',@iLINK_TABLE,0,1,0,0,10,1,'R_SPR_CSR_USER_2016','COL3','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'ВР',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_VR_2011','COL4','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169BD_2012','COL5','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 18,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 19,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Расходы', @iLINK_FORM,2, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),4,''0'')+PADR(RTRIM(COL3),10,''0'')+PADR(RTRIM(COL4),3,''0'')+PADR(RTRIM(COL5),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000'',4)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',10)+LEFT(RTRIM(isnull(COL4,''''))+''00000000000000'',3)+LEFT(RTRIM(isnull(COL5,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,4)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',8,10)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',18,3)#COL5=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)

',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Источник', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'КБК',@iLINK_TABLE,0,1,0,0,17,1,'R_SPR_IST_14_2011','COL2','CODE_IST',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169BD_2012','COL3','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Источник', @iLINK_FORM,3, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),17,''0'')+PADR(RTRIM(COL3),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000000'',17)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,17)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000000'',21,9)


',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '2. Сведения о просроченной задолженности', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169BD_2012','COL1','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма, руб.',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Дата - возникновения',@iLINK_TABLE,1,1,3,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Дата - Исполнения по правовому основанию',@iLINK_TABLE,1,1,4,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Дебитор (кредитор) - ИНН',@iLINK_TABLE,1,1,5,0,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Дебитор (кредитор) - наименование',@iLINK_TABLE,1,1,6,0,2000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Причины образования - код',@iLINK_TABLE,1,1,7,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Причины образования - пояснение',@iLINK_TABLE,1,1,8,0,8000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '2. Сведения о просроченной задолженности', @iLINK_FORM,4, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),9,''0'')+PADR(right(nvl(RTRIM(COL3),''''),4),4,''0'')+PADR(RTRIM(COL4),10,'' '')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',9)+LEFT(RIGHT(RTRIM(isnull(COL3,'''')),4)+''0000'',4)+LEFT(RTRIM(isnull(COL4,''''))+''          '',10)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000000000'',9)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',10,4)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''                      '',14,10)


',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '3. Аналитическая информация о движении просроченно', @iLINK_FORM,5
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование  показателя',@iLINK_TABLE,0,1,1,0,254,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма - всего',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма-в том числе: по доходам',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма-в том числе: по по расходам',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '3. Аналитическая информация о движении просроченно', @iLINK_FORM,5, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,5,1,1)
INSERT #R VALUES (2,5,2,1)
INSERT #R VALUES (3,5,3,1)
INSERT #R VALUES (4,5,4,1)
INSERT #R VALUES (5,5,5,1)
INSERT #R VALUES (6,5,6,1)
INSERT #R VALUES (7,5,7,1)
INSERT #R VALUES (8,5,8,1)
INSERT #R VALUES (9,5,9,1)
INSERT #R VALUES (10,5,10,1)
INSERT #R VALUES (11,5,11,1)
INSERT #R VALUES (12,5,12,1)
INSERT #R VALUES (13,5,13,1)
INSERT #R VALUES (14,5,14,1)
INSERT #R VALUES (15,5,15,1)
INSERT #R VALUES (16,5,16,1)
INSERT #R VALUES (17,5,17,1)
INSERT #R VALUES (18,5,18,1)
INSERT #R VALUES (19,5,19,1)
INSERT #R VALUES (20,5,20,1)
INSERT #R VALUES (21,5,21,1)
INSERT #R VALUES (22,5,22,1)
INSERT #R VALUES (23,5,23,1)
INSERT #R VALUES (24,5,24,1)
INSERT #R VALUES (25,5,25,1)
INSERT #R VALUES (26,5,26,1)
INSERT #R VALUES (27,5,27,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 27
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (5,1,1,'Остаток просроченной задолженности на начало года  (стр. 011 + 012 + 013)')
INSERT #F VALUES (5,2,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,3,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,4,1,'    присуждено судом')
INSERT #F VALUES (5,5,1,'    из них:
        находится на принудительном взыскании')
INSERT #F VALUES (5,6,1,'    находится в следственных органах')
INSERT #F VALUES (5,7,1,'    иная задолженность')
INSERT #F VALUES (5,8,1,'Отнесена к просроченной задолженности с начала года, всего (стр. 021 + 022 + 023)')
INSERT #F VALUES (5,9,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,10,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,11,1,'    присуждено судом')
INSERT #F VALUES (5,12,1,'    из них:      
       направлено на принудительное взыскание')
INSERT #F VALUES (5,13,1,'   находится в следственных органах')
INSERT #F VALUES (5,14,1,'   иная задолженность')
INSERT #F VALUES (5,15,1,'Исполнено с начала года, всего')
INSERT #F VALUES (5,16,1,'    из них:
    через принудительное взыскание')
INSERT #F VALUES (5,17,1,'Уточнено,с начала года, всего')
INSERT #F VALUES (5,18,1,'    из них:     
    переоценено')
INSERT #F VALUES (5,19,1,'Списано на финансовый результат')
INSERT #F VALUES (5,20,1,'    из них по невозобновляемым взысканиям')
INSERT #F VALUES (5,21,1,'Остаток просроченной задолженности на конец отчетного периода (стр. 010 + 020 - 030 - 040); (стр. 051 + 052 + 053)')
INSERT #F VALUES (5,22,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,23,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,24,1,'    присуждено судом')
INSERT #F VALUES (5,25,1,'    из них:    
        находится на принудительном взыскании')
INSERT #F VALUES (5,26,1,'    находится в следственных органах')
INSERT #F VALUES (5,27,1,'    иная задолженность')
INSERT #F VALUES (5,1,2,'010                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,2,2,'011                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,3,2,'012                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,4,2,'013                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,5,2,'014                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,6,2,'015                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,7,2,'016                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,8,2,'020                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,9,2,'021                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,10,2,'022                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,11,2,'023                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,12,2,'024                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,13,2,'025                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,14,2,'026                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,15,2,'030                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,16,2,'031                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,17,2,'040                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,18,2,'041                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,19,2,'050                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,20,2,'051                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,21,2,'060                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,22,2,'061                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,23,2,'062                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,24,2,'063                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,25,2,'064                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,26,2,'065                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,27,2,'066                                                                                                                                                                                                                                                           ')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 54
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1гр.2Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.2Фильтр:Неитоговые строки +  т.2гр.2Фильтр:Неитоговые строки +  т.3гр.2Фильтр:Неитоговые строки',1,2,1,'20160324','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.1гр.2Фильтр:Всего задолженности =  т.1гр.2Фильтр:Неитоговые строки +  т.2гр.2Фильтр:Неитоговые строки +  т.3гр.2Фильтр:Неитоговые строки',1,3,1,'20160324','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.1гр.4Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.4Фильтр:Неитоговые строки +  т.2гр.4Фильтр:Неитоговые строки +  т.3гр.4Фильтр:Неитоговые строки',1,2,1,'20160324','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(4,NULL,0,NULL,4,7,0,0,0,'т.1гр.9Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.9Фильтр:Неитоговые строки +  т.2гр.9Фильтр:Неитоговые строки +  т.3гр.9Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(5,NULL,0,NULL,5,7,0,0,0,'т.1гр.11Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.11Фильтр:Неитоговые строки +  т.2гр.11Фильтр:Неитоговые строки +  т.3гр.11Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(6,NULL,0,NULL,6,7,0,0,0,'т.1гр.4Фильтр:Всего задолженности =  т.1гр.4Фильтр:Неитоговые строки +  т.2гр.4Фильтр:Неитоговые строки +  т.3гр.4Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(7,NULL,0,NULL,7,7,0,0,0,'т.1гр.11 +  т.2гр.11 +  т.3гр.11 >=  т.4гр.2 Комментарий: сумма просроченной задолженности из раздела 1 должна быть больше или равна сумме просроченной задолженности из раздела 2',0,0,1,'20160325','','','','0503169M_БД','20160101','','>=',0,'','сумма просроченной задолженности из раздела 1 должна быть больше или равна сумме просроченной задолженности из раздела 2')
INSERT #A VALUES(8,NULL,0,NULL,8,7,0,0,0,'т.1гр.9Фильтр:Всего задолженности =  т.1гр.9Фильтр:Неитоговые строки +  т.2гр.9Фильтр:Неитоговые строки +  т.3гр.9Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(9,NULL,0,NULL,9,7,0,0,0,'т.1гр.11Фильтр:Всего задолженности =  т.1гр.11Фильтр:Неитоговые строки +  т.2гр.11Фильтр:Неитоговые строки +  т.3гр.11Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(10,NULL,0,NULL,10,7,0,0,0,'т.1 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(11,NULL,0,NULL,11,7,0,0,0,'т.1 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(12,NULL,0,NULL,12,7,0,0,0,'т.2 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(13,NULL,0,NULL,13,7,0,0,0,'т.2 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(14,NULL,0,NULL,14,7,0,0,0,'т.3 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(15,NULL,0,NULL,15,7,0,0,0,'т.3 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(16,NULL,0,NULL,16,7,0,0,0,'т.1Фильтр:Подитоги =  т.1Фильтр:КБК заполнена',1,0,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(17,NULL,0,NULL,17,7,0,0,0,'т.2Фильтр:Подитоги =  т.2Фильтр:КБК заполнена',1,0,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(18,NULL,0,NULL,18,7,0,0,0,'т.3Фильтр:Подитоги =  т.3Фильтр:КБК заполнена',1,0,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 18
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','4','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','15','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','6','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','13','','1',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(7,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','15','','2',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(7,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','13','','3',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(7,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','1=1','','substring(CODE,1,9)','','','2','','4',NULL,NULL,'',1,NULL,1,'#@@substring(CODE,1,9) + " " + substring(CODE,10,4)  + " " + substring(CODE,14,10)',0)
INSERT #B VALUES(8,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(8,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','11','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''000000000000000000000888888888''','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''000000000000000000000888888888''','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','15','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0''','','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,4)=''1207''','','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0''','','','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,4)=''1207''','','','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0''','','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,4)=''1207''','','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитоги','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(16,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнена','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(17,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитоги','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(17,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнена','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитоги','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(18,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнена','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','3',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 54
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-29 10:39:23.423',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-29 10:39:23.423'
	BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БД с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БД с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-29 10:39:23.423. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 21 2016  5:09:51:673PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503169M_БК (Сведения по дебиторской и кредиторской задолженности (Бюдж, Кредит))
-- Дата ввода : 20150101
-- Дата окончания действия : 20151231
-- Версия : 2016-03-21 17:09:51.673
-- Параметры выгрузки :
-- только обновить  REPORT_FORMS              : да

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503169M_БК' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-21 17:09:51.673',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Обновление только REPORT_FORMS.
UPDATE dbo.[REPORT_FORMS]
SET [NAME]                = 'Сведения по дебиторской и кредиторской задолженности (Бюдж, Кредит)',
    [ExportCode]          = '269       ',
    [START_DATE]          = '20150101',
    [END_DATE]            = '20151231',
    [PERIODIC]            = 6,
    [ISSVOD]              = 1,
    [ISEXPORTED]          = 1,
    [ISUSERFORM]          = 1,
    [IsKonsolid]          = 0,
    [IS_AUTOFILL]         = 0,
    [PRINT_OBJECT_METHOD] = 'svodprint_new_gen()',
    [QUERY_ADD_MODULE]    = 'sv_0503169g_20141231.bas',
    [QUERY_BEFORE]        = '',
    [QUERY_REPMAKER]      = 'KirRepMakerMultiSheet.xls',
    [QUERY_REPORT]        = 'sv_0503169g_bk_20141231.xlt',
    [QUERY_REPORT_PATH]   = '',
    [DECRIPT_PROC]        = NULL,
    [EXPORT_PROC]         = 'RA_EXPORT_FORM_STANDART',
    [IsRemoteAccess]      = 0,
    [PARAM_EXPORT]        = 'REPLACE(LEFT(COL10,3)+''|''+SUBSTRING(COL10,4,14)+''|''+SUBSTRING(COL10,18,1)+''|''+SUBSTRING(COL10,19,5)+''|''+SUBSTRING(COL10,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + RTRIM(COL6) + ''|'' + RTRIM(COL7) + ''|''+ RTRIM(COL8) + ''|''+ RTRIM(COL9) + ''|'' #
REPLACE(LEFT(COL12,3)+''|''+SUBSTRING(COL12,4,14)+''|''+SUBSTRING(COL12,18,1)+''|''+SUBSTRING(COL12,19,5)+''|''+SUBSTRING(COL12,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL6)) +''|'' + LTRIM(STR(COL7)) + ''|'' + LTRIM(STR(COL8)) + ''|'' + LTRIM(STR(COL9)) + ''|'' + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' # 
REPLACE(LEFT(COL10,3)+''|''+SUBSTRING(COL10,4,14)+''|''+SUBSTRING(COL10,18,1)+''|''+SUBSTRING(COL10,19,5)+''|''+SUBSTRING(COL10,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + LTRIM(STR(COL6)) + ''|'' + LTRIM(STR(COL7)) + ''|''  + LTRIM(STR(COL8)) + ''|''  + LTRIM(STR(COL9)) + ''|''  #
''000|00000000000000|''+LEFT(COL9,1)+''|''+SUBSTRING(COL9,2,5)+''|''+SUBSTRING(COL9,7,3)+''|''+dbo.RO_EXP(COL3)+''|''+LTRIM(STR(COL2)) +''|'' + dbo.RO_EXP(COL4) + ''|'' + dbo.RO_EXP(COL5) + ''|'' + dbo.RO_EXP(COL6) + ''|'' 
',
    [PARAM_IMPORT]        = 'REPLACE(C1+C2+C3+C4+C5,''*****************'',''00000000000000000'')+''|''+C6+''|''+C7+''|''+C8+''|''+C9 # # #
C3+C4+C5+C6+C8+''|''+C7+''|''+C6+''|''+C8+''|''+C9+''|''+C10',
    [OBJECT]              = NULL,
    [ATRIBUTS]            = '',
    [SvodProc]            = NULL,
    [COMMENT]             = '191н',
    [PRINT_OBJECT_METHOD_NEW] = NULL,
    [QUERY_BEFORE_PRINT_NEW]  = 'RN_PRINT_169_2015',
    [QUERY_REPORT_NEW]        = '',
    [IS_CALC]        = 1
WHERE [LINK_FORM] = @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-21 17:09:51.673',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-21 17:09:51.673'
	BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БК с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БК с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-21 17:09:51.673. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 29 2016 10:39:23:850AM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503169M_БК (Сведения по дебиторской и кредиторской задолженности (Бюдж, Кредит))
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-03-29 10:39:23.847
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503169M_БК' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-29 10:39:23.847',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503169M_БК',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503169M_БК'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Сведения по дебиторской и кредиторской задолженности (Бюдж, Кредит)',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_STANDART',0,0,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'svodprint_new_gen()','sv_0503169g_20160101.bas','','KirRepMakerMultiSheet.xls','sv_0503169g_bk_20160101.xlt','',NULL,'RA_EXPORT_FORM_STANDART',0,'REPLACE(LEFT(COL17,3)+''|''+SUBSTRING(COL17,4,14)+''|''+SUBSTRING(COL17,18,1)+''|''+SUBSTRING(COL17,19,5)+''|''+SUBSTRING(COL17,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + RTRIM(COL6) + ''|'' + RTRIM(COL7) + ''|''+ RTRIM(COL8) + ''|''+ RTRIM(COL9) + ''|''+ RTRIM(COL10) + ''|''+ RTRIM(COL11) + ''|''+ RTRIM(COL12) + ''|''+ RTRIM(COL13) + ''|''+ RTRIM(COL14) + ''|''+ RTRIM(COL15) + ''|''+ RTRIM(COL16) + ''|'' #
REPLACE(LEFT(COL19,3)+''|''+SUBSTRING(COL19,4,17)+''|''+SUBSTRING(COL19,21,1)+''|''+SUBSTRING(COL19,22,5)+''|''+SUBSTRING(COL19,27,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + LTRIM(STR(COL6)) + ''|'' + LTRIM(STR(COL7)) + ''|'' + LTRIM(STR(COL8)) + ''|'' + LTRIM(STR(COL9)) + ''|'' + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' + LTRIM(STR(COL12)) + ''|'' + LTRIM(STR(COL13)) + ''|'' + LTRIM(STR(COL14)) + ''|'' + LTRIM(STR(COL15)) + ''|'' + LTRIM(STR(COL16)) + ''|'' # 
REPLACE(LEFT(COL17,3)+''|''+SUBSTRING(COL17,4,14)+''|''+SUBSTRING(COL17,18,1)+''|''+SUBSTRING(COL17,19,5)+''|''+SUBSTRING(COL17,24,3),''000|00000000000000'',''***|**************'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + LTRIM(STR(COL6)) + ''|'' + LTRIM(STR(COL7)) + ''|''  + LTRIM(STR(COL8)) + ''|''  + LTRIM(STR(COL9)) + ''|''  + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' + LTRIM(STR(COL12)) + ''|'' + LTRIM(STR(COL13)) + ''|'' + LTRIM(STR(COL14)) + ''|'' + LTRIM(STR(COL15)) + ''|'' + LTRIM(STR(COL16)) + ''|'' #
''000|00000000000000|''+LEFT(COL9,1)+''|''+SUBSTRING(COL9,2,5)+''|''+SUBSTRING(COL9,7,3)+''|''+dbo.RO_EXP(COL2)+''|''+dbo.RO_EXP(COL3) +''|'' + dbo.RO_EXP(COL4) + ''|'' + dbo.RO_EXP(COL5) + ''|'' + dbo.RO_EXP(COL6) + ''|'' + dbo.RO_EXP(COL7) + ''|'' + dbo.RO_EXP(COL8) + ''|'' + dbo.RO_EXP(COL9) + ''|'' 
','REPLACE(C1+C2+C3+C4+C5,''*****************'',''00000000000000000'')+''|''+C6+''|''+C7+''|''+C8+''|''+C9 # # #
C3+C4+C5+C6+C8+''|''+C7+''|''+C6+''|''+C8+''|''+C9+''|''+C10',NULL,'269       ','REPORTS_ATR_VIDDEYAT',NULL,NULL,'RN_PRINT_169_2016|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Доходы', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'КБК',@iLINK_TABLE,0,1,0,0,17,1,'R_SPR_DOH_14_2011','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169KD_2011','COL3','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года- всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб.-на конец периода прошл. года- из них:долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Доходы', @iLINK_FORM,1, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),17,''0'')+PADR(RTRIM(COL3),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000000'',17)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,17)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)

','2#SUBSTRING(CODE,21,4)=''8888''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Расходы', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'РЗПР',@iLINK_TABLE,0,1,0,0,4,1,'R_SPR_RZPR_2011','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'ЦСР',@iLINK_TABLE,0,1,0,0,10,1,'R_SPR_CSR_2011','COL3','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'ВР',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_VR_2011','COL4','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169KD_2011','COL5','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 18,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 19,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Расходы', @iLINK_FORM,2, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),4,''0'')+PADR(RTRIM(COL3),10,''0'')+PADR(RTRIM(COL4),3,''0'')+PADR(RTRIM(COL5),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000'',4)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',10)+LEFT(RTRIM(isnull(COL4,''''))+''00000000000000'',3)+LEFT(RTRIM(isnull(COL5,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,4)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',8,10)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',18,3)#COL5=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)
',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Источник', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'КБК',@iLINK_TABLE,0,1,0,0,17,1,'R_SPR_IST_14_2011','COL2','CODE_IST',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169KD_2011','COL3','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Источник', @iLINK_FORM,3, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),14,''0'')+PADR(RTRIM(COL3),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000000'',17)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,17)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)


',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '2. Сведения о просроченной задолженности', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169KD_2011','COL1','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма, руб.',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Дата - возникновения',@iLINK_TABLE,1,1,3,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Дата - Исполнения по правовому основанию',@iLINK_TABLE,1,1,4,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Дебитор (кредитор) - ИНН',@iLINK_TABLE,1,1,5,0,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Дебитор (кредитор) - наименование',@iLINK_TABLE,1,1,6,0,2000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Причины образования - код',@iLINK_TABLE,1,1,7,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Причины образования - пояснение',@iLINK_TABLE,1,1,8,0,8000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '2. Сведения о просроченной задолженности', @iLINK_FORM,4, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),9,''0'')+PADR(right(nvl(RTRIM(COL3),''''),4),4,''0'')+PADR(RTRIM(COL4),10,'' '')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',9)+LEFT(RIGHT(RTRIM(isnull(COL3,'''')),4)+''0000'',4)+LEFT(RTRIM(isnull(COL4,''''))+''          '',10)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000000000'',9)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',10,4)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''                      '',14,10)     


',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '3. Аналитическая информация', @iLINK_FORM,5
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование  показателя',@iLINK_TABLE,0,1,1,0,254,1,NULL,'FCOL1','FCOL1',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма - всего',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма-в том числе: по доходам',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма-в том числе: по по расходам',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '3. Аналитическая информация', @iLINK_FORM,5, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,5,1,1)
INSERT #R VALUES (2,5,2,1)
INSERT #R VALUES (3,5,3,1)
INSERT #R VALUES (4,5,4,1)
INSERT #R VALUES (5,5,5,1)
INSERT #R VALUES (6,5,6,1)
INSERT #R VALUES (7,5,7,1)
INSERT #R VALUES (8,5,8,1)
INSERT #R VALUES (9,5,9,1)
INSERT #R VALUES (10,5,10,1)
INSERT #R VALUES (11,5,11,1)
INSERT #R VALUES (12,5,12,1)
INSERT #R VALUES (13,5,13,1)
INSERT #R VALUES (14,5,14,1)
INSERT #R VALUES (15,5,15,1)
INSERT #R VALUES (16,5,16,1)
INSERT #R VALUES (17,5,17,1)
INSERT #R VALUES (18,5,18,1)
INSERT #R VALUES (19,5,19,1)
INSERT #R VALUES (20,5,20,1)
INSERT #R VALUES (21,5,21,1)
INSERT #R VALUES (22,5,22,1)
INSERT #R VALUES (23,5,23,1)
INSERT #R VALUES (24,5,24,1)
INSERT #R VALUES (25,5,25,1)
INSERT #R VALUES (26,5,26,1)
INSERT #R VALUES (27,5,27,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 27
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (5,1,1,'Остаток просроченной задолженности на начало года  (стр. 011 + 012 + 013)')
INSERT #F VALUES (5,2,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,3,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,4,1,'    присуждено судом')
INSERT #F VALUES (5,5,1,'    из них:
        находится на принудительном взыскании')
INSERT #F VALUES (5,6,1,'    находится в следственных органах')
INSERT #F VALUES (5,7,1,'    иная задолженность')
INSERT #F VALUES (5,8,1,'Отнесена к просроченной задолженности с начала года, всего (стр. 021 + 022 + 023)')
INSERT #F VALUES (5,9,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,10,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,11,1,'    присуждено судом')
INSERT #F VALUES (5,12,1,'    из них:      
       направлено на принудительное взыскание')
INSERT #F VALUES (5,13,1,'   находится в следственных органах')
INSERT #F VALUES (5,14,1,'   иная задолженность')
INSERT #F VALUES (5,15,1,'Исполнено с начала года, всего')
INSERT #F VALUES (5,16,1,'    из них:
    через принудительное взыскание')
INSERT #F VALUES (5,17,1,'Уточнено,с начала года, всего')
INSERT #F VALUES (5,18,1,'    из них:     
    переоценено')
INSERT #F VALUES (5,19,1,'Списано на финансовый результат')
INSERT #F VALUES (5,20,1,'    из них по невозобновляемым взысканиям')
INSERT #F VALUES (5,21,1,'Остаток просроченной задолженности на конец отчетного периода (стр. 010 + 020 - 030 - 040); (стр. 051 + 052 + 053)')
INSERT #F VALUES (5,22,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,23,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,24,1,'    присуждено судом')
INSERT #F VALUES (5,25,1,'    из них:    
        находится на принудительном взыскании')
INSERT #F VALUES (5,26,1,'    находится в следственных органах')
INSERT #F VALUES (5,27,1,'    иная задолженность')
INSERT #F VALUES (5,1,2,'010                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,2,2,'011                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,3,2,'012                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,4,2,'013                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,5,2,'014                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,6,2,'015                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,7,2,'016                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,8,2,'020                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,9,2,'021                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,10,2,'022                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,11,2,'023                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,12,2,'024                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,13,2,'025                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,14,2,'026                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,15,2,'030                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,16,2,'031                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,17,2,'040                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,18,2,'041                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,19,2,'050                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,20,2,'051                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,21,2,'060                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,22,2,'061                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,23,2,'062                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,24,2,'063                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,25,2,'064                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,26,2,'065                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,27,2,'066                                                                                                                                                                                                                                                           ')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 54
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1гр.2Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.2Фильтр:Неитоговые строки +  т.2гр.2Фильтр:Неитоговые строки +  т.3гр.2Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.1гр.2Фильтр:Всего задолженности =  т.1гр.2Фильтр:Неитоговые строки +  т.2гр.2Фильтр:Неитоговые строки +  т.3гр.2Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.1гр.4Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.4Фильтр:Неитоговые строки +  т.2гр.4Фильтр:Неитоговые строки +  т.3гр.4Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(4,NULL,0,NULL,4,7,0,0,0,'т.1гр.9Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.9Фильтр:Неитоговые строки +  т.2гр.9Фильтр:Неитоговые строки +  т.3гр.9Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(5,NULL,0,NULL,5,7,0,0,0,'т.1гр.11Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.11Фильтр:Неитоговые строки +  т.2гр.11Фильтр:Неитоговые строки +  т.3гр.11Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(6,NULL,0,NULL,6,7,0,0,0,'т.1гр.4Фильтр:Всего задолженности =  т.1гр.4Фильтр:Неитоговые строки +  т.2гр.4Фильтр:Неитоговые строки +  т.3гр.4Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(7,NULL,0,NULL,7,7,0,0,0,'т.1гр.9Фильтр:Всего задолженности =  т.1гр.9Фильтр:Неитоговые строки +  т.2гр.9Фильтр:Неитоговые строки +  т.3гр.9Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(8,NULL,0,NULL,8,7,0,0,0,'т.1гр.11 +  т.2гр.11 +  т.3гр.11 >=  т.4гр.2 Комментарий: сумма просроченной задолженности из раздела 1 должна быть больше или равна сумме просроченной задолженности из раздела 2',0,0,1,'20160325','','','','0503169M_БК','20160101','','>=',0,'','сумма просроченной задолженности из раздела 1 должна быть больше или равна сумме просроченной задолженности из раздела 2')
INSERT #A VALUES(9,NULL,0,NULL,9,7,0,0,0,'т.1 =  0 Комментарий: Данный счет  в форме не допустим',0,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','Данный счет  в форме не допустим')
INSERT #A VALUES(10,NULL,0,NULL,10,7,0,0,0,'т.2 =  0 Комментарий: Данный счет  в форме не допустим',0,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','Данный счет  в форме не допустим')
INSERT #A VALUES(11,NULL,0,NULL,11,7,0,0,0,'т.3 =  0 Комментарий: Данный счет  в форме не допустим',0,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','Данный счет  в форме не допустим')
INSERT #A VALUES(12,NULL,0,NULL,12,7,0,0,0,'т.1Фильтр:Подитог =  т.1Фильтр:КБК заполнен',1,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(13,NULL,0,NULL,13,7,0,0,0,'т.2Фильтр:Подитог =  т.2Фильтр:КБК заполнен',1,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(14,NULL,0,NULL,14,7,0,0,0,'т.3Фильтр:Подитог =  т.3Фильтр:КБК заполнен',1,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(15,NULL,0,NULL,15,7,0,0,0,'т.1гр.11Фильтр:Всего задолженности =  т.1гр.11Фильтр:Неитоговые строки +  т.2гр.11Фильтр:Неитоговые строки +  т.3гр.11Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 15
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','4','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','15','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','6','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(7,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','11','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','13','','1',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(8,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','15','','2',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(8,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','13','','3',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(8,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','1=1','','SUBSTRING(CODE,1,9)','','','2','','4',NULL,NULL,'',1,NULL,1,'#@@substring(CODE,1,9) + " " + substring(CODE,10,4)  + " " + substring(CODE,14,10)',0)
INSERT #B VALUES(9,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0'' and SUBSTRING(CODE,21,6)<>''130310''','','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0'' and SUBSTRING(CODE,21,6)<>''130310''','','','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0'' and SUBSTRING(CODE,21,6)<>''130310''','','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитог','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнен','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитог','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнен','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитог','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнен','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','15','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','3',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 48
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-29 10:39:23.847',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-29 10:39:23.847'
	BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БК с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БК с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-29 10:39:23.847. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 30 2016 12:11:42:473PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503178M_Б (Сведения об остатках денежных средств на счетах получателя бюджетных средства (бюджетная))
-- Дата ввода : 20150101
-- Дата окончания действия :
-- Версия : 2016-03-30 12:11:42.470
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503178M_Б' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-30 12:11:42.470',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503178M_Б',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503178M_Б'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20150101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Сведения об остатках денежных средств на счетах получателя бюджетных средства (бюджетная)',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_STANDART',0,0,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, '','sv_0503178g_20081231.bas','','KirRepMakerMultiSheet.xls','sv_0503178g_b_20130101.xlt','',NULL,'RA_EXPORT_FORM_STANDART',0,'LEFT(COL2,1)+''|''+SUBSTRING(COL2,2,5)+''|''+SUBSTRING(COL2,7,3)+''|''+STR(COL3)+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''#LEFT(COL2,1)+''|''+SUBSTRING(COL2,2,5)+''|''+SUBSTRING(COL2,7,3)+''|''+STR(COL3)+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''#LEFT(COL2,1)+''|''+SUBSTRING(COL2,2,5)+''|''+SUBSTRING(COL2,7,3)+''|''+STR(COL3)+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''','C1+C2+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7#C1+C2+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7#C1+C2+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7',NULL,'278b      ','',NULL,NULL,'RO_PRINT_178|sv_0503178g_b_20081231_new.xlt',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Счета в кредитных организациях', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер банковского (лицевого) счета',@iLINK_TABLE,0,1,0,0,29,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код счета бюджетного учета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_ACC_173_B_1','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'На начало года. остаток средств на счете',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'На начало года. средства в пути',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'На конец года. остаток средств на счете',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'На конец года. средства в пути',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Составной ключ',@iLINK_TABLE,1,1,2,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Счета в кредитных организациях', @iLINK_FORM,1, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL2),9,''0'')+LEFT(COL1,29)
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000000000'',9)+LEFT(RTRIM(isnull(COL1,'''')),29)
SPLIT=COL1=SUBSTRING(CODE_ROW,10,29)#COL2=SUBSTRING(CODE_ROW,1,9)','1#CODE=''88888888888888888888888888888888888''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Счета в финансовом органе', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер банковского (лицевого) счета',@iLINK_TABLE,0,1,0,0,29,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код счета бюджетного учета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_ACC_173_B_2','COL2','CODE',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'На начало года. остаток средств на счете',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'На начало года. средства в пути',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'На конец года. остаток средств на счете',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'На конец года. средства в пути',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Составной ключ',@iLINK_TABLE,1,1,2,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Счета в финансовом органе', @iLINK_FORM,2, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL2),9,''0'')+LEFT(COL1,29)
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000000000'',9)+LEFT(RTRIM(isnull(COL1,'''')),29)
SPLIT=COL1=SUBSTRING(CODE_ROW,10,29)#COL2=SUBSTRING(CODE_ROW,1,9)','1#CODE=''88888888888888888888888888888888888''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Всего', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер банковского (лицевого) счета',@iLINK_TABLE,0,1,0,0,29,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код счета бюджетного учета',@iLINK_TABLE,0,1,0,0,9,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'На начало года. остаток средств на счете',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'На начало года. средства в пути',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'На конец года. остаток средств на счете',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'На конец года. средства в пути',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Скрытый ключ',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Всего', @iLINK_FORM,3, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,3,1,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 1
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (3,1,2,'Итого                                                                                                                                                                                                                                                     ')
INSERT #F VALUES (3,1,7,'88888888888888888888888888888888888')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 2
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1стр.88888888888888888888888888888888888 =  т.1Фильтр:Все коды',1,0,1,'20130425','','','','0503178M_Б','20150101','','=',0,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.2стр.88888888888888888888888888888888888 =  т.2Фильтр:Все коды',1,0,1,'20130425','','','','0503178M_Б','20150101','','=',0,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.3стр.88888888888888888888888888888888888 =  т.1стр.88888888888888888888888888888888888 +  т.2стр.88888888888888888888888888888888888',1,2,1,'20130425','','','','0503178M_Б','20150101','','=',2,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 3
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','88888888888888888888888888888888888','','','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','LEFT(CODE,3)<>''888''','Все коды','','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','88888888888888888888888888888888888','','','','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','LEFT(CODE,3)<>''888''','Все коды','','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','88888888888888888888888888888888888','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','88888888888888888888888888888888888','','','','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','88888888888888888888888888888888888','','','','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 7
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-30 12:11:42.470',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-30 12:11:42.470'
	BEGIN
		SELECT @vcMessage = 'Форма 0503178M_Б с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503178M_Б с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-30 12:11:42.470. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 30 2016 12:11:43:090PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503178M_СВ (Сведения об остатках денежных средств на счетах получателя бюджетных средства (средства во временном распоряжении))
-- Дата ввода : 20150101
-- Дата окончания действия :
-- Версия : 2016-03-30 12:11:43.090
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503178M_СВ' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-30 12:11:43.090',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503178M_СВ',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503178M_СВ'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20150101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Сведения об остатках денежных средств на счетах получателя бюджетных средства (средства во временном распоряжении)',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_STANDART',0,0,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, '','sv_0503178g_20081231.bas','','KirRepMakerMultiSheet.xls','sv_0503178g_t_20130101.xlt','',NULL,'RA_EXPORT_FORM_STANDART',0,'LEFT(COL2,1)+''|''+SUBSTRING(COL2,2,5)+''|''+SUBSTRING(COL2,7,3)+''|''+STR(COL3)+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''#LEFT(COL2,1)+''|''+SUBSTRING(COL2,2,5)+''|''+SUBSTRING(COL2,7,3)+''|''+STR(COL3)+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''#LEFT(COL2,1)+''|''+SUBSTRING(COL2,2,5)+''|''+SUBSTRING(COL2,7,3)+''|''+STR(COL3)+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''','C1+C2+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7#C1+C2+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7#C1+C2+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7',NULL,'278t      ','',NULL,NULL,'RO_PRINT_178|sv_0503178g_t_20081231_new.xlt',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Счета в кредитных организациях', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер банковского (лицевого) счета',@iLINK_TABLE,0,1,0,0,29,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код счета бюджетного учета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_ACC_173_SVB_1','COL2','CODE','NNNNNNNNN',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'На начало года. остаток средств на счете',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'На начало года. средства в пути',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'На конец года. остаток средств на счете',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'На конец года. средства в пути',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Составной ключ',@iLINK_TABLE,1,1,2,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Счета в кредитных организациях', @iLINK_FORM,1, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL2),9,''0'')+LEFT(COL1,29)
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000000000'',9)+LEFT(RTRIM(isnull(COL1,'''')),29)
SPLIT=COL1=SUBSTRING(CODE_ROW,10,29)#COL2=SUBSTRING(CODE_ROW,1,9)','1#CODE=''88888888888888888888888888888888888''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Счета в финансовом органе', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер банковского (лицевого) счета',@iLINK_TABLE,0,1,0,0,29,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код счета бюджетного учета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_ACC_173_SVB_2','COL2','CODE','NNNNNNNNN',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'На начало года. остаток средств на счете',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'На начало года. средства в пути',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'На конец года. остаток средств на счете',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'На конец года. средства в пути',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Составной ключ',@iLINK_TABLE,1,1,2,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Счета в финансовом органе', @iLINK_FORM,2, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL2),9,''0'')+LEFT(COL1,29)
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000000000'',9)+LEFT(RTRIM(isnull(COL1,'''')),29)
SPLIT=COL1=SUBSTRING(CODE_ROW,10,29)#COL2=SUBSTRING(CODE_ROW,1,9)','1#CODE=''88888888888888888888888888888888888''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Всего', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер банковского (лицевого) счета',@iLINK_TABLE,0,1,0,0,29,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код счета бюджетного учета',@iLINK_TABLE,0,1,0,0,9,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'На начало года. остаток средств на счете',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'На начало года. средства в пути',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'На конец года. остаток средств на счете',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'На конец года. средства в пути',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Скрытый столбец',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Всего', @iLINK_FORM,3, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,3,1,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 1
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (3,1,2,'Итого                                                                                                                                                                                                                                                     ')
INSERT #F VALUES (3,1,7,'88888888888888888888888888888888888')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 2
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1стр.88888888888888888888888888888888888 =  т.1Фильтр:Все коды',1,0,1,'20160328','','','','0503178M_СВ','20150101','','=',0,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.2стр.88888888888888888888888888888888888 =  т.2Фильтр:Все коды',1,0,1,'20130425','','','','0503178M_СВ','20150101','','=',0,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.3стр.88888888888888888888888888888888888 =  т.1стр.88888888888888888888888888888888888 +  т.2стр.88888888888888888888888888888888888',1,2,1,'20130425','','','','0503178M_СВ','20150101','','=',2,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 3
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','88888888888888888888888888888888888','','','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','LEFT(CODE,3)<>''888''','Все коды','','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','88888888888888888888888888888888888','','','','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','LEFT(CODE,3)<>''888''','Все коды','','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','88888888888888888888888888888888888','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','88888888888888888888888888888888888','','','','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','88888888888888888888888888888888888','','','','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 7
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-30 12:11:43.090',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-30 12:11:43.090'
	BEGIN
		SELECT @vcMessage = 'Форма 0503178M_СВ с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503178M_СВ с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-30 12:11:43.090. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 21 2016  4:55:39:277PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503723M (Отчет о движении денежных средств)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-03-21 16:55:39.277
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503723M' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-21 16:55:39.277',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503723M',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503723M'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Отчет о движении денежных средств',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_STANDART',0,0,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, '','sv_0503723M_20160101.bas','','KirRepMakerMultiSheet.xls','sv_0503723M_20160101.xlt','',NULL,'RA_EXPORT_FORM_STANDART',0,NULL,NULL,NULL,'223       ','',NULL,NULL,'|',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 1', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование',@iLINK_TABLE,0,1,0,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код по КОСГУ',@iLINK_TABLE,1,1,3,0,3,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'За отчетный период',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'За аналогичный период прошлого года',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 1', @iLINK_FORM,1, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 2', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование',@iLINK_TABLE,0,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,1,'R_SPR_0503723_CODE_STR_2','COL2','CODE',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код по КОСГУ',@iLINK_TABLE,1,1,3,0,3,1,'R_SPR_ST_2011','COL3,COL1','CODE,NAME',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Код вида расходов',@iLINK_TABLE,1,1,4,0,4,1,'R_SPR_VR_EKR_0503123','COL4','CODE',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Код аналитики 1',@iLINK_TABLE,1,1,5,0,3,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Код аналитики 2',@iLINK_TABLE,1,1,6,0,3,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма',@iLINK_TABLE,1,0,7,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 2', @iLINK_FORM,2, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,1,16,1)
INSERT #R VALUES (2,1,2,1)
INSERT #R VALUES (3,1,4,1)
INSERT #R VALUES (4,1,3,1)
INSERT #R VALUES (5,1,15,1)
INSERT #R VALUES (6,1,5,1)
INSERT #R VALUES (7,1,12,1)
INSERT #R VALUES (8,1,77,1)
INSERT #R VALUES (9,1,10,1)
INSERT #R VALUES (10,1,7,1)
INSERT #R VALUES (11,1,9,1)
INSERT #R VALUES (12,1,10,1)
INSERT #R VALUES (13,1,13,1)
INSERT #R VALUES (14,1,8,1)
INSERT #R VALUES (15,1,75,1)
INSERT #R VALUES (16,1,103,1)
INSERT #R VALUES (17,1,104,1)
INSERT #R VALUES (18,1,14,1)
INSERT #R VALUES (19,1,15,1)
INSERT #R VALUES (20,1,16,1)
INSERT #R VALUES (33,1,27,1)
INSERT #R VALUES (21,1,47,1)
INSERT #R VALUES (22,1,21,1)
INSERT #R VALUES (23,1,19,1)
INSERT #R VALUES (24,1,20,1)
INSERT #R VALUES (25,1,20,1)
INSERT #R VALUES (26,1,28,1)
INSERT #R VALUES (27,1,22,1)
INSERT #R VALUES (28,1,23,1)
INSERT #R VALUES (29,1,24,1)
INSERT #R VALUES (30,1,105,1)
INSERT #R VALUES (31,1,25,1)
INSERT #R VALUES (32,1,26,1)
INSERT #R VALUES (34,1,31,1)
INSERT #R VALUES (35,1,29,1)
INSERT #R VALUES (36,1,29,1)
INSERT #R VALUES (37,1,30,1)
INSERT #R VALUES (38,1,34,1)
INSERT #R VALUES (39,1,32,1)
INSERT #R VALUES (40,1,107,1)
INSERT #R VALUES (41,1,33,1)
INSERT #R VALUES (42,1,38,1)
INSERT #R VALUES (43,1,35,1)
INSERT #R VALUES (44,1,36,1)
INSERT #R VALUES (45,1,37,1)
INSERT #R VALUES (46,1,42,1)
INSERT #R VALUES (47,1,39,1)
INSERT #R VALUES (48,1,108,1)
INSERT #R VALUES (49,1,40,1)
INSERT #R VALUES (50,1,41,1)
INSERT #R VALUES (51,1,46,1)
INSERT #R VALUES (52,1,43,1)
INSERT #R VALUES (53,1,44,1)
INSERT #R VALUES (54,1,45,1)
INSERT #R VALUES (55,1,110,1)
INSERT #R VALUES (56,1,46,1)
INSERT #R VALUES (57,1,51,1)
INSERT #R VALUES (58,1,50,1)
INSERT #R VALUES (59,1,50,1)
INSERT #R VALUES (60,1,62,1)
INSERT #R VALUES (82,1,65,1)
INSERT #R VALUES (83,1,81,1)
INSERT #R VALUES (84,1,67,1)
INSERT #R VALUES (61,1,50,1)
INSERT #R VALUES (62,1,51,1)
INSERT #R VALUES (63,1,60,1)
INSERT #R VALUES (64,1,79,1)
INSERT #R VALUES (65,1,78,1)
INSERT #R VALUES (66,1,111,1)
INSERT #R VALUES (67,1,112,1)
INSERT #R VALUES (68,1,113,1)
INSERT #R VALUES (69,1,53,1)
INSERT #R VALUES (70,1,54,1)
INSERT #R VALUES (71,1,60,1)
INSERT #R VALUES (72,1,56,1)
INSERT #R VALUES (73,1,57,1)
INSERT #R VALUES (74,1,61,1)
INSERT #R VALUES (75,1,59,1)
INSERT #R VALUES (76,1,60,1)
INSERT #R VALUES (77,1,101,1)
INSERT #R VALUES (78,1,91,1)
INSERT #R VALUES (79,1,81,1)
INSERT #R VALUES (80,1,64,1)
INSERT #R VALUES (81,1,60,1)
INSERT #R VALUES (85,1,68,1)
INSERT #R VALUES (86,1,81,1)
INSERT #R VALUES (87,1,70,1)
INSERT #R VALUES (88,1,79,1)
INSERT #R VALUES (89,1,80,1)
INSERT #R VALUES (90,1,81,1)
INSERT #R VALUES (91,1,82,1)
INSERT #R VALUES (92,1,83,1)
INSERT #R VALUES (93,1,84,1)
INSERT #R VALUES (94,1,85,1)
INSERT #R VALUES (95,1,86,1)
INSERT #R VALUES (96,1,87,1)
INSERT #R VALUES (97,1,88,1)
INSERT #R VALUES (98,1,89,1)
INSERT #R VALUES (99,1,90,1)
INSERT #R VALUES (100,1,91,1)
INSERT #R VALUES (101,1,92,1)
INSERT #R VALUES (102,1,93,1)
INSERT #R VALUES (103,1,94,1)
INSERT #R VALUES (104,1,95,1)
INSERT #R VALUES (105,1,96,1)
INSERT #R VALUES (106,1,97,1)
INSERT #R VALUES (107,1,98,1)
INSERT #R VALUES (108,1,99,1)
INSERT #R VALUES (109,1,100,1)
INSERT #R VALUES (110,1,101,1)
INSERT #R VALUES (111,1,102,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 111
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (1,1,1,'ПОСТУПЛЕНИЯ                                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,2,1,'Поступления по текущим операциям — всего                                                                                                                                                                                                                      ')
INSERT #F VALUES (1,3,1,'по доходам от собственности')
INSERT #F VALUES (1,4,1,'    из них: проценты полученные                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,5,1,'    дивиденды                                                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,6,1,'по доходам от оказания платных услуг (работ)                                                                                                                                                                                                              ')
INSERT #F VALUES (1,7,1,'    из них: субсидии на выполнение государственного (муниципального) задания                                                                                                                                                                                  ')
INSERT #F VALUES (1,8,1,'    от компенсации затрат учреждения                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,9,1,'по суммам принудительного изъятия                                                                                                                                                                                                                         ')
INSERT #F VALUES (1,10,1,'по безвозмездным поступлениям                                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,11,1,'от наднациональных организаций и правительств иностранных государств                                                                                                                                                                                      ')
INSERT #F VALUES (1,12,1,'от международных финансовых организаций                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,13,1,'по прочим доходам')
INSERT #F VALUES (1,14,1,'     из них: субсидии                                                                                                                                                                                                                                         ')
INSERT #F VALUES (1,15,1,'     гранты                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,16,1,'     пожертвования                                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,17,1,'    прочие безвозмездные поступления                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,18,1,'Поступления от инвестиционных  операций - всего                                                                                                                                                                                                           ')
INSERT #F VALUES (1,19,1,'от реализации нефинансовых активов:')
INSERT #F VALUES (1,20,1,'основных средств                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,21,1,'нематериальных активов                                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,22,1,'непроизведенных активов                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,23,1,'материальных запасов')
INSERT #F VALUES (1,24,1,'Поступления от финансовых операций - всего                                                                                                                                                                                                                ')
INSERT #F VALUES (1,25,1,'с финансовыми активами:                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,26,1,'от реализации ценных бумаг, кроме акций                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,27,1,'от реализации акций и иных форм участия в капитале                                                                                                                                                                                                            ')
INSERT #F VALUES (1,28,1,'от возврата ссуд и кредитов                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,29,1,'с иными финансовыми активами                                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,31,1,'от осуществления заимствований')
INSERT #F VALUES (1,32,1,'по привлечению заимствований в рублях                                                                                                                                                                                                                         ')
INSERT #F VALUES (1,34,1,'ВЫБЫТИЯ                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,35,1,'Выбытия по текущим операциям - всего')
INSERT #F VALUES (1,36,1,'за счет оплаты труда и начислений на выплаты по оплате труда                                                                                                                                                                                                  ')
INSERT #F VALUES (1,37,1,'из них за счет заработной платы                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,38,1,'за счет прочих выплат')
INSERT #F VALUES (1,39,1,'за счет начислений на оплату труда')
INSERT #F VALUES (1,41,1,'за счет приобретения работ, услуг                                                                                                                                                                                                                             ')
INSERT #F VALUES (1,42,1,'из них услуг связи                                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,43,1,'транспортных услуг')
INSERT #F VALUES (1,44,1,'коммунальных услуг')
INSERT #F VALUES (1,45,1,'арендной платы за пользование имуществом')
INSERT #F VALUES (1,46,1,'работ, услуг по содержанию имущества                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,47,1,'прочих работ, услуг                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,49,1,'за счет обслуживания долговых обязательств')
INSERT #F VALUES (1,50,1,'привлеченных заимствований в рублях                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,52,1,'за счет безвозмездных перечислений организациям                                                                                                                                                                                                               ')
INSERT #F VALUES (1,53,1,'за счет перечислений государственным и муниципальным организациям                                                                                                                                                                                             ')
INSERT #F VALUES (1,54,1,'за счет перечислений организациям, за исключением государственных и муниципальных организаций')
INSERT #F VALUES (1,56,1,'за счет безвозмездных перечислений бюджетам и международным организациям                                                                                                                                                                                      ')
INSERT #F VALUES (1,57,1,'     из них: за счет уплаты налогов и сборов                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,58,1,'за счет перечислений наднациональным организациям и правительствам иностранных государств')
INSERT #F VALUES (1,59,1,'за счет перечислений международным организациям')
INSERT #F VALUES (1,60,1,'за счет социального обеспечения')
INSERT #F VALUES (1,82,1,'на погашение государственного (муниципального) долга                                                                                                                                                                                                      ')
INSERT #F VALUES (1,83,1,'из них на погашение заимствований в рублях                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,61,1,'за счет пособий по социальной помощи населению')
INSERT #F VALUES (1,62,1,'за счет пенсий, пособий, выплачиваемых организациями сектора государственного управления')
INSERT #F VALUES (1,63,1,'за счет операций с активами, из них:                                                                                                                                                                                                                      ')
INSERT #F VALUES (1,64,1,'за счет чрезвычайных расходов по операциям с активами                                                                                                                                                                                                         ')
INSERT #F VALUES (1,65,1,'за счет прочих расходов                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,69,1,'Выбытия по инвестиционным операциям - всего                                                                                                                                                                                                               ')
INSERT #F VALUES (1,70,1,'на приобретение нефинансовых активов:')
INSERT #F VALUES (1,71,1,'из них основных средств                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,72,1,'нематериальных активов')
INSERT #F VALUES (1,73,1,'непроизведенных активов')
INSERT #F VALUES (1,74,1,'материальных запасов')
INSERT #F VALUES (1,75,1,'Выбытия по финансовым операциям - всего                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,76,1,'в т.ч. с финансовыми активами:                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,77,1,'по приобретению ценных бумаг, кроме акций и иных форм участия в капитале                                                                                                                                                                                      ')
INSERT #F VALUES (1,78,1,'по приобретению акций и иных форм участия в капитале                                                                                                                                                                                                      ')
INSERT #F VALUES (1,79,1,'по предоставлению заимствований                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,80,1,'с иными финансовыми активами                                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,85,1,'Иные выбытия — всего                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,89,1,'ИЗМЕНЕНИЕ ОСТАТКОВ СРЕДСТВ                                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,90,1,'По операциям с денежными средствами, не относящимся к поступлениям и выбытиям                                                                                                                                                                                 ')
INSERT #F VALUES (1,91,1,'   в том числе:
   по возврату дебиторской задолженности прошлых лет                                                                                                                                                                                         ')
INSERT #F VALUES (1,92,1,'        в том числе:
        по возврату дебиторской задолженности   прошлых лет                                                                                                                                                                             ')
INSERT #F VALUES (1,93,1,'        по возврату остатков субсидий прошлых лет                                                                                                                                                                                                             ')
INSERT #F VALUES (1,94,1,'   по операциям с денежными обеспечениями                                                                                                                                                                                                                     ')
INSERT #F VALUES (1,95,1,'       в том числе:
       возврат средств, перечисленных в виде денежных обеспечений                                                                                                                                                                        ')
INSERT #F VALUES (1,96,1,'       перечисление денежных обеспечений                                                                                                                                                                                                                      ')
INSERT #F VALUES (1,97,1,'   со средствами во временном распоряжении                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,98,1,'        в том числе:
        поступление денежных средств во временное  распоряжение                                                                                                                                                                         ')
INSERT #F VALUES (1,99,1,'       выбытие денежных средств во временном распоряжении                                                                                                                                                                                                     ')
INSERT #F VALUES (1,100,1,'   по расчетам с филиалами и обособленными структурными подразделениями                                                                                                                                                                                       ')
INSERT #F VALUES (1,101,1,'        в том числе: 
        увеличение расчетов                                                                                                                                                                                                            ')
INSERT #F VALUES (1,102,1,'        уменьшение расчетов                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,103,1,'Изменение остатков средств при управлении остатками — всего                                                                                                                                                                                                   ')
INSERT #F VALUES (1,104,1,'    в том числе: 
    поступление денежных средств на депозитные счета                                                                                                                                                                                       ')
INSERT #F VALUES (1,105,1,'   выбытие денежных средств с депозитных счетов                                                                                                                                                                                                               ')
INSERT #F VALUES (1,106,1,'   поступление денежных средств при управлении остатками                                                                                                                                                                                                      ')
INSERT #F VALUES (1,107,1,'   выбытие денежных средств при управлении остатками                                                                                                                                                                                                          ')
INSERT #F VALUES (1,108,1,'Изменение остатков средств — всего                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,109,1,'    в том числе: 
    за счет увеличения денежных средств                                                                                                                                                                                                    ')
INSERT #F VALUES (1,110,1,'    за счет уменьшения денежных средств                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,111,1,'    за счет курсовой разницы                                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,1,2,'010')
INSERT #F VALUES (1,2,2,'020                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,3,2,'040')
INSERT #F VALUES (1,4,2,'041                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,5,2,'042                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,6,2,'050                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,7,2,'051                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,8,2,'052                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,9,2,'060')
INSERT #F VALUES (1,10,2,'070                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,11,2,'072')
INSERT #F VALUES (1,12,2,'073')
INSERT #F VALUES (1,13,2,'120')
INSERT #F VALUES (1,14,2,'121                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,15,2,'122                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,16,2,'123                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,17,2,'124                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,18,2,'130')
INSERT #F VALUES (1,19,2,'140')
INSERT #F VALUES (1,20,2,'141')
INSERT #F VALUES (1,33,2,'182                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,21,2,'142')
INSERT #F VALUES (1,22,2,'143')
INSERT #F VALUES (1,23,2,'144')
INSERT #F VALUES (1,24,2,'150')
INSERT #F VALUES (1,25,2,'160                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,26,2,'161                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,27,2,'162                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,28,2,'163                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,29,2,'164                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,30,2,'165                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,31,2,'180')
INSERT #F VALUES (1,32,2,'181                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,34,2,'210')
INSERT #F VALUES (1,35,2,'220')
INSERT #F VALUES (1,36,2,'230                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,37,2,'231                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,38,2,'232')
INSERT #F VALUES (1,39,2,'233')
INSERT #F VALUES (1,40,2,'234                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,41,2,'240                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,42,2,'241                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,43,2,'242')
INSERT #F VALUES (1,44,2,'243')
INSERT #F VALUES (1,45,2,'244')
INSERT #F VALUES (1,46,2,'245                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,47,2,'246                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,48,2,'247                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,49,2,'250')
INSERT #F VALUES (1,50,2,'251                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,51,2,'253                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,52,2,'260                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,53,2,'261                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,54,2,'262')
INSERT #F VALUES (1,55,2,'263                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,56,2,'270                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,57,2,'301                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,58,2,'272')
INSERT #F VALUES (1,59,2,'273')
INSERT #F VALUES (1,60,2,'280')
INSERT #F VALUES (1,82,2,'350')
INSERT #F VALUES (1,83,2,'351                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,84,2,'352                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,61,2,'282')
INSERT #F VALUES (1,62,2,'283')
INSERT #F VALUES (1,63,2,'290                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,64,2,'291                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,65,2,'300                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,66,2,'302                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,67,2,'303                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,68,2,'304                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,69,2,'310')
INSERT #F VALUES (1,70,2,'320')
INSERT #F VALUES (1,71,2,'321                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,72,2,'322')
INSERT #F VALUES (1,73,2,'323')
INSERT #F VALUES (1,74,2,'324')
INSERT #F VALUES (1,75,2,'330')
INSERT #F VALUES (1,76,2,'340')
INSERT #F VALUES (1,77,2,'341                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,78,2,'342')
INSERT #F VALUES (1,79,2,'343                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,80,2,'344                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,81,2,'345                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,85,2,'360                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,86,2,'361                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,87,2,'362                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,88,2,'363                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,89,2,'400                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,90,2,'410                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,91,2,'420                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,92,2,'421                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,93,2,'422                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,94,2,'430                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,95,2,'431                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,96,2,'432                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,97,2,'440                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,98,2,'441                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,99,2,'442                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,100,2,'450                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,101,2,'451                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,102,2,'452                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,103,2,'460                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,104,2,'461                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,105,2,'462                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,106,2,'463                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,107,2,'464                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,108,2,'500                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,109,2,'501                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,110,2,'502                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,111,2,'503                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,1,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,2,3,'100                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,3,3,'120')
INSERT #F VALUES (1,4,3,'120                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,5,3,'120                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,6,3,'130                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,7,3,'130                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,8,3,'130                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,9,3,'140                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,10,3,'150                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,11,3,'152                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,12,3,'153                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,13,3,'180')
INSERT #F VALUES (1,14,3,'180                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,15,3,'180                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,16,3,'180                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,17,3,'180                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,18,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,19,3,'400')
INSERT #F VALUES (1,20,3,'410                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,21,3,'420                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,22,3,'430                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,23,3,'440')
INSERT #F VALUES (1,24,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,25,3,'600                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,26,3,'620                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,27,3,'630                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,28,3,'640                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,29,3,'650                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,31,3,'700')
INSERT #F VALUES (1,32,3,'710                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,34,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,35,3,'200')
INSERT #F VALUES (1,36,3,'210                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,37,3,'211                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,38,3,'212')
INSERT #F VALUES (1,39,3,'213')
INSERT #F VALUES (1,41,3,'220                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,42,3,'221                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,43,3,'222')
INSERT #F VALUES (1,44,3,'223')
INSERT #F VALUES (1,45,3,'224')
INSERT #F VALUES (1,46,3,'225                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,47,3,'226                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,49,3,'230')
INSERT #F VALUES (1,50,3,'231                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,52,3,'240                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,53,3,'241                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,54,3,'242')
INSERT #F VALUES (1,56,3,'250                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,57,3,'290                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,58,3,'252')
INSERT #F VALUES (1,59,3,'253')
INSERT #F VALUES (1,60,3,'260')
INSERT #F VALUES (1,82,3,'800                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,83,3,'810                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,61,3,'262')
INSERT #F VALUES (1,62,3,'263')
INSERT #F VALUES (1,63,3,'270                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,64,3,'273                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,65,3,'290                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,69,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,70,3,'300')
INSERT #F VALUES (1,71,3,'310                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,72,3,'320')
INSERT #F VALUES (1,73,3,'330')
INSERT #F VALUES (1,74,3,'340')
INSERT #F VALUES (1,75,3,'***                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,76,3,'500                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,77,3,'520                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,78,3,'530                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,79,3,'540                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,80,3,'550                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,85,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,89,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,90,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,91,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,92,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,93,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,94,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,95,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,96,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,97,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,98,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,99,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,100,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,101,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,102,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,103,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,104,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,105,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,106,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,107,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,108,3,'***                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,109,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,110,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,111,3,'171                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,3,4,'')
INSERT #F VALUES (1,13,4,'')
INSERT #F VALUES (1,19,4,'')
INSERT #F VALUES (1,23,4,'')
INSERT #F VALUES (1,31,4,'')
INSERT #F VALUES (1,35,4,'')
INSERT #F VALUES (1,38,4,'')
INSERT #F VALUES (1,39,4,'')
INSERT #F VALUES (1,43,4,'')
INSERT #F VALUES (1,44,4,'')
INSERT #F VALUES (1,45,4,'')
INSERT #F VALUES (1,49,4,'')
INSERT #F VALUES (1,54,4,'')
INSERT #F VALUES (1,58,4,'')
INSERT #F VALUES (1,59,4,'')
INSERT #F VALUES (1,60,4,'')
INSERT #F VALUES (1,61,4,'')
INSERT #F VALUES (1,62,4,'')
INSERT #F VALUES (1,70,4,'')
INSERT #F VALUES (1,72,4,'')
INSERT #F VALUES (1,73,4,'')
INSERT #F VALUES (1,74,4,'')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 327
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1стр.010 =  т.1стр.020 +  т.1стр.150 +  т.1стр.130',1,4,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.1стр.020 =  т.1стр.030 +  т.1стр.040 +  т.1стр.050 +  т.1стр.060 +  т.1стр.070 +  т.1стр.080 +  т.1стр.110 +  т.1стр.120',1,2,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.1стр.070 =  т.1стр.071 +  т.1стр.072 +  т.1стр.073',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(4,NULL,0,NULL,4,7,0,0,0,'т.1стр.130 =  т.1стр.140',1,3,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(5,NULL,0,NULL,5,7,0,0,0,'т.1стр.140 =  т.1стр.141 +  т.1стр.142 +  т.1стр.143 +  т.1стр.144',1,2,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(6,NULL,0,NULL,6,7,0,0,0,'т.1стр.150 =  т.1стр.160 +  т.1стр.180',1,2,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(7,NULL,0,NULL,7,7,0,0,0,'т.1стр.160 =  т.1стр.161 +  т.1стр.162 +  т.1стр.163 +  т.1стр.164',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(8,NULL,0,NULL,8,7,0,0,0,'т.1стр.180 =  т.1стр.181 +  т.1стр.182',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(9,NULL,0,NULL,9,7,0,0,0,'т.1стр.210 =  т.1стр.220 +  т.1стр.310 +  т.1стр.330',1,3,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(10,NULL,0,NULL,10,7,0,0,0,'т.1стр.220 =  т.1стр.230 +  т.1стр.240 +  т.1стр.250 +  т.1стр.260 +  т.1стр.270 +  т.1стр.280 +  т.1стр.290 +  т.1стр.300',1,2,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(11,NULL,0,NULL,11,7,0,0,0,'т.1стр.230 =  т.1стр.231 +  т.1стр.232 +  т.1стр.233',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(12,NULL,0,NULL,12,7,0,0,0,'т.1стр.240 =  т.1стр.241 +  т.1стр.242 +  т.1стр.243 +  т.1стр.244 +  т.1стр.246 +  т.1стр.245',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(13,NULL,0,NULL,13,7,0,0,0,'т.1стр.250 =  т.1стр.251 +  т.1стр.252',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(14,NULL,0,NULL,14,7,0,0,0,'т.1стр.260 =  т.1стр.261 +  т.1стр.262',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(15,NULL,0,NULL,15,7,0,0,0,'т.1стр.270 =  т.1стр.271 +  т.1стр.272 +  т.1стр.273',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(16,NULL,0,NULL,16,7,0,0,0,'т.1стр.280 =  т.1стр.281 +  т.1стр.282 +  т.1стр.283',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(17,NULL,0,NULL,17,7,0,0,0,'т.1стр.310 =  т.1стр.320',1,2,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(18,NULL,0,NULL,18,7,0,0,0,'т.1стр.320 =  т.1стр.321 +  т.1стр.322 +  т.1стр.323 +  т.1стр.324',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(19,NULL,0,NULL,19,7,0,0,0,'т.1стр.330 =  т.1стр.340 +  т.1стр.350',1,2,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(20,NULL,0,NULL,20,7,0,0,0,'т.1стр.340 =  т.1стр.341 +  т.1стр.342 +  т.1стр.343 +  т.1стр.344',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(21,NULL,0,NULL,21,7,0,0,0,'т.1стр.350 =  т.1стр.351 +  т.1стр.352',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(22,NULL,0,NULL,22,7,0,0,0,'т.1стр.360 =  т.1стр.361 +  т.1стр.362',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(23,NULL,0,NULL,23,7,0,0,0,'т.1стр.360 =  -  т.1стр.010 +  т.1стр.210',0,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
INSERT #A VALUES(24,NULL,0,NULL,24,7,0,0,0,'т.1стр.110 =  т.1стр.111 +  т.1стр.112',1,1,1,'20130729','','','','0503723M','20160101','','=',2,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 24
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','010','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','020','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','150','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','130','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','020','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','041','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','040','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','050','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','060','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','070','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','042','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','051','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,9,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','120','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','070','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','121','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','072','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','073','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','130','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','140','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','140','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','141','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','142','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','143','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','144','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','150','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','160','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','180','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','160','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(7,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','161','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','162','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','163','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','164','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','180','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(8,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','181','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','182','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','210','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','220','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','310','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','330','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','220','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','230','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','240','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','250','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','260','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','270','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','280','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','290','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,9,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','300','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','230','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','231','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','232','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','233','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','240','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','241','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','242','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','243','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','244','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','246','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','245','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','250','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','251','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','253','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','260','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','261','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','262','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','270','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','301','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','272','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','273','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','280','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(16,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','345','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','282','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','283','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(17,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','310','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(17,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','320','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','320','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(18,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','321','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','322','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','323','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','324','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','330','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(19,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','340','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','350','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','340','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(20,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','341','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','342','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','343','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','344','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','350','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(21,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','351','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','352','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','360','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(22,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','361','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','362','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','360','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(23,2,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','010','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','210','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','051','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(24,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','122','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','052','1',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 100
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '5         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'5','Годовые формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-21 16:55:39.277',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-21 16:55:39.277'
	BEGIN
		SELECT @vcMessage = 'Форма 0503723M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503723M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-21 16:55:39.277. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 19 2016 11:30:34:553AM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503737M (Отчет об исполнении учреждением плана его финансово-хозяйственной деятельности)
-- Дата ввода : 20150101
-- Дата окончания действия : 20161231
-- Версия : 2016-03-19 11:30:34.553
-- Параметры выгрузки :
-- только обновить  REPORT_FORMS              : да

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503737M' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-19 11:30:34.553',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Обновление только REPORT_FORMS.
UPDATE dbo.[REPORT_FORMS]
SET [NAME]                = 'Отчет об исполнении учреждением плана его финансово-хозяйственной деятельности',
    [ExportCode]          = '337       ',
    [START_DATE]          = '20150101',
    [END_DATE]            = '20161231',
    [PERIODIC]            = 4,
    [ISSVOD]              = 1,
    [ISEXPORTED]          = 1,
    [ISUSERFORM]          = 0,
    [IsKonsolid]          = 0,
    [IS_AUTOFILL]         = 0,
    [PRINT_OBJECT_METHOD] = '',
    [QUERY_ADD_MODULE]    = 'SV_0503737_20150101.bas',
    [QUERY_BEFORE]        = '',
    [QUERY_REPMAKER]      = 'KirRepMakerMultiSheet.xls',
    [QUERY_REPORT]        = 'SV_0503737_20150101.xlt',
    [QUERY_REPORT_PATH]   = '',
    [DECRIPT_PROC]        = NULL,
    [EXPORT_PROC]         = 'RO_EXPORT_FORM_33',
    [IsRemoteAccess]      = 0,
    [PARAM_EXPORT]        = 'RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL4) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9) + ''|'' + STR(COL10)+ ''|'' #
RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9) + ''|'' + STR(COL10)+ ''|''',
    [PARAM_IMPORT]        = 'C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|'' #
C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|''',
    [OBJECT]              = NULL,
    [ATRIBUTS]            = 'REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',
    [SvodProc]            = NULL,
    [COMMENT]             = '33н',
    [PRINT_OBJECT_METHOD_NEW] = NULL,
    [QUERY_BEFORE_PRINT_NEW]  = '',
    [QUERY_REPORT_NEW]        = '',
    [IS_CALC]        = 1
WHERE [LINK_FORM] = @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-19 11:30:34.553',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-19 11:30:34.553'
	BEGIN
		SELECT @vcMessage = 'Форма 0503737M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503737M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-19 11:30:34.553. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 30 2016 11:04:23:987AM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503737M (Отчет об исполнении учреждением плана его финансово-хозяйственной деятельности)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-03-30 11:04:23.987
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503737M' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-30 11:04:23.987',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503737M',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503737M'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Отчет об исполнении учреждением плана его финансово-хозяйственной деятельности',@vcNEW_FORM_CODE,@dNEW_START_DATE,4,1,1,1,18186,'RO_EXPORT_FORM_33',0,0,'19000101',NULL,'33н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, '','SV_0503737_20160101.bas','','KirRepMakerMultiSheet.xls','SV_0503737_20160101.xlt','',NULL,'RO_EXPORT_FORM_33',0,'RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL4) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9) + ''|'' + STR(COL10)+ ''|'' #
RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9) + ''|'' + STR(COL10)+ ''|''','C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|'' #
C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|''',NULL,'337       ','REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',NULL,NULL,'|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 1', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код аналитики',@iLINK_TABLE,1,1,3,0,3,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утвержденно плановых назначений',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Исполнено плановых назначений. Через лицевые счета',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Исполнено плановых назначений. Через банковские счета',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Исполнено плановых назначений. Через кассу учреждения',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Исполнено плановых назначений. Некассовыми операциями',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Исполнено плановых назначений. Итого',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Не исполнено плановых назначений',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 1', @iLINK_FORM,1, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 2 Расходы', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,3,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код аналитики',@iLINK_TABLE,1,1,3,0,3,1,'R_SPR_VR_USER_2011','COL3,COL1,COL2','CODE,NAME,CODE_STR',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утвержденно плановых назначений',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Исполнено плановых назначений. Через лицевые счета',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Исполнено плановых назначений. Через банковские счета',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Исполнено плановых назначений. Через кассу учреждения',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Исполнено плановых назначений. Некассовыми операциями',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Исполнено плановых назначений. Итого',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Не исполнено плановых назначений',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 2 Расходы', @iLINK_FORM,2, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 3 Источники', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код аналитики',@iLINK_TABLE,1,1,3,0,3,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утвержденно плановых назначений',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Исполнено плановых назначений. Через лицевые счета',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Исполнено плановых назначений. Через банковские счета',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Исполнено плановых назначений. Через кассу учреждения',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Исполнено плановых назначений. Некассовыми операциями',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Исполнено плановых назначений. Итого',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Не исполнено плановых назначений',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 3 Источники', @iLINK_FORM,3, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Возвраты', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,100,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,1,'r_spr_str_737','COL1,COL2','Name,Code',NULL,8,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код аналитики',@iLINK_TABLE,1,1,3,0,3,1,'R_SPR_ST_2011','COL3','CODE',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утвержденно плановых назначений',@iLINK_TABLE,0,0,10,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Произведено возвратов. Через лицевые счета',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Произведено возвратов. Через банковские счета',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Произведено возвратов. Через кассу учреждения',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Произведено возвратов. Некассовыми операциями',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Произведено возвратов. Итого',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Не исполнено плановых назначений',@iLINK_TABLE,0,0,10,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Возвраты', @iLINK_FORM,4, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,1,16,1)
INSERT #R VALUES (2,1,2,1)
INSERT #R VALUES (3,1,4,1)
INSERT #R VALUES (4,1,5,1)
INSERT #R VALUES (5,1,10,1)
INSERT #R VALUES (6,1,7,1)
INSERT #R VALUES (7,1,8,1)
INSERT #R VALUES (8,1,15,1)
INSERT #R VALUES (9,1,10,1)
INSERT #R VALUES (10,1,12,1)
INSERT #R VALUES (11,1,13,1)
INSERT #R VALUES (12,1,14,1)
INSERT #R VALUES (13,1,15,1)
INSERT #R VALUES (5,3,60,1)
INSERT #R VALUES (6,3,50,1)
INSERT #R VALUES (7,3,51,1)
INSERT #R VALUES (8,3,61,1)
INSERT #R VALUES (9,3,101,1)
INSERT #R VALUES (10,3,62,1)
INSERT #R VALUES (11,3,53,1)
INSERT #R VALUES (12,3,84,1)
INSERT #R VALUES (13,3,56,1)
INSERT #R VALUES (14,3,57,1)
INSERT #R VALUES (15,3,58,1)
INSERT #R VALUES (16,3,59,1)
INSERT #R VALUES (17,3,60,1)
INSERT #R VALUES (18,3,91,1)
INSERT #R VALUES (19,3,81,1)
INSERT #R VALUES (20,3,65,1)
INSERT #R VALUES (21,3,78,1)
INSERT #R VALUES (22,3,81,1)
INSERT #R VALUES (23,3,64,1)
INSERT #R VALUES (24,3,67,1)
INSERT #R VALUES (25,3,68,1)
INSERT #R VALUES (26,3,81,1)
INSERT #R VALUES (27,3,70,1)
INSERT #R VALUES (28,3,71,1)
INSERT #R VALUES (29,3,81,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 38
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (1,1,1,'Доходы - всего                                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,2,1,'Доходы от собственности                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,3,1,'Доходы от оказания платных услуг (работ)                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,4,1,'Доходы от штрафов, пеней, иных сумм принудительного изъятия                                                                                                                                                                                               ')
INSERT #F VALUES (1,5,1,'Безвозмездные  поступления от бюджетов                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,6,1,'в т.ч. поступления от наднациональных организаций и правительств  иностранных государств                                                                                                                                                                  ')
INSERT #F VALUES (1,7,1,'поступления от международных финансовых организаций                                                                                                                                                                                                       ')
INSERT #F VALUES (1,8,1,'Доходы от операций с активами                                                                                                                                                                                                                             ')
INSERT #F VALUES (1,9,1,'в т.ч. от выбытий основных средств                                                                                                                                                                                                                        ')
INSERT #F VALUES (1,10,1,'в т.ч. от выбытий нематериальных активов                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,11,1,'в т.ч. от выбытий непроизводственных активов                                                                                                                                                                                                              ')
INSERT #F VALUES (1,12,1,'в т.ч. от выбытий материальных запасов                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,13,1,'Прочие доходы                                                                                                                                                                                                                                             ')
INSERT #F VALUES (1,1,2,'010                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,2,2,'030                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,3,2,'040                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,4,2,'050                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,5,2,'060                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,6,2,'062                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,7,2,'063                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,8,2,'090                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,9,2,'092                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,10,2,'093                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,11,2,'094                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,12,2,'095                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,13,2,'100                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,2,3,'120                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,3,3,'130                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,4,3,'140                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,5,3,'150                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,6,3,'152                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,7,3,'153                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,8,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,9,3,'410                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,10,3,'420                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,11,3,'430                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,12,3,'440                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,13,3,'180                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,5,1,'Источники финансирования дефицита средств - всего (стр. 520 + стр.590+ стр. 620 + стр. 700 + стр. 730 + стр. 820 + стр. 830)                                                                                                                                  ')
INSERT #F VALUES (3,6,1,'Внутренние источники                                                                                                                                                                                                                                      ')
INSERT #F VALUES (3,7,1,'из них: Доходы от переоценки активов*****                                                                                                                                                                                                                     ')
INSERT #F VALUES (3,8,1,'Увеличение стоимости ценных бумаг, кроме акций и иных форм участия в капитале *****                                                                                                                                                                           ')
INSERT #F VALUES (3,9,1,'Уменьшение стоимости ценных бумаг, кроме акций и иных форм участия в капитале *****                                                                                                                                                                           ')
INSERT #F VALUES (3,10,1,'Увеличение задолженности по  кредитам*****                                                                                                                                                                                                                    ')
INSERT #F VALUES (3,11,1,'Уменьшение задолженности по  ссудам и кредитам*****                                                                                                                                                                                                           ')
INSERT #F VALUES (3,12,1,'Увеличение задолженности по внутреннему государственному (муниципальному) долгу*****                                                                                                                                                                          ')
INSERT #F VALUES (3,13,1,'Уменьшение задолженности по внутреннему государственному (муниципальному) долгу*****                                                                                                                                                                          ')
INSERT #F VALUES (3,14,1,'Движение денежных средств                                                                                                                                                                                                                                     ')
INSERT #F VALUES (3,15,1,'поступления денежных средств прочие                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,16,1,'выбытие денежных средств                                                                                                                                                                                                                                      ')
INSERT #F VALUES (3,17,1,'Внешние источники                                                                                                                                                                                                                                         ')
INSERT #F VALUES (3,18,1,'Изменение остатков средств                                                                                                                                                                                                                                ')
INSERT #F VALUES (3,19,1,'увеличение остатков средств, всего                                                                                                                                                                                                                        ')
INSERT #F VALUES (3,20,1,'уменьшение остатков средств, всего                                                                                                                                                                                                                            ')
INSERT #F VALUES (3,21,1,'Изменение остатков по внутренним оборотам средств учреждения                                                                                                                                                                                              ')
INSERT #F VALUES (3,22,1,'в т.ч. увеличение остатков средств учреждения                                                                                                                                                                                                                 ')
INSERT #F VALUES (3,23,1,'в т.ч. уменьшение остатков средств учреждения                                                                                                                                                                                                                 ')
INSERT #F VALUES (3,24,1,'Изменение остатков по внутренним расчетам                                                                                                                                                                                                                 ')
INSERT #F VALUES (3,25,1,'в т.ч. увеличение остатков по внутренним расчетам (Кт 030404510)                                                                                                                                                                                          ')
INSERT #F VALUES (3,26,1,'уменьшение остатков по внутренним расчетам (Дт 030404610)                                                                                                                                                                                                 ')
INSERT #F VALUES (3,27,1,'Изменение остатков расчетов по внутренним привлечениям средств                                                                                                                                                                                            ')
INSERT #F VALUES (3,28,1,'в т.ч. увеличение расчетов по внутреннему привлечению остатков средств (Кт 030406000)                                                                                                                                                                     ')
INSERT #F VALUES (3,29,1,'уменьшение расчетов по внутреннему привлечению остатков средств (Дт 030406000)                                                                                                                                                                            ')
INSERT #F VALUES (3,5,2,'500                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,6,2,'520                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,7,2,'521                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,8,2,'522                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,9,2,'523                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,10,2,'524                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,11,2,'525                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,12,2,'527                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,13,2,'528                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,14,2,'590                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,15,2,'591                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,16,2,'592                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,17,2,'620                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,18,2,'700                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,19,2,'710                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,20,2,'720                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,21,2,'730                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,22,2,'731                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,23,2,'732                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,24,2,'820                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,25,2,'821                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,26,2,'822                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,27,2,'830                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,28,2,'831                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,29,2,'832                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,7,3,'171                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,8,3,'520                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,9,3,'620                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,10,3,'540                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,11,3,'640                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,12,3,'710                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,13,3,'810                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,14,3,'x                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,15,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,16,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,18,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,19,3,'510                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,20,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,21,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,22,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,23,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,24,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,27,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,19,4,'ЗАПРЕТ()')
INSERT #F VALUES (3,20,4,'ЗАПРЕТ()')
INSERT #F VALUES (3,19,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,20,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,22,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,23,10,'ЗАПРЕТ() ')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 112
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,129,7,0,0,0,'т.1гр.4 >=  т.1гр.9',0,0,0,'20130422','code < ''450''','','','0503737M','20160101','Барнаул','>=',4,'','')
INSERT #A VALUES(2,NULL,0,NULL,130,7,0,0,0,'т.1гр.9 =  т.1гр.5 +  т.1гр.6 +  т.1гр.7 +  т.1гр.8',1,0,1,'20160326','','','','0503737M','20160101','','=',3,'','')
INSERT #A VALUES(3,NULL,0,NULL,131,7,0,0,0,'т.1гр.10 =  т.1гр.4 -  т.1гр.9',3,20,1,'20160326','code not in (''450'',''710'',''720'',''731'',''732'')','','','0503737M','20160101','','=',4,'','')
INSERT #A VALUES(4,NULL,0,NULL,132,7,0,0,0,'т.1стр.060 =  т.1стр.062 +  т.1стр.063 Дипазон колонок:4,5,6,7,8,9',1,3,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(5,NULL,0,NULL,133,7,0,0,0,'т.1стр.090 =  т.1стр.093 +  т.1стр.094 +  т.1стр.092 +  т.1стр.095 Дипазон колонок:4,5,6,7,8,9',1,3,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(6,NULL,0,NULL,134,7,0,0,0,'т.1стр.010 =  т.1стр.050 +  т.1стр.040 +  т.1стр.060 +  т.1стр.090 +  т.1стр.100 +  т.1стр.030 Дипазон колонок:4,5,6,7,8,9',1,4,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(7,NULL,0,NULL,145,7,0,0,0,'т.3стр.525 >=  0',0,0,1,'20160326','','','','0503737M','20160101','','>=',2,'','')
INSERT #A VALUES(8,NULL,0,NULL,146,7,0,0,0,'т.3стр.527 >=  0',0,0,1,'20160326','','','','0503737M','20160101','','>=',2,'','')
INSERT #A VALUES(9,NULL,0,NULL,147,7,0,0,0,'т.3стр.524 >=  0',0,0,1,'20160326','','','','0503737M','20160101','','>=',2,'','')
INSERT #A VALUES(10,NULL,0,NULL,148,7,0,0,0,'т.3стр.522 <=  0',0,0,1,'20160326','','','','0503737M','20160101','','<=',2,'','')
INSERT #A VALUES(11,NULL,0,NULL,149,7,0,0,0,'т.3стр.528 <=  0',0,0,1,'20160326','','','','0503737M','20160101','','<=',2,'','')
INSERT #A VALUES(12,NULL,0,NULL,150,7,0,0,0,'т.3стр.523 <=  0',0,0,1,'20160326','','','','0503737M','20160101','','<=',2,'','')
INSERT #A VALUES(13,NULL,0,NULL,151,7,0,0,0,'т.3стр.700 =  т.3стр.710 +  т.3стр.720 Дипазон колонок:5,6,7,9',1,3,1,'20160326','','5,6,7,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(14,NULL,0,NULL,152,7,0,0,0,'т.3стр.710 <=  0',0,0,1,'20160326','','','','0503737M','20160101','','<=',2,'','')
INSERT #A VALUES(15,NULL,0,NULL,153,7,0,0,0,'т.3стр.720 >=  0',0,0,1,'20160326','','','','0503737M','20160101','','>=',2,'','')
INSERT #A VALUES(16,NULL,0,NULL,154,7,0,0,0,'т.3стр.710гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(17,NULL,0,NULL,155,7,0,0,0,'т.3стр.720 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(18,NULL,0,NULL,156,7,0,0,0,'т.3стр.820 =  т.3стр.821 +  т.3стр.822 Дипазон колонок:5,6,9',1,3,1,'20160326','','5,6,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(19,NULL,0,NULL,157,7,0,0,0,'т.3стр.821гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(20,NULL,0,NULL,158,7,0,0,0,'т.3стр.821гр.7 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(21,NULL,0,NULL,159,7,0,0,0,'т.3стр.830 =  т.3стр.831 +  т.3стр.832 Дипазон колонок:4,5,6,7,8,9',1,4,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(22,NULL,0,NULL,160,7,0,0,0,'т.3стр.500 =  т.3стр.520 +  т.3стр.620 +  т.3стр.700 +  т.3стр.820 +  т.3стр.830 +  т.3стр.730 Дипазон колонок:4,5,6,7,8,9',1,5,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(23,NULL,0,NULL,162,7,0,0,0,'т.3стр.730 =  т.3стр.731 +  т.3стр.732 Дипазон колонок:5,6,7,9',1,2,1,'20160326','','5,6,7,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(24,NULL,0,NULL,163,7,0,0,0,'т.3стр.500гр.10 =  т.3стр.500гр.4 -  т.3стр.500гр.9',3,20,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(25,NULL,0,NULL,165,7,0,0,0,'т.3стр.520 =  т.3стр.521 +  т.3стр.522 +  т.3стр.523 +  т.3стр.524 +  т.3стр.525 +  т.3стр.527 +  т.3стр.528 Дипазон колонок:4,5,6,7,8,9',1,4,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(26,NULL,0,NULL,167,7,0,0,0,'т.3стр.700гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(27,NULL,0,NULL,168,7,0,0,0,'т.3стр.710гр.10 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(28,NULL,0,NULL,169,7,0,0,0,'т.3стр.720гр.10 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(29,NULL,0,NULL,170,7,0,0,0,'т.3стр.730гр.4 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(30,NULL,0,NULL,171,7,0,0,0,'т.3стр.731гр.4 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(31,NULL,0,NULL,172,7,0,0,0,'т.3стр.732гр.4 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(32,NULL,0,NULL,173,7,0,0,0,'т.3стр.730гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(33,NULL,0,NULL,174,7,0,0,0,'т.3стр.731гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(34,NULL,0,NULL,175,7,0,0,0,'т.3стр.732гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(35,NULL,0,NULL,176,7,0,0,0,'т.1Фильтр:строка 060 =  0 Комментарий: Показатели по коду строки 060 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 060 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(36,NULL,0,NULL,177,7,0,0,0,'т.1Фильтр:строка 062 =  0 Комментарий: Показатели по коду строки 062 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 062 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(37,NULL,0,NULL,178,7,0,0,0,'т.1Фильтр:строка 063 =  0 Комментарий: Показатели по коду строки 063 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 063 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(38,NULL,0,NULL,184,7,0,0,0,'т.3Фильтр:строка 525 =  0 Комментарий: Показатели по коду строки 525 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 525 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(39,NULL,0,NULL,185,7,0,0,0,'т.3Фильтр:строка 523 =  0 Комментарий: Показатели по коду строки 523 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 523 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(40,NULL,0,NULL,186,7,0,0,0,'т.3Фильтр:строка 527 =  0 Комментарий: Показатели по коду строки 527 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 527 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(41,NULL,0,NULL,187,7,0,0,0,'т.3Фильтр:строка 528 =  0 Комментарий: Показатели по коду строки 528 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 528 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(42,NULL,0,NULL,188,7,0,0,0,'т.3Фильтр:строка 620 =  0 Комментарий: Показатели по коду строки 620 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 620 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(43,NULL,0,NULL,192,7,0,0,0,'т.1Фильтр:строка 060 =  0 Комментарий: Показатели по коду строки 060 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 060 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(44,NULL,0,NULL,193,7,0,0,0,'т.1Фильтр:строка 062 =  0 Комментарий: Показатели по коду строки 062 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 062 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(45,NULL,0,NULL,194,7,0,0,0,'т.1Фильтр:строка 063 =  0 Комментарий: Показатели по коду строки 063 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 063 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(46,NULL,0,NULL,203,7,0,0,0,'т.3Фильтр:строка 525 =  0 Комментарий: Показатели по коду строки 525 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 525 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(47,NULL,0,NULL,205,7,0,0,0,'т.3Фильтр:строка 527 =  0 Комментарий: Показатели по коду строки 527 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 527 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(48,NULL,0,NULL,206,7,0,0,0,'т.3Фильтр:строка 528 =  0 Комментарий: Показатели по коду строки 528 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 528 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(49,NULL,0,NULL,207,7,0,0,0,'т.3Фильтр:строка 620 =  0 Комментарий: Показатели по коду строки 620 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 620 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(50,NULL,0,NULL,208,7,0,0,0,'т.3Фильтр:строка 521 =  0 Комментарий: Показатели по коду строки 521 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 521 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(51,NULL,0,NULL,209,7,0,0,0,'т.3Фильтр:строка 522 =  0 Комментарий: Показатели по коду строки 522 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 522 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(52,NULL,0,NULL,210,7,0,0,0,'т.3Фильтр:строка 523 =  0 Комментарий: Показатели по коду строки 523 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 523 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(53,NULL,0,NULL,211,7,0,0,0,'т.3Фильтр:строка 524 =  0 Комментарий: Показатели по коду строки 524 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 524 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(54,NULL,0,NULL,212,7,0,0,0,'т.3Фильтр:строка 521 =  0 Комментарий: Показатели по коду строки 521 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 521 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(55,NULL,0,NULL,213,7,0,0,0,'т.3Фильтр:строка 522 =  0 Комментарий: Показатели по коду строки 522 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 522 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(56,NULL,0,NULL,214,7,0,0,0,'т.1Фильтр:строка 060 =  0 Комментарий: Показатели по коду строки 060 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 060 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(57,NULL,0,NULL,215,7,0,0,0,'т.1Фильтр:строка 062 =  0 Комментарий: Показатели по коду строки 062 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 062 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(58,NULL,0,NULL,216,7,0,0,0,'т.1Фильтр:строка 063 =  0 Комментарий: Показатели по коду строки 063 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 063 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(59,NULL,0,NULL,225,7,0,0,0,'т.3Фильтр:строка 525 =  0 Комментарий: Показатели по коду строки 525 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 525 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(60,NULL,0,NULL,226,7,0,0,0,'т.3Фильтр:строка 524 =  0 Комментарий: Показатели по коду строки 524 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 524 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(61,NULL,0,NULL,227,7,0,0,0,'т.3Фильтр:строка 527 =  0 Комментарий: Показатели по коду строки 527 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 527 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(62,NULL,0,NULL,228,7,0,0,0,'т.3Фильтр:строка 528 =  0 Комментарий: Показатели по коду строки 528 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 528 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(63,NULL,0,NULL,229,7,0,0,0,'т.3Фильтр:строка 620 =  0 Комментарий: Показатели по коду строки 620 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 620 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(64,NULL,0,NULL,230,7,0,0,0,'т.3Фильтр:строка 521 =  0 Комментарий: Показатели по коду строки 521 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 521 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(65,NULL,0,NULL,231,7,0,0,0,'т.3Фильтр:строка 522 =  0 Комментарий: Показатели по коду строки 522 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 522 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(66,NULL,0,NULL,232,7,0,0,0,'т.1Фильтр:строка 523 =  0 Комментарий: Показатели по коду строки 523 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 523 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(67,NULL,0,NULL,233,7,0,0,0,'т.1Фильтр:строка 062 =  0 Комментарий: Показатели по коду строки 062 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 062 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(68,NULL,0,NULL,234,7,0,0,0,'т.1Фильтр:строка 060 =  0 Комментарий: Показатели по коду строки 060 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 060 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(69,NULL,0,NULL,235,7,0,0,0,'т.1Фильтр:строка 063 =  0 Комментарий: Показатели по коду строки 063 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 063 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(70,NULL,0,NULL,245,7,0,0,0,'т.3Фильтр:строка 525 =  0 Комментарий: Показатели по коду строки 525 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 525 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(71,NULL,0,NULL,246,7,0,0,0,'т.3Фильтр:строка 524 =  0 Комментарий: Показатели по коду строки 524 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 524 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(72,NULL,0,NULL,247,7,0,0,0,'т.3Фильтр:строка 527 =  0 Комментарий: Показатели по коду строки 527 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 527 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(73,NULL,0,NULL,248,7,0,0,0,'т.3Фильтр:строка 528 =  0 Комментарий: Показатели по коду строки 528 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 528 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(74,NULL,0,NULL,249,7,0,0,0,'т.3Фильтр:строка 620 =  0 Комментарий: Показатели по коду строки 620 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 620 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(75,NULL,0,NULL,250,7,0,0,0,'т.3Фильтр:строка 521 =  0 Комментарий: Показатели по коду строки 521 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 521 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(76,NULL,0,NULL,251,7,0,0,0,'т.3Фильтр:строка 522 =  0 Комментарий: Показатели по коду строки 522 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 522 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(77,NULL,0,NULL,252,7,0,0,0,'т.3Фильтр:строка 523 =  0 Комментарий: Показатели по коду строки 523 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 523 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(78,NULL,0,NULL,253,7,0,0,0,'т.3стр.820 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(79,NULL,0,NULL,254,7,0,0,0,'т.3стр.821 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(80,NULL,0,NULL,255,7,0,0,0,'т.3стр.822 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(81,NULL,0,NULL,256,7,0,0,0,'т.1гр.8 =  0 Комментарий: Показатели Гр.8 не равны 0 - требуются пояснения по отраженным операциям',0,0,1,'20160326','','','','0503737M','20160101','','=',3,'','Показатели Гр.8 не равны 0 - требуются пояснения по отраженным операциям')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 81
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','060','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','062','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','063','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','090','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','093','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','094','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','092','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','095','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','010','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','050','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','040','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','060','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','090','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','100','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','030','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','525','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(7,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','527','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(8,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','524','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','522','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','528','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','523','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','700','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','710','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','720','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','710','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','720','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','710','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(16,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(17,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','720','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(17,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','820','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(18,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','821','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','822','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','821','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(19,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','821','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(20,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','830','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(21,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','831','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','832','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','500','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(22,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','520','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','620','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','700','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','820','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','830','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','730','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','730','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(23,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','731','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','732','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','500','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(24,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','500','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','500','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','520','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(25,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','521','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','522','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','523','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','524','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','525','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','527','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','528','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','700','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(26,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','710','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(27,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','720','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(28,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(29,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','730','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(29,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(30,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','731','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(30,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(31,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','732','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(31,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(32,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','730','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(32,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(33,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','731','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(33,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(34,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','732','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(34,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(35,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''060''','строка 060','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(35,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(36,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''062''','строка 062','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(36,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(37,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''063''','строка 063','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(37,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(38,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''525''','строка 525','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(38,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(39,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''523''','строка 523','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(39,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(40,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''527''','строка 527','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(40,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(41,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''528''','строка 528','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(41,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(42,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''620''','строка 620','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(42,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(43,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''060''','строка 060','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(43,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(44,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''062''','строка 062','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(44,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(45,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''063''','строка 063','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(45,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(46,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''525''','строка 525','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(46,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(47,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''527''','строка 527','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(47,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(48,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''528''','строка 528','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(48,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(49,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''620''','строка 620','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(49,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(50,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''521''','строка 521','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(50,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(51,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''522''','строка 522','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(51,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(52,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''523''','строка 523','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(52,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(53,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''524''','строка 524','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(53,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(54,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''521''','строка 521','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(54,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(55,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''522''','строка 522','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(55,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(56,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''060''','строка 060','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(56,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(57,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''062''','строка 062','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(57,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(58,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''063''','строка 063','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(58,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(59,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''525''','строка 525','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(59,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(60,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''524''','строка 524','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(60,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''527''','строка 527','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(61,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''528''','строка 528','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(62,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(63,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''620''','строка 620','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(63,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(64,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''521''','строка 521','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(64,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(65,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''522''','строка 522','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(65,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(66,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''523''','строка 523','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(66,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(67,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''062''','строка 062','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(67,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(68,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''060''','строка 060','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(68,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(69,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''063''','строка 063','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(69,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(70,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''525''','строка 525','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(70,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(71,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''524''','строка 524','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(71,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(72,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''527''','строка 527','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(72,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(73,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''528''','строка 528','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(73,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(74,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''620''','строка 620','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(74,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''521''','строка 521','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(75,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''522''','строка 522','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(76,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(77,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''523''','строка 523','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(77,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(78,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','820','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(78,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(79,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','821','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(79,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(80,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','822','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(80,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(81,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(81,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 191
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '3         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'3','Квартальные формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '447       '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'447','Отчеты АУ, БУ по приказу 33Н',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-30 11:04:23.987',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-30 11:04:23.987'
	BEGIN
		SELECT @vcMessage = 'Форма 0503737M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503737M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-30 11:04:23.987. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 21 2016  5:20:06:270PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503738M (Отчет об обязательствах, принятых учреждением)
-- Дата ввода : 20150101
-- Дата окончания действия : 20151231
-- Версия : 2016-03-21 17:20:06.270
-- Параметры выгрузки :
-- только обновить  REPORT_FORMS              : да

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503738M' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-21 17:20:06.270',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Обновление только REPORT_FORMS.
UPDATE dbo.[REPORT_FORMS]
SET [NAME]                = 'Отчет об обязательствах, принятых учреждением',
    [ExportCode]          = '338       ',
    [START_DATE]          = '20150101',
    [END_DATE]            = '20151231',
    [PERIODIC]            = 7,
    [ISSVOD]              = 1,
    [ISEXPORTED]          = 1,
    [ISUSERFORM]          = 1,
    [IsKonsolid]          = 0,
    [IS_AUTOFILL]         = 0,
    [PRINT_OBJECT_METHOD] = '',
    [QUERY_ADD_MODULE]    = 'sv_0503738g_20150101.bas',
    [QUERY_BEFORE]        = '',
    [QUERY_REPMAKER]      = 'kirrepmakermultisheet.xls',
    [QUERY_REPORT]        = 'sv_0503738g_20150101.xlt',
    [QUERY_REPORT_PATH]   = '',
    [DECRIPT_PROC]        = NULL,
    [EXPORT_PROC]         = 'RO_EXPORT_FORM_33',
    [IsRemoteAccess]      = 0,
    [PARAM_EXPORT]        = 'COL2+''|''+COL3+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''',
    [PARAM_IMPORT]        = '''|''+C1+''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|''+C8 + ''|''+C9 + ''|'' + C10 + ''|''',
    [OBJECT]              = NULL,
    [ATRIBUTS]            = 'REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',
    [SvodProc]            = NULL,
    [COMMENT]             = '33н',
    [PRINT_OBJECT_METHOD_NEW] = NULL,
    [QUERY_BEFORE_PRINT_NEW]  = '',
    [QUERY_REPORT_NEW]        = '',
    [IS_CALC]        = 1
WHERE [LINK_FORM] = @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-21 17:20:06.270',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-21 17:20:06.270'
	BEGIN
		SELECT @vcMessage = 'Форма 0503738M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503738M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-21 17:20:06.270. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 29 2016  4:50:17:410PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503738M (Отчет об обязательствах, принятых учреждением)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-03-29 16:50:17.380
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503738M' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-29 16:50:17.380',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503738M',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503738M'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Отчет об обязательствах, принятых учреждением',@vcNEW_FORM_CODE,@dNEW_START_DATE,7,1,1,1,18186,'RO_EXPORT_FORM_33',0,0,'19000101',NULL,'33н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, '','sv_0503738g_20160101.bas','','kirrepmakermultisheet.xls','sv_0503738g_20160101.xlt','',NULL,'RO_EXPORT_FORM_33',0,'COL2+''|''+COL3+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''','''|''+C1+''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|''+C8 + ''|''+C9 + ''|'' + C10 + ''|''',NULL,'338       ','REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',NULL,NULL,'|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Расходы бюджета', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,250,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,100,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код вида расходов (выбытие)',@iLINK_TABLE,1,1,3,0,3,1,'R_SPR_VR_USER_2011','COL1,COL2,COL3','NAME,CODE_STR,CODE','NNN',NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утверждено плановых назначений',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Обязательства - принимаемые обязательства',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Принятые обязательства -всего',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Принятые обязательства - из них с применением конкурентных способов',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Обязательства - денежные обязательства',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Неисполнено принятых расходных обязательств',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Расходы бюджета', @iLINK_FORM,1, @iLINK_CODE_COL,1,'',NULL,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Выплаты источников финансирования дефицита организ', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,250,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,100,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код вида расходов (выбытие)',@iLINK_TABLE,1,1,3,0,3,1,'R_SPR_ST_738_2_2015','COL1,COL2,COL3','NAME,CODE_STR,CODE','NNN',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утверждено плановых назначений',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Обязательства - принимаемые обязательства',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Принятые обязательства -всего',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Принятые обязательства - из них с применением конкурентных способов',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Обязательства - денежные обязательства',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Неисполнено принятых расходных обязательств',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Выплаты источников финансирования дефицита организ', @iLINK_FORM,2, @iLINK_CODE_COL,1,'CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503738M'',2,''20150101'')
',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Обязательства следующих финансовых годов', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,1,1,1,0,250,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код вида расходов (выбытие)',@iLINK_TABLE,1,1,3,0,3,1,NULL,NULL,NULL,'NNN',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утверждено плановых назначений',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Обязательства - принимаемые обязательства',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Принятые обязательства -всего',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Принятые обязательства - из них с применением конкурентных способов',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Обязательства - денежные обязательства',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Неисполнено принятых расходных обязательств',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Обязательства следующих финансовых годов', @iLINK_FORM,3, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,3,1,1)
INSERT #R VALUES (2,3,2,1)
INSERT #R VALUES (3,3,3,1)
INSERT #R VALUES (4,3,4,1)
INSERT #R VALUES (5,3,5,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 5
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (3,1,1,'Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом ,  всего                                                                                                                                                                 ')
INSERT #F VALUES (3,2,1,'                            в том числе по расходам')
INSERT #F VALUES (3,3,1,'                                      из них: по отложенным обязательствам                                                                                                                                                                                ')
INSERT #F VALUES (3,4,1,'                            по выплатам источников финансирования дефицита учреждения                                                                                                                                                                     ')
INSERT #F VALUES (3,5,1,'Итого')
INSERT #F VALUES (3,1,2,'900                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,2,2,'910                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,3,2,'911                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,4,2,'920                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,5,2,'999                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,1,3,'ЗАПРЕТ()')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 11
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1гр.10 =  т.1гр.6 -  т.1гр.9',1,12,1,'20150407','CODE<>''79000000000000000''','','','0503738M','20160101','','=',4,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.1гр.11 =  т.1гр.8 -  т.1гр.9',1,13,1,'20150407','CODE<>''79000000000000000''','','','0503738M','20160101','','=',4,'','')
INSERT #A VALUES(3,NULL,0,NULL,14,7,0,0,0,'т.2гр.10 =  т.2гр.6 -  т.2гр.9',1,12,1,'20150407','CODE<>''79000000000000000''','','','0503738M','20160101','','=',4,'','')
INSERT #A VALUES(4,NULL,0,NULL,15,7,0,0,0,'т.2гр.11 =  т.2гр.8 -  т.2гр.9',1,13,1,'20150407','CODE<>''79000000000000000''','','','0503738M','20160101','','=',4,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 4
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 12
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '5         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'5','Годовые формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '447       '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'447','Отчеты АУ, БУ по приказу 33Н',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-29 16:50:17.380',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-29 16:50:17.380'
	BEGIN
		SELECT @vcMessage = 'Форма 0503738M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503738M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-29 16:50:17.380. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 21 2016  5:09:09:680PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503769M_D (Сведения по дебиторской задолженности учреждения)
-- Дата ввода : 20150101
-- Дата окончания действия : 20151231
-- Версия : 2016-03-21 17:09:09.680
-- Параметры выгрузки :
-- только обновить  REPORT_FORMS              : да

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503769M_D' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-21 17:09:09.680',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Обновление только REPORT_FORMS.
UPDATE dbo.[REPORT_FORMS]
SET [NAME]                = 'Сведения по дебиторской задолженности учреждения',
    [ExportCode]          = '359       ',
    [START_DATE]          = '20150101',
    [END_DATE]            = '20151231',
    [PERIODIC]            = 4,
    [ISSVOD]              = 1,
    [ISEXPORTED]          = 1,
    [ISUSERFORM]          = 1,
    [IsKonsolid]          = 0,
    [IS_AUTOFILL]         = 0,
    [PRINT_OBJECT_METHOD] = 'svodprint_new_gen()',
    [QUERY_ADD_MODULE]    = 'sv_0503769g_20121231.bas',
    [QUERY_BEFORE]        = '',
    [QUERY_REPMAKER]      = 'KirRepMakerMultiSheet.xls',
    [QUERY_REPORT]        = 'SV_0503769GD_20150101.XLT',
    [QUERY_REPORT_PATH]   = '',
    [DECRIPT_PROC]        = NULL,
    [EXPORT_PROC]         = 'RO_EXPORT_FORM_33#RA_IMPORT_FORM_769',
    [IsRemoteAccess]      = 0,
    [PARAM_EXPORT]        = NULL,
    [PARAM_IMPORT]        = NULL,
    [OBJECT]              = NULL,
    [ATRIBUTS]            = 'REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',
    [SvodProc]            = NULL,
    [COMMENT]             = '33н',
    [PRINT_OBJECT_METHOD_NEW] = NULL,
    [QUERY_BEFORE_PRINT_NEW]  = 'RO_PRINT_769_2015',
    [QUERY_REPORT_NEW]        = '',
    [IS_CALC]        = 1
WHERE [LINK_FORM] = @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-21 17:09:09.680',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-21 17:09:09.680'
	BEGIN
		SELECT @vcMessage = 'Форма 0503769M_D с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503769M_D с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-21 17:09:09.680. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 19 2016  2:45:41:477PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503769M_D (Сведения по дебиторской задолженности учреждения)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-03-19 14:45:41.477
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503769M_D' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-19 14:45:41.477',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503769M_D',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503769M_D'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Сведения по дебиторской задолженности учреждения',@vcNEW_FORM_CODE,@dNEW_START_DATE,4,1,1,1,18186,'RO_EXPORT_FORM_33#RA_IMPORT_FORM_769_16',0,0,'19000101',NULL,'33н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'svodprint_new_gen()','sv_0503769g_20160101.bas','','KirRepMakerMultiSheet.xls','SV_0503769GD_20160101.XLT','',NULL,'RO_EXPORT_FORM_33#RA_IMPORT_FORM_769_16',0,NULL,NULL,NULL,'359       ','REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',NULL,NULL,'RO_PRINT_769_2016|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Сведения по дебиторской задолженности', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,1,1,0,0,8,1,'R_SPR_ACC_769D_2012','COL1','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма задолженности, руб.- на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма задолженности, руб. - на начало года - долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб.- на начало года - Просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Суммма задолженности, руб. - на конец отчетного периода - долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - Просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Сведения по дебиторской задолженности', @iLINK_FORM,1, @iLINK_CODE_COL,1,'CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503769G_D'',1,''20121231'')',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Итого по коду счета - крупные сделки', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,1,1,1,0,8,1,'R_SPR_ACC_769DI_2012','COL1','CODE',NULL,6,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма задолженности, руб.- на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма задолженности, руб. - на начало года - долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - Просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Суммма задолженности, руб. - на конец отчетного периода - долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Суммма задолженности, руб. - на конец отчетного периода - Просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Итого по коду счета - крупные сделки', @iLINK_FORM,2, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Итого по коду счета - сделки с заинтересованностью', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,1,1,1,0,8,1,'R_SPR_ACC_769DI_2012','COL1','CODE',NULL,6,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма задолженности, руб.- на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма задолженности, руб. - на начало года - долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - Просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Суммма задолженности, руб. - на конец отчетного периода - долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Суммма задолженности, руб. - на конец отчетного периода - Просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Итого по коду счета - сделки с заинтересованностью', @iLINK_FORM,3, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Сведения о просроченной задолженности', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_ACC_769D_2012','COL1','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма, руб.',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Дата - вознеикновения',@iLINK_TABLE,1,1,3,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Дата - исполнения по правовому основанию',@iLINK_TABLE,1,1,4,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Дебитор (кредитор) - ИНН',@iLINK_TABLE,1,1,5,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Дебитор (кредитор) - наименование',@iLINK_TABLE,1,1,6,0,2000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Причины образования - Код',@iLINK_TABLE,1,1,7,0,5,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Причины образования - наименование',@iLINK_TABLE,1,1,8,0,8000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Сведения о просроченной задолженности', @iLINK_FORM,4, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),8,''0'')+PADR(RTRIM(COL3),4,''0'')+PADR(RTRIM(COL4),10,'' '')
KEY_WEB=LEFT(RTRIM(isnull(COL1,''''))+''00000000000000'',8)+LEFT(RTRIM(isnull(COL3,''''))+''    '',4)+LEFT(RTRIM(isnull(COL4,''''))+''          '',10)
SPLIT=COL1=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',1,8)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''                        '',9,4)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''                                                 '',13,10)



',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Аналит. инф. о движении просроченной задолженности', @iLINK_FORM,5
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование  показателя',@iLINK_TABLE,0,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма - всего',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма-в том числе: по доходам',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма-в том числе: по по расходам',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Аналит. инф. о движении просроченной задолженности', @iLINK_FORM,5, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,5,1,1)
INSERT #R VALUES (2,5,2,1)
INSERT #R VALUES (3,5,3,1)
INSERT #R VALUES (4,5,4,1)
INSERT #R VALUES (5,5,5,1)
INSERT #R VALUES (6,5,6,1)
INSERT #R VALUES (7,5,7,1)
INSERT #R VALUES (8,5,8,1)
INSERT #R VALUES (9,5,9,1)
INSERT #R VALUES (10,5,10,1)
INSERT #R VALUES (11,5,11,1)
INSERT #R VALUES (12,5,12,1)
INSERT #R VALUES (13,5,13,1)
INSERT #R VALUES (14,5,14,1)
INSERT #R VALUES (15,5,15,1)
INSERT #R VALUES (16,5,16,1)
INSERT #R VALUES (17,5,17,1)
INSERT #R VALUES (18,5,18,1)
INSERT #R VALUES (19,5,19,1)
INSERT #R VALUES (20,5,20,1)
INSERT #R VALUES (21,5,21,1)
INSERT #R VALUES (22,5,22,1)
INSERT #R VALUES (23,5,23,1)
INSERT #R VALUES (24,5,24,1)
INSERT #R VALUES (25,5,25,1)
INSERT #R VALUES (26,5,26,1)
INSERT #R VALUES (27,5,27,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 27
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (5,1,1,'Остаток просроченной задолженности на начало года  (стр. 011 + 012 + 013)                                                                                                                                                                                     ')
INSERT #F VALUES (5,2,1,'    в том числе:
    ведется досудебная претензионная работа                                                                                                                                                                                                 ')
INSERT #F VALUES (5,3,1,'   направлено на взыскание через суд                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,4,1,'    присуждено судом                                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,5,1,'    из них:
        находится на принудительном взыскании                                                                                                                                                                                                    ')
INSERT #F VALUES (5,6,1,'    находится в следственных органах                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,7,1,'    иная задолженность                                                                                                                                                                                                                                        ')
INSERT #F VALUES (5,8,1,'Отнесена к просроченной задолженности с начала года, всего (стр. 021 + 022 + 023)                                                                                                                                                                             ')
INSERT #F VALUES (5,9,1,'    в том числе:
    ведется досудебная претензионная работа                                                                                                                                                                                                 ')
INSERT #F VALUES (5,10,1,'    направлено на взыскание через суд                                                                                                                                                                                                                         ')
INSERT #F VALUES (5,11,1,'  присуждено судом                                                                                                                                                                                                                                            ')
INSERT #F VALUES (5,12,1,'    из них:      
       направлено на принудительное взыскание                                                                                                                                                                                              ')
INSERT #F VALUES (5,13,1,'   находится в следственных органах                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,14,1,'   иная задолженность                                                                                                                                                                                                                                         ')
INSERT #F VALUES (5,15,1,'Исполнено с начала года, всего                                                                                                                                                                                                                                ')
INSERT #F VALUES (5,16,1,'    из них:
    через принудительное взыскание                                                                                                                                                                                                               ')
INSERT #F VALUES (5,17,1,'Уточнено,с начала года, всего                                                                                                                                                                                                                                 ')
INSERT #F VALUES (5,18,1,'    из них:     
    переоценено                                                                                                                                                                                                                             ')
INSERT #F VALUES (5,19,1,'Списано на финансовый результат                                                                                                                                                                                                                               ')
INSERT #F VALUES (5,20,1,'    из них по невозобновляемым взысканиям                                                                                                                                                                                                                     ')
INSERT #F VALUES (5,21,1,'Остаток просроченной задолженности на конец отчетного периода (стр. 010 + 020 - 030 - 040); (стр. 051 + 052 + 053)                                                                                                                                            ')
INSERT #F VALUES (5,22,1,'    в том числе:
    ведется досудебная претензионная работа                                                                                                                                                                                                 ')
INSERT #F VALUES (5,23,1,'    направлено на взыскание через суд                                                                                                                                                                                                                         ')
INSERT #F VALUES (5,24,1,'    присуждено судом                                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,25,1,'    из них:    
        находится на принудительном взыскании                                                                                                                                                                                                ')
INSERT #F VALUES (5,26,1,'    находится в следственных органах                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,27,1,'    иная задолженность                                                                                                                                                                                                                                        ')
INSERT #F VALUES (5,1,2,'010                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,2,2,'011                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,3,2,'012                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,4,2,'013                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,5,2,'014                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,6,2,'015                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,7,2,'016                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,8,2,'020                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,9,2,'021                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,10,2,'022                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,11,2,'023                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,12,2,'024                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,13,2,'025                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,14,2,'026                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,15,2,'030                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,16,2,'031                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,17,2,'040                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,18,2,'041                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,19,2,'050                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,20,2,'051                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,21,2,'060                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,22,2,'061                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,23,2,'062                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,24,2,'063                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,25,2,'064                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,26,2,'065                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,27,2,'066                                                                                                                                                                                                                                                           ')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 54
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1Фильтр:Всего =  т.1Фильтр:не итоговые строки',1,0,1,'20130613','','','','0503769M_D','20160101','','=',0,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.1Фильтр:итого по счету =  т.1Фильтр:не итоги',1,0,1,'20130613','','','','0503769M_D','20160101','','=',0,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.2Фильтр:всего крупные сделки =  т.2Фильтр:не итоги',1,0,1,'20130613','','','','0503769M_D','20160101','','=',0,'','')
INSERT #A VALUES(4,NULL,0,NULL,4,7,0,0,0,'т.3Фильтр:всего крупные сделки =  т.3Фильтр:не итоги',1,0,1,'20130613','','','','0503769M_D','20160101','','=',0,'','')
INSERT #A VALUES(5,NULL,0,NULL,5,7,0,0,0,'|т.1гр.7| >= | т.4гр.2|',16,0,1,'20130613','','','','0503769M_D','20160101','','>=',0,'','')
INSERT #A VALUES(6,NULL,0,NULL,6,7,0,0,0,'т.1 =  0 Комментарий: Данный счет в форме не допустим.',0,0,1,'20130613','','','','0503769M_D','20160101','','=',0,'','Данный счет в форме не допустим.')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 6
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE=''88888888''','Всего','CODE','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE<>''88888888'' and SUBSTRING(CODE,4,5)<>''00000''','не итоговые строки','''88888888''','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE<>''88888888'' and SUBSTRING(CODE,4,5)=''00000''','итого по счету','CODE','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE<>''88888888'' and SUBSTRING(CODE,4,5)<>''00000''','не итоги','SUBSTRING(CODE,1,3) + ''00000''','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''88888888''','всего крупные сделки','CODE','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE <>  ''88888888''','не итоги','''88888888''','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''88888888''','всего крупные сделки','CODE','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE <>  ''88888888''','не итоги','''88888888''','','','','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE<>''88888888'' and SUBSTRING(CODE,4,5)<>''00000''','','CODE','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','1=1','','LEFT(CODE,8)','','','2','','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,4,1)<>''0'' and SUBSTRING(CODE,5,1)=''0''','','CODE','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 12
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '2         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'2','Месячные формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '447       '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'447','Отчеты АУ, БУ по приказу 33Н',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-19 14:45:41.477',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-19 14:45:41.477'
	BEGIN
		SELECT @vcMessage = 'Форма 0503769M_D с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503769M_D с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-19 14:45:41.477. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 21 2016  5:09:09:700PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503769M_K (Сведения по кредиторской задолженности учреждения)
-- Дата ввода : 20150101
-- Дата окончания действия : 20151231
-- Версия : 2016-03-21 17:09:09.700
-- Параметры выгрузки :
-- только обновить  REPORT_FORMS              : да

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503769M_K' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-21 17:09:09.700',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Обновление только REPORT_FORMS.
UPDATE dbo.[REPORT_FORMS]
SET [NAME]                = 'Сведения по кредиторской задолженности учреждения',
    [ExportCode]          = '369       ',
    [START_DATE]          = '20150101',
    [END_DATE]            = '20151231',
    [PERIODIC]            = 4,
    [ISSVOD]              = 1,
    [ISEXPORTED]          = 1,
    [ISUSERFORM]          = 1,
    [IsKonsolid]          = 0,
    [IS_AUTOFILL]         = 0,
    [PRINT_OBJECT_METHOD] = 'svodprint_new_gen()',
    [QUERY_ADD_MODULE]    = 'sv_0503769g_20121231.bas',
    [QUERY_BEFORE]        = '',
    [QUERY_REPMAKER]      = 'KirRepMakerMultiSheet.xls',
    [QUERY_REPORT]        = 'SV_0503769GK_20150101.XLT',
    [QUERY_REPORT_PATH]   = '',
    [DECRIPT_PROC]        = NULL,
    [EXPORT_PROC]         = 'RO_EXPORT_FORM_33#RA_IMPORT_FORM_769',
    [IsRemoteAccess]      = 0,
    [PARAM_EXPORT]        = NULL,
    [PARAM_IMPORT]        = NULL,
    [OBJECT]              = NULL,
    [ATRIBUTS]            = 'REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',
    [SvodProc]            = NULL,
    [COMMENT]             = '33н',
    [PRINT_OBJECT_METHOD_NEW] = NULL,
    [QUERY_BEFORE_PRINT_NEW]  = 'RO_PRINT_769_2015',
    [QUERY_REPORT_NEW]        = '',
    [IS_CALC]        = 1
WHERE [LINK_FORM] = @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-21 17:09:09.700',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-21 17:09:09.700'
	BEGIN
		SELECT @vcMessage = 'Форма 0503769M_K с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503769M_K с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-21 17:09:09.700. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар 19 2016  2:45:41:690PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503769M_K (Сведения по кредиторской задолженности учреждения)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-03-19 14:45:41.690
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503769M_K' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-19 14:45:41.690',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503769M_K',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503769M_K'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Сведения по кредиторской задолженности учреждения',@vcNEW_FORM_CODE,@dNEW_START_DATE,4,1,1,1,18186,'RO_EXPORT_FORM_33#RA_IMPORT_FORM_769_16',0,0,'19000101',NULL,'33н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'svodprint_new_gen()','sv_0503769g_20160101.bas','','KirRepMakerMultiSheet.xls','SV_0503769GK_20160101.XLT','',NULL,'RO_EXPORT_FORM_33#RA_IMPORT_FORM_769_16',0,NULL,NULL,NULL,'369       ','REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',NULL,NULL,'RO_PRINT_769_2016|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Сведения по кредиторской задолженности', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,1,1,0,0,8,1,'R_SPR_ACC_769_DK','COL1','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма задолженности, руб.- на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма задолженности, руб. - на начало года - долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб.- на начало года - Просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Суммма задолженности, руб. - на конец отчетного периода - долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - Просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Сведения по кредиторской задолженности', @iLINK_FORM,1, @iLINK_CODE_COL,1,'CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503769G_K'',1,''20121231'')',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Итого по коду счета - крупные сделки', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,1,1,1,0,8,1,'R_SPR_ACC_769_KK','COL1','CODE',NULL,6,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма задолженности, руб.- на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма задолженности, руб.- на начало года - долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - Просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности, руб. - на конец отчетного периода - долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Суммма задолженности, руб. - на конец отчетного периода - Просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Итого по коду счета - крупные сделки', @iLINK_FORM,2, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Итого по коду счета - сделки с заинтересованностью', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,1,1,1,0,8,1,'R_SPR_ACC_769_KK','COL1','CODE',NULL,6,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма задолженности, руб.- на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма задолженности, руб.- на начало года - долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - Просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности, руб. - на конец отчетного периода - долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Суммма задолженности, руб. - на конец отчетного периода - Просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,0,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Итого по коду счета - сделки с заинтересованностью', @iLINK_FORM,3, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Сведения о просроченной задолженности', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_ACC_769_DK','COL1','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма, руб.',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Дата - вознеикновения',@iLINK_TABLE,1,1,3,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Дата - исполнения по правовому основанию',@iLINK_TABLE,1,1,4,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Дебитор (кредитор) - ИНН',@iLINK_TABLE,1,1,5,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Дебитор (кредитор) - наименование',@iLINK_TABLE,1,1,6,0,2000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Причины образования - Код',@iLINK_TABLE,1,1,7,0,5,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Причины образования - наименование',@iLINK_TABLE,1,1,8,0,8000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Сведения о просроченной задолженности', @iLINK_FORM,4, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),8,''0'')+PADR(RTRIM(COL3),4,''0'')+PADR(RTRIM(COL4),10,'' '')
KEY_WEB=LEFT(RTRIM(isnull(COL1,''''))+''00000000000000'',8)+LEFT(RTRIM(isnull(COL3,''''))+''    '',4)+LEFT(RTRIM(isnull(COL4,''''))+''          '',10)
SPLIT=COL1=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',1,8)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''                        '',9,4)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''                                                 '',13,10)



',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Аналит. инф. о движении просроченной задолженности', @iLINK_FORM,5
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование  показателя',@iLINK_TABLE,0,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма - всего',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма-в том числе: по доходам',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма-в том числе: по по расходам',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Аналит. инф. о движении просроченной задолженности', @iLINK_FORM,5, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,5,1,1)
INSERT #R VALUES (2,5,2,1)
INSERT #R VALUES (3,5,3,1)
INSERT #R VALUES (4,5,4,1)
INSERT #R VALUES (5,5,5,1)
INSERT #R VALUES (6,5,6,1)
INSERT #R VALUES (7,5,7,1)
INSERT #R VALUES (8,5,8,1)
INSERT #R VALUES (9,5,9,1)
INSERT #R VALUES (10,5,10,1)
INSERT #R VALUES (11,5,11,1)
INSERT #R VALUES (12,5,12,1)
INSERT #R VALUES (13,5,13,1)
INSERT #R VALUES (14,5,14,1)
INSERT #R VALUES (15,5,15,1)
INSERT #R VALUES (16,5,16,1)
INSERT #R VALUES (17,5,17,1)
INSERT #R VALUES (18,5,18,1)
INSERT #R VALUES (19,5,19,1)
INSERT #R VALUES (20,5,20,1)
INSERT #R VALUES (21,5,21,1)
INSERT #R VALUES (22,5,22,1)
INSERT #R VALUES (23,5,23,1)
INSERT #R VALUES (24,5,24,1)
INSERT #R VALUES (25,5,25,1)
INSERT #R VALUES (26,5,26,1)
INSERT #R VALUES (27,5,27,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 27
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (5,1,1,'Остаток просроченной задолженности на начало года  (стр. 011 + 012 + 013)                                                                                                                                                                                     ')
INSERT #F VALUES (5,2,1,'    в том числе:
    ведется досудебная претензионная работа                                                                                                                                                                                                 ')
INSERT #F VALUES (5,3,1,'   направлено на взыскание через суд                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,4,1,'    присуждено судом                                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,5,1,'    из них:
        находится на принудительном взыскании                                                                                                                                                                                                    ')
INSERT #F VALUES (5,6,1,'    находится в следственных органах                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,7,1,'    иная задолженность                                                                                                                                                                                                                                        ')
INSERT #F VALUES (5,8,1,'Отнесена к просроченной задолженности с начала года, всего (стр. 021 + 022 + 023)                                                                                                                                                                             ')
INSERT #F VALUES (5,9,1,'    в том числе:
    ведется досудебная претензионная работа                                                                                                                                                                                                 ')
INSERT #F VALUES (5,10,1,'    направлено на взыскание через суд                                                                                                                                                                                                                         ')
INSERT #F VALUES (5,11,1,'  присуждено судом                                                                                                                                                                                                                                            ')
INSERT #F VALUES (5,12,1,'    из них:      
       направлено на принудительное взыскание                                                                                                                                                                                              ')
INSERT #F VALUES (5,13,1,'   находится в следственных органах                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,14,1,'   иная задолженность                                                                                                                                                                                                                                         ')
INSERT #F VALUES (5,15,1,'Исполнено с начала года, всего                                                                                                                                                                                                                                ')
INSERT #F VALUES (5,16,1,'    из них:
    через принудительное взыскание                                                                                                                                                                                                               ')
INSERT #F VALUES (5,17,1,'Уточнено,с начала года, всего                                                                                                                                                                                                                                 ')
INSERT #F VALUES (5,18,1,'    из них:     
    переоценено                                                                                                                                                                                                                             ')
INSERT #F VALUES (5,19,1,'Списано на финансовый результат                                                                                                                                                                                                                               ')
INSERT #F VALUES (5,20,1,'    из них по невозобновляемым взысканиям                                                                                                                                                                                                                     ')
INSERT #F VALUES (5,21,1,'Остаток просроченной задолженности на конец отчетного периода (стр. 010 + 020 - 030 - 040); (стр. 051 + 052 + 053)                                                                                                                                            ')
INSERT #F VALUES (5,22,1,'    в том числе:
    ведется досудебная претензионная работа                                                                                                                                                                                                 ')
INSERT #F VALUES (5,23,1,'    направлено на взыскание через суд                                                                                                                                                                                                                         ')
INSERT #F VALUES (5,24,1,'    присуждено судом                                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,25,1,'    из них:    
        находится на принудительном взыскании                                                                                                                                                                                                ')
INSERT #F VALUES (5,26,1,'    находится в следственных органах                                                                                                                                                                                                                          ')
INSERT #F VALUES (5,27,1,'    иная задолженность                                                                                                                                                                                                                                        ')
INSERT #F VALUES (5,1,2,'010                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,2,2,'011                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,3,2,'012                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,4,2,'013                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,5,2,'014                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,6,2,'015                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,7,2,'016                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,8,2,'020                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,9,2,'021                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,10,2,'022                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,11,2,'023                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,12,2,'024                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,13,2,'025                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,14,2,'026                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,15,2,'030                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,16,2,'031                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,17,2,'040                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,18,2,'041                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,19,2,'050                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,20,2,'051                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,21,2,'060                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,22,2,'061                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,23,2,'062                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,24,2,'063                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,25,2,'064                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,26,2,'065                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,27,2,'066                                                                                                                                                                                                                                                           ')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 54
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1Фильтр:Всего =  т.1Фильтр:не итоговые строки',1,0,1,'20130613','','','','0503769M_K','20160101','','=',0,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.1Фильтр:итого по счету =  т.1Фильтр:не итоги',1,0,1,'20130613','','','','0503769M_K','20160101','','=',0,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.2Фильтр:всего крупные сделки =  т.2Фильтр:не итоги',1,0,1,'20130613','','','','0503769M_K','20160101','','=',0,'','')
INSERT #A VALUES(4,NULL,0,NULL,4,7,0,0,0,'т.3Фильтр:всего крупные сделки =  т.3Фильтр:не итоги',1,0,1,'20130613','','','','0503769M_K','20160101','','=',0,'','')
INSERT #A VALUES(5,NULL,0,NULL,5,7,0,0,0,'|т.1гр.5| >= | т.4гр.2|',16,0,1,'20130613','','','','0503769M_K','20160101','','>=',0,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 5
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE=''88888888''','Всего','CODE','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE<>''88888888'' and SUBSTRING(CODE,4,5)<>''00000''','не итоговые строки','''88888888''','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE<>''88888888'' and SUBSTRING(CODE,4,5)=''00000''','итого по счету','CODE','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE<>''88888888'' and SUBSTRING(CODE,4,5)<>''00000''','не итоги','SUBSTRING(CODE,1,3) + ''00000''','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''88888888''','всего крупные сделки','CODE','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE <>  ''88888888''','не итоги','''88888888''','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''88888888''','всего крупные сделки','CODE','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE <>  ''88888888''','не итоги','''88888888''','','','','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE<>''88888888'' and SUBSTRING(CODE,4,5)<>''00000''','','CODE','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','1=1','','LEFT(CODE,8)','','','2','','4',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 10
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '2         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'2','Месячные формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-19 14:45:41.690',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-19 14:45:41.690'
	BEGIN
		SELECT @vcMessage = 'Форма 0503769M_K с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503769M_K с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-19 14:45:41.690. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO

--PROC, VIEW, FUNC 30.03.2016
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[EXPORT_FORMATS_ALL_PHIS]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[EXPORT_FORMATS_ALL_PHIS]

GO

CREATE VIEW dbo.EXPORT_FORMATS_ALL_PHIS
AS
SELECT FNAME = 'Формат 1.00 (от 01.03.2016)', PROC_NAME = 'ALL_PHIS_EXPORT', PRG_SKRIPT = '',DIR = 'Bank', TEST_PROC = ''
--UNION All 
--SELECT FNAME = 'Формат 2.00 (от 01.03.2016)', PROC_NAME = 'ALL_PHIS_EXPORT_v2', PRG_SKRIPT = '',DIR = 'Bank', TEST_PROC = 'ALL_PHIS_EXPORT_TEST_v2'




GO


GRANT SELECT ON dbo.[EXPORT_FORMATS_ALL_PHIS] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_GetAcctFullCode1]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[BK_GetAcctFullCode1]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE	FUNCTION dbo.BK_GetAcctFullCode1 (
	@varKSLINK_ACCT	INT,
	@varKSLINK_KBK	INT,
	@varKSLINK_SGU	INT,
	@varKS_ACCT_CODE_WITH_KBK	TINYINT = 0,
	@varKS_ACCT_CODE_WITH_SGU	TINYINT = 0,
	@dDATE	DATETIME	=	NULL)	


RETURNS VARCHAR (60)

AS 
BEGIN
	DECLARE
		@varKScRET VARCHAR (60),
		@varKSPART1 VARCHAR (40),
		@varKSPART3 VARCHAR (3),
		@dDATE_CONST	DATETIME

	SET @dDATE_CONST = '20160101'

	SET @dDATE = ISNULL (@dDATE, @dDATE_CONST)

	SELECT
		@varKScRET = RTRIM (CODE)
	FROM dbo.S_ACCOUNTS
	WHERE LINK = @varKSLINK_ACCT

	/* -- СЧЕТ С КБК -- */
	IF ISNULL (@varKS_ACCT_CODE_WITH_KBK, 0) = 1
	BEGIN
		SELECT
			@varKSPART1 = RTRIM (CODE)
		FROM dbo.KL_KBK
		WHERE LINK = @varKSLINK_KBK
		
		IF @dDATE >= @dDATE_CONST AND @varKSPART1 IS NOT NULL
			SET @varKSPART1 = SUBSTRING (@varKSPART1, 5, 40)
	
		SET @varKScRET = ISNULL (@varKSPART1, '00000000000000000') + '.' + @varKScRET
	END

	/* -- СЧЕТ С КОСГУ -- */
	IF ISNULL (@varKS_ACCT_CODE_WITH_SGU, 0) = 1
	BEGIN
		SELECT @varKSPART3 = RTRIM (CODE) FROM dbo.KOSGU WHERE LINK = @varKSLINK_SGU
		SET @varKScRET = @varKScRET + '.' + ISNULL (@varKSPART3, '000')
	END

	RETURN @varKScRET
END


GO


GRANT EXECUTE ON dbo.[BK_GetAcctFullCode1] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[DOCUMENTS_DED_OTHER_TABLE]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[DOCUMENTS_DED_OTHER_TABLE]

GO

CREATE VIEW dbo.DOCUMENTS_DED_OTHER_TABLE
AS

SELECT
	[LINK]		= SD.LINK_UP,
	[ORDERS]	= SD.ORDERS,
	[CODE_DED]	= P.CODE,
	[NAME_DED]	= P.[NAME],
	[REF_DED]	= SD.LINK_PAY,
	[LINK_VKR]	= SD.LINK_VKR,
	[NAME_VKR]	= F.CODE,
	[LINK_EKR]	= SD.LINK_EKR,
	[NAME_EKR]	= G.CODE,
	[SUMMA_BASE]	= SD.SUMMA_BASE,
	[PERCENT]	= SD.PERC,
	[SUMMA]		= SUM(SD.SUMMA),
	[SKIDKA] = SUM(ISNULL(S.SUMMA,0)),
	[VYCHET] = SUM(ISNULL(S2.SUMMA,0)),
	[LINK_VKR2]	= SD.LINK_VKR2,
	[NAME_VKR2]	= F2.CODE
FROM 	
	dbo.SDOC_DOT_TABLE SD 
	INNER JOIN dbo.PAYS P ON SD.LINK_PAY = P.LINK
	INNER JOIN dbo.SAL_SFIN	F ON F.LINK = SD.LINK_VKR
	INNER JOIN dbo.KOSGU G ON G.LINK = SD.LINK_EKR
	LEFT JOIN dbo.SAL_SFIN	F2 ON F2.LINK = SD.LINK_VKR2
	LEFT JOIN 
	(  	SELECT 
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT], SUMMA = SUM(SUMMA)
		FROM
			dbo.SDOC_DOT_SKIDKI
		GROUP BY
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT]	
	) S ON S.LINK_UP = SD.LINK_UP AND S.LINK_TAX = SD.LINK_PAY AND S.LINK_VKR = SD.LINK_VKR AND S.LINK_VKR2 = SD.LINK_VKR2 AND S.LINK_EKR = SD.LINK_EKR AND S.[PERCENT] = SD.PERC
	LEFT JOIN 
	(  	SELECT 
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT], SUMMA = SUM(SUMMA)
		FROM
			dbo.SDOC_DOT_VYCHET
		GROUP BY
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT]	
	) S2 ON S2.LINK_UP = SD.LINK_UP AND S2.LINK_TAX = SD.LINK_PAY AND S2.LINK_VKR = SD.LINK_VKR AND S2.LINK_VKR2 = SD.LINK_VKR2 AND S.LINK_EKR = SD.LINK_EKR  AND S2.[PERCENT] = SD.PERC
GROUP BY
	SD.LINK_UP,
	SD.ORDERS,
	P.CODE,
	P.[NAME],
	SD.LINK_PAY,
	SD.LINK_VKR,
	F.CODE,
	SD.LINK_EKR,	
	G.CODE,	
	SD.SUMMA_BASE,
	SD.PERC,
	SD.LINK_VKR2,
	F2.CODE	


GO


GRANT SELECT ON dbo.[DOCUMENTS_DED_OTHER_TABLE] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SDOC_DOT_VYCHET_FIO]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SDOC_DOT_VYCHET_FIO]

GO

CREATE VIEW dbo.SDOC_DOT_VYCHET_FIO
AS
SELECT 
	LINK = LINK_UP,
	ORDERS = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	LINK_TAX,
	LINK_DED,
	CODE_DED = D.SNAME,
	S.LINK_PERS,
	FIO = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	S.LINK_VKR,
	CODE_S_FIN = F.CODE,
	S.LINK_VKR2,
	S.LINK_EKR,
	CODE_EKR = G.CODE,
	S.[PERCENT],
	S.SUMMA
FROM 
	[dbo].[SDOC_DOT_VYCHET] S
	INNER JOIN dbo.PERSON P ON P.LINK = S.LINK_PERS
	INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION D ON D.LINK = S.LINK_DED
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = S.LINK_VKR
	INNER JOIN dbo.KOSGU G ON G.LINK = S.LINK_EKR



GO


GRANT SELECT ON dbo.[SDOC_DOT_VYCHET_FIO] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[S_J_C_Short]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[S_J_C_Short]

GO

CREATE    VIEW dbo.S_J_C_Short

AS
SELECT
[LINK]			= JC.LINK,
[LINK_EMPL] 	=JC.LINK_EMPL,
LINK_SOVM		= COALESCE(JC.LINK_SOVM,0),	
[LINK_FACE] 	= E.PERS_LINK,
[LINK_PAYS]		= P.LINK,
[CODE_PAYS]		= P.CODE,
[NAME_PAYS]		= P.NAME,
[TYP_PER]		= P.TYP_PER,
[F14]				= P.F14,
[WAY_CALC] 		= P.WAY_CALC,
[MONTH_BEGIN]	= MONTH(JC.PERIOD_BEGIN),
[YEAR_BEGIN]	= YEAR(JC.PERIOD_BEGIN),
[PERIOD_BEGIN]	= JC.PERIOD_BEGIN,
[MONTH_END] 	= MONTH(PERIOD_END),
[YEAR_END]		= YEAR(PERIOD_END),
[PERIOD_END] 	= JC.PERIOD_END,
[HOURS]			= JC.HOURS,
[DAYS]			= JC.DAYS,
[SUMMA_BASE]	= JC.SUMMA_BASE,
[SUMMA]			= JC.SUMMA,
[LINK_DOC]		= JC.LINK_DOC,
[ORDERS]		= JC.ORDERS,
[DATE1]			= JC.DATE_BEGIN,
[DATE2]			= JC.DATE_END,
[LINK_INC] 		= P.LINK_INC,
[TYP_OPER]  	= P.OBJECT,
[LINK_VKR] 		= JC.LINK_VKR,
[LINK_EKR] 		= COALESCE(JC.LINK_EKR,P.LINK_EKR),
[LINK_ORG]		= JC.LINK_ORG,
[PERS_LINK]		= JC.PERS_LINK,
[LINK_DEP]		= JC.LINK_DEP,
[LINK_VKR2] 		= JC.LINK_VKR2	
FROM dbo.CALCULATE_JURNAL JC LEFT JOIN dbo.EMPL E 	ON JC.LINK_EMPL = E.LINK ----AND E.DEP_LINK = dbo.GetUserDepLink()
LEFT JOIN  PAYS P ON JC.LINK_PAYS = P.LINK



GO


GRANT SELECT ON dbo.[S_J_C_Short] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RB_VIEW_ATR_TYPE_KORR]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[RB_VIEW_ATR_TYPE_KORR]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 2010

*******************************************************************************/

CREATE VIEW dbo.[RB_VIEW_ATR_TYPE_KORR]
AS
select 1 as link, 'исхд' as code
union
select 2 as link, 'доп' as code
UNION 
SELECT 3 AS link, 'отмн' AS code



GO


GRANT SELECT ON dbo.[RB_VIEW_ATR_TYPE_KORR] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_VIEW_EXPORT_FORMAT_NALOG_FN]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[BK_VIEW_EXPORT_FORMAT_NALOG_FN]

GO
CREATE FUNCTION dbo.BK_VIEW_EXPORT_FORMAT_NALOG_FN (@YEAR INT = NULL)
RETURNS TABLE

RETURN

	-- Форматы для налога на прибыль --
	SELECT FORM_CODE = 'ND_NP',
		FNAME = 'Формат 5.02 (с 01.01.2009 г.)', PROC_NAME = 'BK_EXPORT_F1151006',
		PRG_SKRIPT = CONVERT(VARCHAR(100),''),
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR < 2011

	UNION ALL

	SELECT FORM_CODE = 'ND_NP',
		FNAME = 'Формат 5.03 (с 01.01.2011 г.)', PROC_NAME = 'BK_EXPORT_F1151006_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR BETWEEN 2011 AND 2013

	UNION ALL

	SELECT FORM_CODE = 'ND_NP',
		FNAME = 'Формат 5.05 (с 01.12.2013 г.)', PROC_NAME = 'BK_EXPORT_F1151006_505',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR >= 2013

	UNION ALL
	-- Форматы для транспортного налога --
	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 4.01 (с 01.01.2007 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152027'
	WHERE @YEAR < 2012	

	UNION ALL

	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 5.01 (с 01.01.2012 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004_501',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR = 2012

	UNION ALL

	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 5.02 (с 01.01.2013 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004_502',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR = 2013
	
	UNION ALL

	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 5.03 (с 01.01.2015 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR >= 2014

	UNION ALL

	SELECT FORM_CODE = 'AV_TN',
		FNAME = 'Формат 4.01 (с 01.01.2007 г.)', PROC_NAME = 'BK_EXPORT_F1152027',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152027'

	UNION ALL

	--- Форматы для налога на имущество ---
	SELECT FORM_CODE = 'AV_F1152028',
		FNAME = 'Формат 5.00 (с 01.01.2008 г.)',
		PROC_NAME = 'BK_EXPORT_F1152028',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152028'
	UNION ALL
	SELECT FORM_CODE = 'AV_ASS',
		FNAME = 'Формат 5.00 (с 01.01.2008 г.)',
		PROC_NAME = 'BK_EXPORT_F1152026',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152028'
	UNION ALL
	-- Форматы с 01.01.2012 --
	SELECT FORM_CODE = 'ND_IMU',
		FNAME = 'Формат 5.02 (с 01.01.2012 г.)',
		PROC_NAME = 'BK_EXPORT_F1152026_502',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	WHERE @YEAR < 2013
	UNION ALL
	SELECT FORM_CODE = 'AV_IMU',
		FNAME = 'Формат 5.02 (с 01.01.2012 г.)',
		PROC_NAME = 'BK_EXPORT_F1152028_502',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	WHERE @YEAR < 2014		
	UNION ALL
	-- Форматы с 01.01.2013 --
	SELECT FORM_CODE = 'ND_IMU',
		FNAME = 'Формат 5.03 (с 01.01.2013 г.)',
		PROC_NAME = 'BK_EXPORT_F1152026_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	UNION ALL
	SELECT FORM_CODE = 'AV_IMU',
		FNAME = 'Формат 5.03 (с 01.01.2014 г.)',
		PROC_NAME = 'BK_EXPORT_F1152028_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	WHERE @YEAR >= 2014		

	UNION ALL
	-- Форматы для 4ФСС --
	SELECT FORM_CODE = '4FSS',
		FNAME = 'формат, утвержденный приказом Минздравсоцразвития России от 06.11.2009 n 871н', PROC_NAME = 'SA_4FSS_EXPORT',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR <= 2010	
	UNION ALL	
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.3 (Приказ №19 от 12.02.2010 в ред. от 21.03.2011 (№53)', PROC_NAME = 'SA_4FSS_EXPORT_v03',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2011
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.4 (Приказ № от 22.11.2011)', PROC_NAME = 'SA_4FSS_EXPORT_v04',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2012
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.5 (Приказ №107н от 19.03.2013)', PROC_NAME = 'SA_4FSS_EXPORT_v05',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2013	
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.6 (Приказ №107н от 19.03.2013 в ред. от 11.02.2014 № 94н)', PROC_NAME = 'SA_4FSS_EXPORT_v05',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2014	
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.7 (Приказ ФСС №59 от 26.02.2015)', PROC_NAME = 'SA_4FSS_EXPORT_v07',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR >= 2015	
	UNION ALL
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (2011)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2011',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR = 2011	
	UNION ALL	
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (от 15.03.2012 г. №232н)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2012',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR = 2012			
	UNION ALL	
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (от 15.03.2012 г. №232н)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2013',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR = 2013
	UNION ALL	
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (от 03.03.2014 г. №25п)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2014',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR >= 2014	
	UNION ALL
	-- Формат выгрузки П-2 (краткая) --
	SELECT FORM_CODE = '0617005',
		FNAME = 'Формат выгрузки формы П-2 (краткая) для Росстата', PROC_NAME = 'BK_EXPORT_F0617005',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''

	UNION ALL
	-- Формат выгрузки П-2 (квартальная) --
	SELECT FORM_CODE = '0617004',
		FNAME = 'Формат выгрузки формы П-2 (квартальная) для Росстата', PROC_NAME = 'BK_EXPORT_F0617004',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- П-2 кв. с 01.01.2011 --
	SELECT FORM_CODE = '0617004_11',
		FNAME = 'Формат выгрузки формы П-2 (квартальная) для Росстата', PROC_NAME = 'BK_EXPORT_F0617004_11',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''

	-- Формат выгрузки П-2 ИНВ (годовая) --
	UNION ALL
	SELECT FORM_CODE = 'П2_ИНВ',
		FNAME = 'Формат выгрузки формы П-2(ИНВ) для Росстата', PROC_NAME = 'BK_EXPORT_F0617010',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE @YEAR < 2012	

	UNION ALL
	SELECT FORM_CODE = 'П2_ИНВ',
		FNAME = 'Формат выгрузки формы П-2(ИНВ) для Росстата', PROC_NAME = 'BK_EXPORT_F0617010_2012',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE @YEAR >= 2012	

	UNION ALL
	-- Формат выгрузки П-4 --
	SELECT FORM_CODE = '0606010',
		FNAME = 'Формат выгрузки формы П-4 для Росстата', PROC_NAME = 'SK_EXPORT_F0606010',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE
		@YEAR <= 2012	
	UNION ALL
	-- Формат выгрузки П-4 c 01.01.2013 --
	SELECT FORM_CODE = '0606010',
		FNAME = 'Формат выгрузки формы П-4 для Росстата', PROC_NAME = 'SK_EXPORT_F0606010_13',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE
		@YEAR >= 2013		


	UNION ALL
	-- Формат выгрузки 1-ГС --
	SELECT FORM_CODE = '1GS',
		FNAME = 'Формат выгрузки формы 1-ГС для Росстата', PROC_NAME = 'KJ_EXPORT_1GS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 2-ГС --
	SELECT FORM_CODE = '2GS_GZ',
		FNAME = 'Формат выгрузки формы 2-ГС для Росстата', PROC_NAME = 'KJ_EXPORT_2GS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-МС --
	SELECT FORM_CODE = '1MS',
		FNAME = 'Формат выгрузки формы 1-МС для Росстата', PROC_NAME = 'KJ_EXPORT_1MS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 2-МС --
	SELECT FORM_CODE = '2MS',
		FNAME = 'Формат выгрузки формы 2-МС для Росстата', PROC_NAME = 'KJ_EXPORT_2MS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-Т(ГМС) --
	SELECT FORM_CODE = '1T_GMS',
		FNAME = 'Формат выгрузки формы 1-Т(ГМС) для Росстата', PROC_NAME = 'KJ_EXPORT_1T_GMS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-торги (квартальная) --
	SELECT FORM_CODE = '0607006',
		FNAME = 'Формат выгрузки формы 1-торги для Росстата', PROC_NAME = 'BK_EXPORT_F0607006',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-торги (квартальная) --
	SELECT FORM_CODE = '1_ТОРГИ',
		FNAME = 'Формат выгрузки формы 1-торги для Росстата', PROC_NAME = 'BK_EXPORT_F0607006_11',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 11 краткая (годовая) --
	SELECT FORM_CODE = '0602002',
		FNAME = 'Формат выгрузки формы 11-краткая для Росстата', PROC_NAME = 'BK_EXPORT_F0602002',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''

	UNION ALL
	SELECT FORM_CODE = 'КРАТ_11',
		FNAME = 'Формат выгрузки формы 11-краткая для Росстата', PROC_NAME = 'BK_EXPORT_F0602002_2012',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE
		@YEAR >= 2012		
	
	-- Выгрузка АХД (МЗ 2013) --		
	UNION ALL
	SELECT
		FORM_CODE = 'AHD_EXPORT_REST',
		FNAME = 'Формат 1.00 (с 01.09.2013 г.)',
		PROC_NAME = 'BK_EXPORT_AHD_REST',
		PRG_SKRIPT = '',
		DIR = 'AHD',
		TEST_PROC = ''

	UNION ALL
	SELECT
		FORM_CODE = 'AHD_EXPORT_PROV',
		FNAME = 'Формат 1.00 (с 01.09.2013 г.)',
		PROC_NAME = 'BK_EXPORT_AHD_PROV',
		PRG_SKRIPT = '',
		DIR = 'AHD',
		TEST_PROC = ''
	

	-- Выгрузка данных об ОС --		
	UNION ALL
	SELECT
		FORM_CODE = 'EOD_EXPORT_INV1',
		FNAME = 'Формат 1.00 (с 01.01.2013 г.)',
		PROC_NAME = 'BK_EXPORT_INV1',
		PRG_SKRIPT = '',
		DIR = 'AHD',
		TEST_PROC = ''

	-- Выгрузка 6-НДФЛ --		
	UNION ALL
	SELECT
		FORM_CODE = '6-НДФЛ',
		FNAME = 'Формат 5.01 (приказ ФНС N ММВ-7-11/450@ от 14.10.2015 г.)',
		PROC_NAME = 'SA_6NDFL_EXPORT_v5_01',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''--'SA_6NDFL_EXPORT_TEST'
	-- Выгрузка СЗВ-М --		
	UNION ALL
	SELECT
		FORM_CODE = 'СЗВ-М',
		FNAME = 'Формат 2.40 (от 04.03.2016 г.)',
		PROC_NAME = 'SA_SZVM_EXPORT_v2_40',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = ''--'SA_SZVM_EXPORT_TEST'
		







GO


GRANT SELECT ON dbo.[BK_VIEW_EXPORT_FORMAT_NALOG_FN] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_RASH_128_2016]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_RASH_128_2016]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 02.02.2016

	справочник Автозаполняемый справочник для формы 0503128G - Расходы (сгенерировано Редактором справочников)
select * from R_SPR_RASH_128_2016
*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_RASH_128_2016]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],Code_str as [CODE_STR],max(isnull(Long_Name,Name)) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_RASH_128_2016' GROUP BY Code,Code_str, begin_date, end_date


GO


GRANT SELECT ON dbo.[R_SPR_RASH_128_2016] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PrintDocProv]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[BK_PrintDocProv]

GO

CREATE	FUNCTION dbo.BK_PrintDocProv (
	@varKSLINK_DOC	INT = NULL,
	@varKSPRN_SPRAV	TINYINT = 0
	)
--	Если @varKSPRN_SPRAV = 0, то настройки документа,
--		иначе настройки бух. справки
RETURNS @TABLE_RES TABLE
	([LINK_G]	[INT],
	[LINK_G1]	[INT],
	[LINK_G2]	[INT],
	XOZ_OPER	INT,
	[NAME_OPER]	[VARCHAR] (254),
	[SUMMA]		[NUMERIC] (28,4),
	[QTY]		[NUMERIC] (28,4),
	[ORDERS_G1]	[INT],
	[ORDERS_G2]	[INT],
	[ACCT_DB]	[INT],
	[ACCT_KT]	[INT],
	[ACCT_CD_D]	[VARCHAR] (60),
	[ACCT_CD_K]	[VARCHAR] (60),
	[SA_CODE_D]	[VARCHAR] (20),
	[SA_CODE_K]	[VARCHAR] (20)
	)
AS 
BEGIN
	DECLARE @intPrintAll TINYINT,
		@intPrintKBK TINYINT,
		@intPrintSGU TINYINT

	SELECT @intPrintAll = dbo.XK_GET_NASTR_INT ('XD_DOC_NASTR_OPTIONS_ALL_PRINT')

	-- Общая настройка на все документы -- 
	IF @intPrintAll = 1
	BEGIN
		SELECT @intPrintKBK = dbo.XK_GET_NASTR_INT ('XD_DOC_NASTR_OPTIONS_KBK_PRINT'),
			@intPrintSGU = dbo.XK_GET_NASTR_INT ('XD_DOC_NASTR_OPTIONS_SGU_PRINT')

		INSERT INTO @TABLE_RES
		SELECT
			G.LINK,
			G1.LINK,
			G2.LINK,
			G2.ECON_OPER,
			CASE 
				WHEN ISNULL (G2.[NAME], '') = '' THEN ISNULL (G1.NAME_OPER, '')
				ELSE G2.[NAME]
			END,
			G2.SUMMA,
			CASE
				WHEN SA_DB.KSU = 1 OR SA_KT.KSU = 1 THEN G2.QUANTITY
				ELSE 0
			END,
			G1.ORDERS,
			G2.ORDERS,
			GAP_DB.ACCOUNT,	
			GAP_KT.ACCOUNT,
			dbo.BK_GetAcctFullCode1 (GAP_DB.ACCOUNT, GAP_DB.KBK, GAP_DB.SGU,
				@intPrintKBK, @intPrintSGU, G.[DATE]),
			dbo.BK_GetAcctFullCode1 (GAP_KT.ACCOUNT, GAP_KT.KBK, GAP_KT.SGU,
				@intPrintKBK, @intPrintSGU, G.[DATE]),
			SA_DB.CODE,
			SA_KT.CODE
		FROM dbo.G_PROV G
		INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = G.LINK)
		INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
		LEFT OUTER JOIN dbo.G_PROV_AP GAP_DB ON (GAP_DB.LINK_UP = G2.LINK
			AND GAP_DB.DB_KR = 0)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA_DB ON (SA_DB.LINK = GAP_DB.ACCOUNT)
		LEFT OUTER JOIN dbo.G_PROV_AP GAP_KT ON (GAP_KT.LINK_UP = G2.LINK
			AND GAP_KT.DB_KR = 1)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA_KT ON (SA_KT.LINK = GAP_KT.ACCOUNT)
		WHERE @varKSLINK_DOC IS NULL
			OR G.LINK = @varKSLINK_DOC
	END
	ELSE
	BEGIN
		INSERT INTO @TABLE_RES
		SELECT G.LINK,
			G1.LINK,
			G2.LINK,
			G2.ECON_OPER,
			CASE 
				WHEN ISNULL (G2.[NAME], '') = '' THEN ISNULL (G1.NAME_OPER, '')
				ELSE G2.[NAME]
			END,
			G2.SUMMA,
			CASE
				WHEN SA_DB.KSU = 1 OR SA_KT.KSU = 1 THEN G2.QUANTITY
				ELSE 0
			END,
			G1.ORDERS,
			G2.ORDERS,
			GAP_DB.ACCOUNT,	
			GAP_KT.ACCOUNT,
			CASE 
				WHEN @varKSPRN_SPRAV = 0 OR (SO.CODE = 'DOCUMENTS_OPER' OR SO.CODE = 'DOCUMENTS_ZB_OPER')
					THEN	dbo.BK_GetAcctFullCode1 (GAP_DB.ACCOUNT, GAP_DB.KBK, GAP_DB.SGU,
								NASTR_DOC.PRINT_KBK, NASTR_DOC.PRINT_SGU, G.[DATE])
					ELSE	dbo.BK_GetAcctFullCode1 (GAP_DB.ACCOUNT, GAP_DB.KBK, GAP_DB.SGU,
								NASTR_SPR.PRINT_KBK, NASTR_SPR.PRINT_SGU, G.[DATE])
			END,
			CASE 
				WHEN @varKSPRN_SPRAV = 0 OR (SO.CODE = 'DOCUMENTS_OPER' OR SO.CODE = 'DOCUMENTS_ZB_OPER')
					THEN	dbo.BK_GetAcctFullCode1 (GAP_KT.ACCOUNT, GAP_KT.KBK, GAP_KT.SGU,
								NASTR_DOC.PRINT_KBK, NASTR_DOC.PRINT_SGU, G.[DATE])
					ELSE	dbo.BK_GetAcctFullCode1 (GAP_KT.ACCOUNT, GAP_KT.KBK, GAP_KT.SGU,
								NASTR_SPR.PRINT_KBK, NASTR_SPR.PRINT_SGU, G.[DATE])
			END,
			SA_DB.CODE,
			SA_KT.CODE
		FROM dbo.G_PROV G
		INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = G.LINK)
		INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
		LEFT OUTER JOIN dbo.G_PROV_AP GAP_DB ON (GAP_DB.LINK_UP = G2.LINK
			AND GAP_DB.DB_KR = 0)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA_DB ON (SA_DB.LINK = GAP_DB.ACCOUNT)
		LEFT OUTER JOIN dbo.G_PROV_AP GAP_KT ON (GAP_KT.LINK_UP = G2.LINK
			AND GAP_KT.DB_KR = 1)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA_KT ON (SA_KT.LINK = GAP_KT.ACCOUNT)
		INNER JOIN dbo.S_OBJECTS SO ON (SO.LINK = G.OBJECT)
		LEFT OUTER JOIN dbo.DOC_NASTR NASTR_DOC ON (NASTR_DOC.LINK = SO.LINK)
		LEFT OUTER JOIN dbo.S_OBJECTS SO_SPR ON (SO_SPR.CODE = 'DOCUMENTS_F0504833')
		LEFT OUTER JOIN dbo.DOC_NASTR NASTR_SPR ON (NASTR_SPR.LINK = SO_SPR.LINK)
		WHERE @varKSLINK_DOC IS NULL
			OR G.LINK = @varKSLINK_DOC
	END
	RETURN 
END


GO


GRANT SELECT ON dbo.[BK_PrintDocProv] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SDOC_DOT_SKIDKI_FIO]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SDOC_DOT_SKIDKI_FIO]
GO

CREATE VIEW dbo.SDOC_DOT_SKIDKI_FIO
AS
SELECT 
	LINK = LINK_UP,
	ORDERS = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	LINK_TAX,
	LINK_INC,
	CODE_INC = D.SNAME,
	S.LINK_PERS,
	FIO = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	S.LINK_VKR,
	CODE_S_FIN = F.CODE,
	S.LINK_VKR2,
	S.LINK_EKR,
	CODE_EKR = G.CODE,
	S.[PERCENT],
	S.SUMMA
FROM 
	[dbo].[SDOC_DOT_SKIDKI] S
	INNER JOIN dbo.PERSON P ON P.LINK = S.LINK_PERS
	INNER JOIN dbo.DICTIONARY_TYP_INCOMS D ON D.LINK = S.LINK_INC
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = S.LINK_VKR
	INNER JOIN dbo.KOSGU G ON G.LINK = S.LINK_EKR


GO


GRANT SELECT ON dbo.[SDOC_DOT_SKIDKI_FIO] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[GetAddressPartsByKladr_SOKR]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[GetAddressPartsByKladr_SOKR]

GO
/*
© Кейсистемс (Keysystems), 2005
*/



CREATE      Function dbo.GetAddressPartsByKladr_SOKR(
	@intKladrLink int, @nREVERSE INT = 0
)
RETURNS @ADDR TABLE (
	ADDRESS VARCHAR(1000), 
	PINDEX VARCHAR(6), 
	REGION VARCHAR(254),
	REGION_N VARCHAR(254),
	REGION_SOCR VARCHAR(5),
	REGCODE VARCHAR(4),
	RAION VARCHAR(254),
	RAION_N VARCHAR(254),
	RAION_SOCR VARCHAR(5),
	GOROD VARCHAR(254),
	GOROD_N VARCHAR(254),
	GOROD_SOCR VARCHAR(5),
	NASEL VARCHAR(254),
	NASEL_N VARCHAR(254),
	NASEL_SOCR VARCHAR(5),
	STREET VARCHAR(254),
	STREET_N VARCHAR(254),
	STREET_SOCR VARCHAR(5)
)
AS
Begin
	Declare @strBegin varchar(1000),
		@strEnd   varchar(1000),
		@Name	  varchar(254),
		@CODE	  VARCHAR(20),
		@Prefix   varchar(10),
		@PIndex   varchar(6),
		@CurLink  int,

		@ADDRESS VARCHAR(1000), 
		@INDEX VARCHAR(6), 
		@REGION VARCHAR(254),
		@REGION_N VARCHAR(254),
		@REGION_SOCR  VARCHAR(5),
		@REGCODE VARCHAR(4),
		@RAION VARCHAR(254),
		@RAION_N VARCHAR(254),
		@RAION_SOCR  VARCHAR(5),
		@GOROD VARCHAR(254),
		@GOROD_N VARCHAR(254),
		@GOROD_SOCR  VARCHAR(5),
		@NASEL VARCHAR(254),
		@NASEL_N VARCHAR(254),
		@NASEL_SOCR  VARCHAR(5),
		@STREET VARCHAR(254),
		@STREET_N VARCHAR(254),
		@STREET_SOCR  VARCHAR(5)

	SELECT @ADDRESS = '', 
		@INDEX = '',
		@REGION = '',
		@REGION_N = '',
		@REGION_SOCR = '',
		@REGCODE = '',
		@RAION = '',
		@RAION_N = '',
		@RAION_SOCR = '',
		@GOROD = '',
		@GOROD_N = '',
		@GOROD_SOCR = '',
		@NASEL = '',
		@NASEL_N = '',
		@NASEL_SOCR = '',
		@STREET = '',
		@STREET_N = '',
		@STREET_SOCR = ''

	SET @strBegin = ''
	SET @strEnd   = ''


	IF exists(SELECT * FROM dictionary_kladr WHERE link=@intKladrLink)
	BEGIN
		SET @CurLink = @intKladrLink
		WHILE @intKladrLink <> 0
		BEGIN
			SELECT 
				@Name = NAME, @CODE = CODE, 
				@Prefix = SOCR, @intKladrLink = LINK_SELF, 
				@PIndex = P_Index
			FROM DICTIONARY_KLADR WHERE LINK = @intKladrLink
			IF @strBegin = ''
				SET @strBegin = isnull(RTRIM(@PIndex)+' ', '')
			IF @strEnd <> ''
				SET @strEnd = ', ' + @strEnd
			SET @strEnd = 
				CASE 
					WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
					WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name)
				END + @strEnd

			IF @INDEX = '' SET @INDEX = @PIndex
			IF LEN(@CODE) = 17 Select @STREET = rtrim(@Name)  + ' ' + RTRIM(@Prefix),
								  @STREET_N = rtrim(@Name), 
								  @STREET_SOCR = RTRIM(@Prefix)
			ELSE BEGIN
				IF @CODE LIKE '__00000000000' BEGIN
					SET @REGION = CASE
						WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
						WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name)
					END
					SET @REGION_N= rtrim(@Name)
					SET	@REGION_SOCR =  RTRIM(@Prefix)    
					SET @REGCODE = LEFT(@CODE, 2)
				END
				ELSE BEGIN
					IF @CODE LIKE '__000___00000' OR @Prefix ='г' 
						SELECT @GOROD = CASE
						WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
						WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name) END ,
						@GOROD_N = rtrim(@Name),
						@GOROD_SOCR = RTRIM(@Prefix)
					                                                           
					
					IF @CODE LIKE '_____00000000' SELECT @RAION = CASE
						WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
						WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name) 
						END,
						@RAION_N = rtrim(@Name),
						@RAION_SOCR = RTRIM(@Prefix)
					
					IF @CODE NOT LIKE '__000___00000'  AND @CODE NOT LIKE '_____00000000' AND @Prefix <>'г' AND LEN (@CODE) = 13 SELECT @NASEL = CASE
						--@CODE NOT LIKE '________00000' AND LEN (@CODE) = 13 SET @NASEL = CASE
						WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
						WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name)
						END,
						@NASEL_N = rtrim(@Name),
						@NASEL_SOCR = RTRIM(@Prefix) 
						
						
					
				END
			END
		END
	END 

	SET @ADDRESS =  @strBegin + @strEnd
	INSERT INTO @ADDR
	SELECT 
		@ADDRESS , 
		@INDEX,
		@REGION ,
		@REGION_N,
		@REGION_SOCR,
		@REGCODE,
		@RAION,
		@RAION_N,
		@RAION_SOCR,
		@GOROD ,
		@GOROD_N ,
		@GOROD_SOCR,
		@NASEL ,
		@NASEL_N ,
		@NASEL_SOCR,
		@STREET,
		@STREET_N,
		@STREET_SOCR


	RETURN
End
GO


GRANT SELECT ON dbo.[GetAddressPartsByKladr_SOKR] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BB_BK_FOR_SHABLON]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[BB_BK_FOR_SHABLON]

GO

CREATE   Function dbo.BB_BK_FOR_SHABLON(@iLinkG int = null, @cShablon varchar(254), @cDELIM varchar(1), @cDELIM5 varchar(1))
RETURNS varchar(8000)
AS
BEGIN
Declare @iNotKBK tinyint, 
		@iNotVKR tinyint,
		@iTypeKbk tinyint,
		@iDopPos int,
		@cRes varchar(8000),
		@cResTemp varchar(8000),
		@bGroupBK tinyint,
		
		@cKBK_CODE varchar(30), 
		@cKBK_NAME varchar(1000), 
		@cADM_CODE varchar(3), 
		@cADM_NAME varchar(1000), 
		@cDIV_CODE varchar(4), 
		@cDIV_NAME varchar(1000), 
		@cCSR_CODE varchar(10), 
		@cCSR_NAME varchar(1000), 
		@cEXP_CODE varchar(3), 
		@cEXP_NAME varchar(1000), 
		@cSGU_CODE varchar(3), 
		@cSGU_NAME varchar(1000), 
		@cEKR_CODE varchar(3), 
		@cEKR_NAME varchar(1000), 
		@cDOP_CODE varchar(10), 
		@cDOP_NAME varchar(1000), 
		@cREG_CODE varchar(20), 
		@cREG_CODE_R varchar(20), 
		@cREG_NAME varchar(1000), 
		@nSUMMA	numeric(20,2),
		
		@cKBK_OLD varchar(20), 
		@cADM_OLD varchar(3), 
		@cDIV_OLD varchar(4), 
		@cCSR_OLD varchar(10), 
		@cEXP_OLD varchar(3),
		@iLinkedKBK	tinyint
		
set @iLinkedKBK = isnull(dbo.sa_get_option_by_code('NASTR_PAY_LINKED_KBK'),0)

if @iLinkG is null or @cShablon is null
	return ''
		
if charindex('<КБК',@cShablon) > 0
	set @iNotKBK = 0
else
	set @iNotKBK = 1

if charindex('<АДМ',@cShablon) > 0 OR charindex('<Раздел',@cShablon) > 0 OR charindex('<ЦС',@cShablon) > 0 OR charindex('<ВР',@cShablon) > 0
	set @iNotVKR = 0
else
	set @iNotVKR = 1
set @cRes = '' 
select @bGroupBK = GROUP_KBK from dbo.DOCUMENTS_PAY_OPTIONS
select @cKBK_OLD = '', @cADM_OLD = '', @cDIV_OLD = '', @cCSR_OLD = '', @cEXP_OLD = ''
		

--set @cShablon = UPPER(@cShablon)
if @iLinkG is not null
begin
	if @bGroupBK = 0
		declare BK_CUR cursor local static read_only for
		select	KBK_CODE = case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.CODE) end, 
				KBK_NAME = case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.NAME) end,
				ADM_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.ADM_CODE, KBK.ADM_CODE) end, 
				ADM_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.ADM_NAME, KBK.ADM_NAME) end, 
				DIV_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.DIV_CODE, KBK.DIV_CODE) end, 
				DIV_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.DIV_NAME, KBK.DIV_NAME) end, 
				CSR_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.CSR_CODE, KBK.CSR_CODE) end, 
				CSR_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.CSR_NAME, KBK.CSR_NAME) end, 
				EXP_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.EXP_CODE, KBK.EXP_CODE) end, 
				EXP_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.EXP_NAME, KBK.EXP_NAME) end,	
				SGU_CODE = isnull(SGU.CODE,''), 
				SGU_NAME = isnull(SGU.NAME,''), 
				EKR_CODE = isnull(EKR.CODE,''), 
				EKR_NAME = isnull(EKR.NAME,''), 
				DOP_CODE = isnull(DC.CODE,''), 
				DOP_NAME = isnull(DC.NAME,''),
				REG_CODE = isnull(REG.CODE,''), 
				REG_CODE_R = isnull(rtrim(REG.CODE) + isnull(@cDELIM,' '),''), 
				REG_NAME = isnull(REG.NAME,''),
				SUMMA	 = G2.SUMMA,
				KBK.TYPE	
		from  dbo.FINANSE_PAYS P
		inner join dbo.G_PROV1 G1 on P.LINK = G1.LINK_UP
		inner join dbo.G_PROV2 G2 on G1.LINK = G2.LINK_UP and @iLinkG = G1.LINK_UP
		inner join dbo.G_PROV_AP GAP on G2.LINK = GAP.LINK_UP and GAP.DB_KR = 1
		inner join dbo.BI_DICTION_KBK_FULL KBK ON KBK.LINK = GAP.KBK
		LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = KBK.LINK and @iLinkedKBK = 1
		LEFT JOIN BI_DICTION_KBK_FULL KBK1 ON KBKL.LINK_KBK = KBK1.LINK
		inner join DBO.KOSGU SGU ON SGU.LINK = GAP.SGU
		LEFT join DBO.KOSGU EKR ON EKR.LINK = GAP.EKR
		LEFT OUTER JOIN BD_DOP_CLASSIF DC ON DC.Link = GAP.AP2
		LEFT OUTER JOIN dbo.KL_REG REG ON REG.Link = P.REG
		where P.LINK = @iLinkG
		order by 1,3,5,7,9,11,13
	ELSE
		declare BK_CUR cursor local static read_only for
		select	KBK_CODE = case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.CODE) end, 
				KBK_NAME = case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.NAME) end,
				ADM_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.ADM_CODE, KBK.ADM_CODE) end, 
				ADM_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.ADM_NAME, KBK.ADM_NAME) end, 
				DIV_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.DIV_CODE, KBK.DIV_CODE) end, 
				DIV_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.DIV_NAME, KBK.DIV_NAME) end, 
				CSR_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.CSR_CODE, KBK.CSR_CODE) end, 
				CSR_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.CSR_NAME, KBK.CSR_NAME) end, 
				EXP_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.EXP_CODE, KBK.EXP_CODE) end, 
				EXP_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.EXP_NAME, KBK.EXP_NAME) end,	
				SGU_CODE = isnull(SGU.CODE,''), 
				SGU_NAME = isnull(SGU.NAME,''), 
				EKR_CODE = isnull(EKR.CODE,''), 
				EKR_NAME = isnull(EKR.NAME,''), 
				DOP_CODE = isnull(DC.CODE,''), 
				DOP_NAME = isnull(DC.NAME,''),
				REG_CODE = isnull(REG.CODE,''), 
				REG_CODE_R = isnull(rtrim(REG.CODE) + isnull(@cDELIM,' '),''), 
				REG_NAME = isnull(REG.NAME,''),
				SUMMA	 = sum(G2.SUMMA),
				KBK.TYPE	
		from  dbo.FINANSE_PAYS P
		inner join dbo.G_PROV1 G1 on P.LINK = G1.LINK_UP
		inner join dbo.G_PROV2 G2 on G1.LINK = G2.LINK_UP
		inner join dbo.G_PROV_AP GAP on G2.LINK = GAP.LINK_UP and GAP.DB_KR = 1
		inner join dbo.BI_DICTION_KBK_FULL KBK ON KBK.LINK = GAP.KBK
		LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = KBK.LINK and @iLinkedKBK = 1
		LEFT JOIN BI_DICTION_KBK_FULL KBK1 ON KBKL.LINK_KBK = KBK1.LINK
		inner join DBO.KOSGU SGU ON SGU.LINK = GAP.SGU
		LEFT join DBO.KOSGU EKR ON EKR.LINK = GAP.EKR
		LEFT OUTER JOIN BD_DOP_CLASSIF DC ON DC.Link = GAP.AP2
		LEFT OUTER JOIN dbo.KL_REG REG ON REG.Link = P.REG
		where P.LINK = @iLinkG
		group by /*isnull(KBK1.CODE, KBK.CODE), isnull(KBK1.CODE, KBK.NAME), 
				isnull(KBK1.ADM_CODE, KBK.ADM_CODE), isnull(KBK1.ADM_NAME, KBK.ADM_NAME), 
				isnull(KBK1.DIV_CODE, KBK.DIV_CODE), isnull(KBK1.DIV_NAME, KBK.DIV_NAME), 
				isnull(KBK1.CSR_CODE, KBK.CSR_CODE), isnull(KBK1.CSR_NAME, KBK.CSR_NAME), 
				isnull(KBK1.EXP_CODE, KBK.EXP_CODE),isnull(KBK1.EXP_NAME, KBK.EXP_NAME),*/
				case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.CODE) end, 
				case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.NAME) end,
				case @iNotVKR when 1 then '' else isnull(KBK1.ADM_CODE, KBK.ADM_CODE) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.ADM_NAME, KBK.ADM_NAME) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.DIV_CODE, KBK.DIV_CODE) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.DIV_NAME, KBK.DIV_NAME) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.CSR_CODE, KBK.CSR_CODE) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.CSR_NAME, KBK.CSR_NAME) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.EXP_CODE, KBK.EXP_CODE) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.EXP_NAME, KBK.EXP_NAME) end,	
				isnull(SGU.CODE,''), isnull(SGU.NAME,''), isnull(EKR.CODE,''), isnull(EKR.NAME,''), isnull(DC.CODE,''), isnull(DC.NAME,''), isnull(REG.CODE,''), isnull(rtrim(REG.CODE) + isnull(@cDELIM,' '),''), isnull(REG.NAME,''), KBK.TYPE
		order by 1,3,5,7,9,11,13

		open BK_CUR
	fetch next from BK_CUR into @cKBK_CODE, @cKBK_NAME, @cADM_CODE, @cADM_NAME, @cDIV_CODE, @cDIV_NAME, @cCSR_CODE, @cCSR_NAME, @cEXP_CODE, @cEXP_NAME, @cSGU_CODE, @cSGU_NAME, @cEKR_CODE, @cEKR_NAME, @cDOP_CODE, @cDOP_NAME, @cREG_CODE, @cREG_CODE_R, @cREG_NAME, @nSUMMA, @iTypeKbk

	while @@fetch_status = 0
	begin
		--СГУ, ЭКР, Доп.Кл	
		set @cResTemp = rtrim(@cShablon)
		if isnull(@cDOP_CODE,'') = ''
			set @cResTemp = rtrim(dbo.BB_DDELIM_DEL(@cResTemp,'<Доп_кл>'))
		
		if isnull(@cREG_CODE,'') = ''
			set @cResTemp = rtrim(dbo.BB_DDELIM_DEL(@cResTemp,'<Рег_кл>'))
		
		if @iTypeKbk <> 1
			set @cResTemp =  rtrim(dbo.BB_DDELIM_DEL(rtrim(dbo.BB_DDELIM_DEL(@cResTemp,'<ЭКР>')),'<СГУ>'))
		
		--КБК
		if @bGroupBK = 0 or @cKBK_OLD <> @cKBK_CODE
		--	set @cResTemp = replace(replace(replace(@cResTemp,'<КБКР>',replace(@cKBK_CODE,'.',rtrim(case @iTypeKbk when 1 then isnull(@cDELIM,' ') else '' end))),'<КБК>',rtrim(replace(@cKBK_CODE,'.',''))),'<КБК_наим>',@cKBK_NAME)
			set @cResTemp = replace(replace(case @iTypeKbk when 1 then rtrim(replace(@cResTemp,'<КБКР>',rtrim(replace(@cKBK_CODE,'.',isnull(@cDELIM,' '))))) else replace(@cResTemp,'<КБКР>',rtrim(replace(@cKBK_CODE,'.',''))) end,'<КБК>',rtrim(replace(@cKBK_CODE,'.',''))),'<КБК_наим>',@cKBK_NAME)
		
		else
			set @cResTemp = replace(replace(replace(@cResTemp,'<КБКР>',''),'<КБК>',''),'<КБК_наим>','')
		--Администратор
		if @bGroupBK = 0 or @cADM_OLD <> @cADM_CODE
			set @cResTemp = replace(replace(@cResTemp,'<АДМ>',@cADM_CODE),'<АДМ_наим>',@cADM_NAME)
		else
			set @cResTemp = replace(replace(@cResTemp,'<АДМ>',''),'<АДМ_наим>','')
		--Раздел\подраздел
		if @bGroupBK = 0 or @cDIV_OLD <> @cDIV_CODE
			set @cResTemp = replace(replace(@cResTemp,'<Раздел>',@cDIV_CODE),'<Раздел_наим>',@cDIV_NAME)
		else
			set @cResTemp = replace(replace(@cResTemp,'<Раздел>',''),'<Раздел_наим>','')
		--Целевая статья				 
		if @bGroupBK = 0 or @cCSR_OLD <> @cCSR_CODE
			set @cResTemp = replace(replace(@cResTemp,'<ЦС>',@cCSR_CODE),'<ЦС_наим>',@cCSR_NAME)
		else
			set @cResTemp = replace(replace(@cResTemp,'<ЦС>',''),'<ЦС_наим>','')--Целевая статья				 
		--Вид расхода				 
		if @bGroupBK = 0 or @cEXP_OLD <> @cEXP_CODE
			set @cResTemp = replace(replace(@cResTemp,'<ВР>',@cEXP_CODE),'<ВР_наим>',@cEXP_NAME)
		else
			set @cResTemp = replace(replace(@cResTemp,'<ВР>',''),'<ВР_наим>','')
		
		
		set @cResTemp =  replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@cResTemp,
						'<СГУ>',@cSGU_CODE),'<СГУ_наим>',@cSGU_NAME),
						'<ЭКР>',@cEKR_CODE),'<ЭКР_наим>',@cEKR_NAME),
						'<Доп_кл>',rtrim(@cDOP_CODE)),'<Доп_кл_наим>',@cDOP_NAME),
						'<Рег_кл>',rtrim(@cREG_CODE)), '<Рег_клР>',@cREG_CODE_R),'<Рег_кл_наим>',@cREG_NAME),
						'<Руб>',rtrim(ltrim(str(cast(@nSUMMA as int))))),'<Коп>', right('00' + rtrim(ltrim(str((@nSUMMA - cast(@nSUMMA as int)) * 100))),2))
		
		
	
		if @cRes = ''
			set @cRes = rtrim(@cResTemp)
		else 
			set @cRes = @cRes + isnull(@cDELIM5,'') + rtrim(@cResTemp)
		 
		select @cKBK_OLD = @cKBK_CODE, @cADM_OLD = @cADM_CODE, @cDIV_OLD = @cDIV_CODE, @cCSR_OLD = @cCSR_CODE, @cEXP_OLD = @cEXP_CODE
		fetch next from BK_CUR into @cKBK_CODE, @cKBK_NAME, @cADM_CODE, @cADM_NAME, @cDIV_CODE, @cDIV_NAME, @cCSR_CODE, @cCSR_NAME, @cEXP_CODE, @cEXP_NAME, @cSGU_CODE, @cSGU_NAME, @cEKR_CODE, @cEKR_NAME, @cDOP_CODE, @cDOP_NAME, @cREG_CODE, @cREG_CODE_R, @cREG_NAME, @nSUMMA, @iTypeKbk
	
	end
	close BK_CUR
	deallocate BK_CUR
end
RETURN @cRes
end

GO


GRANT EXECUTE ON dbo.[BB_BK_FOR_SHABLON] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KASSA_BOOK_G_TABLE_FN]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[KASSA_BOOK_G_TABLE_FN]

GO





-- select * from dictionary_department where zb = 1 or type = 4

/*
© Кейсистемс (Keysystems), 2005
*/


CREATE          FUNCTION dbo.KASSA_BOOK_G_TABLE_FN(@varKSDateB Datetime,
				@varKSDateE DateTime,
				@intOPT_DOC TINYINT,
				@intOPT_PAY TINYINT,
				@varKSKBK tinyint,
				@varKSSGU tinyint,
				@varKSBook_link int,
				@varKSDep_link int,
				@varKSPrnComment int,
				@varKSAllZB int)

	RETURNS @varKSRET TABLE(
		DOC_LINK INT,
		NUMBER VARCHAR(30),
		DOC_DATE DATETIME,
		ACCOUNT VARCHAR(254),
		DATE_PROV DATETIME,
		FROMTO VARCHAR(254),
		BUDIN NUMERIC(28,2),
		BUDOUT NUMERIC(28,2),
		VNEIN NUMERIC(28,2),
		VNEOUT NUMERIC(28,2),
		INOUT INT,
		OBJ_CODE varchar(254)
	)

AS BEGIN

	DECLARE @Dep_links  TABLE (link  int)
	IF @varKSAllZB = 1 
		begin
			insert into @Dep_links
			select link from dictionary_department where zb = 1 or type = 4
		end
	else 
		begin 
			insert into @Dep_links
			select @varKSDep_link
		end


	DECLARE @varKSisNumber bit
	SET @varKSisNumber = CASE WHEN @varKSDateB = @varKSDateE THEN 0 ELSE 1 END
	DECLARE @varKSTMP TABLE(
		DOC_LINK INT NOT NULL,
		DOC_OBJ INT NOT NULL,
		ACCOUNT VARCHAR(254) NOT NULL,
		FROMTO VARCHAR(254) DEFAULT (''),
		G2LINK INT  NOT NULL,
		BUDIN NUMERIC(28,2) NOT NULL,
		BUDOUT NUMERIC(28,2) NOT NULL,
		VNEIN NUMERIC(28,2) NOT NULL,
		VNEOUT NUMERIC(28,2) NOT NULL,
		INOUT INT NOT NULL
	)
	INSERT INTO @varKSTMP(DOC_LINK, DOC_OBJ, ACCOUNT, G2LINK, BUDIN, BUDOUT, VNEIN, VNEOUT, INOUT)
	SELECT
		[DOC_LINK] = G.LINK,
		[DOC_OBJ] = G.OBJECT,
		[ACCOUNT] = dbo.BK_GetAcctFullCode1(KT.ACCOUNT, KT.KBK, KT.SGU, @varKSKBK, @varKSSGU, @varKSDateE),
		[G2LINK] = G2.LINK,
		-- бюджетные счета
		[BUDIN] = ISNULL ( (CAST ( ( case when DT.ACCOUNT in (select link_acc from kassa_book_acc where link_book=@varKSBook_link and type = 0) 
					then g2.summa else NULL end)  AS NUMERIC(28,2) ) ),0),
		[BUDOUT]= 0,
		-- внебюджетные счета
		[VNEIN] = ISNULL ( (CAST ( (case when DT.ACCOUNT in (select link_acc from kassa_book_acc where link_book=@varKSBook_link and type = 1) 
					then g2.summa else NULL end ) AS NUMERIC(28,2) )),0),
		[VNEOUT] = 0,
		[INOUT] = 1
	FROM 
		dbo.G_PROV G INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK 
		INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
		INNER JOIN dbo.G_PROV_AP DT ON DT.LINK_UP = G2.LINK AND DT.DB_KR = 0 
		INNER JOIN dbo.G_PROV_AP KT ON KT.LINK_UP = G2.LINK AND KT.DB_KR = 1
		INNER JOIN dbo.KASSA_BOOK_ALLACCOUNTS() SA ON SA.LINK = DT.ACCOUNT 
	WHERE (G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE) AND (G.DEP in (select link from @Dep_links))
	UNION ALL
	SELECT 	
		[DOC_LINK] = G.LINK,
		[DOC_OBJ] = G.OBJECT,
		[ACCOUNT] = dbo.BK_GetAcctFullCode1(DT.ACCOUNT, DT.KBK, DT.SGU, @varKSKBK, @varKSSGU, @varKSDateE),
		[G2LINK] = G2.LINK,

		[BUDIN] = 0,
		[BUDOUT] = ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_acc where link_book=@varKSBook_link and type = 0) then g2.summa
			else NULL end)  AS NUMERIC(28,2) )),0),
		[VNEIN] = 0,
		[VNEOUT]= ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_acc where link_book=@varKSBook_link and type = 1) then g2.summa
			else NULL end)  AS NUMERIC(28,2) ) ),0),
		[INOUT] = 2
	FROM dbo.G_PROV G INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK 
	INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
	INNER JOIN dbo.G_PROV_AP DT ON DT.LINK_UP = G2.LINK AND DT.DB_KR = 0 
	INNER JOIN dbo.G_PROV_AP KT ON KT.LINK_UP = G2.LINK AND KT.DB_KR = 1
	INNER JOIN dbo.KASSA_BOOK_ALLACCOUNTS() SA ON SA.LINK = KT.ACCOUNT 
	WHERE (G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE) AND (G.DEP in (select link from @Dep_links))

-- удалим все документы с нулевыми суммами
	delete  from @varKSTMP 
	where BUDIN=0 and BUDOUT=0 and VNEIN=0 and VNEOUT=0

	IF @intOPT_PAY = 1
		UPDATE @varKSTMP
		SET FROMTO = dbo.KassaBookGetFromTo(DOC_LINK, DOC_OBJ, G2LINK, 2-INOUT, @varKSPrnComment)

	DECLARE @TABLE_DOC TABLE (
		DOC_LINK INT NOT NULL,
		ACCOUNT VARCHAR(254) NOT NULL,
		FROMTO VARCHAR(254) DEFAULT (''),
		BUDIN NUMERIC(28,2) NOT NULL,
		BUDOUT NUMERIC(28,2) NOT NULL,
		VNEIN NUMERIC(28,2) NOT NULL,
		VNEOUT NUMERIC(28,2) NOT NULL,
		INOUT INT NOT NULL
		)

	INSERT INTO @TABLE_DOC (DOC_LINK, ACCOUNT, FROMTO,
		BUDIN, BUDOUT, VNEIN, VNEOUT, INOUT)
	SELECT
		DOC_LINK,
		ACCOUNT,
		FROMTO,
		SUM(BUDIN) as BUDIN,
		SUM(BUDOUT) as BUDOUT,
		SUM(VNEIN) as VNEIN,
		SUM(VNEOUT) as VNEOUT,
		INOUT
	FROM @varKSTMP
	GROUP BY DOC_LINK, ACCOUNT, FROMTO, INOUT

	INSERT INTO @varKSRET(DOC_LINK, NUMBER, DOC_DATE, DATE_PROV, ACCOUNT, FROMTO, BUDIN, BUDOUT, VNEIN, VNEOUT, INOUT, obj_code)
	SELECT
		T.DOC_LINK,
		G.NUMBER,
		G.[DATE],
		G.DATE_PROV,
		T.ACCOUNT,
		CASE WHEN @intOPT_DOC = 1 THEN dbo.GetDocumentName(T.DOC_LINK, default)
			+ CASE @varKSisNumber WHEN 1
				THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')' ELSE '' END + ' '
			ELSE ''
		END + FROMTO
		,
		BUDIN, BUDOUT, VNEIN, VNEOUT, INOUT,
		OBJ_CODE = SO.CODE
	FROM @TABLE_DOC T
	INNER JOIN dbo.G_PROV G ON (G.LINK = T.DOC_LINK)
	INNER JOIN dbo.S_OBJECTS SO ON (SO.LINK = G.OBJECT)

	RETURN
END


GO


GRANT SELECT ON dbo.[KASSA_BOOK_G_TABLE_FN] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KASSA_BOOK_TABLE_F_FN]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[KASSA_BOOK_TABLE_F_FN]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE  FUNCTION dbo.KASSA_BOOK_TABLE_F_FN(@varKSDateB Datetime, @varKSDateE DateTime,
			 @varKSKBK tinyint, @varKSSGU tinyint, @varKSBook_link int, @varKSDep_link int, 
			@varKSPrnComment int, @varKSAllZB int,
			@intOPT_DOC TINYINT = NULL,
			@intOPT_PAY TINYINT = NULL
)
	RETURNS @varKSRET TABLE(
		DOC_LINK INT,
		NUMBER VARCHAR(30),
		DOC_DATE DATETIME,
		DATE_PROV DATETIME,
		ACCOUNT VARCHAR(254),
		FROMTO VARCHAR(254),
		BUDIN NUMERIC(28,2),
		BUDOUT NUMERIC(28,2),
		VNEIN NUMERIC(28,2),
		VNEOUT NUMERIC(28,2),
		INOUT INT,
		OBJ_CODE varchar(254)
	)
AS BEGIN

	
	DECLARE @Dep_links  TABLE (link  int)
	IF @varKSAllZB = 1 
		begin
			insert into @Dep_links
			select link from dictionary_department where zb = 1 or type = 4
		end
	else 
		begin 
			insert into @Dep_links
			select @varKSDep_link
		end


	DECLARE @varKSnMODE INT

	SELECT	TOP 1 @intOPT_DOC = ISNULL (@intOPT_DOC, GRP_BY_DOC),
			@intOPT_PAY = ISNULL (@intOPT_PAY, GRP_BY_PAY)
	FROM dbo.KASSA_BOOK_F_OPTIONS

	DECLARE @varKSTMP TABLE(
		DOC_LINK INT,
		NUMBER VARCHAR(15),
		DATE_PROV DATETIME,
		ACCOUNT VARCHAR(254),
		FROMTO VARCHAR(254),
		BUDIN NUMERIC(28,2),
		BUDOUT NUMERIC(28,2),
		VNEIN NUMERIC(28,2),
		VNEOUT NUMERIC(28,2),
		INOUT INT,
		DOCNAME VARCHAR(254)
	)

	DECLARE @varKSOPTIONS INT, @varKSbKAU BIT
	SELECT @varKSOPTIONS = LINK From S_OBJECTS Where CODE = 'NASTR_KASSA_BOOK_F_USEKAU'
	SET @varKSbKAU = CASE 
		WHEN exists(Select * From dbo.s_options where value = '1' and object = @varKSOPTIONS) THEN 1
		ELSE 0
	END

	DECLARE @varKSisNumber bit
	SET @varKSisNumber = CASE WHEN @varKSDateB = @varKSDateE THEN 0 ELSE 1 END

	IF @varKSbKAU = 1 BEGIN
		INSERT INTO @varKSTMP
		SELECT
			[DOC_LINK] = G.LINK,
			G.NUMBER,
			G.DATE_PROV,
			[ACCOUNT] = dbo.BK_GetAcctFullCode1(KT.ACCOUNT, KT.KBK, KT.SGU,  @varKSKBK, @varKSSGU, @varKSDateE),
			[FROMTO] = dbo.KassaBookGetFromTo(G.LINK, G.OBJECT, G2.LINK, 1, @varKSPrnComment),
			[BUDIN] = ISNULL ( (CAST ( ( case when DT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 0) then g2.summa
				else NULL end)  AS NUMERIC(28,2) ) ),0),
			[BUDOUT]= 0,
			[VNEIN] = ISNULL ( (CAST ( (case when DT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 1) then g2.summa
			else NULL end ) AS NUMERIC(28,2) )),0),
			[VNEOUT] = 0,
			[INOUT] = 1,
			dbo.GetDocumentName(G.LINK, G.OBJECT)
				+ CASE @varKSisNumber WHEN 1 THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')'
				ELSE '' END + ' '
		FROM 
			dbo.G_PROV G, 
			dbo.G_PROV1 G1, 
			dbo.G_PROV2 G2, 
			dbo.G_PROV_AP DT, 
			dbo.G_PROV_AP KT, 
			dbo.KASSA_BOOK_F_ALLACCOUNTS() SA
		WHERE G1.LINK_UP = G.LINK AND G2.LINK_UP = G1.LINK
			AND DT.LINK_UP = G2.LINK AND KT.LINK_UP = G2.LINK
			AND DT.DB_KR = 0 AND KT.DB_KR = 1
			AND SA.LINK = DT.ACCOUNT 
			AND (
				DT.KAU in (Select KAU From dbo.KASSA_BOOK_F_KAU) 
			)
			AND G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE
			AND G.dep in (select link from @Dep_links)

		UNION ALL

		SELECT 	
			[DOC_LINK] = G.LINK,
			G.NUMBER,
			G.DATE_PROV,
			[ACCOUNT] = dbo.BK_GetAcctFullCode1(DT.ACCOUNT, DT.KBK, DT.SGU, @varKSKBK, @varKSSGU, @varKSDateE),
			[FROMTO] = dbo.KassaBookGetFromTo(G.LINK, G.OBJECT, G2.LINK, 0, @varKSPrnComment),
			[BUDIN] = 0,
			[BUDOUT] = ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 0) then g2.summa
				else NULL end)  AS NUMERIC(28,2) )),0),
			[VNEIN] = 0,
			[VNEOUT]= ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 1) then g2.summa
				else NULL end)  AS NUMERIC(28,2) ) ),0),
			[INOUT] = 2,
			dbo.GetDocumentName(G.LINK, G.OBJECT)
				+ CASE @varKSisNumber WHEN 1 THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')'
				ELSE '' END + ' '
		FROM dbo.G_PROV G, dbo.G_PROV1 G1, dbo.G_PROV2 G2, dbo.G_PROV_AP DT, dbo.G_PROV_AP KT, 
			dbo.KASSA_BOOK_F_ALLACCOUNTS() SA
		WHERE G1.LINK_UP = G.LINK AND G2.LINK_UP = G1.LINK
			AND DT.LINK_UP = G2.LINK AND KT.LINK_UP = G2.LINK
			AND DT.DB_KR = 0 AND KT.DB_KR = 1
			AND SA.LINK = KT.ACCOUNT 
			AND (
				KT.KAU in (Select KAU From dbo.KASSA_BOOK_F_KAU) 
			)
			AND G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE
			AND G.dep in (select link from @Dep_links)

	END
	ELSE BEGIN
		INSERT INTO @varKSTMP
		SELECT
			[DOC_LINK] = G.LINK,
			G.NUMBER,
			G.DATE_PROV,
			[ACCOUNT] =dbo.BK_GetAcctFullCode1(KT.ACCOUNT, KT.KBK, KT.SGU,  @varKSKBK, @varKSSGU, @varKSDateE),
			[FROMTO] = dbo.KassaBookGetFromTo(G.LINK, G.OBJECT, G2.LINK, 1, @varKSPrnComment),
			[BUDIN] = ISNULL ( (CAST ( ( case when DT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 0) then g2.summa
				else NULL end)  AS NUMERIC(28,2) ) ),0),
			[BUDOUT]= 0,
			[VNEIN] = ISNULL ( (CAST ( (case when DT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 1) then g2.summa
			else NULL end ) AS NUMERIC(28,2) )),0),
			[VNEOUT] = 0,
			[INOUT] = 1,
			dbo.GetDocumentName(G.LINK, G.OBJECT)
				+ CASE @varKSisNumber WHEN 1 THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')'
				ELSE '' END + ' '
		FROM 
			dbo.G_PROV G, 
			dbo.G_PROV1 G1, 
			dbo.G_PROV2 G2, 
			dbo.G_PROV_AP DT, 
			dbo.G_PROV_AP KT, 
			dbo.KASSA_BOOK_F_ALLACCOUNTS() SA
		WHERE G1.LINK_UP = G.LINK AND G2.LINK_UP = G1.LINK
			AND DT.LINK_UP = G2.LINK AND KT.LINK_UP = G2.LINK
			AND DT.DB_KR = 0 AND KT.DB_KR = 1
			AND SA.LINK = DT.ACCOUNT 
			AND G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE	
			AND G.dep in (select link from @Dep_links)
		
		UNION ALL
		SELECT 	
			[DOC_LINK] = G.LINK,
			G.NUMBER,
			G.DATE_PROV,
			[ACCOUNT] = dbo.BK_GetAcctFullCode1(DT.ACCOUNT, DT.KBK, DT.SGU,  @varKSKBK, @varKSSGU, @varKSDateE),
			[FROMTO] = dbo.KassaBookGetFromTo(G.LINK, G.OBJECT, G2.LINK, 0, @varKSPrnComment),
			[BUDIN] = 0,
			[BUDOUT] = ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 0) then g2.summa
				else NULL end)  AS NUMERIC(28,2) )),0),
			[VNEIN] = 0,
			[VNEOUT]= ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 1) then g2.summa
				else NULL end)  AS NUMERIC(28,2) ) ),0),
			[INOUT] = 2,
			dbo.GetDocumentName(G.LINK, G.OBJECT)
				+ CASE @varKSisNumber WHEN 1 THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')'
				ELSE '' END + ' '
		FROM dbo.G_PROV G, dbo.G_PROV1 G1, dbo.G_PROV2 G2, dbo.G_PROV_AP DT, dbo.G_PROV_AP KT, 
			dbo.KASSA_BOOK_F_ALLACCOUNTS() SA
		WHERE G1.LINK_UP = G.LINK AND G2.LINK_UP = G1.LINK
			AND DT.LINK_UP = G2.LINK AND KT.LINK_UP = G2.LINK
			AND DT.DB_KR = 0 AND KT.DB_KR = 1
			AND SA.LINK = KT.ACCOUNT 
			AND G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE	
			AND G.dep in (select link from @Dep_links)

	END



-- удалим все документы с нулевыми суммами
	delete  from @varKSTMP 
	where BUDIN=0 and BUDOUT=0 and VNEIN=0 and VNEOUT=0

	INSERT INTO @varKSRET (DOC_LINK, NUMBER, DOC_DATE, DATE_PROV,
		ACCOUNT, FROMTO, BUDIN, BUDOUT, VNEIN, VNEOUT,
		INOUT, OBJ_CODE)
	SELECT
		T.DOC_LINK,
		G.NUMBER,
		G.[DATE],
		G.DATE_PROV,
		T.ACCOUNT,
		CASE WHEN @intOPT_DOC = 1 THEN RTRIM (T.DOCNAME) + ' ' ELSE '' END
			+ CASE WHEN @intOPT_PAY = 1 THEN FROMTO ELSE '' END,
		SUM(T.BUDIN),
		SUM(T.BUDOUT),
		SUM(T.VNEIN),
		SUM(T.VNEOUT),
		T.INOUT,
		SO.CODE
	FROM @varKSTMP T
	INNER JOIN dbo.G_PROV G ON (G.LINK = T.DOC_LINK)
	INNER JOIN dbo.S_OBJECTS SO ON (SO.LINK = G.OBJECT)
	GROUP BY
		T.DOC_LINK,
		G.NUMBER,
		G.[DATE],
		G.DATE_PROV,
		T.ACCOUNT,
		CASE WHEN @intOPT_DOC = 1 THEN RTRIM (T.DOCNAME) + ' ' ELSE '' END
			+ CASE WHEN @intOPT_PAY = 1 THEN FROMTO ELSE '' END,
		T.INOUT,
		SO.CODE
	RETURN


END

GO


GRANT SELECT ON dbo.[KASSA_BOOK_TABLE_F_FN] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[PrintFSSRep_GetDpData]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[PrintFSSRep_GetDpData]

GO

CREATE  FUNCTION dbo.PrintFSSRep_GetDpData(@varKSnLinkDep int)
RETURNS TABLE 
AS
	RETURN 
	SELECT 
		DD1.OKPO AS OKPO1, 
		DD1.INN AS INN1, DD1.KPP AS KPP1, DD1.FULL_NAME, DD1.NAME AS ORGNAME,
		DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME, 
		DD2.NALOG AS SONO, 
		DD1.OGRN AS OGRN1,
		LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A))) 
			+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
			+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
		AS ADDR_STR,
		CAST(NULL AS DATETIME) AS DATE_END,
		RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.' AS CHIEF_FIO,
		CHIEF.FM as CHIEF_FM,
		CHIEF.IM as CHIEF_IM,
		CHIEF.OT as CHIEF_OT,
		CHIEF.POST_NAME AS CHIEF_POST,
		RTRIM(CHIEF.PHONE) AS CH_PHONE,
		RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.' AS GLBUH_FIO,
		replace(replace(replace(REPLACE(RTRIM(GLBUH.PHONE),'-',''),' ',''),'(',''),')','') AS GL_PHONE,
		DD1.OGRN,
		(CASE WHEN ( convert(varchar(5),(select value from S_OPTIONS where object = (select top 1 link from s_objects where code = 'NASTR_USE_OKATO_OKTMO'))) = '1' 
				  or convert(varchar(5),(select value from S_OPTIONS where object = (select top 1 link from s_objects where code = 'NASTR_USE_OKATO_OKTMO'))) = 'ОКАТО') then DD1.OKATO ELSE '' END) AS OKATO,
		DD1.OKTMO,
		DD1.OKVED,
		DD1.OKPO,
		DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
		DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
		DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
		DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
		DD1.OKFS, --- код Общероссийского классификатора форм собственности;
		DD1.PFNUMBER,
		DA.PINDEX, DA.REGION, DA.REGCODE, DA.RAION, DA.GOROD, DA.NASEL, DA.STREET, DA.HOUSE, DA.KORP, DA.FLAT,
		TFOMS_RNUM = DD1.TFOMS_REG_NUM,
		TFOMS_KT = DD1.TFOMS_KT,
		DD1.FSS_KP_PC1, DD1.FSS_KP_PC2, DD1.FSS_KP_PC3
	FROM DICTIONARY_DEPARTMENT DD1 
		LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
		LEFT OUTER JOIN dbo.GetOtvFaceData(@varKSnLinkDep, 'Руководитель') chief on chief.link_dep = dd1.link
		LEFT OUTER JOIN dbo.GetOtvFaceData(@varKSnLinkDep, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
		LEFT JOIN DBO.DEP_ADRESS(@varKSnLinkDep) DA ON 1=1
	WHERE DD1.LINK = @varKSnLinkDep







GO


GRANT SELECT ON dbo.[PrintFSSRep_GetDpData] TO PUBLIC

GO




GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BB_GET_LINK_KBK_BY_CODE_2016]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BB_GET_LINK_KBK_BY_CODE_2016]

GO




/*
© Кейсистемс (Keysystems), 2005
*/

CREATE      PROCEDURE dbo.BB_GET_LINK_KBK_BY_CODE_2016
	@iLinkKBK	 int=null output,
	@iLinkEKR	 int=null output,
	@iLinkDCL	 int=null output,
	@cErrorTxt 	 varchar(100) output,
	@cCodeKBK 	 varchar(20) = '',
	@cTypeKBK 	 varchar(2) = '',
	@cCodeDCL 	 varchar(20) = '',
	@addVKR		 tinyint = 1 -- Добавить отсутсвущие ВКР
	
AS
declare @varKSiRet int,
	@iL_PPP	   int,
	@iL_Razd   int,
	@iL_C_St   int,
	@iL_Rash   int,
	@iLinkIVF  int,
	@iLinkD    int,
	@iLinkProg int,

	@varKSCode_PPP	 char(3),
	@varKSCode_Razd	 char(4),
	@varKSCode_CelSt char(10),
	@varKSCode_Rash	 char(3),
	@varKSCode_Ekr	 char(3),
	@cCodeIVF		 char(10),
	@cCodeD			 char(10),
	@cCodeP			 char(4),
	@iTypeKBK		 tinyint
	
			
SET @varKSiRet = 0
set @cErrorTxt = ''
set @varKSCode_Ekr = substring(@cCodeKBK,18,3)

if @cTypeKBK = ''
begin
	select @iLinkKBK = link from KL_KBK where replace(CODE,'.','') = @cCodeKBK
	if @iLinkKBK is null or @iLinkKBK = 0
		set @cErrorTxt = 'Не найден КБК в справочнике'

end
-- ВКР
IF @cTypeKBK = '10'
begin
select @varKSCode_PPP = left(@cCodeKBK,3),
		@varKSCode_Razd = substring(@cCodeKBK,4,4),
		@varKSCode_CelSt = substring(@cCodeKBK,8,10),
		@varKSCode_Rash = right(@cCodeKBK,3)

	IF isnull((select max(link) from bi_diction_vkr where Code_FKR_M = @varKSCode_PPP AND Code_FKR_D = @varKSCode_Razd AND Code_FKR_T = @varKSCode_CelSt AND Code_FKR_E = @varKSCode_Rash),0) > 0
		select @iLinkKBK = link from bi_diction_vkr where
			Code_FKR_M = @varKSCode_PPP
			AND Code_FKR_D = @varKSCode_Razd
			AND Code_FKR_T = @varKSCode_CelSt
			AND Code_FKR_E = @varKSCode_Rash
	ELSE 
		IF @addVKR = 1
		BEGIN
			select @iL_PPP = max(link) from kl_admin_bs where code = @varKSCode_PPP
			if @iL_PPP is null 
				set @cErrorTxt = 'Не найден администратор БС с кодом ' + @varKSCode_PPP

			select @iL_Razd = max(link) from kl_DIVISION where code = @varKSCode_Razd
			if @iL_Razd is null 
				set @cErrorTxt = 'Не найден раздел, подраздел БС с кодом ' + @varKSCode_Razd

			select @iL_C_St = max(link) from kl_Target_Item where code = @varKSCode_CelSt
			if @iL_C_St is null 
				set @cErrorTxt = 'Не найдена целевая статья  с кодом ' + @varKSCode_CelSt

			select @iL_Rash = max(link) from kl_Expend where code = @varKSCode_Rash
			if @iL_Rash is null 
				set @cErrorTxt = 'Не найден вид расхода с кодом ' + @varKSCode_Rash
	
			SET @iLinkKBK = 0
			exec @varKSiRet = dbo.BI_SAVE_VKR @iLinkKBK output, 'Сгенерированный ВКР', @iL_PPP, @iL_Razd, @iL_C_St, @iL_Rash
			if @varKSiRet <> 0 
				set @cErrorTxt = 'Ошибка при добавлении ВКР'
		END
		ELSE
			set @cErrorTxt = 'Запрещено добавление КБК в справочник.'
		
		if charindex('(', @cCodeDCL) > 0
		begin
			select @varKSCode_Ekr = substring(@cCodeDCL,charindex('(', @cCodeDCL) + 1,3)
			select @cCodeDCL = replace(@cCodeDCL,'(' + @varKSCode_Ekr + ')', '' )
		end
		else 
			set @varKSCode_Ekr = ''
			
		--select @iLinkEKR = max(link) from dbo.KOSGU where CODE = @varKSCode_Ekr
		--if @iLinkEKR is null 
		--	set @cErrorTxt = 'Не найден КОСГУ ' + @varKSCode_Ekr	
		if @varKSCode_Ekr <> ''
		begin
			select @iLinkEKR = max(link) from dbo.KOSGU where CODE = @varKSCode_Ekr
			if @iLinkEKR is null 
				set @cErrorTxt = 'Не найден КОСГУ ' + @varKSCode_Ekr
		end
				

end

-- КИВФ
IF @cTypeKBK = '31' or @cTypeKBK = '32'
begin
	select @iTypeKBK = case @cTypeKBK when '31' then 3 else 4 end
	select @varKSCode_PPP = left(@cCodeKBK,3),
		@cCodeIVF = substring(@cCodeKBK,4,10),
		@cCodeP = substring(@cCodeKBK,14,4),
		@varKSCode_Ekr = right(@cCodeKBK,3)
	
	set @iLinkKBK = (select max(link) 
				from dbo.KL_KBK
				where CODE = rtrim(@cCodeKBK) + '.' + rtrim(@cCodeIVF) + rtrim(@cCodeP) + rtrim(@varKSCode_Ekr) and TYPE = 4)
	IF @iLinkKBK is null
		IF @addVKR = 1
		BEGIN
			select @iL_PPP = max(link) from kl_admin_bs where code = @varKSCode_PPP
			if @iL_PPP is null 
				set @cErrorTxt = 'Не найден администратор БС с кодом ' + @varKSCode_PPP

			select @iLinkIVF = max(link) from dbo.KL_IVF where CODE = @cCodeIVF
			if @iLinkIVF is null 
				set @cErrorTxt = 'Не найден источник финансирования с кодом ' + @cCodeIVF
			
			select @iLinkProg = max(link) from dbo.KL_PROG where CODE = @cCodeP
			if @iLinkProg is null 
				set @cErrorTxt = 'Не найдена программа с кодом ' + @cCodeP
			
			select @iLinkEKR = max(link) from dbo.KOSGU where CODE = @varKSCode_Ekr
			if @iLinkEKR is null 
				set @cErrorTxt = 'Не найден КОСГУ ' + @varKSCode_Ekr
			
			
			SET @iLinkKBK = 0
			exec @varKSiRet = dbo.BI_SAVE_KBK @iLinkKBK output, @iTypeKBK, 'Сгенерированный ИВФ', @iL_PPP, null, @iLinkIVF, @iLinkProg, null, null, null, @iLinkEKR
			if @varKSiRet <> 0 
				SET @varKSiRet = -1
		END
		ELSE
			set @cErrorTxt = 'Запрещено добавление КБК в справочник.'

end


-- КД
IF @cTypeKBK = '20'
begin
	select @varKSCode_PPP = left(@cCodeKBK,3),
			@cCodeD = substring(@cCodeKBK,4,10),
			@cCodeP = substring(@cCodeKBK,14,4),
			@varKSCode_Ekr = right(@cCodeKBK,3)
	
	set @iLinkKBK = (select max(link) 
				from dbo.KL_KBK
				where CODE = rtrim(@varKSCode_PPP) + '.' + rtrim(@cCodeD) + rtrim(@cCodeP) + rtrim(@varKSCode_Ekr) and TYPE = 2)

	IF @iLinkKBK is null
		IF @addVKR = 1
		BEGIN
			select @iL_PPP = max(link) from kl_admin_bs where code = @varKSCode_PPP
			if @iL_PPP is null 
				set @cErrorTxt = 'Не найден администратор БС с кодом ' + @varKSCode_PPP

			select @iLinkD = max(link) from dbo.KL_KD where CODE = @cCodeD
			if @iLinkD is null 
				set @cErrorTxt = 'Не найден вид дохода с кодом ' + @cCodeD

			select @iLinkProg = max(link) from dbo.KL_PROG where CODE = @cCodeP
			if @iLinkProg is null 
				set @cErrorTxt = 'Не найдена программа с кодом ' + @cCodeP
			
			select @iLinkEKR = max(link) from dbo.KOSGU where CODE = @varKSCode_Ekr
			if @iLinkEKR is null 
				set @cErrorTxt = 'Не найден КОСГУ ' + @varKSCode_Ekr
			
			
			SET @iLinkKBK = 0
			exec @varKSiRet = dbo.BI_SAVE_KBK @iLinkKBK output, 2, 'Сгенерированный КД', @iL_PPP, @iLinkD, null, @iLinkProg, null, null, null, @iLinkEKR
			
			if @varKSiRet <> 0 
				SET @varKSiRet = -1
		END
		ELSE
			set @cErrorTxt = 'Запрещено добавление КБК в справочник.'

end

if isnull(@cCodeDCL, '') <> ''
begin
	select @iLinkDCL = max(link) from dbo.DOP_CLASSIF where CODE = @cCodeDCL
	if @iLinkDCL is null 
		set @cErrorTxt = 'Не найдена доп.классификация ' + @cCodeDCL
end
			
if @cErrorTxt <> '' 
	SET @varKSiRet = -1


return @varKSiRet





GO


GRANT EXECUTE ON dbo.[BB_GET_LINK_KBK_BY_CODE_2016] TO PUBLIC

GO


--Расширенные свойства--


GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BB_CREDIT_CARD]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BB_CREDIT_CARD]
GO

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO


/*
© Кейсистемс (Keysystems), 2005
*/

create  procedure dbo.BB_CREDIT_CARD
	@cBufId 	char(100),
	@dDateB 	datetime,
	@dDateE 	datetime,
	@iRestAcc207 	tinyint = 0,
	@iOborotAcc207 	tinyint = 0,
	@iDepLink 	int = 0,
	@iPrintKBK TINYINT,
	@nSel_Spr2 int,
	@nSel_Spr3 int,
	@cVal1 		char(1) = '', 
	@nOtborLink1 	int = 0
	

as
declare @iOwnDep		int,
		@iRecCountR1	int,
		@iRecCountR2	int,
		@dDateRest		datetime
	
declare @tRest table(DOC_LINK	int,
		      		 DATE_R	   	datetime,
					 SUMMA	   	numeric(28,2),
					 TYPE_R		tinyint)


set @iOwnDep = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())

if @cBufId is null or @cBufId = ''
begin
	set @cBufId = 'BB_CREDIT'
	exec dbo.BufferClear 'BB_CREDIT'
	insert into BUFFER (link, id)
	select link, @cBufId 
	from G_PROV 
	where DEP = @iOwnDep and
	      OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_CREDIT' or CODE = 'BB_CREDIT_PROL') and
	      	(@iDepLink <> 0 and LINK IN (select LINK 
					   							from dbo.CREDIT_HEAD 
												where DEP = @iDepLink) or 
			(@iDepLink = 0 and (len(@cVal1) = 0  or len(@cVal1) <> 0 and LINK IN (select CH.LINK 
																   from dbo.CREDIT_HEAD CH
																   inner join dbo.OBJECT_VAR_DEPARTMENT OVD on OVD.RECORD = CH.DEP AND OVD.LINK_UP = @nOtborLink1)))) 
	
end

IF @dDateB IS NULL
	select @dDateB = MIN(DATE)
	from G_PROV 
	where OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_CREDIT' or CODE = 'BB_CREDIT_PROL') and 
		(@cBufId is null or @cBufId = '' or link in (select * from dbo.BufferGetTableByID(@cBufId))) and
		DEP = @iOwnDep
IF @dDateE IS NULL
	select @dDateE = MAX(dbo.BB_CREDIT_DATE_END(LINK, default, default))
	from G_PROV 
	where OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_CREDIT' or CODE = 'BB_CREDIT_PROL') and
		(@cBufId is null or @cBufId = '' or link in (select * from dbo.BufferGetTableByID(@cBufId))) and
		DEP = @iOwnDep

exec dbo.BufferClear 'CREDIT_ACC'
exec dbo.BufferClear 'CREDIT_PER_D'
exec dbo.BufferClear 'CREDIT_PL_K'
exec dbo.BufferClear 'CREDIT_DOH_N'


insert into BUFFER (link, id)
select link, 'CREDIT_ACC' from s_accounts where code like '%207.%'

insert into BUFFER (link, id)
select link, 'CREDIT_PER_D' from s_accounts where code like '%304.05%' or code like '%201.07%' or code like '%201.11%' 

insert into BUFFER (link, id)
select link, 'CREDIT_PL_K' from s_accounts where code like '%304.05%' or code like '%201.07%' or code like '%201.11%'  or code like '%210.02%'

insert into BUFFER (link, id)
select link, 'CREDIT_DOH_N' from s_accounts where code like '%401.[1-2]0%'

-- Раздел 1
declare @tTempRasdel1 table(NUM_DOC	char(25) ,
			    DATE_DOC	datetime,
			    DATE_B_MON	datetime,
			    DATE_E_MON	datetime,
			    SUM_PER	numeric(28,2),
			    SUM_PL	numeric(28,2),
			    SUM_PR 	numeric(28,2),
			    DT_AP1	int,
			    KT_AP1	int,
				DT_ACC		char(40),
				KT_ACC		char(40),
				DOC_LINK int)

declare @tRasdel1 table(TYPE	int,
					OSNOV_NAME	varchar(254),
					OSNOV_NUM	char(25),
					OSNOV_DATE	datetime,
					DATE_END	datetime,
					SUM_REST_B	numeric(28,2),
					SUM_REST_E	numeric(28,2),
					I_REST_B	numeric(28,2),
					I_REST_E	numeric(28,2),
					NUM_DOC		char(25),
					DATE_DOC	datetime,
					[YEAR]		char(4),
					MON			tinyint,
					YEAR_MON	char(10),
					DT_ACC		char(40),
					KT_ACC		char(40),
					SUM_PER		numeric(28,2),
					SUM_PL		numeric(28,2),
					SUM_PR 		numeric(28,2),
					SORT		tinyint,
					P_LINK		int,
					COMMENT		varchar(254))

if @iOborotAcc207 = 0
	insert into @tTempRasdel1
	select '', CS.DATE, dbo.DateBeginOfMonth(CS.DATE), dbo.DateEndOfMonth(CS.DATE) + 1, 
	case CP.CODE when 'PER_CREDIT' then CS.SUMMA else 0 end, 
	case CP.CODE when 'UPL_CREDIT' then CS.SUMMA else 0 end, 
	0, null, null, null, null, G.LINK
	from dbo.CREDIT_SUM CS 
	inner join dbo.CREDIT_PARAM_DICTION CP on CS.PARAM_LINK = CP.LINK and (CP.CODE = 'PER_CREDIT' or CP.CODE = 'UPL_CREDIT')
	inner join dbo.G_PROV G on CS.LINK_UP = G.LINK
	inner join dbo.BufferGetTableByID(@cBufId) B on B.LINK = G.LINK
	where CS.DATE is not null and CS.DATE between @dDateB and @dDateE
else
	insert into @tTempRasdel1
	select NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, SUMMA, 0, 0, DT_AP1, KT_AP1, dbo.BK_GetAcctFullCode1 (DT_ACCOUNT, DT_VKR, DT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), '', null
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_PER_D')
	where DATE_PROV between @dDateB and @dDateE
	union
	select NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, 0, SUMMA, 0, DT_AP1, KT_AP1, '', dbo.BK_GetAcctFullCode1 (KT_ACCOUNT, KT_VKR, KT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), null
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_PL_K', 'CREDIT_ACC')
	where DATE_PROV between @dDateB and @dDateE and 
		DT_SGU = (select LINK from dbo.KOSGU where CODE = '640')
	union
	select NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, 0, 0,SUMMA, DT_AP1, KT_AP1, '', dbo.BK_GetAcctFullCode1 (KT_ACCOUNT, KT_VKR, KT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), null
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_DOH_N', 'CREDIT_ACC')
	where DATE_PROV between @dDateB and @dDateE

-- Раздел 2
declare @tTempRasdel2 table(NUM_DOC	char(25) ,
			    DATE_DOC	datetime,
			    DATE_B_MON	datetime,
			    DATE_E_MON	datetime,
			    P_ACC		char(40),
				N_SUM		numeric(28,2),
			    PL_SUM		numeric(28,2),
			    DT_AP1		int,
			    KT_AP1		int,
				DOC_LINK	int)

declare @tRasdel2 table(TYPE 		int,
						OSNOV_NAME	varchar(254),
						OSNOV_NUM	char(25),
						OSNOV_DATE	datetime,
						[PROC]		numeric(10,4),
						P_ACC		char(40),
						SUM_REST_B	numeric(28,2),
						SUM_REST_E	numeric(28,2),
						I_REST_B	numeric(28,2),
						I_REST_E	numeric(28,2),
						I_REST_B2	numeric(28,2),
						I_REST_E2	numeric(28,2),
						NUM_DOC		char(25),
						DATE_DOC	datetime,
						[YEAR]		char(4),
						MON			tinyint,
						YEAR_MON	char(10),
						PL_SUM		numeric(28,2),
						N_SUM		numeric(28,2),
						SORT		tinyint,
						P_LINK		int)


if @iOborotAcc207 = 0
	insert into @tTempRasdel2
	select '', CS.DATE, dbo.DateBeginOfMonth(CS.DATE), dbo.DateEndOfMonth(CS.DATE) + 1, '',
	case when CP.CODE = 'N_PROC' or CP.CODE = 'N_MARJA' or CP.CODE = 'N_SH_CREDIT' or CP.CODE = 'N_SH_PROC' or CP.CODE = 'N_SH_MARJA' or CP.CODE = 'N_SH_NECELEV' then CS.SUMMA else 0 end, 
	case when CP.CODE = 'UPL_PROC' or CP.CODE = 'UPL_MARJA' or CP.CODE = 'UPL_SH_CREDIT' or CP.CODE = 'UPL_SH_PROC' or CP.CODE = 'UPL_SH_MARJA' or CP.CODE = 'UPL_SH_NECELEV' then CS.SUMMA else 0 end, 
	null, null, G.LINK
	from dbo.CREDIT_SUM CS 
	inner join dbo.CREDIT_PARAM_DICTION CP on CS.PARAM_LINK = CP.LINK and (CP.CODE = 'N_PROC' or CP.CODE = 'N_MARJA' or CP.CODE = 'N_SH_CREDIT' or CP.CODE = 'N_SH_PROC' or CP.CODE = 'N_SH_MARJA' or CP.CODE = 'N_SH_NECELEV' or CP.CODE = 'UPL_PROC' or CP.CODE = 'UPL_MARJA' or CP.CODE = 'UPL_SH_CREDIT' or CP.CODE = 'UPL_SH_PROC' or CP.CODE = 'UPL_SH_MARJA' or CP.CODE = 'UPL_SH_NECELEV')
	inner join dbo.G_PROV G on CS.LINK_UP = G.LINK
	inner join dbo.BufferGetTableByID(@cBufId) B on B.LINK = G.LINK
	where CS.DATE is not null and CS.DATE between @dDateB and @dDateE
else
	insert into @tTempRasdel2
	select 	NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, dbo.BK_GetAcctFullCode1 (DT_ACCOUNT, DT_VKR, DT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), SUMMA, 0, DT_AP1, KT_AP1, NULL
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_DOH_N')
	where KT_SGU in (select LINK from dbo.KOSGU where CODE = '140' or CODE = '120') and 
		DATE_PROV between @dDateB and @dDateE
	union
	select 	NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, dbo.BK_GetAcctFullCode1 (KT_ACCOUNT, KT_VKR, KT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), 0, SUMMA, DT_AP1, KT_AP1, NULL
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_PL_K', 'CREDIT_ACC')
	where DT_SGU in (select LINK from dbo.KOSGU where CODE = '120' or CODE = '140') and 
		DATE_PROV between @dDateB and @dDateE


if @iRestAcc207 = 0
	insert into @tRest(DOC_LINK, DATE_R, SUMMA, TYPE_R)
	select T.DOC_LINK, T.DATE_R, sum(dbo.BB_CREDIT_REST(T.DOC_LINK, DATE_R,0)),0
	from (select O.DOC_LINK, DATE_B_MON AS DATE_R  
		from @tTempRasdel1 S
		inner join dbo.BD_OSNOV O on S.DT_AP1   = O.LINK or S.KT_AP1   = O.LINK and
									O.DOC_LINK IN (select * from dbo.BufferGetTableByID(@cBufId))
		union
		select O.DOC_LINK, DATE_E_MON AS DATE_R 
		from @tTempRasdel1 S
		inner join dbo.BD_OSNOV O on S.DT_AP1   = O.LINK or S.KT_AP1   = O.LINK and
									O.DOC_LINK IN (select * from dbo.BufferGetTableByID(@cBufId))) T
	GROUP BY T.DATE_R, T.DOC_LINK
	union all
	select T.DOC_LINK, T.DATE_R, sum(dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'PROC','') + 
				    						 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'MARJA','') + 
				   							 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'SH_NECELEV','') + 
				    						 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'SH_CREDIT','') + 
				    						 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'SH_PROC','') + 
				    						 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'SH_MARJA','')), 1
	from (select O.DOC_LINK, DATE_B_MON AS DATE_R  
		from @tTempRasdel2 S
		inner join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK or S.KT_AP1 = O.LINK and
								  O.DOC_LINK in (select * from dbo.BufferGetTableByID(@cBufId))
		union
		select O.DOC_LINK, DATE_E_MON AS DATE_R 
		from @tTempRasdel2 S
		inner join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK or S.KT_AP1 = O.LINK and
								  O.DOC_LINK in (select * from dbo.BufferGetTableByID(@cBufId))) T 
	GROUP BY T.DATE_R, T.DOC_LINK 	
else
begin
	set @dDateRest = dbo.DateBeginOfMonth(@dDateB)
	while @dDateRest < (dbo.DateEndOfMonth(@dDateE) + 2)
	begin
		insert into @tRest(DOC_LINK, DATE_R, SUMMA, TYPE_R)
		select O.DOC_LINK, @dDateRest,sum(R.D_SUMMA - R.K_SUMMA), case KBK.TYPE when 2 then 1 else 0 end
		from dbo.aRestTableByDateAccounts(@dDateRest,'CREDIT_ACC') R
		inner join dbo.KL_KBK KBK on R.KBK = KBK.LINK --and KBK.TYPE <> 1
		inner join dbo.BD_OSNOV O on R.AP1 = O.LINK  
		group by O.DOC_LINK, case KBK.TYPE when 2 then 1 else 0 end
		set @dDateRest = dateadd(month, 1, @dDateRest)
	end
end

update T 
set KT_ACC = T1.KT_ACC
from @tTempRasdel1 T
inner join @tTempRasdel1 T1 on T.DT_AP1 =  T.KT_AP1
where T.KT_ACC = '' and T1.KT_ACC <> ''


update T 
set DT_ACC = T1.DT_ACC
from @tTempRasdel1 T
inner join @tTempRasdel1 T1 on T.KT_AP1 =  T.DT_AP1
where T.DT_ACC = '' and T1.DT_ACC <> ''
	
declare @tMonths table (date_b datetime)
insert into @tMonths
select  dbo.DatebeginOfMonth(@dDateB)
union
select DATE_R from @tRest
union
select  dbo.DateEndOfMonth(@dDateE)+1



--select * from @tTempRasdel1
insert into @tRasdel1
select    C.TYPE,
			OSNOV_NAME	= isnull(C.DOC_NAME,'Договор выдачи кредита'),
			OSNOV_NUM	= isnull(C.DOC_NUM, C.NUMBER),
			OSNOV_DATE	= isnull(C.DOC_DATE, C.[DATE]),
			DATE_END	= dbo.BB_CREDIT_DATE_END(C.LINK, default, default),
			SUM_REST_B	= 0,
		 	SUM_REST_E	= 0, 
		 	isnull(R3.SUMMA,0), 
			isnull(R4.SUMMA,0),
			S.NUM_DOC,
		 	S.DATE_DOC,
		 	[YEAR]		= convert(char(4),YEAR(S.DATE_DOC)),
		 	MON			= MONTH(S.DATE_DOC),
		 	YEAR_MON	= str(YEAR(S.DATE_DOC),4) + replace(str(MONTH(S.DATE_DOC),2),' ','0'),
			S.DT_ACC,
			S.KT_ACC,
			S.SUM_PER,
			S.SUM_PL,
			S.SUM_PR,
			SORT		= 2,
			C.ZDEP_LINK,
			C.COMMENT
from @tTempRasdel1 S
left join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK or S.KT_AP1   = O.LINK
left join dbo.BB_CREDIT C on (C.LINK = O.DOC_LINK or C.LINK = S.DOC_LINK)
left join @tRest R3 on C.LINK = R3.DOC_LINK and R3.TYPE_R = 0 and R3.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R4 on C.LINK = R4.DOC_LINK and R4.TYPE_R = 0 and R4.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
where C.LINK is not null and C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))
union 
select C.TYPE,
		OSNOV_NAME	= isnull(C.DOC_NAME,'Договор выдачи кредита'),
		OSNOV_NUM	= isnull(C.DOC_NUM, C.NUMBER),
		OSNOV_DATE	= isnull(C.DOC_DATE, C.[DATE]),
		DATE_END	= dbo.BB_CREDIT_DATE_END(C.LINK, default, default),
		isnull(R1.SUMMA,0), 
		isnull(R2.SUMMA,0),  
		isnull(R3.SUMMA,0), 
		isnull(R4.SUMMA,0), '','',
		convert(char(4), YEAR(M.DATE_B)), 
		MONTH(M.DATE_B), 
		str(YEAR(M.DATE_B),4) + replace(str(MONTH(M.DATE_B),2),' ','0'), 
		(select max(S.DT_ACC) from @tTempRasdel1 s 
							left join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK
							left join dbo.BB_CREDIT C on (C.LINK = O.DOC_LINK or C.LINK = S.DOC_LINK)),
		(select max(S.KT_ACC) from @tTempRasdel1 s 
							left join dbo.BD_OSNOV O on S.KT_AP1   = O.LINK
							left join dbo.BB_CREDIT C on (C.LINK = O.DOC_LINK or C.LINK = S.DOC_LINK)),
		0, 0, 0, 0,
		C.ZDEP_LINK,
		C.COMMENT
from dbo.BB_CREDIT C
left join @tMonths M on 1=1 --R.DATE_R < @dDateE
left join @tRest R1 on C.LINK = R1.DOC_LINK and R1.TYPE_R = 0 and M.DATE_B = R1.DATE_R and R1.DATE_R < @dDateE
left join @tRest R2 on C.LINK = R2.DOC_LINK and dbo.DateEndOfMonth(M.DATE_B) + 1 = R2.DATE_R and R2.TYPE_R = 0
left join @tRest R3 on C.LINK = R3.DOC_LINK and R3.TYPE_R = 0 and R3.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R4 on C.LINK = R4.DOC_LINK and R4.TYPE_R = 0 and R4.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
where (R1.SUMMA <> 0 or R2.SUMMA <> 0) and
		C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))





set @iRecCountR1 = @@ROWCOUNT 		



insert into @tRasdel2
select    C.TYPE,
			OSNOV_NAME	= isnull(C.DOC_NAME,'Договор выдачи кредита'),
			OSNOV_NUM	= isnull(C.DOC_NUM, C.NUMBER),
			OSNOV_DATE	= isnull(C.DOC_DATE, C.[DATE]),
			[PROC] 		= dbo.BB_CREDIT_PROC(O.DOC_LINK,S.DATE_B_MON,'PROC',0),
			S.P_ACC,
			SUM_REST_B	= 0,
		 	SUM_REST_E	= 0, 
			isnull(R3.SUMMA,0), 
			isnull(R4.SUMMA,0),
			isnull(R5.SUMMA,0) + isnull(R3.SUMMA,0),  
			isnull(R6.SUMMA,0) + isnull(R4.SUMMA,0),
			S.NUM_DOC,
		 	S.DATE_DOC,
		 	[YEAR]		= convert(char(4),YEAR(S.DATE_DOC)),
		 	MON			= MONTH(S.DATE_DOC),
		 	YEAR_MON	= str(YEAR(S.DATE_DOC),4) + replace(str(MONTH(S.DATE_DOC),2),' ','0'),
			S.PL_SUM,
			S.N_SUM,
			SORT		= 2,
			C.ZDEP_LINK
from @tTempRasdel2 S
left join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK or S.KT_AP1   = O.LINK
left join dbo.BB_CREDIT C on (C.LINK = O.DOC_LINK or C.LINK = S.DOC_LINK)
left join @tRest R3 on C.LINK = R3.DOC_LINK and R3.TYPE_R = 1 and R3.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R4 on C.LINK = R4.DOC_LINK and R4.TYPE_R = 1 and R4.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
left join @tRest R5 on C.LINK = R5.DOC_LINK and R5.TYPE_R = 0 and R5.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R6 on C.LINK = R6.DOC_LINK and R6.TYPE_R = 0 and R6.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
where C.LINK is not null and C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))
union 
select C.TYPE,
		OSNOV_NAME	= isnull(C.DOC_NAME,'Договор выдачи кредита'),
		OSNOV_NUM	= isnull(C.DOC_NUM, C.NUMBER),
		OSNOV_DATE	= isnull(C.DOC_DATE, C.[DATE]),
		[PROC] 		= 0,
		P_ACC		= '',
		isnull(R1.SUMMA,0), 
		isnull(R2.SUMMA,0),
		isnull(R3.SUMMA,0), 
		isnull(R4.SUMMA,0),
		isnull(R5.SUMMA,0) + isnull(R3.SUMMA,0),  
		isnull(R6.SUMMA,0) + isnull(R4.SUMMA,0), '','', 
		convert(char(4), YEAR(M.DATE_B)), 
		MONTH(M.DATE_B), 
		str(YEAR(M.DATE_B),4) + replace(str(MONTH(M.DATE_B),2),' ','0'),0, 0, 0,
		C.ZDEP_LINK
from dbo.BB_CREDIT C
left join @tMonths M on 1=1 --R.DATE_R < @dDateE
left join @tRest R1 on C.LINK = R1.DOC_LINK and R1.TYPE_R = 1 and M.DATE_B = R1.DATE_R and R1.DATE_R < @dDateE
left join @tRest R2 on C.LINK = R2.DOC_LINK and dbo.DateEndOfMonth(M.DATE_B) + 1 = R2.DATE_R and R2.TYPE_R = 1
left join @tRest R3 on C.LINK = R3.DOC_LINK and R3.TYPE_R = 1 and R3.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R4 on C.LINK = R4.DOC_LINK and R4.TYPE_R = 1 and R4.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
left join @tRest R5 on C.LINK = R5.DOC_LINK and R5.TYPE_R = 0 and R5.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R6 on C.LINK = R6.DOC_LINK and R6.TYPE_R = 0 and R6.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
where (R1.SUMMA <> 0 or R2.SUMMA <> 0) and
		C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))

declare @tDepTable table(POL_LINK	int, TYPE int)

insert into @tDepTable
select P_LINK, TYPE from @tRasdel2 union
select P_LINK, TYPE from @tRasdel1 


select 	DEP_TYPE = rtrim(str(D.LINK)) + isnull(CT.CODE,''),
		OSNOV_NAME = isnull(R.OSNOV_NAME,''),
		OSNOV_NUM = isnull(R.OSNOV_NUM,''),
		R.COMMENT, 
		R.OSNOV_DATE,
		DATE_END = isnull(R.DATE_END,''),
		SUM_REST_B = isnull(R.SUM_REST_B,0),
		SUM_REST_E = isnull(R.SUM_REST_E,0),
		I_R_BD = case when isnull(R.I_REST_B,0)>0 then isnull(R.I_REST_B,0) else 0 end ,
		I_R_ED = case when isnull(R.I_REST_E,0)>0 then isnull(R.I_REST_E,0) else 0 end ,
		I_R_BK = case when isnull(R.I_REST_B,0)<0 then - isnull(R.I_REST_B,0) else 0 end ,
		I_R_EK = case when isnull(R.I_REST_E,0)<0 then - isnull(R.I_REST_E,0) else 0 end ,
		NUM_DOC = isnull(R.NUM_DOC,''),
		R.DATE_DOC,
		[YEAR] = isnull(R.[YEAR],0),
		MON = isnull(R.MON,0),
		YEAR_MON = isnull(R.YEAR_MON,0),
		R.DT_ACC,
		R.KT_ACC,
		SUM_PER = isnull(R.SUM_PER,0),
		SUM_PL = isnull(R.SUM_PL,0),
		SUM_PR = isnull(R.SUM_PR,0),
		P_LINK = D.LINK, 
		P_CODE = D.CODE, 
		P_NAME = D.FULL_NAME, 
		DT.TYPE, 
		TYPE_CODE = isnull(CT.CODE,''), 
		[TYPE_NAME] = isnull(CT.[NAME],''),
		SUBDIV = (SELECT NAME from dbo.SUBDIVISION(default) where LINK = @nSel_Spr3)
from @tDepTable DT
inner join dbo.DEPARTMENTS D   on D.LINK = DT.POL_LINK
left join dbo.CREDIT_TYPES CT ON CT.LINK  = DT.TYPE
left join @tRasdel1 R on DT.POL_LINK = R.P_LINK and (DT.TYPE = R.TYPE or DT.TYPE is null and R.TYPE is null)
order by /*D.[NAME],*/ P_LINK, isnull(CT.CODE,''), YEAR_MON, SORT, DATE_DOC, SUM_PL


select DEP_TYPE = rtrim(str(D.LINK)) + isnull(CT.CODE,''),
		OSNOV_NAME = isnull(R.OSNOV_NAME,''),
		OSNOV_NUM = isnull(R.OSNOV_NUM,''),
		R.OSNOV_DATE,
		[PROC] = isnull(R.[PROC],0),
		P_ACC = isnull(R.P_ACC,''),
		SUM_R_BD = case when isnull(R.SUM_REST_B,0)>0 then isnull(R.SUM_REST_B,0) else 0 end ,
		SUM_R_ED = case when isnull(R.SUM_REST_E,0)>0 then isnull(R.SUM_REST_E,0) else 0 end ,
		SUM_R_BK = case when isnull(R.SUM_REST_B,0)<0 then - isnull(R.SUM_REST_B,0) else 0 end ,
		SUM_R_EK = case when isnull(R.SUM_REST_E,0)<0 then - isnull(R.SUM_REST_E,0) else 0 end ,
		I_R_BD = case when isnull(R.I_REST_B,0)>0 then isnull(R.I_REST_B,0) else 0 end ,
		I_R_ED = case when isnull(R.I_REST_E,0)>0 then isnull(R.I_REST_E,0) else 0 end ,
		I_R_BK = case when isnull(R.I_REST_B,0)<0 then - isnull(R.I_REST_B,0) else 0 end ,
		I_R_EK = case when isnull(R.I_REST_E,0)<0 then - isnull(R.I_REST_E,0) else 0 end ,
		I_R_BD1 = case when isnull(R.I_REST_B2,0)>0 then isnull(R.I_REST_B2,0) else 0 end ,
		I_R_ED1 = case when isnull(R.I_REST_E2,0)>0 then isnull(R.I_REST_E2,0) else 0 end ,
		I_R_BK1 = case when isnull(R.I_REST_B2,0)<0 then - isnull(R.I_REST_B2,0) else 0 end ,
		I_R_EK1 = case when isnull(R.I_REST_E2,0)<0 then - isnull(R.I_REST_E2,0) else 0 end ,
		NUM_DOC = isnull(R.NUM_DOC,''),
		R.DATE_DOC,
		[YEAR] = isnull(R.[YEAR],0),
		MON = isnull(R.MON,0),
		YEAR_MON = isnull(R.YEAR_MON,0),
		PL_SUM = isnull(R.PL_SUM,0),
		N_SUM = isnull(R.N_SUM,0),
		R1.REST_PL,
		R1.REST_N,
		P_LINK = D.LINK, 
		P_CODE = D.CODE, 
		P_NAME = D.[NAME], 
		DT.TYPE, 
		TYPE_CODE = isnull(CT.CODE,''), 
		[TYPE_NAME] = isnull(CT.[NAME],'') ,
		NACH_OTD = (select dbo.BK_Get_PERSON_Signature (PERS_LINK, DEFAULT) from KU_EMPL_PLACING where LINK = @nSel_Spr2)
from @tDepTable DT
inner join dbo.DEPARTMENTS D   on D.LINK = DT.POL_LINK
left join dbo.CREDIT_TYPES CT ON CT.LINK  = DT.TYPE
left join @tRasdel2 R on DT.POL_LINK = R.P_LINK and (DT.TYPE = R.TYPE or DT.TYPE is null and R.TYPE is null)
left join (select REST_PL = SUM(isnull(SUM_PL,0)), REST_N =  SUM(isnull(SUM_PER,0)), P_LINK, TYPE from @tRasdel1 group by P_LINK, TYPE) R1 on DT.POL_LINK = R1.P_LINK  and (DT.TYPE = R1.TYPE or DT.TYPE is null and R1.TYPE is null) 
order by /*D.[NAME],*/ P_LINK, isnull(CT.CODE,''), YEAR_MON, SORT, DATE_DOC, PL_SUM

--select * from @tDepTable

exec dbo.BufferClear 'CREDIT_ACC'
exec dbo.BufferClear 'CREDIT_PER_D'
exec dbo.BufferClear 'CREDIT_PL_K'
exec dbo.BufferClear 'CREDIT_DOH_N'

return 1








GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
grant all on dbo.BB_CREDIT_CARD to public
GO

GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BB_CREDIT_CARD_DOLG]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BB_CREDIT_CARD_DOLG]
GO

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO


/*
c Кейсистемс (Keysystems), 2005
*/

create  procedure dbo.BB_CREDIT_CARD_DOLG
	@cBufId 	char(100),
	@dDateB 	datetime,
	@dDateE 	datetime,
	@iAcc207 	tinyint,
	@iTypeRep 	tinyint = 1,
	@iDepLink 	int = 0,
	@iPrintKBK TINYINT,
	@iPrintSGU TINYINT,
	@cVal1 		char(1), 
	@nOtborLink1 	int,
	@cVal2 		char(1), 
	@nOtborLink2 	int
	

as
/*
select '@cBufId' = @cBufId 	,
	'@dDateB' = @dDateB 	,
	'@dDateE' = @dDateE 	,
	'@iAcc207' = @iAcc207 	,
	'@iTypeRep' = @iTypeRep 	,
	'@iDepLink' = @iDepLink 	,
	'@iPrintKBK' = @iPrintKBK ,
	'@iPrintSGU' = @iPrintSGU ,
	'@cVal1' = @cVal1 		, 
	'@nOtborLink1' = @nOtborLink1 	,
	'@cVal2' = @cVal2 		, 
	'@nOtborLink2' = @nOtborLink2*/
declare @iOwnDep	int,
		@dDateRest  datetime
	
declare @tRest table(DEP int,
		      		 DT_ACC varchar(35), 
					 KT_ACC varchar(35),
					 GRUP	int,
					 [TYPE]	tinyint,
					 SUMMA numeric(28,2))

declare @tAccTemp1 table(LINK int,
						 ACC int,
						 KBK int,
						 SGU int)

declare @tAccTemp2 table(LINK int,
						 ACC int,
						 KBK int,
						 SGU int)

declare @tDocAccCode table(LINK int,
						 DT_ACC varchar(40),
						 KT_ACC varchar(40))

set @iOwnDep = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
set @iDepLink = isnull(@iDepLink,0)
if @cBufId is null or @cBufId = ''
begin
	set @cBufId = 'BB_DOLG'
	exec dbo.BufferClear @cBufId
	
	insert into BUFFER (link, id)
	select C.link, @cBufId 
	from BB_P_CREDIT C
	where C.DEP_LINK = @iOwnDep and 
			C.DATE_BEG <= @dDateE and C.DATE_END >= @dDateB and
	      (@iDepLink <> 0 and C.KDEP_LINK = @iDepLink or 
			(@iDepLink = 0 and (len(@cVal1) = 0  or len(@cVal1) <> 0 
			and EXISTS (select * from dbo.OBJECT_VAR_DEPARTMENT OVD where OVD.RECORD = C.KDEP_LINK AND OVD.LINK_UP = @nOtborLink1)))) 

			/*inner join dbo.OBJECT_VAR_CREDIT_TYPE OVC on OVC.RECORD = CH.TYPE AND OVC.LINK_UP = @nOtborLink2*/ 
	
end
IF @dDateB IS NULL
	select @dDateB = MIN(DATE)
	from G_PROV 
	where OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_P_CREDIT') and 
		(@cBufId is null or @cBufId = '' or link in (select * from dbo.BufferGetTableByID(@cBufId))) and
		DEP = @iOwnDep
IF @dDateE IS NULL
	select @dDateE = MAX(dbo.BB_CREDIT_DATE_END(LINK, default, default))
	from G_PROV 
	where OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_P_CREDIT') and
		(@cBufId is null or @cBufId = '' or link in (select * from dbo.BufferGetTableByID(@cBufId))) and
		DEP = @iOwnDep

exec dbo.BufferClear 'CREDIT_ACC'
exec dbo.BufferClear 'CREDIT_PER_D'
exec dbo.BufferClear 'CREDIT_PL_N'
exec dbo.BufferClear 'CREDIT_DOH_N'
exec dbo.BufferClear 'OSNOV'
exec dbo.BufferClear 'SGU_D'
exec dbo.BufferClear 'SGU_K'
exec dbo.BufferClear 'SGU_K_P'
exec dbo.BufferClear 'SGU_K_KL_N'

insert into BUFFER (link, id)
select link, 'CREDIT_ACC' from s_accounts where code like '%301.%'

insert into BUFFER (link, id)
select link, 'CREDIT_PER' from s_accounts where code like '%210.02%' or code like '%201.07%' or code like '%201.11%' or code like '%401.30%' or code like '%301.%'

insert into BUFFER (link, id)
select link, 'CREDIT_PL' from s_accounts where code like '%304.05%' or code like '%201.07%' or code like '%201.11%'or code like '%301.%'

insert into BUFFER (link, id)
select link, 'CREDIT_PL_N' from s_accounts where code like '%401.[1-2]0%'

insert into BUFFER (link, id)
select O.LINK, 'OSNOV' 
from dbo.BD_OSNOV O
inner join dbo.G_PROV G on G.LINK = O.DOC_LINK and G.LINK in (select * from dbo.BufferGetTableByID(@cBufId))

insert into BUFFER (link, id)
select link, 'SGU_D' from dbo.KOSGU where CODE like '8%'

insert into BUFFER (link, id)
select link, 'SGU_K' from dbo.KOSGU where CODE like '7%'

insert into BUFFER (link, id)
select link, 'SGU_K_P' from dbo.KOSGU where CODE like '23%'

insert into BUFFER (link, id)
select link, 'SGU_K_PL_N' from dbo.KOSGU where CODE like '171'


insert into @tAccTemp1
select isnull(KT_AP1, DT_AP1), KT_ACCOUNT, KT_KBK, KT_SGU 
from dbo.AProvByBufferConditions('19000101', '29991231', 'CREDIT_PER', 'CREDIT_ACC', null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) 
/*
insert into @tAccTemp2
select isnull(DT_AP1, KT_AP1), DT_ACCOUNT, DT_KBK, DT_SGU
from dbo.AProvByBufferConditions('19000101', '29991231', 'CREDIT_ACC', 'CREDIT_PL', null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,null,null,null,null,null,null,null,null,null,null,NULL,null,null, null,null)
*/
delete T
from @tAccTemp1 T
where exists(SELECT * from @tAccTemp1 T1 where T.LINK = T1.LINK and T.ACC <> T1.ACC)
and exists(SELECT * from dbo.S_ACCOUNTS SA where T.ACC = SA.LINK and SA.cSinth = '301' and left(SA.cAnalit,1) = '0')
/*
delete T
from @tAccTemp2 T
where exists(SELECT * from @tAccTemp2 T1 where T.LINK = T1.LINK and T.ACC <> T1.ACC)
and exists(SELECT * from dbo.S_ACCOUNTS SA where T.ACC = SA.LINK and SA.cSinth = '301' and left(SA.cAnalit,1) = '0')
*/
insert into @tDocAccCode
select distinct O.DOC_LINK, 
				isnull(dbo.BK_GetAcctFullCode1 (T1.ACC, T1.KBK, T1.SGU, @iPrintKBK, @iPrintSGU, @dDateE),''),
				isnull(dbo.BK_GetAcctFullCode1 (T2.ACC, T2.KBK, T2.SGU, @iPrintKBK, @iPrintSGU, @dDateE),'')
from dbo.BD_OSNOV O 
inner join @tAccTemp1 T1 on T1.LINK = O.LINK
left join @tAccTemp2 T2 on T2.LINK = O.LINK

	
	
-- Раздел 1
declare @tTempRasdel1 table(OBJECT		varchar(254),
							LINK	int,
							DOC_NUM		char(25),
							DOC_DATE	datetime,
							OPER_NAME	varchar(254),
							OPER_DATE	datetime,
							SUM_PER		numeric(28,2),
							SUM_PL		numeric(28,2),
							SUM_PR 		numeric(28,2),
							DEP			int,
		      				DOC_LINK	int)

declare @tRasdel1 table(TYPE		int,
		      			ACC_CODE1 varchar(35),
		      			ACC_CODE2 varchar(35),
		      			DOC_NAME	varchar(254),
						DOC_NUM		char(25),
						DOC_DATE	datetime,
						OPER_NAME	varchar(254),
						OPER_DATE	datetime,
						SUM_PER		numeric(28,2),
						SUM_PL		numeric(28,2),
						SUM_PR 		numeric(28,2),
						SORT		tinyint,
						P_LINK		int,
						DOC_LINK	int,
						GRUP		INT)



insert into @tTempRasdel1
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV,S.SUMMA, 0, 0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.KT_AP1, S.DT_AP1)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_PER', 'CREDIT_ACC',
			 null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,
			 null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0,S.SUMMA,  0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.DT_AP1, S.KT_AP1)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_PL',
			 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,
			 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,null, null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0, 0, S.SUMMA, isnull(S.KT_DEP, S.DT_DEP), isnull(S.DT_AP1, S.KT_AP1)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_PL_N',
				 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K_PL_N',null,null, null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0, 0, S.SUMMA, isnull(S.KT_DEP, S.DT_DEP), isnull(S.KT_AP1, S.DT_AP1)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_PL_N', 'CREDIT_ACC',
				 null,null,null,null,null,null,null,null,null,null,'SGU_K_PL_N',null,null, null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) S



-- Раздел 2
declare @tTempRasdel2 table(OBJECT	varchar(254),
							LINK	int,
							DOC_NUM	char(25),
							DOC_DATE	datetime,
							OPER_NAME	varchar(254),
							OPER_DATE	datetime,
							SUM_PER	numeric(28,2),
							SUM_PL	numeric(28,2),
							SUM_PR 	numeric(28,2),
							DEP			int,
		      				DOC_LINK	int,
		      				ACC_CODE varchar(35))

declare @tRasdel2 table(TYPE		int,
		      			ACC_CODE varchar(35),
						ACC_CODE1 varchar(35),
						ACC_CODE2 varchar(35),
						DOC_NAME	varchar(254),
						DOC_NUM		char(25),
						DOC_DATE	datetime,
						OPER_NAME	varchar(254),
						OPER_DATE	datetime,
						SUM_PER		numeric(28,2),
						SUM_PL		numeric(28,2),
						SUM_PR 		numeric(28,2),
						SORT		tinyint,
						P_LINK		int,
						DOC_LINK	int,
						GRUP		INT)

insert into @tTempRasdel2
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, S.SUMMA, 0, 0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.KT_AP1, S.DT_AP1), dbo.BK_GetAcctFullCode1 (KT_ACCOUNT, KT_KBK, KT_SGU, @iPrintKBK, @iPrintSGU, @dDateE)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_PL_N', 'CREDIT_ACC',
				 null,null,null,null,null,null,null,null,null,null,'SGU_K_P',null,null, null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0,S.SUMMA, 0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.DT_AP1, S.KT_AP1), dbo.BK_GetAcctFullCode1 (DT_ACCOUNT, DT_KBK, DT_SGU, @iPrintKBK, @iPrintSGU, @dDateE)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_PL',
				 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K_P',null,null, null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0,S.SUMMA, 0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.DT_AP1, S.KT_AP1), dbo.BK_GetAcctFullCode1 (DT_ACCOUNT, DT_KBK, DT_SGU, @iPrintKBK, @iPrintSGU, @dDateE)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_ACC',
				 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) S



if @iAcc207 = 0
begin
	insert into @tRest
	select C.KDEP_LINK,  A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end, 0, sum(dbo.BB_CREDIT_REST(C.LINK, @dDateB,0))
	from dbo.BB_P_CREDIT C 
	left join @tDocAccCode A on A.LINK = C.LINK 
	where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
	group by C.KDEP_LINK,   A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end
	
	insert into @tRest
	select C.KDEP_LINK, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end, 2, sum(dbo.BB_CREDIT_REST(C.LINK, @dDateE,0))
	from dbo.BB_P_CREDIT C 
	left join @tDocAccCode A on A.LINK = C.LINK 
	where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
	group by C.KDEP_LINK,  A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end
	
	insert into @tRest
	select  C.KDEP_LINK, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end, 1,
			sum(dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateB,'PROC','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateB,'SH_NECELEV','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateB,'SH_CREDIT','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateB,'SH_PROC',''))
	from dbo.BB_P_CREDIT C
	left join @tDocAccCode A on A.LINK = C.LINK 
	where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
	group by C.KDEP_LINK,  A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end

	insert into @tRest
	select C.KDEP_LINK,   A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end, 3,
			sum(dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateE,'PROC','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateE,'SH_NECELEV','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateE,'SH_CREDIT','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateE,'SH_PROC',''))
	from dbo.BB_P_CREDIT C
	left join @tDocAccCode A on A.LINK = C.LINK 
	where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
	group by C.KDEP_LINK, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end

end
else
begin
	insert into @tRest
	select R.DEP, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then R.DEP when 2 then C.TYPE when 3 then O.DOC_LINK  else null end,
				case KBK.TYPE when 1 then 1 else 0 end, 
				sum(R.K_SUMMA - R.D_SUMMA) 
		from dbo.aRestTableByDateAccounts(@dDateB,'CREDIT_ACC') R
		inner join dbo.KL_KBK KBK on R.KBK = KBK.LINK --and KBK.TYPE <> 2
		inner join dbo.BD_OSNOV O on R.AP1 = O.LINK  
		inner join dbo.BB_P_CREDIT C on C.LINK = O.DOC_LINK 
		left join @tDocAccCode A on A.LINK = C.LINK 
		where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
		group by R.DEP,A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then R.DEP when 2 then C.TYPE when 3 then O.DOC_LINK  else null end, KBK.TYPE
set @dDateE = @dDateE + 1
	insert into @tRest
	select R.DEP, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then R.DEP when 2 then C.TYPE when 3 then O.DOC_LINK  else null end,
				2 + case KBK.TYPE when 1 then 1 else 0 end , 
				sum(R.K_SUMMA - R.D_SUMMA) 
		from dbo.aRestTableByDateAccounts(@dDateE,'CREDIT_ACC') R
		inner join dbo.KL_KBK KBK on R.KBK = KBK.LINK --and KBK.TYPE <> 2
		left join dbo.BD_OSNOV O on R.AP1 = O.LINK  
		inner join dbo.BB_P_CREDIT C on C.LINK = O.DOC_LINK 
		left join @tDocAccCode A on A.LINK = C.LINK 
		where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
		group by R.DEP, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then R.DEP when 2 then C.TYPE when 3 then O.DOC_LINK  else null end, KBK.TYPE
end

insert into @tRasdel1
select  C.TYPE,
		A.DT_ACC, 
		A.KT_ACC, 
		DOC_NAME	= dbo.JurnalProvGetDocKind (S.LINK, S.OBJECT),
		DOC_NUM		= S.DOC_NUM,
		DOC_DATE	= S.DOC_DATE,
		S.OPER_NAME,
		S.OPER_DATE,
		S.SUM_PER,
		S.SUM_PL,
		S.SUM_PR,
		SORT		= 2,
		C.KDEP_LINK,
		C.LINK,
		GPUP = case @iTypeRep when 1 then isnull(C.KDEP_LINK, S.DEP)
								when 2 then isnull(C.TYPE, '')
								when 3 then O.DOC_LINK else '' end
from @tTempRasdel1 S
left join dbo.BD_OSNOV O on S.DOC_LINK = O.LINK
left join dbo.BB_P_CREDIT C on C.LINK = O.DOC_LINK and C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))
left join @tDocAccCode A on A.LINK = O.DOC_LINK 

/*
select * from @tTempRasdel1 S
left join dbo.BD_OSNOV O on S.DOC_LINK = O.LINK
where O.DOC_LINK = 92167

select * from @tDocAccCode where LINK = 92167
*/
--select * from @tTempRasdel2

insert into @tRasdel2
select  C.TYPE,
		S.ACC_CODE,
		A.DT_ACC, 
		A.KT_ACC, 
		DOC_NAME	= dbo.JurnalProvGetDocKind (S.LINK, S.OBJECT),
		DOC_NUM		= S.DOC_NUM,
		DOC_DATE	= S.DOC_DATE,
		S.OPER_NAME,
		S.OPER_DATE,
		S.SUM_PER,
		S.SUM_PL,
		S.SUM_PR,
		SORT		= 2,
		C.KDEP_LINK,
		C.LINK,
		GPUP = case @iTypeRep when 1 then isnull(C.KDEP_LINK, S.DEP)
								when 2 then isnull(C.TYPE, '')
								when 3 then O.DOC_LINK else '' end
from @tTempRasdel2 S
left join dbo.BD_OSNOV O on S.DOC_LINK = O.LINK
left join dbo.BB_P_CREDIT C on C.LINK = O.DOC_LINK and C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))
left join @tDocAccCode A on A.LINK = O.DOC_LINK 


--declare @tDocTable table(DOC_LINK	int, POL_LINK	int, TYPE int)
declare @tDocTable table( ACC_CODE1 varchar(35), ACC_CODE2 varchar(35), DEP int, GRUP int)

insert into @tDocTable
select ACC_CODE1, ACC_CODE2, P_LINK, GRUP from @tRasdel2 union
select ACC_CODE1, ACC_CODE2, P_LINK, GRUP from @tRasdel1 union
select DT_ACC, KT_ACC, DEP, GRUP from @tRest
/*
select * from @tDocTable  where GRUP = 92167
select * from @tRasdel2  where GRUP = 92167
select * from @tRasdel1  where GRUP = 92167
select * from @tRest where GRUP = 92167
*/

--select * from @tRest

select 	--DOC_LINK = DT.DOC_LINK,
		DOC_NAME = isnull(R.DOC_NAME,''),
		DOC_NUM = isnull(R.DOC_NUM,''),
		R.DOC_DATE,
		SUM_REST_B = isnull(RB.SUMMA,0),
		SUM_REST_E = isnull(RE.SUMMA,0),
		OPER_NAME = isnull(R.OPER_NAME,''),
		R.OPER_DATE,
		SUM_PER = isnull(R.SUM_PER,0),
		SUM_PL = isnull(R.SUM_PL,0),
		SUM_PR = isnull(R.SUM_PR,0),
		P_LINK = D.LINK, 
		P_CODE = D.CODE, 
		P_NAME = D.[NAME], 
		--DT.TYPE, 
		DATE_B = C.DATE_BEG,
		DATE_E = C.DATE_END,
		DT.ACC_CODE1,
		DT.ACC_CODE2,
		TYPE_CODE = coalesce(CT.CODE,C.TYPE_CODE), 
		[TYPE_NAME] = coalesce(CT.[NAME], rtrim(C.[TYPE_NAME]) + ' (договор №' + rtrim(ltrim(C.NUMBER)) + ')'),
		GRUP = rtrim(str(DT.DEP)) + '__' + rtrim(str(DT.GRUP)) + '__' +  isnull(DT.ACC_CODE1,'') + '__' +  isnull(DT.ACC_CODE2,'')
from @tDocTable DT
inner join dbo.DEPARTMENTS D   on D.LINK = DT.DEP
left join dbo.BB_P_CREDIT C ON @iTypeRep = 3 and  C.LINK  = DT.GRUP
left join dbo.CREDIT_TYPES CT ON @iTypeRep = 2 and CT.LINK  = DT.GRUP
left join @tRasdel1 R on (DT.GRUP = R.GRUP or DT.GRUP is null and R.GRUP is null) and R.P_LINK = DT.DEP and isnull(R.ACC_CODE1,'') = isnull(DT.ACC_CODE1,'') and isnull(R.ACC_CODE2,'') = isnull(DT.ACC_CODE2,'')
left join @tRest RB on (DT.GRUP = RB.GRUP or DT.GRUP is null and RB.GRUP is null) and RB.DEP = DT.DEP and isnull(RB.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RB.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RB.[TYPE] = 0
left join @tRest RE on (DT.GRUP = RE.GRUP or DT.GRUP is null and R.GRUP is null) and RE.DEP = DT.DEP and isnull(RE.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RE.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RE.[TYPE] = 2
order by DT.GRUP, P_LINK,/* DOC_NAME,*/ R.DOC_DATE, SUM_PL, SORT


select 	--DOC_LINK = DT.DOC_LINK,
		DOC_NAME = isnull(R.DOC_NAME,''),
		DOC_NUM = isnull(R.DOC_NUM,''),
		R.DOC_DATE,
		SUM_REST_B = isnull(RB.SUMMA,0),
		SUM_REST_E = isnull(RE.SUMMA,0),
		SUM_R_B1 = isnull(RB1.SUMMA,0),
		SUM_R_E1 = isnull(RE1.SUMMA,0),
		OPER_NAME = isnull(R.OPER_NAME ,''),
		R.OPER_DATE,
		SUM_PER = isnull(R.SUM_PER,0),
		SUM_PL = isnull(R.SUM_PL,0),
		SUM_PR = isnull(R.SUM_PR,0),
		SUM_PER1 = isnull(R1.SUM_PER,0),
		SUM_PL1 = isnull(R1.SUM_PL,0),
		SUM_PR1 = isnull(R1.SUM_PR,0),
		P_LINK = D.LINK, 
		P_CODE = D.CODE, 
		P_NAME = D.[NAME], 
		--DT.TYPE, 
		R.ACC_CODE,
		TYPE_CODE = isnull(CT.CODE,''), 
		[TYPE_NAME] = coalesce(CT.[NAME], rtrim(C.[TYPE_NAME]) + ' (договор №' + rtrim(ltrim(C.NUMBER)) + ')'),
		GRUP = rtrim(str(DT.DEP)) + '__' + rtrim(str(DT.GRUP)) + '__' +  isnull(DT.ACC_CODE1,'') + '__' +  isnull(DT.ACC_CODE2,'')
from @tDocTable DT
inner join dbo.DEPARTMENTS D   on D.LINK = DT.DEP
left join dbo.BB_P_CREDIT C ON @iTypeRep = 3 and  C.LINK  = DT.GRUP
left join dbo.CREDIT_TYPES CT ON @iTypeRep = 2 and CT.LINK  = DT.GRUP
left join @tRasdel2 R on (DT.GRUP = R.GRUP or DT.GRUP is null and R.GRUP is null) and R.P_LINK = DT.DEP and isnull(R.ACC_CODE1,'') = isnull(DT.ACC_CODE1,'') and isnull(R.ACC_CODE2,'') = isnull(DT.ACC_CODE2,'')
left join @tRest RB on (DT.GRUP = RB.GRUP or DT.GRUP is null and RB.GRUP is null) and RB.DEP = DT.DEP and isnull(RB.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RB.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RB.[TYPE] = 1
left join @tRest RE on (DT.GRUP = RE.GRUP or DT.GRUP is null and RE.GRUP is null) and RE.DEP = DT.DEP and isnull(RE.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RE.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RE.[TYPE] = 3
left join (select SUM_PER = sum(isnull(SUM_PER,0)), SUM_PL = sum(isnull(SUM_PL,0)), SUM_PR = sum(isnull(SUM_PR,0)), GRUP, P_LINK, ACC_CODE1, ACC_CODE2
			from @tRasdel1 group by GRUP, P_LINK, ACC_CODE1, ACC_CODE2) r1 on (DT.GRUP = R1.GRUP or DT.GRUP is null and R1.GRUP is null) and R1.P_LINK = DT.DEP and isnull(R1.ACC_CODE1,'') = isnull(DT.ACC_CODE1,'') and isnull(R1.ACC_CODE2,'') = isnull(DT.ACC_CODE2,'')
left join @tRest RB1 on (DT.GRUP = RB1.GRUP or DT.GRUP is null and RB1.GRUP is null) and RB1.DEP = DT.DEP and isnull(RB1.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RB1.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RB1.[TYPE] = 0
left join @tRest RE1 on (DT.GRUP = RE1.GRUP or DT.GRUP is null and RE1.GRUP is null) and RE1.DEP = DT.DEP and isnull(RE1.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RE1.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RE1.[TYPE] = 2
order by  DT.GRUP, P_LINK, /*DOC_NAME, */ R.DOC_DATE, SUM_PL, SORT


exec dbo.BufferClear 'CREDIT_ACC'
exec dbo.BufferClear 'CREDIT_PER_D'
exec dbo.BufferClear 'CREDIT_PL_N'
exec dbo.BufferClear 'CREDIT_DOH_N'
exec dbo.BufferClear 'OSNOV'
exec dbo.BufferClear 'SGU_D'
exec dbo.BufferClear 'SGU_K'
exec dbo.BufferClear 'SGU_K_KL_N'

return 1

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
grant all on dbo.BB_CREDIT_CARD_DOLG to public
GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KJ_KADRY_ALL_PHIS_REP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[KJ_KADRY_ALL_PHIS_REP]

GO
CREATE       PROCEDURE dbo.KJ_KADRY_ALL_PHIS_REP        
	@dDate1 datetime,
	@cText1 varchar(20),
	@varKScVal1 CHAR(1),
	@varKSnOtborLink1 int
AS BEGIN
	
	-- EXEC KJ_KADRY_ALL_PHIS_REP '20160314' , '223' , '', NULL
	-- выборка физ лиц из фильтра
	CREATE TABLE #KSPERS (PERS_LINK INT)
	IF LEN(@varKScVal1) <> 0 
		INSERT	INTO #KSPERS
		SELECT	RECORD FROM OBJECT_VAR_PERSON WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT	INTO #KSPERS
		SELECT	p.LINK
		FROM	DBO.ku_person p


	/* -- Параметры организации -- */
	DECLARE @intORG_LINK INT 
	SET @intORG_LINK = dbo.GetOwnDepLink()

	-- выборка реквизитов физ лиц
	-- !!! РАСШИРИТЬ НАБОР АТРИБУТОВ ПРИ НЕОБХОДИМОСТИ !!! --
	DECLARE
		@ORGNAME VARCHAR(254), @DEP_LINK INT, @ORGFULLNAME VARCHAR(2000),@DEP_ACC_M VARCHAR(20),
	    @DEP_INN VARCHAR(12), @DEP_KPP VARCHAR(9), @DEP_OKPO VARCHAR(20), @DEP_OGRN VARCHAR(13),
	    @N_ACC_CODE VARCHAR(20), @count_phiz INT,
	    @DOC_ID  UNIQUEIDENTIFIER

	SET @count_phiz = (SELECT COUNT(*) FROM #KSPERS)
	SET @DOC_ID = NEWID()    
	SELECT  top 1 
			
			@ORGNAME 	= LEFT(DEP.[NAME],254),
			@ORGFULLNAME  = LEFT(DEP.[FULL_NAME],2000),
			@DEP_LINK 	= DEP.LINK,
			@DEP_INN = LEFT(INN,12), @DEP_KPP = LEFT(KPP,9), @DEP_OKPO = LEFT(OKPO,20), @DEP_OGRN = LEFT(OGRN,13) , @DEP_ACC_M = CONVERT(VARCHAR(20),DEP.MAIN_LINK),
			@N_ACC_CODE = N_ACC_CODE
	FROM dbo.DICTIONARY_DEPARTMENT DEP WHERE link = @intORG_LINK


	/*************************/
	
	SELECT	
		N_PP = ROW_NUMBER() OVER (/*PARTITION BY p.LINK */ORDER BY P.FM, P.IM, P.OT ),
		p.LINK,
		p.FM,
		P.IM ,
		P.OT, 
		B.OSB ,
		RESIDENT = CASE  when P.RESIDENT in (1,3) 
							THEN 'FALSE' 
							ELSE 'TRUE' END,
		P.CITIZ_NAME ,
		VALUTE_CODE = 'RUR',
		PODVIDV_CODE = (SELECT TOP 1 POSTFIX FROM dbo.CARDS WHERE link = EC.CARD_LINK ) ,
		VIDV_CODE =  (SELECT TOP 1 CODE FROM dbo.CARDS WHERE link = EC.CARD_LINK ),
		VIDV_NAME = (SELECT TOP 1 NAME FROM dbo.CARDS WHERE link = EC.CARD_LINK ),
		p.DOC_LINK, 
		p.DOC_CODE,
		p.DOC_NAME,
		DOC_SER = CASE WHEN PATINDEX ( '% %' , substring(P.DOC_NUM,4,16 )) = 0 AND  PATINDEX ( '%/%' , substring(P.DOC_NUM,1,15 )) <> 0
						THEN left(P.DOC_NUM, PATINDEX ( '%/%' , substring(P.DOC_NUM,1,15 ))-1)
						ELSE left(P.DOC_NUM, 5) END ,

		DOC_NUM = CASE WHEN PATINDEX ( '% %' , substring(P.DOC_NUM,4,16 )) = 0  AND  PATINDEX ( '%/%' , substring(P.DOC_NUM,1,15 )) <> 0 
						then SUBSTRING(P.DOC_NUM,PATINDEX ( '%/%' , substring(P.DOC_NUM,1,20 ))+1,10)
						ELSE SUBSTRING(P.DOC_NUM,7,10) END ,
		P.DOC_DATE,
		P.DOC_WHOM,
		p.BIRTHDATE,
		SEX = CASE WHEN SEX = 1 THEN 'М' ELSE 'Ж' END ,
		P.BIRTHPLACE,
		[PINDEX] = (select rtrim(PINDEX) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		[PSTR] =  case when (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK) = '1' then 'Российская Федерация' else '' END,
		PREGION_NAME = (select rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PREGION_SOKR = CASE WHEN  PATINDEX ( '% респ%' ,(SELECT TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'респ'
							WHEN  PATINDEX ( '% обл%' ,(SELECT TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'обл'	
							WHEN  PATINDEX ( '% край%' ,(SELECT TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'край'
							WHEN  PATINDEX ( '% АО%' ,(SELECT TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'АО'
							ELSE ''		
		               END,
		PRAION_N =   (select rtrim(RAION_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),   
		PRAION_S =   (select rtrim(RAION_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),   
		PGOROD_N = (select rtrim(GOROD_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PGOROD_S = (select rtrim(GOROD_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PNASEL_N = (select rtrim(NASEL_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PNASEL_S =(select rtrim(NASEL_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PSTREET_N =(select rtrim(STREET_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PSTREET_S = (select rtrim(STREET_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
 		PHOUSE = RTRIM(CONVERT(varchar(10),P.HOUSE_OFIC)) ,
		PKORP = RTRIM(CONVERT(varchar(10),P.CORP_OFIC)) ,
		PFLAT = RTRIM(CONVERT(varchar(10),P.FLAT_OFIC)) ,
		[FINDEX] = (select rtrim(PINDEX) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		[FSTR] =  (case when (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK) = '1' then 'Российская Федерация' else '' END),
		FREGION_NAME = (select rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FREGION_SOKR = CASE WHEN  PATINDEX ( '% респ%' ,(select TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'респ'
							WHEN  PATINDEX ( '% обл%' ,(select TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'обл'	
							WHEN  PATINDEX ( '% край%' ,(select TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'край'
							WHEN  PATINDEX ( '% АО%' ,(select TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'АО'
							ELSE ''		
		               END,
		FRAION_N =   (select rtrim(RAION_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),   
		FRAION_S =   (select rtrim(RAION_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),   
		FGOROD_N = (select rtrim(GOROD_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FGOROD_S = (select rtrim(GOROD_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FNASEL_N = (select rtrim(NASEL_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FNASEL_S =(select rtrim(NASEL_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FSTREET_N =(select rtrim(STREET_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FSTREET_S = (select rtrim(STREET_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
 		FHOUSE = RTRIM(CONVERT(varchar(10),P.HOUSE_OFIC)) ,
		FKORP = RTRIM(CONVERT(varchar(10),P.CORP_OFIC)) ,
		FFLAT = RTRIM(CONVERT(varchar(10),P.FLAT_OFIC)) ,
		COL3 = CASE WHEN SEX = 1 THEN 'MR' ELSE 'MRS' END,
		COL2 = 	
		(select replace(replace(replace(replace(replace(replace(replace(replace(replace(REPLACE(REPLACE(
				REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
				REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
				REPLACE(REPLACE(replace(upper(p.FM),
                         'КС','X')
                        ,'А','A')
						 , 'Б','B')
						 , 'В','V')
						 , 'Г', 'G')
						 , 'Д', 'D')
						 , 'Е', 'E')
						 , 'З','Z') 
						 , 'И', 'I')
						 , 'Й', 'Y')
						 , 'К', 'K') 
						 , 'Л', 'L')
						 , 'М', 'M')
						 , 'Н', 'N')
						 , 'О', 'O')
						 , 'П', 'P')
						 , 'Р', 'R')
						 , 'С', 'S')
						 , 'Т', 'T')
						 , 'У', 'U')
						 , 'Ф', 'F')
						 , 'Х', 'H')
						 , 'Ы', 'Y')
						 , 'Ъ', '#')
						 , 'Ь', '''')						
                        , 'Ж','ZH')
                        ,'Ё','YO')
                        ,'Ц','TS')
                        ,'Ч','CH')
                        ,'Ш','SH')
                        ,'Щ','SCH')
                        ,'Э','EH')
                        ,'Ю','YU')
                        ,'Я','YA'))
                        ,

		COL1= 	
		(select replace(replace(replace(replace(replace(replace(replace(replace(replace(REPLACE(REPLACE(
				REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
				REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
				REPLACE(REPLACE(replace(upper(p.im),
                         'КС','X')
                        ,'А','A')
						 , 'Б','B')
						 , 'В','V')
						 , 'Г', 'G')
						 , 'Д', 'D')
						 , 'Е', 'E')
						 , 'З','Z') 
						 , 'И', 'I')
						 , 'Й', 'Y')
						 , 'К', 'K') 
						 , 'Л', 'L')
						 , 'М', 'M')
						 , 'Н', 'N')
						 , 'О', 'O')
						 , 'П', 'P')
						 , 'Р', 'R')
						 , 'С', 'S')
						 , 'Т', 'T')
						 , 'У', 'U')
						 , 'Ф', 'F')
						 , 'Х', 'H')
						 , 'Ы', 'Y')
						 , 'Ъ', '#')
						 , 'Ь', '''')						
                        , 'Ж','ZH')
                        ,'Ё','YO')
                        ,'Ц','TS')
                        ,'Ч','CH')
                        ,'Ш','SH')
                        ,'Щ','SCH')
                        ,'Э','EH')
                        ,'Ю','YU')
                        ,'Я','YA'))
                        ,
       DATE_DOC = @dDate1,
	   num_dog = @cText1,
	   orgname = @ORGNAME ,
	   org_fuln = @ORGFULLNAME,
	   dep_link = @DEP_LINK,
	   DEP_INN = @DEP_INN,
	   N_ACC_CODE = @N_ACC_CODE,
	   count_phiz = @count_phiz,
       DOC_ID  = @DOC_ID               
		FROM	
		DBO.ku_person p 
		LEFT JOIN dbo.SA_PERSON_ECARD_DEFAULT EC ON EC.PERS_LINK = p.LINK
		LEFT JOIN dbo.BANKS AS b ON b.LINK = EC.BANK_LINK
	WHERE	((LEN(@varKScVal1) <> 0 AND p.LINK IN (SELECT PERS_LINK FROM #KSPERS)) OR LEN(@varKScVal1) = 0)
	ORDER BY P.FM, P.IM, P.OT


DROP TABLE #KSPERS

END





GO


GRANT EXECUTE ON dbo.[KJ_KADRY_ALL_PHIS_REP] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RN_PRINT_169_2016]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RN_PRINT_169_2016]

GO

/*
© Кейсистемс (Keysystems), 2009
*/

CREATE PROCEDURE dbo.[RN_PRINT_169_2016]
	@namesTables varchar(8000),        -- имена глобальных временных таблиц через запятую, где хранятся таблицы
									-- нужно самим сделать select, первый select отностится к c_data2
									-- после работы, нужно удалить!
	@LSF int
AS
	create table #all (COL1 varchar(8000), COL2 varchar(8000), COL3 float, COL4 float, COL5 float, COL6 varchar(8000),  CODE varchar(50), DEL bit, ITOG int, orders int IDENTITY(1,1))
	declare @table varchar(100), @RunStr varchar(8000),@table1 varchar(100),@table2 varchar(100),@table3 varchar(100) ,@table5 varchar(100) 
	
	exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table1 output, ','

	set @RunStr = 'DELETE A 
	               FROM  ' + @table1 +' A 
	               WHERE EXISTS(SELECT * FROM '+@table1 +' B WHERE SUBSTRING(A.CODE,18,9) = SUBSTRING(B.CODE,18,9) AND SUBSTRING(B.CODE,1,17) <> ''00000000000000000'')  
	               AND SUBSTRING(A.CODE,1,17) = ''00000000000000000'''  
   PRINT @RunStr
	execute(@RunStr)

--	set @RunStr = 'SELECT * FROM ' + @table1 
--	execute(@RunStr)

--	set @RunStr = 'drop table ' + @table1
--	execute(@RunStr)


	exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table2 output, ','
	set @RunStr = 'DELETE A 
	               FROM  ' + @table2 +' A 
	               WHERE EXISTS(SELECT * FROM '+@table2 +' B WHERE SUBSTRING(A.CODE,18,9) = SUBSTRING(B.CODE,18,9) AND SUBSTRING(B.CODE,1,17) <> ''00000000000000000'')  
	               AND SUBSTRING(A.CODE,1,17) = ''00000000000000000'''  
   PRINT @RunStr
	execute(@RunStr)

--	set @RunStr = 'SELECT * FROM ' + @table2 
--	execute(@RunStr)

--	set @RunStr = 'drop table ' + @table2
--	execute(@RunStr)

	exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table3 output, ','
	set @RunStr = 'DELETE A 
	               FROM  ' + @table3 +' A 
	               WHERE EXISTS(SELECT * FROM '+@table3 +' B WHERE SUBSTRING(A.CODE,18,9) = SUBSTRING(B.CODE,18,9) AND SUBSTRING(B.CODE,1,17) <> ''00000000000000000'')  
	               AND SUBSTRING(A.CODE,1,17) = ''00000000000000000'''  
   PRINT @RunStr
	execute(@RunStr)

--	set @RunStr = 'SELECT * FROM ' + @table3 
--	execute(@RunStr)

--	set @RunStr = 'drop table ' + @table3
--	execute(@RunStr)

set @RunStr = 'SELECT DEL,ORDERS, CODE,COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8,COL9,COL10,COL11,COL12,COL13,COL14,COL15,COL16  FROM ' + @table1 +'
UNION ALL  
SELECT DEL,ORDERS,CODE,COL1,COL2+COL3+COL4,COL5,COL6,COL7,COL8,COL9,COL10,COL11,COL12,COL13,COL14,COL15,COL16,COL17,COL18 FROM ' + @table2 +'
UNION ALL
SELECT DEL,ORDERS,CODE,COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8,COL9,COL10,COL11,COL12,COL13,COL14,COL15,COL16 FROM ' + @table3 
execute(@RunStr)

set @RunStr = 'SELECT * FROM ' + @table2 +' WHERE 1=0' 
execute(@RunStr)

set @RunStr = 'SELECT * FROM ' + @table3 +' WHERE 1=0' 
execute(@RunStr)

	PRINT  @namesTables
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table output, ','
set @RunStr = 'SELECT * FROM ' + @table 
PRINT @RunStr
execute(@RunStr)

set @RunStr = 'drop table ' + @table
execute(@RunStr)

exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table5 output, ','
set @RunStr = 'SELECT * FROM ' + @table5 
PRINT @RunStr
execute(@RunStr)

set @RunStr = 'drop table ' + @table5
execute(@RunStr)




GO


GRANT EXECUTE ON dbo.[RN_PRINT_169_2016] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RSA_6NDFL_01012016_PREPARE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RSA_6NDFL_01012016_PREPARE]

GO

CREATE PROCEDURE dbo.RSA_6NDFL_01012016_PREPARE
	@Res float output, @varcStr varchar(250), @vardBegin datetime = '20150101', @vardEnd datetime = '20151231', @variCol int, @variRow int, @variLSF int


AS BEGIN

SET NOCOUNT ON

/*declare
	@varKScYear varchar(4),			
	@nPERIOD int,
	@varKSnFirstNum INT,
	@nCHECK_S int,					   /*Определить перечисленную сумму по проводкам*/
	@nSumm_For_Check numeric(18,2), /*Перечисленная сумма НДФЛ за период*/			
	@varKScVal1 char(1), @varKSnOtborLink1 int,	
	@varKScVal2 char(1), @varKSnOtborLink2 int,
	@nLinkEmpl int,
	@LINK_PERS INT*/



DECLARE @DEP_LINK INT,
		@START_DATE DATETIME, 
		@END_DATE DATETIME 

SELECT @DEP_LINK = Link_Organization from report_saved_forms where link_saved_form =  @variLSF
set @res = 0
SELECT @START_DATE = @vardBegin, @END_DATE = @vardEnd

DECLARE @BYearDate	datetime
SET @BYearDate = dbo.DateBeginOfYear (@START_DATE)

declare @EndYear datetime
Set @EndYear = dbo.DateEndOfYear(@START_DATE)

DECLARE @varKSnYear INT,
		@nMonth INT 				
Set @nMonth = ISNULL(month(@vardEnd),12)

SET @varKSnYear = CAST(year(@vardBegin) AS INT)	



	CREATE TABLE #RES0 (
		ID INT IDENTITY,
		NOM_SPR INT,
		LINK_FACE INT,
		SEX INT,
		INNFIZ VARCHAR(20),
		NUMB_SERT VARCHAR(20),
		STATUS VARCHAR(1),
		FIO VARCHAR(254),
		FM VARCHAR(254),
		IM VARCHAR(254),
		OT VARCHAR(254),
		KDVD VARCHAR(4),
		SERNOM VARCHAR(254), 
		BIRTH DATETIME,
		GRAZD VARCHAR(3),
		KSTR VARCHAR(3),
		LINK_ADR INT,
		IND_ADR VARCHAR(10),
		REGION VARCHAR(4),
		RAION VARCHAR(254),
		GOROD VARCHAR(254),
		NASEL VARCHAR(254),
		STREET VARCHAR(254),
		HOUSE VARCHAR(20),
		KORP VARCHAR(10),
		FLAT VARCHAR(10),

		KSTR_ino VARCHAR(3),
		Adr_ino VARCHAR(200),

		O_OKATO VARCHAR(14),
		O_OKTMO VARCHAR(11),
		O_KPP VARCHAR(9),		

		ksv1 varchar(3), ssv1 numeric(11,2),
		ksv2 varchar(3), ssv2 numeric(11,2),
		ksv3 varchar(3), ssv3 numeric(11,2),
		ksv4 varchar(3), ssv4 numeric(11,2),
		ksv5 varchar(3), ssv5 numeric(11,2),
		ksv6 varchar(3), ssv6 numeric(11,2),
		ksv7 varchar(3), ssv7 numeric(11,2),
		ksv8 varchar(3), ssv8 numeric(11,2),
		ksv9 varchar(3), ssv9 numeric(11,2),
		ksv10 varchar(3), ssv10 numeric(11,2),
		ksv11 varchar(3), ssv11 numeric(11,2),
		ksv12 varchar(3), ssv12 numeric(11,2),
		ssv numeric(11,2), siv numeric(11,2),
		osd13 numeric(11,2), sdo13 numeric(11,2), 
		nalogn13 numeric(18), nalogu13 numeric(18),
		NALOG13S numeric(18),
		osd30 numeric(11,2), sdo30 numeric(11,2), 
		nalogn30 numeric(18), nalogu30 numeric(18),
		NALOG30S numeric(18),
		osd35 numeric(11,2), sdo35 numeric(11,2), 
		nalogn35 numeric(18), nalogu35 numeric(18),
		NALOG35S numeric(18),
		err int,
		S_5_6 NUMERIC(18,2), S_5_7 NUMERIC(18,2),		
		dolg_np numeric(8), dolg_na numeric(8),
		kbkcode1 varchar(30), kbkcode2 varchar(30), kbkcode3 varchar(30), kbkcode4 varchar(30), 
		kbksum1 numeric(18,2), kbksum2 numeric(18,2),kbksum3 numeric(18,2),kbksum4 numeric(18,2),
		VIFNSPL numeric(18,2),
		ZSummPL numeric(18,2),
		UdSumPL numeric(18,2),
		VzkIFNS numeric(18,2)

	)	


CREATE TABLE #FACES (LINK int,PERS_LINK int)

	INSERT INTO #FACES
	SELECT distinct PERS_LINK,PERS_LINK FROM dbo.empl WHERE DEP_LINK = @DEP_LINK 
	
	INSERT INTO #FACES
	SELECT distinct PERS_LINK,PERS_LINK FROM dbo.SALARY_REESTR_DGH WHERE DEP_LINK = @DEP_LINK
		AND PERS_LINK NOT IN (SELECT PERS_LINK FROM #FACES)		


/*
declare  @Res float 
set @Res = ''
  EXEC RSA_6NDFL_01012016_PREPARE @Res output, '', '20160101', '20161231',1 ,0  ,2830


*/

	-----------------------------
	delete  from dbo.SAL_DED_MONTH
	where 
	YEAR(DATE_DED) =@varKSnYear 
	AND
	Month(DATE_DED) <= @nMonth
	AND
	LINK_EMPL IN (Select EM.LINK from dbo.EMPL EM INNER JOIN #FACES F on EM.PERS_LINK = F.PERS_LINK)
	AND
	LINK IN 
	(
		select D.LINK 
		from dbo.SAL_DED_MONTH D inner join dbo.empl E on D.link_empl = E.link
		where YEAR(D.DATE_DED) = @varKSnYear AND Month(D.DATE_DED) <= @nMonth  
		and not exists (Select * from dbo.CALCULATE_JURNAL JC where YEAR(JC.PERIOD_BEGIN) = @varKSnYear AND Month(JC.PERIOD_BEGIN) <= @nMonth AND JC.LINK_EMPL = E.LINK AND JC.LINK_VKR = D.LINK_VKR)
	)

	-----------------------------

	EXEC dbo.BufferClear
	EXEC dbo.BufferPushTable '#faces', 'REP2NDFL', 'pers_link'

			
	create table #S_J_C_SHORT (LINK_FACE int,PERS_LINK int, link_empl int, link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), link_inc int, period_begin datetime, date1 datetime, link_dep int)

	Insert into #S_J_C_SHORT (LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep)
	Select E.PERS_LINK, JC.PERS_LINK, JC.LINK_EMPL, P.LINK, link_vkr, ISNULL(JC.LINK_EKR,P.LINK_EKR), P.TYP_PER, P.OBJECT, summa, P.LINK_INC,
		period_begin = (Case 
						when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code = 'DOCUMENTS_ADD_TABEL'
						then JC.DATE_BEGIN else JC.period_begin 
					end) ,
		JC.DATE_BEGIN,
		JC.LINK_DEP  
	from 
		dbo.CALCULATE_JURNAL JC 
		INNER JOIN dbo.NDFL_GroupTax() T ON JC.LINK_PAYS=T.LINK_PAYS
		LEFT JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
		LEFT JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
		LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
	where
		(
				(ISNULL(d.code,'') <> 'DOCUMENTS_ADD_TABEL') and @nMonth >= month(JC.PERIOD_BEGIN) and @varKSnYear = year(JC.PERIOD_BEGIN)
				or 
				ISNULL(d.code,'') = 'DOCUMENTS_ADD_TABEL'
				and (@nMonth >= month(JC.DATE_BEGIN) or @nMonth >= month(JC.PERIOD_BEGIN) )
				and (@varKSnYear = year(JC.DATE_BEGIN) or @varKSnYear = year(JC.PERIOD_BEGIN) )

			)
		AND  
			(	-->>NEW
			E.PERS_LINK in (select PERS_LINK from #FACES )
			or
			JC.PERS_LINK in (select PERS_LINK from #FACES )
			)	
		AND JC.LINK_DEP = @DEP_LINK 
	
	union all --Удержания
	SELECT   LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep
	from dbo.S_J_C_SHORT SJC 
		LEFT JOIN DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC 
	where 
		SJC.LINK_DEP = @DEP_LINK
		and YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		and TYP_OPER = 2

CREATE TABLE #S_J_C_SHORT_RES ( link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), link_inc int, period_begin datetime, date1 datetime, link_dep int)
	
INSERT INTO #S_J_C_SHORT_RES ( link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep) 		
SELECT link_pays,
	   link_vkr, 
	   link_ekr, 
	   typ_per, 
	   typ_oper, 
	   sum(summa), 
	   link_inc, 
	   period_begin, 
	   date1, 
	   link_dep
FROM #S_J_C_SHORT
GROUP BY link_pays,link_vkr,link_ekr,typ_per,typ_oper,link_inc,period_begin,date1,link_dep


-----------------------------------------------------------
--Для обособленных подразделений
DECLARE @DATE DATETIME
SET @DATE = DBO.ConvertDMY2Date(1,@nMonth, @varKSnYear)
SET @DATE = DBO.DateEndOfMonth(@DATE)

CREATE TABLE #E_SUBDIV (EMPL_LINK INT, SUBDIV_LINK INT)
INSERT INTO #E_SUBDIV (EMPL_LINK, SUBDIV_LINK)
SELECT EMPL_LINK, SUBDIV_LINK
FROM DBO.SA_EMPLS_INFO(@DATE, DEFAULT)
WHERE [STATUS] = 1 OR [STATUS] = 3

CREATE TABLE #S_OBOSOB (SUBDIV_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #S_OBOSOB (SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP)
SELECT SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP 
FROM [dbo].SUBDIVISION(@DATE) 
WHERE OBOSOB = 1

CREATE TABLE #P_OBOSOB (PERS_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #P_OBOSOB(PERS_LINK, O_OKATO, O_OKTMO, O_KPP)
SELECT E.PERS_LINK, SO.O_OKATO , SO.O_OKTMO, SO.O_KPP 
FROM 
	#S_OBOSOB SO INNER JOIN #E_SUBDIV ES ON SO.SUBDIV_LINK = ES.SUBDIV_LINK
	INNER JOIN DBO.EMPL E ON E.LINK = ES.EMPL_LINK

-----------------------------------------------------------
	INSERT INTO #RES0 (
		LINK_FACE,
		SEX,
		INNFIZ, --NALOG,
		NUMB_SERT,
		STATUS,
		FIO,
		FM, IM, OT,
		KDVD,
		SERNOM, 
		BIRTH,
		GRAZD,
		KSTR,
		LINK_ADR,
		IND_ADR,
		REGION,
		RAION,
		GOROD,
		NASEL,
		STREET,
		HOUSE,
		KORP,
		FLAT, 
		KSTR_ino,
		Adr_ino,
		ERR,
		O_OKATO,
		O_OKTMO,
		O_KPP
	)

	SELECT 	distinct 
		P.LINK, P.SEX, P.INN, /*P.IFNS,*/ P.INSUR_NUM, 
		CASE 
			WHEN P.RESIDENT  IS NULL THEN ''
			WHEN P.RESIDENT = 1 THEN '1'
			WHEN P.RESIDENT = 0 THEN '2'
			WHEN P.RESIDENT = 2 THEN '2'
		END,
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT),
		RTRIM(P.FM), RTRIM(P.IM), RTRIM(P.OT),
		[KDVD] = (SELECT TOP 1 CODE FROM FACE_DOCUMENT WHERE LINK = P.DOC_LINK),
		P.DOC_NUM,
		P.BIRTHDATE,
		GRAZD= (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK),
		KSTR= (case when (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK) = '1' then '643' else '' END),
		ADR.LINK_ADDR,
		ADR.IND_ADR,
		ADR.REGION,
		ADR.RAION,
		ADR.GOROD,
		ADR.NASEL,
		ADR.STREET,
		ADR.HOUSE,
		ADR.KORP,
		ADR.FLAT,
		KSTR_ino = '',
		Adr_ino = '',
		0,
		PO.O_OKATO,
		PO.O_OKTMO,
		PO.O_KPP
	FROM 
		#FACES F 
		INNER JOIN PERSON P ON P.LINK = F.PERS_LINK
		INNER JOIN (SELECT LINK_FACE from #S_J_C_Short SJC where LINK_FACE is not null
			UNION SELECT LINK_FACE= PERS_LINK from #S_J_C_Short SJC where PERS_LINK is not null) J on P.LINK = J.LINK_FACE
		LEFT OUTER JOIN dbo.NDFL_GET_ADDRESS() ADR ON P.LINK = ADR.LINK_FACE
		LEFT JOIN #P_OBOSOB PO ON PO.PERS_LINK = F.PERS_LINK
	ORDER BY 
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT)



		
	select DISTINCT SJC.LINK_FACE, Y = year(SJC.PERIOD_BEGIN), M = month(SJC.PERIOD_BEGIN),		
					PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
						WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
						WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
						WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
						WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
					END ,  
					LINK_INC, LINK_VKR  
	into #spr_pays_kbk
	from 	#S_J_C_SHORT SJC
	LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
	 where SJC.TYP_OPER = 1

	CREATE TABLE #PAYS_0_tmp
	(
		ID INT IDENTITY,
		LINK_FACE INT,
		mes int, PERC_TAX INT , 
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	CREATE TABLE #PAYS_0
	(
		ID INT IDENTITY,
		LINK_FACE INT, 
		mes int, PERC_TAX INT ,  
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	INSERT INTO #PAYS_0_tmp
	(LINK_FACE, mes, PERC_TAX,
	LINK_INC, CODE_INC, SUMMA_INC,
	LINK_DED, CODE_DED, SUMMA_DED)
	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
						WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
						WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
						WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
						WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
					END ,
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM 
		#S_J_C_SHORT SJC 
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.LINK_FACE = F.PERS_LINK
	WHERE 
		SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.PERS_LINK,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK 
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED, DTI.FLAG

	---<< Добавление информации по внештатникам	
	union all 

	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
				WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
				WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
				WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
				WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
			END ,
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM #S_J_C_SHORT SJC 	
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC --AND DTI.SNAME <> '0000'
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 	SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.LINK_FACE,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED, DTI.FLAG
	ORDER BY 
		1, ISNULL(DTI.SNAME,'0000'), COD_DED

	--- Авансовые платежи , как в Налоговой декларации ПФР 
	--- --------------------------------------------------
	/*create table #SPR_ESN ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0)

	INSERT INTO #SPR_ESN ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS)
	Select [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS
	from dbo.SA_ESN_VIEW(@varKSnYear, @nMonth, @DEP_LINK, 0)
	
	SELECT * FROM #SPR_ESN
	*/-----------------------------------------------------
	-----------------------------------------------------
-- select( 8297996.42 - 1019455.00) * 0.13

	INSERT INTO #PAYS_0
	Select LINK_FACE, mes,perc_tax, LINK_INC, CODE_INC, sum(SUMMA_INC), LINK_DED, CODE_DED, sum(SUMMA_DED)
	from #PAYS_0_tmp
	group by LINK_FACE, mes,perc_tax, LINK_INC, CODE_INC, LINK_DED, CODE_DED
	having Sum(SUMMA_INC) <> 0

	drop table #PAYS_0_tmp

	---->>
	--СКИДКИ
	SELECT D.LINK_FACE, D.mes, kbk.perc_tax, SUM(D.SUMMA) as SUMMA, D.REF_DED INTO #DED 
	FROM 
		dbo.SA_NDFL_MONTH_DED_ALL(@varKSnYear) D 
		inner join #spr_pays_kbk kbk on kbk.LINK_FACE = d.LINK_FACE and kbk.m = d.mes and kbk.link_inc = d.REF_INC and kbk.LINK_VKR = d.LINK_VKR
	where 
		kbk.y = @varKSnYear
		and kbk.m <= @nMonth
	GROUP BY 
		D.LINK_FACE, d.mes, d.REF_DED, kbk.perc_tax


	UPDATE #PAYS_0
	SET SUMMA_DED = 
		(SELECT SUM(SUMMA) FROM #DED D WHERE D.LINK_FACE = R.LINK_FACE AND D.REF_DED = R.LINK_DED AND D.mes = R.mes ) 
	FROM #PAYS_0 R 
	WHERE LINK_DED IS NOT NULL

	update #PAYS_0 
		Set CODE_DED = ''
		where ISNULL(SUMMA_DED,0) = 0


	CREATE TABLE #P0 (LINK_FACE INT, ID1 INT)

	--- 1
	CREATE TABLE #PAYS1_TMP (LINK_FACE INT , SM NUMERIC(18,2) , [MONTH] INT, PERC_TAX INT ) 
	INSERT INTO #PAYS1_TMP (LINK_FACE, SM, [MONTH], PERC_TAX) 
		SELECT EP.PERS_LINK, ISNULL(SUM(SJ.summa), 0) , MONTH(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END) , 																																
				PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
				WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
				WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
				WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
				WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
			END 
		
		FROM SALARY_JURNAL_CALCULAT_SHORT SJ 
		INNER JOIN dbo.NDFL_GroupTax() T ON SJ.link_PAYS=T.LINK_PAYS
		INNER JOIN dbo.KU_EMPL_PLACING EP ON EP.LINK = SJ.LINK_EMPL
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.dictionary_typ_incoms dti ON dti.link = SJ.LINK_INC
		WHERE 
			SJ.PERIOD_BEGIN >= @BYearDate AND SJ.PERIOD_END <=@vardEND
--			(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_BEGIN WHEN SJ.TYP_PER = 2 THEN SJ.DATE1 END) >= @varKSdDate1 
--			AND (CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END)<=@varKSdDate2
			AND EP.DEP_LINK = @DEP_LINK
		GROUP BY EP.PERS_LINK, MONTH(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END) , DTI.FLAG




	CREATE TABLE #PAYS1(LINK_FACE INT, SM NUMERIC(11,2), MONTH_NUM INT, PERC_TAX int)
	INSERT INTO #PAYS1
	SELECT LINK_FACE, SM, [MONTH], PERC_TAX 	 
	FROM #PAYS1_TMP ORDER BY  [MONTH], LINK_FACE

	DROP TABLE #PAYS1_TMP
	---<< Добавление информации по внештатникам
	insert into #pays1

	SELECT 
		F.PERS_LINK,
		SUM(SUMMA) AS SUMMA_INC,
		Month(SJC.PERIOD_BEGIN),
		PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
				WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
				WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
				WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
				WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
			END 
	FROM 
		#S_J_C_SHORT SJC 
		INNER JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND ISNULL(SJC.LINK_FACE,0) = 0
		AND SJC.LINK_DEP = @DEP_LINK 
	GROUP BY F.PERS_LINK, SJC.PERIOD_BEGIN, DTI.FLAG


	---->>

	SELECT LINK_FACE, SUM(SM) AS SM, PERC_TAX
	INTO #PAYS_R
	FROM #PAYS1
	GROUP BY LINK_FACE,PERC_TAX


	INSERT INTO #PAYS1
	SELECT 
		EP.PERS_LINK, -SUM(SUMMA), MONTH(DATE_DED),NULL
	FROM    
		dbo.empl EP 
		inner join SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND [TYPE] = 2)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
	where 
		EP.DEP_LINK = @DEP_LINK	
	GROUP BY 
		EP.PERS_LINK, MONTH(DATE_DED)




	CREATE TABLE #PAYS3(ID INT IDENTITY, LINK_FACE INT, LINK_DED INT, CODE_DED VARCHAR(6), SUMMA NUMERIC(18,2), SUMMA_FAKT NUMERIC(18,2))
	--Стандартные и скидки на мат помощь
	--ПО СОТРУДНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.empl EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BYearDate) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE


	--ПО ДОГОВОРНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.REESTR_DGH EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_DGH AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND S.[TYPE] = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BYearDate) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE
		
	--UPDATE #PAYS3
	--SET
	--	SUMMA = (Select sum(SUM_DED) from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	
	--where
	--	exists (Select * from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	

	UPDATE #PAYS3
	SET
		SUMMA = ISNULL(SUMMA_FAKT,0)
	where
		ISNULL(SUMMA,0) = 0

	--Прочие вычеты (имущественные, добровольное пенс страхование и пр.)
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, SUM(S.SUMMA), SUM(S.SUMMA) 
	FROM 
		dbo.EMPL EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		--INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
	where 
		T.NUMBER NOT IN (	1, --Стандартные
							6 --скидки на мат помощь 
							)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE


/*
declare  @Res float 
set @Res = ''
  EXEC RSA_6NDFL_01012016_PREPARE @Res output, '', '20160101', '20160331',1 ,0  ,703

*/	

	-- Общая сумма имущ. вычетов
	update #RES0
	Set siv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0),
		ssv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED NOT IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0)		
	from #RES0 R

--SELECT * FROM #RES0

	--
	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV1 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV1 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV2 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV2 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV3 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV3 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV4 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV4 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV5 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV5 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV6 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV6 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV7 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV7 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV8 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV8 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV9 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV9 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV10 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV10 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV11 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV11 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV12 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV12 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END



	UPDATE #RES0 SET OSD13 = ISNULL((SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE AND PR.PERC_TAX = 13),0) FROM #RES0 R
	UPDATE #RES0 SET OSD30 = ISNULL((SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE AND PR.PERC_TAX = 30),0) FROM #RES0 R
	UPDATE #RES0 SET OSD35 = ISNULL((SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE AND PR.PERC_TAX = 35),0) FROM #RES0 R

	----
	UPDATE #RES0 SET SDO13 = OSD13 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0  WHERE PERC_TAX = 13 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE

	UPDATE #RES0 SET SDO30 = OSD30 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0  WHERE PERC_TAX = 30 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE
	
	UPDATE #RES0 SET SDO35 = OSD35 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0  WHERE PERC_TAX = 35 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE

	-----
	UPDATE #RES0 SET SDO13 = 0 WHERE SDO13 < 0
	UPDATE #RES0 SET SDO30 = 0 WHERE SDO30 < 0
	UPDATE #RES0 SET SDO35 = 0 WHERE SDO35 < 0
	

	CREATE TABLE #NDFL_TAX(LINK_TAX INT, PERC_TAX INT )
	INSERT INTO #NDFL_TAX
	SELECT LINK, PERC_TAX = CASE WHEN P.WAY_CALC = 4 THEN 13 
								 WHEN P.WAY_CALC = 5 THEN 30
								 WHEN P.WAY_CALC = 6 THEN 35  end	
	FROM PAYS P WHERE P.OBJECT = 2 AND P.WAY_CALC IN (4,5,6)
	
	--- 13%
	Create table #NDLF13_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF13 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF13_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  AND  T.PERC_TAX = 13
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX AND  T.PERC_TAX = 13  
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF13 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF13_tmp group by LINK
	
	drop table #NDLF13_tmp


	-- 30% 
		Create table #NDLF30_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF30 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF30_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  AND  T.PERC_TAX = 30
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX AND  T.PERC_TAX = 30  
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF30 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF30_tmp group by LINK
	
	drop table #NDLF30_tmp
	
	-- 35% 
		Create table #NDLF35_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF35 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF35_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  AND  T.PERC_TAX = 35
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX AND  T.PERC_TAX = 35
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF35 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF35_tmp group by LINK
	
	drop table #NDLF35_tmp
	

	--->>

	UPDATE #RES0 SET NALOGU13 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF13 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN13 = SDO13 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX AND T.PERC_TAX =13 WHERE TARIF = 1)
								ELSE 0.30 END)
	
	UPDATE #RES0 SET NALOGU30 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF30 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN30 = SDO30 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX  AND T.PERC_TAX =30 WHERE TARIF = 1)
								ELSE 0.30 END)	
	
	UPDATE #RES0 SET NALOGU35 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF35 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN35 = SDO35 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX  AND T.PERC_TAX =35 WHERE TARIF = 1)
								ELSE 0.30 END)														



	--Перечисленная сумма по всем за период
	DECLARE @SUMMA_PLAT_ALL NUMERIC(18,2)
		
/*	IF @nCHECK_S = 0
		BEGIN
			SET @SUMMA_PLAT_ALL =  @nSumm_For_Check 	
		END
	ELSE
		BEGIN 
*/			EXEC dbo.SA_NDFL_PLAT @varKSnYear, @DATE, @DEP_LINK, @SUMMA_PLAT_ALL OUT
/*		END */
	--Начисленная сумма по всем за период
	DECLARE @SUMMA_NACH_ALL NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL @varKSnYear, @DATE, @DEP_LINK, @SUMMA_NACH_ALL OUT
	
	--Начисленная сумма 30% по всем за период
	DECLARE @SUMMA_NACH_ALL30 NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL30 @varKSnYear, @DATE, @DEP_LINK, @SUMMA_NACH_ALL30 OUT
	
	--Начисленная сумма 35% по всем за период
	DECLARE @SUMMA_NACH_ALL35 NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL35 @varKSnYear, @DATE, @DEP_LINK, @SUMMA_NACH_ALL35 OUT
	
	--Перечисленная за сотрудника 13%	
	UPDATE #RES0 SET NALOG13S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL > 0 THEN (NALOGU13	/ @SUMMA_NACH_ALL) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG13S = CASE WHEN NALOG13S > NALOGU13 THEN NALOGU13 ELSE NALOG13S END

	UPDATE #RES0 SET NOM_SPR = ID --+ @varKSnFirstNum - 1
	
	--Перечисленная за сотрудника 30%	
	UPDATE #RES0 SET NALOG30S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL30 > 0 THEN (NALOGU30/ @SUMMA_NACH_ALL30) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG30S = CASE WHEN NALOG30S > NALOGU30 THEN NALOGU30 ELSE NALOG30S END

	UPDATE #RES0 SET NOM_SPR = ID --+ @varKSnFirstNum - 1

	--Перечисленная за сотрудника 35%	
	UPDATE #RES0 SET NALOG35S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL35 > 0 THEN (NALOGU35	/ @SUMMA_NACH_ALL35) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG35S = CASE WHEN NALOG35S > NALOGU35 THEN NALOGU35 ELSE NALOG35S END

	UPDATE #RES0 SET NOM_SPR = ID --+ @varKSnFirstNum - 1	

	---Учет переплаты/недоплаты НДФЛ из остатков с прошлого года
	UPDATE A SET 
		S_5_6 = (CASE WHEN R.NDFL > 0 THEN R.NDFL ELSE 0 END),
		S_5_7 = (CASE WHEN R.NDFL <= 0 THEN - R.NDFL ELSE 0 END)
	FROM
		#RES0 A INNER JOIN 
		(SELECT E.PERS_LINK, NDFL = SUM(SR.NDFL) FROM dbo.SAL_REMAIN SR INNER JOIN dbo.EMPL E ON E.LINK = SR.LINK_EMPL WHERE SR.YEAR_SAL = @varKSnYear GROUP BY E.PERS_LINK) R 
			ON R.PERS_LINK = A.LINK_FACE
			
		
	--	
	UPDATE #RES0 SET DOLG_NP = CASE WHEN NALOGN13 - NALOGU13 > 0 THEN NALOGN13 - NALOGU13 ELSE 0 END - ISNULL(S_5_6,0)
	UPDATE #RES0 SET DOLG_NA = CASE WHEN NALOGU13 - NALOGN13 > 0 THEN NALOGU13 - NALOGN13 ELSE 0 END - ISNULL(S_5_7,0)


	--^^^^^^^^^Распределение налога по КБК^^^^^^^^^^
	create table  #PAYS_NDFL (ID INT IDENTITY, LINK_FACE int, LINK_PAYS int, kbk_code varchar(30), SUMMA numeric(18,2))

	INSERT INTO #PAYS_NDFL (LINK_FACE, LINK_PAYS, kbk_code, SUMMA)
	SELECT LINK_FACE, SJC.LINK_PAYS, left(kbk.CODE,30), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.PERS_LINK,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)
	GROUP BY 
		LINK_FACE, LINK_PAYS, kbk.CODE

	union all ---<< Добавление информации по внештатникам	

	SELECT  PERS_LINK, SJC.LINK_PAYS, left(kbk.CODE,20), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.LINK_FACE,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)

	GROUP BY 
		PERS_LINK, LINK_PAYS, kbk.CODE
	ORDER BY 
		1, 2, 3


	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode1 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum1 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode2 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum2 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode3 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum3 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode4 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum4 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	-------------------------------------
	update #res0
	set 	VIFNSPL =0, ZSummPL =0, UdSumPL =0, VzkIFNS =0


	DECLARE @varKSCNT INT

	SELECT @varKSCNT  = COUNT(*) FROM #RES0

	SELECT TOP 1 
		LTRIM(RTRIM(STR(@varKSCNT))) AS DOCCOUNT, 
		ISNULL(IMNS, '') AS NALOG,
		ISNULL(dd.INN, '') AS INN,
		ISNULL(KPP, '') AS KPP,
		ISNULL(OKATO, '')  AS OKATO,
		ISNULL(OKTMO, '')AS OKTMO,
		convert(varchar (254),(ISNULL(FULL_NAME, ''))) AS FULL_NAME,
		ISNULL(DOTF.PHONE, '') AS PHONE,
		ISNULL(RTRIM(FM), '') + ' ' + ISNULL(RTRIM(IM), '') + ' ' + ISNULL(RTRIM(OT), '') AS GLBUH,
		ISNULL(RTRIM(FM), '') AS FM,
		ISNULL(RTRIM(IM), '') AS IM, 
		ISNULL(RTRIM(OT), '') AS OT,
		ISNULL(RTRIM(DOTF.NAME), '') AS Dolzh
	INTO #DEP
	FROM DICTIONARY_DEPARTMENT DD 
	LEFT OUTER JOIN DICTIONARY_OTV_FACE DOTF ON 
		(DOTF.DEP_LINK = DD.LINK
		AND DOTF.NAME = 'Главный бухгалтер')
	LEFT OUTER JOIN KU_EMPL_PLACING EP ON DOTF.FACE_LINK = EP.LINK
	WHERE DD.link = @DEP_LINK



	DECLARE @varKScInn VARCHAR(254), @varKScKPP VARCHAR(254), @varKSFULL_NAME varchar(254), 
		@varKSNALOG VARCHAR(254), @varKSOKATO VARCHAR(254), @varKSOKTMO VARCHAR(254), @varKSPHONE VARCHAR(254), 
		@varKSGLBUH VARCHAR(254), 
		@varKSRESULT BIT

	SELECT 
		@varKScInn = INN, @varKScKPP = KPP,
		@varKSFULL_NAME = FULL_NAME, 
		@varKSNALOG = NALOG, @varKSOKATO = Replace(OKATO,' ',''), @varKSOKTMO = Replace(OKTMO,' ',''),
		@varKSPHONE = PHONE, 
		@varKSGLBUH  = GLBUH
	FROM #DEP

	/*заявленные имущественные вычеты*/  -- DED_TYPE = 1 - имущественные, 2-  социальные
/*	CREATE TABLE #td (LINK_PERSON INT ,NUM_REF VARCHAR(15),DATE_REF DATETIME,IFNS_CODE VARCHAR(20),DED_TYPE TINYINT)
	INSERT INTO #td (LINK_PERSON ,NUM_REF,DATE_REF,IFNS_CODE,DED_TYPE)
	Select LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 1 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER ='4')  )
	UNION SELECT 
		   LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 2 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER IN('11','12','13')) )
*/

	declare @KBK_DEFAULT varchar(254)
	Set @KBK_DEFAULT = (select Top 1 CODE_KBK from dbo.sd_empl where LINK_KBK > 0)

	UPDATE #RES0 Set kbkcode1 = @KBK_DEFAULT, kbksum1 = 0 where ISNULL(kbksum1,0) = 0

/*	/*Контроль имущественных вычетов*/
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Указаны не все данные в уведомлении на имущественный вычет'  + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 inner join  #td on #RES0.LINK_FACE = #td.LINK_PERSON 
	WHERE rtrim(ltrim(ISNULL(NUM_REF,''))) = '' or rtrim(ltrim(ISNULL(IFNS_CODE,''))) = '' or DATE_REF is null AND OSD13 > 0 

*/	CREATE TABLE #RES_OUT (ID INT,LINK_FACE INT,mes INT,LINK_INC INT,CODE_INC VARCHAR(4),SUMMA_INC NUMERIC(18,2),LINK_DED INT,CODE_DED VARCHAR(3),SUMMA_DED NUMERIC(18,2),ID2 INT)

	INSERT INTO #RES_OUT (ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2)
	SELECT ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2 = 0 
	FROM #PAYS_0 
	ORDER BY LINK_FACE, MES, CODE_INC
	
	---СОРТИРОВКА
	CREATE TABLE #RES_OUT_ORD (NUM_PP INT IDENTITY(1,1), ID INT, LINK_FACE INT)
	INSERT INTO #RES_OUT_ORD (ID, LINK_FACE)
	SELECT ID, LINK_FACE FROM #PAYS_0 ORDER BY LINK_FACE, MES, CODE_INC
	--
	CREATE TABLE #RES_OUT_ORD2 (LINK_FACE INT, MIN_NUM INT)
	INSERT INTO #RES_OUT_ORD2 (LINK_FACE, MIN_NUM)
	SELECT LINK_FACE, MIN(NUM_PP) FROM #RES_OUT_ORD GROUP BY LINK_FACE
	---СОРТИРОВКА ДЛЯ КАЖДОГО ФИЗЛИЦА
	UPDATE R
	SET R.ID2 = O.NUM_PP - O2.MIN_NUM + 1
	FROM 
		#RES_OUT R 
		INNER JOIN #RES_OUT_ORD O ON O.ID = R.ID
		INNER JOIN #RES_OUT_ORD2 O2 ON O2.LINK_FACE = R.LINK_FACE

	CREATE TABLE #ORDERS (ID int)
	DECLARE @SQL VARCHAR(1000)
	SET @SQL = 'ALTER TABLE #ORDERS ADD [NOM_SPR] INT IDENTITY(' + RTRIM(str(ISNULL(1,1))) + ',1)'
	EXEC(@SQL)

	INSERT INTO #ORDERS (ID) 
	SELECT DISTINCT ID 
	FROM #RES0 
	WHERE LINK_FACE IN ( Select DISTINCT LINK_FACE from #RES_OUT where [ID2]%2 = 1 )
			--AND ISNULL(OSD13,0) > 0
	ORDER BY ID

	--UPDATE #ORDERS SET NOM_SPR = NOM_SPR + @varKSnFirstNum - 1

	--- общее количество документов
	UPDATE #DEP SET DOCCOUNT = ISNULL((SELECT MAX(NOM_SPR) FROM #ORDERS),0)
	-------------------
	/*SELECT 
		R.ID, O.NOM_SPR, R.LINK_FACE, R.SEX, R.INNFIZ, R.NUMB_SERT, R.STATUS, 
		R.FIO, R.FM, R.IM, R.OT, R.KDVD, R.SERNOM, R.BIRTH, R.GRAZD, R.KSTR, 
		R.LINK_ADR, R.IND_ADR, R.REGION, R.RAION, R.GOROD, R.NASEL, R.STREET, 
		R.HOUSE, R.KORP, R.FLAT, R.KSTR_ino, R.Adr_ino, 
		R.ksv1, R.ssv1, R.ksv2, R.ssv2, R.ksv3, R.ssv3, R.ksv4, R.ssv4, R.ksv5, R.ssv5, R.ksv6, R.ssv6, 
		R.ksv7, R.ssv7, R.ksv8, R.ssv8, R.ksv9, R.ssv9, R.ksv10, R.ssv10, R.ksv11, R.ssv11, R.ksv12, R.ssv12, 
		R.ssv, R.siv, R.osd13, R.sdo13, R.nalogn13, R.nalogu13, R.nalog13s, R.err, R.S_5_6, R.S_5_7, R.dolg_np, R.dolg_na, 
		R.kbkcode1, R.kbkcode2, R.kbkcode3, R.kbkcode4, R.kbksum1, R.kbksum2, R.kbksum3, R.kbksum4, 
		R.VIFNSPL, R.ZSummPL, R.UdSumPL, R.VzkIFNS, 
		--ndoc_td = td1.NUM_REF , -- на имущественные вычеты
		--ddoc_td = td1.DATE_REF,
		--ifnsdoc_td = td1.ifns_code,
		--nDoc_SD = td2.NUM_REF, -- на социальные вычеты 
		--dDoc_SD = td2.DATE_REF,
		--ifnsdoc_sd = td2.ifns_code,
		--nalog	= @varKSNALOG,
		KPP1 = ISNULL(R.O_KPP,@varKScKPP),
		OKATO1 = replace(ISNULL(R.O_OKATO,@varKSOKATO),' ',''),
		OKATO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKATO else '' end),
		OKATO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKATO else '' end),
		OKATO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKATO else '' end),
		OKTMO1 = replace(ISNULL(R.O_OKATO,@varKSOKTMO),' ',''),
		OKTMO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKTMO else '' end),
		T.M1, T.CINC1, T.SINC1, T.CDED1, T.SDED1, T.M2, T.CINC2, T.SINC2, T.CDED2, T.SDED2--,
		--td1.LINK_PERSON/*, #td.NUM_REF, #td.DATE_REF, #td.IFNS_CODE*/
	FROM #RES0 R 
		INNER JOIN #ORDERS O ON O.ID = R.ID
		INNER JOIN ( 
			Select	T1.LINK_FACE, M1= T1.MES, CINC1= T1.CODE_INC, SINC1= T1.SUMMA_INC, CDED1= T1.CODE_DED, SDED1= T1.SUMMA_DED, M2= T2.MES, CINC2= T2.CODE_INC, SINC2= T2.SUMMA_INC, CDED2= T2.CODE_DED, SDED2= T2.SUMMA_DED
			from	(Select * from #RES_OUT where [ID2]%2 = 1) T1 left join (Select * from #RES_OUT where [ID2]%2 = 0) T2 on T1.link_FACE = T2.LINK_FACE AND T1.[ID2] = (T2.[ID2]-1)
		) T on R.LINK_FACE = T.LINK_FACE
	--	LEFT OUTER JOIN   #td td1 on R.LINK_FACE = td1.LINK_PERSON AND td1.DED_TYPE = 1 /*имущественные вычеты*/
	--	LEFT OUTER JOIN   #td td2 on R.LINK_FACE = td2.LINK_PERSON AND td2.DED_TYPE = 2 /*социальные вычеты*/
	--where OSD13 > 0 
	ORDER BY O.NOM_SPR, T.M1, T.CINC1, T.M2, T.CINC2
	
	*/

	-------------------------------------------
	--- собираем результирующий курсор с разбивкой по процентам 
	------------------------------------------
	CREATE TABLE #RES_OUT_MAIN (ID INT IDENTITY(1,1),PERC_TAX INT,SUMMA_INC NUMERIC(18,2),SUMMA_DED NUMERIC(18,2))

	INSERT INTO #RES_OUT_MAIN (PERC_TAX, SUMMA_INC, SUMMA_DED)
	SELECT PERC_TAX, SUM(SUMMA_INC), SUM(SUMMA_DED)
	FROM #PAYS_0 
	GROUP BY PERC_TAX
	ORDER BY PERC_TAX
	
	IF NOT EXISTS (SELECT * FROM #RES_OUT_MAIN WHERE PERC_TAX = 30)
	   INSERT INTO #RES_OUT_MAIN(PERC_TAX, SUMMA_INC, SUMMA_DED)
	   SELECT PERC_TAX = 30 ,
			  SUMMA_INC = NULL, 
			  SUMMA_DED = NULL
	IF NOT EXISTS (SELECT * FROM #RES_OUT_MAIN WHERE PERC_TAX = 35)
	   INSERT INTO #RES_OUT_MAIN(PERC_TAX, SUMMA_INC, SUMMA_DED)
	   SELECT PERC_TAX = 35 ,
			  SUMMA_INC = NULL, 
			  SUMMA_DED = NULL		  
	-------------------

/*
declare  @Res float 
set @Res = ''
  EXEC RSA_6NDFL_01012016_PREPARE @Res output, '', '20160101', '20160331',1 ,0  ,703

*/	


	CREATE TABLE  #RES0_PERC (ID INT , PERC_TAX INT, COUNT_FIZL INT, SUMMA_INC NUMERIC(18,2), SUMMA_DED NUMERIC(18,2)  ,ssv NUMERIC(18,2), siv NUMERIC(18,2), osd NUMERIC(18,2), sdo NUMERIC(18,2), nalogn NUMERIC(18,2), nalogu NUMERIC(18,2), nalogs NUMERIC(18,2), S_5_6 NUMERIC(18,2), S_5_7 NUMERIC(18,2), dolg_np NUMERIC(18,2),dolg_na NUMERIC(18,2)  )
	INSERT INTO  #RES0_PERC(ID, PERC_TAX,COUNT_FIZL,SUMMA_INC, SUMMA_DED, ssv, siv, osd, sdo, nalogn, nalogu, nalogs, S_5_6, S_5_7, dolg_np,dolg_na)
	SELECT ID = 1 , 
		   PERC_TAX = 13,
		   ISNULL(COUNT(LINK_FACE),NULL),
		   SUMMA_INC = NULL,
		   SUMMA_DED = NULL,
		   ISNULL(SUM(ssv),NULL), 
		   ISNULL(SUM(siv),NULL), 
		   osd = ISNULL(SUM(osd13),NULL), 
		   sdo = ISNULL(SUM(sdo13),NULL), 
		   nalogn = ISNULL(SUM(nalogn13),NULL), 
		   nalogu = ISNULL(SUM(nalogu13),NULL), 
		   nalogs = ISNULL(SUM(nalog13s),NULL), 
		  ISNULL( SUM(S_5_6),NULL) , 
		   ISNULL(SUM(S_5_7),NULL) , 
		   ISNULL(SUM(dolg_np),NULL),
		   ISNULL(SUM(dolg_na),NULL)
	FROM #RES0  r
	WHERE isnull(osd13,0) <> 0
	UNION ALL 
		SELECT ID = 2 , 
		   PERC_TAX = 30,
		    ISNULL(COUNT(LINK_FACE),NULL),
		   SUMMA_INC = NULL,
		   SUMMA_DED = NULL,
		    ISNULL(SUM(ssv),NULL), 
		    ISNULL(SUM(siv),NULL), 
		   osd =  ISNULL(SUM(osd30),NULL), 
		   sdo =  ISNULL(SUM(sdo30),NULL), 
		   nalogn =  ISNULL(SUM(nalogn30),NULL), 
		   nalogu =  ISNULL(SUM(nalogu30),NULL), 
		   nalogs =  ISNULL(SUM(nalog30s),NULL), 
		    ISNULL(SUM(S_5_6),NULL) , 
		    ISNULL(SUM(S_5_7),NULL) , 
		    ISNULL(SUM(dolg_np),NULL),
		    ISNULL(SUM(dolg_na),NULL)
	FROM #RES0  r
	WHERE isnull(osd30,0) <> 0	
	UNION ALL 
		SELECT ID = 3 , 
		   PERC_TAX = 35,
		   ISNULL(COUNT(LINK_FACE),NULL),
		   SUMMA_INC = NULL,
		   SUMMA_DED = NULL,
		   ISNULL(SUM(ssv),NULL), 
		   ISNULL(SUM(siv),NULL), 
		   osd = ISNULL(SUM(osd35),NULL), 
		   sdo = ISNULL(SUM(sdo35),NULL), 
		   nalogn = ISNULL(SUM(nalogn35),NULL), 
		   nalogu = ISNULL(SUM(nalogu35),NULL), 
		   nalogs = ISNULL(SUM(nalog35s),NULL), 
		   ISNULL(SUM(S_5_6),NULL) , 
		   ISNULL(SUM(S_5_7),NULL) , 
		   ISNULL(SUM(dolg_np),NULL),
		   ISNULL(SUM(dolg_na),NULL)
	FROM #RES0  r
	WHERE isnull(osd35,0) <> 0	
	
	update  P
	SET   SUMMA_INC = RO.SUMMA_INC ,
		SUMMA_DED = RO.SUMMA_DED
	FROM #RES0_PERC P 
	INNER JOIN #RES_OUT_MAIN RO ON RO.PERC_TAX = P.PERC_TAX 

--SELECT * FROM #RES0_PERC	
	
CREATE TABLE #RES2(CODE_STR VARCHAR(10), COL3 NUMERIC(20,2))

	
INSERT INTO #RES2 SELECT '010', ISNULL(PERC_TAX,13) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '020', isnull(OSD,0) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '025', 0 FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '030', isnull(ssv,0)+isnull(siv,0)+isnull(SUMMA_DED,0) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '040', isnull(nalogn,0) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '045', 0 FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '050', 0 FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '1010',ISNULL(PERC_TAX,30) FROM #RES0_PERC WHERE  ID = 2
INSERT INTO #RES2 SELECT '1020', isnull(OSD,0) FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1025', 0 FROM #RES0_PERC WHERE  ID = 2
INSERT INTO #RES2 SELECT '1030', isnull(ssv,0)+isnull(siv,0)+isnull(SUMMA_DED,0) FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1040', isnull(nalogn,0) FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1045', 0 FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1050', 0 FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '2010', ISNULL(PERC_TAX,35) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2020', isnull(OSD,0) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2025', 0 FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2030', isnull(ssv,0)+isnull(siv,0)+isnull(SUMMA_DED,0) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2040', isnull(nalogn,0) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2045', 0 FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2050', 0 FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '3060', SUM(isnull(COUNT_FIZL,0)) FROM #RES0_PERC   
INSERT INTO #RES2 SELECT '3070', SUM(isnull(nalogu,0)) FROM #RES0_PERC   
INSERT INTO #RES2 SELECT '3080', SUM(isnull(dolg_np,0)) FROM #RES0_PERC  
INSERT INTO #RES2 SELECT '3090', SUM(isnull(dolg_na,0)) FROM #RES0_PERC 

SELECT * FROM #RES2
/* Завершаем - списываем значения во временную таблицу */
DECLARE @Table_Razd1 VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @Table_Razd1 OUTPUT
EXEC ('select * INTO ' + @Table_Razd1 + ' from #RES2 order by code_str')
EXEC dbo.BufferPush -116, @Table_Razd1

	-----------------------------------------------------
	---------------------------------------------------

	---
	--SELECT *, CAST(  (CAST (DOCCOUNT AS INT) - @varKSCNT) AS VARCHAR(254) ) AS DOCCOUNT2 FROM #DEP 
	---	

/*	UPDATE L SET
		NUMBER = O.NOM_SPR
	FROM 
		#LOG L
		INNER JOIN #RES0 R ON L.LINK = R.LINK_FACE
		INNER JOIN #ORDERS O ON O.ID = R.ID
	
	SELECT * FROM #LOG ORDER BY LINK, ERR
*/	---
--	EXEC dbo.BufferClear

	DROP TABLE #FACES
	DROP TABLE #S_J_C_SHORT
	DROP TABLE #S_J_C_SHORT_RES
/*	DROP TABLE #E_SUBDIV
	DROP TABLE #S_OBOSOB
	DROP TABLE #P_OBOSOB	
	DROP TABLE #LOG	
*/	DROP TABLE #RES0	
	DROP TABLE #ORDERS				

END











GO


GRANT EXECUTE ON dbo.[RSA_6NDFL_01012016_PREPARE] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_CONV148N_PRINT_SPRAVKA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_CONV148N_PRINT_SPRAVKA]

GO
CREATE PROCEDURE dbo.BK_CONV148N_PRINT_SPRAVKA
	@tDATE_BEGIN	DATETIME,
	@tDATE_END	DATETIME,
	@tTYPE_PRN	INT,
	@tSEP_DOC	INT,
	@tPRN_KBK	INT,
	@tPRN_KOSGU	INT
AS
BEGIN
	DECLARE @intDEP_LINK	INT,
		@intMAIN_DEP_LINK INT,
		@cMAIN_DEP_NAME VARCHAR (254),
		@cMAIN_OKPO	VARCHAR (254),
		@cMAIN_RUK	VARCHAR (100),
		@cMAIN_BUH	VARCHAR (100),
		@intPRN_RUK	INT,
		@intPRN_GLBUH	INT

	EXEC dbo.XD_WHATS_ZB @intDEP_LINK OUTPUT

	SELECT @intMAIN_DEP_LINK = LINK,
		@cMAIN_DEP_NAME = [NAME],
		@cMAIN_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @intDEP_LINK

	SELECT @cMAIN_RUK = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Руководитель')

	SELECT @cMAIN_BUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Главный бухгалтер')

	CREATE TABLE #TMP_TABLE (REC_NO INT IDENTITY, EVENT_TXT VARCHAR (254), LINK_DOC INT, LINK_G2 INT,
			SUMMA NUMERIC (28,4), ACCT25N INT, ACCT148N INT, ACCT_40103 INT,
			KBK INT, SGU INT, INV INT, 
			CODE_25N VARCHAR (30), CODE_148N VARCHAR (30),
			DEP_LINK INT)

	SELECT @tDATE_BEGIN = ISNULL (@tDATE_BEGIN, '20090101'),
		@tDATE_END = ISNULL (@tDATE_END, '20091231')

	INSERT INTO #TMP_TABLE
	SELECT '', 0, 0,
		CASE
			WHEN SA_25N.S_ACTIVE = 1 THEN SUM (RT.D_SUMMA)
			ELSE SUM (RT.K_SUMMA)
		END,
		SA_25N.LINK,
		SA_148N.LINK,
		0, --		dbo.BK_GetDBKTAccount (RT.ACCOUNT, '401', '03', DEFAULT),
		CASE
			WHEN @tPRN_KBK = 1 THEN RT.KBK
			ELSE 0
		END,
		CASE
			WHEN @tPRN_KOSGU = 1 THEN RT.SGU
			ELSE 0
		END,
		CASE
			WHEN @tTYPE_PRN = 1 THEN 0
			ELSE RT.INV
		END,
		SA_25N.CODE,
		SA_148N.CODE,
		RT.DEP_LINK
	FROM dbo.ARestTableByDate (@tDATE_BEGIN, DEFAULT) RT
	INNER JOIN dbo._148N_CONVERT_SA SA1 ON (SA1.LINK = RT.ACCOUNT)
	INNER JOIN dbo.S_ACCOUNTS SA_148N ON (SA_148N.LINK = SA1.LINK_SA)
	INNER JOIN dbo.S_ACCOUNTS_OLD25N SA_25N ON (SA_25N.LINK = SA1.LINK_SA)
	WHERE SA1.TYPE_ACCT = 2
		AND RT.DEP_LINK = @intDEP_LINK
	GROUP BY SA_25N.LINK,
		SA_148N.LINK,
		SA_25N.S_ACTIVE,
		CASE
			WHEN @tPRN_KBK = 1 THEN RT.KBK
			ELSE 0
		END,
		CASE
			WHEN @tPRN_KOSGU = 1 THEN RT.SGU
			ELSE 0
		END,
		CASE
			WHEN @tTYPE_PRN = 1 THEN 0
			ELSE RT.INV
		END,
		SA_25N.CODE,
		SA_148N.CODE,
		RT.DEP_LINK

	UPDATE #TMP_TABLE SET ACCT_40103 = dbo.BK_GetDBKTAccount (ACCT25N, '401', '03', DEFAULT)

/*
	select T.*, 
		SA_148N.CODE AS CODE_148N,
		SA_25N.CODE AS CODE_25N,
		SA.CODE AS CODE_40103
	from @TMP_TABLE T
	INNER JOIN dbo.S_ACCOUNTS SA_148N ON (SA_148N.LINK = T.ACCT148N)
	INNER JOIN dbo.S_ACCOUNTS_OLD25N SA_25N ON (SA_25N.LINK = T.ACCT25N)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T.ACCT_40103)
*/
/*
	SELECT T.REC_NO, 	
		T.SUMMA,
		T.ACCT25N AS DB_ACCT,
		ACCT_40103 AS KT_ACCT,
		KBK, SGU, INV,
		CODE_25N, DEP_LINK,
		1 AS TYPE_REC
	FROM #TMP_TABLE T
	UNION
	SELECT T.REC_NO, 
		T.SUMMA,
		ACCT_40103 AS DB_ACCT,
		T.ACCT148N ,
		KBK, SGU, INV,
		CODE_25N, DEP_LINK,
		2 AS TYPE_REC
	FROM #TMP_TABLE T
*/
	CREATE TABLE #TAB_RES (REC_NO INT, LINK_DOC INT, DOC_TITLE VARCHAR (254), NUMBER VARCHAR (8),
			DOC_DATE VARCHAR (10), dDOC_DATE DATETIME, DOC_NUM VARCHAR (8),
			DEP_NAME VARCHAR (254), OKPO VARCHAR (30),
			REASON VARCHAR (254),
			SUMMA NUMERIC (28,4),
			DT VARCHAR (60), KT VARCHAR (60),
			RUK VARCHAR (100), GLBUH VARCHAR (100),
			ORDERS TINYINT, INV INT)

	INSERT INTO #TAB_RES
	SELECT REC_NO, 
		0,
		'Переход на приказ 148н',
		'1',
		ISNULL (CONVERT (VARCHAR (10), @tDATE_BEGIN, 104), ''),
		@tDATE_BEGIN,
		ISNULL ('1', ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		'Приказ 148н. Перенос остатков со счета ' + SA_25N.CODE + '.',
		T1.SUMMA,
		CASE
			WHEN @tPRN_KBK = 1 THEN ISNULL (RTRIM (K1.CODE), '00000000000000000') + '.'
			ELSE ''
		END
			+ SA_25N.CODE
			+
		CASE
			WHEN @tPRN_KOSGU = 1 THEN '.' + ISNULL (K2.CODE, '000')
			ELSE ''
		END,
		dbo.BK_GetAcctFullCode1 (T1.ACCT_40103, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		@cMAIN_RUK,
		@cMAIN_BUH,
		1,
		T1.INV
	FROM #TMP_TABLE T1
	INNER JOIN dbo.S_ACCOUNTS_OLD25N SA_25N ON (SA_25N.LINK = T1.ACCT25N)
	LEFT OUTER JOIN dbo.KL_KBK K1 ON (K1.LINK = T1.KBK)
	LEFT OUTER JOIN dbo.KOSGU K2 ON (K2.LINK = T1.SGU)
	LEFT OUTER JOIN dbo.DEPARTMENTS D1 ON (D1.LINK = T1.DEP_LINK)

	UNION

	SELECT REC_NO, 
		0,
		'Переход на приказ 148н.',
		'1',
		ISNULL (CONVERT (VARCHAR (10), @tDATE_BEGIN, 104), ''),
		@tDATE_BEGIN,
		ISNULL ('1', ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		'Приказ 148н. Формирование остатков на счете ' + T1.CODE_148N + '.',
		T1.SUMMA,
		dbo.BK_GetAcctFullCode1 (T1.ACCT_40103, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		dbo.BK_GetAcctFullCode1 (T1.ACCT148N, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		@cMAIN_RUK,
		@cMAIN_BUH,
		2,
		T1.INV
	FROM #TMP_TABLE T1
	LEFT OUTER JOIN dbo.DEPARTMENTS D1 ON (D1.LINK = T1.DEP_LINK)


	SELECT TR.*,
		TR.REASON 
		+ CASE  
			WHEN INV.CODE IS NULL THEN ''
			ELSE ' ОС: ' + INV.CODE + ' ' + INV.[NAME] 
		END  AS REASON,
		'' AS SUBDIV,
		'' AS SUBDIV_C,
		0 AS PRN_ANALIT,
		'' AS APD_NAME,
		'' AS APK_NAME,
		0 AS QTY,
		0 AS LINK_G2,
		
		@intPRN_RUK AS PRN_RUK, 
		@intPRN_GLBUH AS PRN_GLBUH,
		'' AS COMMENT
	FROM #TAB_RES TR
	LEFT JOIN dbo.INVENTORY INV ON (INV.LINK = TR.INV)
	ORDER BY DEP_NAME, REC_NO, ORDERS, dDOC_DATE, LINK_DOC

	DROP TABLE #TMP_TABLE
	DROP TABLE #TAB_RES
END
GO


GRANT EXECUTE ON dbo.[BK_CONV148N_PRINT_SPRAVKA] TO PUBLIC
GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BV_CREATE_DOC_ANALIT_TABLE_70N]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BV_CREATE_DOC_ANALIT_TABLE_70N]

GO






/*
© Кейсистемс (Keysystems), 2005
*/

CREATE	PROCEDURE dbo.BV_CREATE_DOC_ANALIT_TABLE_70N
AS 
DECLARE		@varKSstr varchar(8000),
		@varKScTableObj	CHAR(10),
		@varKScCodeApObj	CHAR(10),
		@varKScNameApObj	CHAR(10),
		@varKScLenApObj	CHAR(10),
		@varKScValLinkObj	CHAR(10),
		@varKScTabDtktObj	CHAR(10)

SELECT @varKScTableObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_ANALIT_TABLE_70N'
SELECT @varKScCodeApObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_CODE_AP'
SELECT @varKScNameApObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_NAME_AP'
SELECT @varKScLenApObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_LEN_AP'
SELECT @varKScValLinkObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_VAL_LINK'
SELECT @varKScTabDtktObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_DTKT'

SET @varKSstr=CASE WHEN object_id('DOC_ANALIT_TABLE_70N') is null 
	THEN 'CREATE'
	ELSE 'ALTER' END +
' VIEW DOC_ANALIT_TABLE_70N AS
	--Автосформированная BV_CREATE_DOC_ANALIT_TABLE_70N
SELECT 
	OTR.LINK,
	OTR.LINK_UP,
	OTR.ORDERS,
	[CODE_AP] = (SELECT CONVERT(CHAR(5), STRING) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScCodeApObj + '),
	[NAME_AP] = (SELECT CONVERT(VARCHAR(30), STRING) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScNameApObj + '),
	[LEN_AP] = (SELECT CONVERT(INT, SUMMA) FROM OUT_TABLE_SUMMA WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScLenApObj + '),
	[VAL_LINK] = CASE (SELECT UPPER(LTRIM(RTRIM(STRING))) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScCodeApObj + ')
			WHEN ''DEP'' THEN (SELECT DEPARTMENT FROM OUT_TABLE_DEPARTMENT OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''SUB'' THEN (SELECT SUBDIV FROM OUT_TABLE_SUBDIV OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''EMP'' THEN (SELECT EMPL FROM OUT_TABLE_EMPL OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''INV'' THEN (SELECT INVENTORY FROM OUT_TABLE_INVENTORY OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''KBK'' THEN (SELECT KBK FROM OUT_TABLE_KBK OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''EKR'' THEN (SELECT KOSGU FROM OUT_TABLE_KOSGU OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''NOMEN'' THEN (SELECT NOMENCLATURE FROM OUT_TABLE_NOMENCLATURE OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''AP1'' 
         THEN (SELECT CONVERT(INT,[STRING])
               FROM dbo.[OUT_TABLE_STRING] [OTS]
               WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                     [OTS].[OBJECT] = ' + @varKScValLinkObj + ')
			WHEN ''AP2'' 
         THEN (SELECT CONVERT(INT,[STRING])
               FROM dbo.[OUT_TABLE_STRING] [OTS]
               WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                     [OTS].[OBJECT] = ' + @varKScValLinkObj + ')
			ELSE (SELECT DICTION FROM OUT_TABLE_DICTION OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
		     END,
	[VAL_CODE] = CASE (SELECT UPPER(LTRIM(RTRIM(STRING))) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScCodeApObj + ')
			WHEN ''DEP'' THEN (SELECT Convert(VARCHAR(10),CODE) FROM DEPARTMENTS D, OUT_TABLE_DEPARTMENT OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.DEPARTMENT)
			WHEN ''SUB'' THEN (SELECT Convert(VARCHAR(10),CODE) FROM SUBDIV D, OUT_TABLE_SUBDIV OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.SUBDIV)
			WHEN ''EMP'' THEN (SELECT Convert(VARCHAR(10),D.TAB) FROM EMPL D, OUT_TABLE_EMPL OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.EMPL)
			WHEN ''INV'' THEN (SELECT Convert(VARCHAR(20),CODE) FROM INVENTORY D, OUT_TABLE_INVENTORY OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.INVENTORY)
			WHEN ''KBK'' THEN (SELECT Convert(VARCHAR(30),CODE) FROM KL_KBK D, OUT_TABLE_KBK OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.KBK)
			WHEN ''EKR'' THEN (SELECT Convert(VARCHAR(10),CODE) FROM KOSGU D, OUT_TABLE_KOSGU OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.KOSGU)
			WHEN ''NOMEN'' THEN (SELECT Convert(VARCHAR(20),CODE) FROM NOMENCLATURE D, OUT_TABLE_NOMENCLATURE OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.NOMENCLATURE)
			WHEN ''AP1'' 
         THEN  (SELECT [NUMBER]
                FROM dbo.[BD_OSNOV]
                WHERE CONVERT (VARCHAR (20), LINK) = (SELECT [STRING]
                              FROM dbo.[OUT_TABLE_STRING] [OTS]
                              WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                                    [OTS].[OBJECT] = ' + @varKScValLinkObj + '))
			WHEN ''AP2'' 
         THEN  (SELECT [CODE]
                FROM dbo.DOP_CLASSIF
                WHERE CONVERT (VARCHAR (20), LINK) = (SELECT [STRING]
                              FROM dbo.[OUT_TABLE_STRING] [OTS]
                              WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                                    [OTS].[OBJECT] = ' + @varKScValLinkObj + '))
			ELSE (SELECT Convert(VARCHAR(10),CODE) FROM DICTION D, OUT_TABLE_DICTION OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.DICTION)
		     END,
	[VAL_NAME] = CASE (SELECT UPPER(LTRIM(RTRIM(STRING))) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScCodeApObj + ')
			WHEN ''DEP'' THEN (SELECT Convert(VARCHAR(120),NAME) FROM DEPARTMENTS D, OUT_TABLE_DEPARTMENT OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.DEPARTMENT)
			WHEN ''SUB'' THEN (SELECT Convert(VARCHAR(120),NAME) FROM SUBDIV D, OUT_TABLE_SUBDIV OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.SUBDIV)
			WHEN ''EMP'' THEN (SELECT dbo.sd_GetEmplName(EMPL) FROM OUT_TABLE_EMPL OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''INV'' THEN (SELECT Convert(VARCHAR(120),NAME) FROM INVENTORY D, OUT_TABLE_INVENTORY OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.INVENTORY)
			WHEN ''KBK'' THEN (SELECT Convert(VARCHAR(120),NAME) FROM KL_KBK D, OUT_TABLE_KBK OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.KBK)
			WHEN ''EKR'' THEN (SELECT Convert(VARCHAR(250),NAME) FROM KOSGU D, OUT_TABLE_KOSGU OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.KOSGU)
			WHEN ''NOMEN'' THEN (SELECT Convert(VARCHAR(254),NAME) FROM NOMENCLATURE D, OUT_TABLE_NOMENCLATURE OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.NOMENCLATURE)
			WHEN ''AP1'' 
         THEN  (SELECT [INFO]
                FROM dbo.[BD_OSNOV]
                WHERE CONVERT (VARCHAR (20), LINK) = (SELECT [STRING]
                              FROM dbo.[OUT_TABLE_STRING] [OTS]
                              WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                                    [OTS].[OBJECT] = ' + @varKScValLinkObj + '))
			WHEN ''AP2'' 
         THEN  (SELECT [NAME]
                FROM dbo.DOP_CLASSIF
                WHERE CONVERT (VARCHAR (20), LINK) = (SELECT [STRING]
                              FROM dbo.[OUT_TABLE_STRING] [OTS]
                              WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                                    [OTS].[OBJECT] = ' + @varKScValLinkObj + '))

			ELSE (SELECT Convert(VARCHAR(120),NAME) FROM DICTION D, OUT_TABLE_DICTION OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.DICTION)
		     END,
	[TAB_DTKT] = (SELECT CONVERT(TINYINT, SUMMA) FROM OUT_TABLE_SUMMA WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScTabDtktObj + '),
	[NAME_DTKT] = CASE (SELECT CONVERT(TINYINT, SUMMA) FROM OUT_TABLE_SUMMA WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScTabDtktObj + ')
			WHEN 0 THEN CONVERT(CHAR(2),''Дт'')
			ELSE CONVERT(CHAR(2),''Кт'')
		      END
	FROM OUT_TABLE_ROW OTR
	WHERE OTR.OBJECT = ' + @varKScTableObj + '
'
EXECUTE (@varKSstr)
GRANT ALL ON [DBO].[DOC_ANALIT_TABLE_70N] TO [PUBLIC]


EXEC U_UPDATE_SCRIPT_PROPERTY 'DOC_ANALIT_TABLE_70N', 'EXECUTE BV_CREATE_DOC_ANALIT_TABLE_70N'


/*
exec dbo.BV_CREATE_DOC_ANALIT_TABLE_70N
*/


GO


GRANT EXECUTE ON dbo.[BV_CREATE_DOC_ANALIT_TABLE_70N] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_CONV157N_PRINT_SPRAVKA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_CONV157N_PRINT_SPRAVKA]

GO
CREATE PROCEDURE dbo.BK_CONV157N_PRINT_SPRAVKA
	@tDATE_BEGIN	DATETIME,
	@tDATE_END	DATETIME,
	@tTYPE_PRN	INT,
	@tSEP_DOC	INT,
	@tPRN_KBK	INT,
	@tPRN_KOSGU	INT,
	@tOLD_40103	INT
AS
BEGIN
	DECLARE @intDEP_LINK	INT,
		@intMAIN_DEP_LINK INT,
		@cMAIN_DEP_NAME VARCHAR (254),
		@cMAIN_OKPO	VARCHAR (254),
		@cMAIN_RUK	VARCHAR (100),
		@cMAIN_BUH	VARCHAR (100),
		@intPRN_RUK	INT,
		@intPRN_GLBUH	INT

	EXEC dbo.XD_WHATS_ZB @intDEP_LINK OUTPUT

	SELECT @intMAIN_DEP_LINK = LINK,
		@cMAIN_DEP_NAME = [NAME],
		@cMAIN_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @intDEP_LINK

	SELECT @cMAIN_RUK = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Руководитель')

	SELECT @cMAIN_BUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Главный бухгалтер')

	CREATE TABLE #TMP_TABLE (REC_NO INT IDENTITY, EVENT_TXT VARCHAR (254), LINK_DOC INT, LINK_G2 INT,
			SUMMA NUMERIC (28,4), ACCT_OLD INT, ACCT_NEW INT, ACCT_KORR INT,
			KBK INT, SGU INT, INV INT, 
			CODE_OLD VARCHAR (30), CODE_NEW VARCHAR (30),
			DEP_LINK INT, S_ACTIVE INT
			)

	SELECT @tDATE_BEGIN = ISNULL (@tDATE_BEGIN, '20090101'),
		@tDATE_END = ISNULL (@tDATE_END, '20091231')

	INSERT INTO #TMP_TABLE
	SELECT '', 0, 0,
		CASE
			WHEN SA_OLD.S_ACTIVE = 1 THEN SUM (RT.D_SUMMA)
			ELSE SUM (RT.K_SUMMA)
		END,
		SA_OLD.LINK,
		SA_NEW.LINK,
		0, --		dbo.BK_GetDBKTAccount (RT.ACCOUNT, '401', '03', DEFAULT),
		CASE
			WHEN @tPRN_KBK = 1 THEN RT.KBK
			ELSE 0
		END,
		CASE
			WHEN @tPRN_KOSGU = 1 THEN RT.SGU
			ELSE 0
		END,
		CASE
			WHEN @tTYPE_PRN = 1 THEN 0
			ELSE RT.INV
		END,
		SA_OLD.CODE,
		SA_NEW.CODE,
		RT.DEP_LINK,
		SA_OLD.S_ACTIVE
	FROM dbo.ARestTableByDate (@tDATE_BEGIN, DEFAULT) RT
	INNER JOIN dbo.S_ACCOUNTS_NEW_CONV SA1 ON (SA1.LINK = RT.ACCOUNT)
	INNER JOIN dbo.S_ACCOUNTS SA_NEW ON (SA_NEW.LINK = SA1.LINK_SA)
	INNER JOIN dbo.S_ACCOUNTS_OLD SA_OLD ON (SA_OLD.LINK = SA1.LINK_SA)
	WHERE SA1.TYPE_ACCT = 2
		AND RT.DEP_LINK = @intDEP_LINK
		AND SA_OLD.cSINTH <> '401'
		AND SA_OLD.cANALIT <> '03'
	GROUP BY SA_OLD.LINK,
		SA_NEW.LINK,
		SA_OLD.S_ACTIVE,
		CASE
			WHEN @tPRN_KBK = 1 THEN RT.KBK
			ELSE 0
		END,
		CASE
			WHEN @tPRN_KOSGU = 1 THEN RT.SGU
			ELSE 0
		END,
		CASE
			WHEN @tTYPE_PRN = 1 THEN 0
			ELSE RT.INV
		END,
		SA_OLD.CODE,
		SA_NEW.CODE,
		RT.DEP_LINK

	UPDATE #TMP_TABLE SET ACCT_KORR = dbo.BK_GetDBKTAccount (ACCT_OLD, '401', '30', DEFAULT)

	CREATE TABLE #TAB_RES (REC_NO INT, LINK_DOC INT, DOC_TITLE VARCHAR (254), NUMBER VARCHAR (8),
			DOC_DATE VARCHAR (10), dDOC_DATE DATETIME, DOC_NUM VARCHAR (8),
			DEP_NAME VARCHAR (254), OKPO VARCHAR (30),
			REASON VARCHAR (254),
			SUMMA NUMERIC (28,4),
			ACCT_CODE VARCHAR (60), KOR_CODE VARCHAR (60),
			DT VARCHAR (60), KT VARCHAR (60),
			RUK VARCHAR (100), GLBUH VARCHAR (100),
			ORDERS TINYINT, INV INT, S_ACTIVE INT,
			LIST_JO VARCHAR (20))

	INSERT INTO #TAB_RES
	SELECT REC_NO, 
		0,
		'Переход на единый план счетов',
		'1',
		ISNULL (CONVERT (VARCHAR (10), @tDATE_BEGIN, 104), ''),
		@tDATE_BEGIN,
		ISNULL ('1', ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		'Переход на единый план счетов. Перенос остатков со счета ' + SA_OLD.CODE + '.',
		T1.SUMMA,
		CASE
			WHEN @tPRN_KBK = 1 THEN ISNULL (RTRIM (K1.CODE), '00000000000000000') + '.'
			ELSE ''
		END
			+ SA_OLD.CODE
			+
		CASE
			WHEN @tPRN_KOSGU = 1 THEN '.' + ISNULL (K2.CODE, '000')
			ELSE ''
		END,
		dbo.BK_GetAcctFullCode1 (T1.ACCT_KORR, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		'', '',
		@cMAIN_RUK,
		@cMAIN_BUH,
		1,
		T1.INV,
		T1.S_ACTIVE,
		''
	FROM #TMP_TABLE T1
	INNER JOIN dbo.S_ACCOUNTS_OLD SA_OLD ON (SA_OLD.LINK = T1.ACCT_OLD)
	LEFT OUTER JOIN dbo.KL_KBK K1 ON (K1.LINK = T1.KBK)
	LEFT OUTER JOIN dbo.KOSGU K2 ON (K2.LINK = T1.SGU)
	LEFT OUTER JOIN dbo.DEPARTMENTS D1 ON (D1.LINK = T1.DEP_LINK)

	UNION ALL

	SELECT REC_NO, 
		0,
		'Переход на единый план счетов',
		'1',
		ISNULL (CONVERT (VARCHAR (10), @tDATE_BEGIN, 104), ''),
		@tDATE_BEGIN,
		ISNULL ('1', ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		'Переход на единый план счетов. Формирование остатков на счете ' + T1.CODE_NEW + '.',
		T1.SUMMA,
		dbo.BK_GetAcctFullCode1 (T1.ACCT_KORR, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		dbo.BK_GetAcctFullCode1 (T1.ACCT_NEW, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		'', '',
		@cMAIN_RUK,
		@cMAIN_BUH,
		2,
		T1.INV,
		T1.S_ACTIVE,
		''
	FROM #TMP_TABLE T1
	LEFT OUTER JOIN dbo.DEPARTMENTS D1 ON (D1.LINK = T1.DEP_LINK)

	IF ISNULL (@tOLD_40103, 0) = 1
		UPDATE #TAB_RES
			SET KOR_CODE = REPLACE (KOR_CODE, '.401.30', '.401.03')
		WHERE ORDERS = 1

	UPDATE #TAB_RES SET DT = CASE 
					WHEN S_ACTIVE = 1 THEN KOR_CODE
					ELSE ACCT_CODE
				END,
			KT = CASE 
					WHEN S_ACTIVE = 1 THEN ACCT_CODE
					ELSE KOR_CODE
				END

	SELECT TR.*,
		TR.REASON 
		+ CASE  
			WHEN INV.CODE IS NULL THEN ''
			ELSE ' ОС: ' + INV.CODE + ' ' + INV.[NAME] 
		END  AS REASON,
		'' AS SUBDIV,
		'' AS SUBDIV_C,
		0 AS PRN_ANALIT,
		'' AS APD_NAME,
		'' AS APK_NAME,
		0 AS QTY,
		0 AS LINK_G2,
		
		@intPRN_RUK AS PRN_RUK, 
		@intPRN_GLBUH AS PRN_GLBUH,
		'' AS COMMENT
	FROM #TAB_RES TR
	LEFT JOIN dbo.INVENTORY INV ON (INV.LINK = TR.INV)
	ORDER BY DEP_NAME, REC_NO, ORDERS, dDOC_DATE, LINK_DOC

	DROP TABLE #TMP_TABLE
	DROP TABLE #TAB_RES
END



GO


GRANT EXECUTE ON dbo.[BK_CONV157N_PRINT_SPRAVKA] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_REP_2NDFL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_REP_2NDFL]

GO

CREATE PROCEDURE dbo.SD_REP_2NDFL
	@varKScYear varchar(4),			
	@varKSnFirstNum INT,	
	@nCHECK_S int = 0,					   /*Определить перечисленную сумму по проводкам*/
	@nSumm_For_Check numeric(18,2) = null, /*Перечисленная сумма НДФЛ за период*/			
	@varKScVal1 char(1), @varKSnOtborLink1 int,	
	@varKScVal2 char(1), @varKSnOtborLink2 int,
	@nLinkEmpl int = 0,
	@nMonth int = 12,
	@LINK_PERS INT = NULL,
	@nCheck_CheeF int = 0
	

AS BEGIN

SET NOCOUNT ON

	
	Set @nMonth = ISNULL(@nMonth,12)

	DECLARE @varKSnYear INT
	SET @varKSnYear = CAST(@varKScYear AS INT)

	DECLARE @BEGIN_YEAR DATETIME
	SET @BEGIN_YEAR = dbo.ConvertDMY2Date(1,1,@varKSnYear)

	declare @DEP_LINK int
	exec dbo.xd_whats_zb @DEP_LINK OUTPUT
	


	

	CREATE TABLE #RES0 (
		ID INT IDENTITY,
		NOM_SPR INT,
		LINK_FACE INT,
		SEX INT,
		INNFIZ VARCHAR(20),
		NUMB_SERT VARCHAR(20),
		STATUS VARCHAR(1),
		FIO VARCHAR(254),
		FM VARCHAR(254),
		IM VARCHAR(254),
		OT VARCHAR(254),
		KDVD VARCHAR(4),
		SERNOM VARCHAR(254), 
		BIRTH DATETIME,
		GRAZD VARCHAR(3),
		KSTR VARCHAR(3),
		LINK_ADR INT,
		IND_ADR VARCHAR(10),
		REGION VARCHAR(4),
		RAION VARCHAR(254),
		GOROD VARCHAR(254),
		NASEL VARCHAR(254),
		STREET VARCHAR(254),
		HOUSE VARCHAR(20),
		KORP VARCHAR(10),
		FLAT VARCHAR(10),

		KSTR_ino VARCHAR(3),
		Adr_ino VARCHAR(200),

		O_OKATO VARCHAR(14),
		O_OKTMO VARCHAR(11),
		O_KPP VARCHAR(9),		

		ksv1 varchar(3), ssv1 numeric(11,2),
		ksv2 varchar(3), ssv2 numeric(11,2),
		ksv3 varchar(3), ssv3 numeric(11,2),
		ksv4 varchar(3), ssv4 numeric(11,2),
		ksv5 varchar(3), ssv5 numeric(11,2),
		ksv6 varchar(3), ssv6 numeric(11,2),
		ksv7 varchar(3), ssv7 numeric(11,2),
		ksv8 varchar(3), ssv8 numeric(11,2),
		ksv9 varchar(3), ssv9 numeric(11,2),
		ksv10 varchar(3), ssv10 numeric(11,2),
		ksv11 varchar(3), ssv11 numeric(11,2),
		ksv12 varchar(3), ssv12 numeric(11,2),
		ssv numeric(11,2), siv numeric(11,2),
		osd13 numeric(11,2), sdo13 numeric(11,2), 
		nalogn13 numeric(18), nalogu13 numeric(18),
		NALOG13S numeric(18),
		err int,
		S_5_6 NUMERIC(18,2), S_5_7 NUMERIC(18,2),		
		dolg_np numeric(8), dolg_na numeric(8),
		kbkcode1 varchar(30), kbkcode2 varchar(30), kbkcode3 varchar(30), kbkcode4 varchar(30), 
		kbksum1 numeric(18,2), kbksum2 numeric(18,2),kbksum3 numeric(18,2),kbksum4 numeric(18,2),
		VIFNSPL numeric(18,2),
		ZSummPL numeric(18,2),
		UdSumPL numeric(18,2),
		VzkIFNS numeric(18,2)

	)	


	CREATE TABLE #FACES (LINK int,PERS_LINK int)

	IF @nLinkEmpl = 0
	BEGIN

		IF (len(@varKScVal1) = 0) AND (len(@varKScVal2) = 0 )
			INSERT INTO #FACES
			SELECT distinct PERS_LINK,PERS_LINK FROM dbo.empl WHERE DEP_LINK = @DEP_LINK --AND dbo.ku_GetEmplSack(link,default) = 0
		ELSE 
		if len(@varKScVal1) <> 0
			INSERT INTO #FACES 
			SELECT distinct Min(RECORD),E.PERS_LINK 
			FROM dbo.EMPL E INNER JOIN dbo.OBJECT_VAR_EMPL OVE ON OVE.RECORD = E.LINK
			WHERE LINK_UP = @varKSnOtborLink1
			GROUP BY E.PERS_LINK

		IF (len(@varKScVal1) = 0) AND (len(@varKScVal2) = 0 )
			INSERT INTO #FACES
			SELECT distinct PERS_LINK,PERS_LINK FROM dbo.SALARY_REESTR_DGH WHERE DEP_LINK = @DEP_LINK
				AND PERS_LINK NOT IN (SELECT PERS_LINK FROM #FACES)
		ELSE 
		IF len(@varKScVal2) <> 0
			INSERT INTO #FACES 
			SELECT distinct Min(RECORD), P.LINK 
			FROM dbo.PERSON P INNER JOIN dbo.OBJECT_VAR_PERSON OVE ON OVE.RECORD = P.LINK  
			WHERE LINK_UP = @varKSnOtborLink2 AND P.LINK NOT IN (SELECT PERS_LINK FROM #FACES)
			GROUP BY P.LINK
	END
	IF @nLinkEmpl > 0
	BEGIN
		INSERT INTO #FACES
		SELECT distinct LINK,PERS_LINK FROM dbo.empl WHERE LINK = @nLinkEmpl and DEP_LINK = @DEP_LINK
	END
	
	IF @nLinkEmpl IS NULL
		INSERT INTO #FACES (LINK, PERS_LINK)
		VALUES (0, @LINK_PERS)

	-----------------------------
	delete from dbo.SAL_DED_MONTH
	where 
	YEAR(DATE_DED) = @varKSnYear
	AND
	Month(DATE_DED) <= @nMonth
	AND
	LINK_EMPL IN (Select EM.LINK from dbo.EMPL EM INNER JOIN #FACES F on EM.PERS_LINK = F.PERS_LINK)
	AND
	LINK IN 
	(
		select D.LINK 
		from dbo.SAL_DED_MONTH D inner join dbo.empl E on D.link_empl = E.link
		where YEAR(D.DATE_DED) = @varKSnYear AND Month(D.DATE_DED) <= @nMonth
		and not exists (Select * from dbo.CALCULATE_JURNAL JC where YEAR(JC.PERIOD_BEGIN) = @varKSnYear AND Month(JC.PERIOD_BEGIN) <= @nMonth AND JC.LINK_EMPL = E.LINK AND JC.LINK_VKR = D.LINK_VKR)
	)

	-----------------------------	

	EXEC dbo.BufferClear
	EXEC dbo.BufferPushTable '#faces', 'REP2NDFL', 'pers_link'

	/*Временная таблица*/
	Declare @isPrevPreiod tinyint
	--Суммы начислений включать в базу расчета в том месяце, в котором он был начислен.                   
	Set @isPrevPreiod = dbo.sa_get_option_by_code('NDFL_OPT6')

	create table #S_J_C_SHORT (LINK_FACE int,PERS_LINK int, link_empl int, link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), link_inc int, period_begin datetime, date1 datetime, link_dep int)

	Insert into #S_J_C_SHORT (LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep)
	Select 
		E.PERS_LINK, JC.PERS_LINK, JC.LINK_EMPL, P.LINK, link_vkr, ISNULL(JC.LINK_EKR,P.LINK_EKR), P.TYP_PER, P.OBJECT, summa, P.LINK_INC,
		period_begin = (case when @isPrevPreiod = 0 then JC.period_begin 
				else (Case 
						when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code = 'DOCUMENTS_ADD_TABEL'
						then JC.DATE_BEGIN else JC.period_begin 
					end) 
				end),
		JC.DATE_BEGIN,
		JC.LINK_DEP
	from 
		dbo.CALCULATE_JURNAL JC 
		INNER JOIN dbo.NDFL_GroupTax() T ON JC.LINK_PAYS=T.LINK_PAYS
		LEFT JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
		LEFT JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
		LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
	where
		(
				(@isPrevPreiod = 0 or ISNULL(d.code,'') <> 'DOCUMENTS_ADD_TABEL') and @nMonth >= month(JC.PERIOD_BEGIN) and @varKSnYear = year(JC.PERIOD_BEGIN)
				or 
				@isPrevPreiod = 1 and ISNULL(d.code,'') = 'DOCUMENTS_ADD_TABEL'
				and (@nMonth >= month(JC.DATE_BEGIN) or @nMonth >= month(JC.PERIOD_BEGIN) )
				and (@varKSnYear = year(JC.DATE_BEGIN) or @varKSnYear = year(JC.PERIOD_BEGIN) )

			)
		AND  
			(	-->>NEW
			E.PERS_LINK in (select PERS_LINK from #FACES )
			or
			JC.PERS_LINK in (select PERS_LINK from #FACES )
			)	
		AND JC.LINK_DEP = @DEP_LINK 
	union all --Удержания
	Select LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep
	from dbo.S_J_C_SHORT SJC 
		LEFT JOIN DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC 
	where 
		SJC.LINK_DEP = @DEP_LINK
		and
		(
			SJC.LINK_FACE in (select PERS_LINK from #FACES )
			or
			SJC.PERS_LINK in (select PERS_LINK from #FACES )
		)
		and YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		and TYP_OPER = 2

-----------------------------------------------------------
--Для обособленных подразделений
DECLARE @DATE DATETIME
SET @DATE = DBO.ConvertDMY2Date(1,@nMonth, @varKSnYear)
SET @DATE = DBO.DateEndOfMonth(@DATE)

CREATE TABLE #E_SUBDIV (EMPL_LINK INT, SUBDIV_LINK INT)
INSERT INTO #E_SUBDIV (EMPL_LINK, SUBDIV_LINK)
SELECT EMPL_LINK, SUBDIV_LINK
FROM DBO.SA_EMPLS_INFO(@DATE, DEFAULT)
WHERE [STATUS] = 1 OR [STATUS] = 3

CREATE TABLE #S_OBOSOB (SUBDIV_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #S_OBOSOB (SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP)
SELECT SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP 
FROM [dbo].SUBDIVISION(@DATE) 
WHERE OBOSOB = 1

CREATE TABLE #P_OBOSOB (PERS_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #P_OBOSOB(PERS_LINK, O_OKATO, O_OKTMO, O_KPP)
SELECT E.PERS_LINK, SO.O_OKATO , SO.O_OKTMO, SO.O_KPP 
FROM 
	#S_OBOSOB SO INNER JOIN #E_SUBDIV ES ON SO.SUBDIV_LINK = ES.SUBDIV_LINK
	INNER JOIN DBO.EMPL E ON E.LINK = ES.EMPL_LINK

-----------------------------------------------------------
	INSERT INTO #RES0 (
		LINK_FACE,
		SEX,
		INNFIZ, --NALOG,
		NUMB_SERT,
		STATUS,
		FIO,
		FM, IM, OT,
		KDVD,
		SERNOM, 
		BIRTH,
		GRAZD,
		KSTR,
		LINK_ADR,
		IND_ADR,
		REGION,
		RAION,
		GOROD,
		NASEL,
		STREET,
		HOUSE,
		KORP,
		FLAT, 
		KSTR_ino,
		Adr_ino,
		ERR,
		O_OKATO,
		O_OKTMO,
		O_KPP
	)

	SELECT 	distinct 
		P.LINK, P.SEX, P.INN, /*P.IFNS,*/ P.INSUR_NUM, 
		CASE 
			WHEN P.RESIDENT  IS NULL THEN ''
			WHEN P.RESIDENT = 1 THEN '1'
			WHEN P.RESIDENT = 0 THEN '2'
		END,
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT),
		RTRIM(P.FM), RTRIM(P.IM), RTRIM(P.OT),
		[KDVD] = (SELECT TOP 1 CODE FROM FACE_DOCUMENT WHERE LINK = P.DOC_LINK),
		P.DOC_NUM,
		P.BIRTHDATE,
		GRAZD= (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK),
		KSTR= (case when (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK) = '1' then '643' else '' END),
		ADR.LINK_ADDR,
		ADR.IND_ADR,
		ADR.REGION,
		ADR.RAION,
		ADR.GOROD,
		ADR.NASEL,
		ADR.STREET,
		ADR.HOUSE,
		ADR.KORP,
		ADR.FLAT,
		KSTR_ino = '',
		Adr_ino = '',
		0,
		PO.O_OKATO,
		PO.O_OKTMO,
		PO.O_KPP
	FROM 
		#FACES F 
		INNER JOIN PERSON P ON P.LINK = F.PERS_LINK
		INNER JOIN (SELECT LINK_FACE from #S_J_C_Short SJC where LINK_FACE is not null
			UNION SELECT LINK_FACE= PERS_LINK from #S_J_C_Short SJC where PERS_LINK is not null) J on P.LINK = J.LINK_FACE
		LEFT OUTER JOIN dbo.NDFL_GET_ADDRESS() ADR ON P.LINK = ADR.LINK_FACE
		LEFT JOIN #P_OBOSOB PO ON PO.PERS_LINK = F.PERS_LINK
	ORDER BY 
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT)

	select distinct LINK_FACE, Y = year(PERIOD_BEGIN), M = month(PERIOD_BEGIN),  LINK_INC, LINK_VKR  
	into #spr_pays_kbk
	from 	#S_J_C_SHORT where TYP_OPER = 1
	

	CREATE TABLE #PAYS_0_tmp
	(
		ID INT IDENTITY,
		LINK_FACE INT,
		mes int, 
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	CREATE TABLE #PAYS_0
	(
		ID INT IDENTITY,
		LINK_FACE INT, 
		mes int, 
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	INSERT INTO #PAYS_0_tmp
	(LINK_FACE, mes, 
	LINK_INC, CODE_INC, SUMMA_INC,
	LINK_DED, CODE_DED, SUMMA_DED)
	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM 
		#S_J_C_SHORT SJC 
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.LINK_FACE = F.PERS_LINK
	WHERE 
		SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.PERS_LINK,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK 
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED

	---<< Добавление информации по внештатникам	
	union all 

	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM #S_J_C_SHORT SJC 	
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC --AND DTI.SNAME <> '0000'
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 	SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.LINK_FACE,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED
	ORDER BY 
		1, ISNULL(DTI.SNAME,'0000'), COD_DED


	INSERT INTO #PAYS_0
	Select LINK_FACE, mes, LINK_INC, CODE_INC, sum(SUMMA_INC), LINK_DED, CODE_DED, sum(SUMMA_DED)
	from #PAYS_0_tmp
	group by LINK_FACE, mes, LINK_INC, CODE_INC, LINK_DED, CODE_DED
	having Sum(SUMMA_INC) <> 0

	drop table #PAYS_0_tmp

	---->>
	--СКИДКИ
	SELECT D.LINK_FACE, D.mes, SUM(D.SUMMA) as SUMMA, D.REF_DED INTO #DED 
	FROM 
		dbo.SA_NDFL_MONTH_DED_ALL(@varKSnYear) D 
		inner join #spr_pays_kbk kbk on kbk.LINK_FACE = d.LINK_FACE and kbk.m = d.mes and kbk.link_inc = d.REF_INC and kbk.LINK_VKR = d.LINK_VKR
	where 
		kbk.y = @varKSnYear
		and kbk.m <= @nMonth
	GROUP BY 
		D.LINK_FACE, d.mes, d.REF_DED

	UPDATE #PAYS_0
	SET SUMMA_DED = 
		(SELECT SUM(SUMMA) FROM #DED D WHERE D.LINK_FACE = R.LINK_FACE AND D.REF_DED = R.LINK_DED AND D.mes = R.mes ) 
	FROM #PAYS_0 R 
	WHERE LINK_DED IS NOT NULL


	update #PAYS_0 
		Set CODE_DED = ''
		where ISNULL(SUMMA_DED,0) = 0


	CREATE TABLE #P0 (LINK_FACE INT, ID1 INT)

	--- 1

	CREATE TABLE #PAYS1(LINK_FACE INT, SM NUMERIC(11,2), MONTH_NUM INT)
	INSERT INTO #PAYS1
	SELECT LINK_FACE, SM, [MONTH]
	FROM dbo.NDFL_BASE_SUM_TAX_MONTH_ALL(@nMonth, @varKSnYear)

	---<< Добавление информации по внештатникам
	insert into #pays1

	SELECT 
		F.PERS_LINK,
		SUM(SUMMA) AS SUMMA_INC,
		Month(SJC.PERIOD_BEGIN)
	FROM 
		#S_J_C_SHORT SJC 
		INNER JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND ISNULL(SJC.LINK_FACE,0) = 0
		AND SJC.LINK_DEP = @DEP_LINK 
	GROUP BY F.PERS_LINK, SJC.PERIOD_BEGIN

	---->>

	SELECT LINK_FACE, SUM(SM) AS SM
	INTO #PAYS_R
	FROM #PAYS1
	GROUP BY LINK_FACE

	INSERT INTO #PAYS1
	SELECT 
		EP.PERS_LINK, -SUM(SUMMA), MONTH(DATE_DED)
	FROM    
		dbo.empl EP 
		inner join SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND [TYPE] = 2)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
	where 
		EP.DEP_LINK = @DEP_LINK	
	GROUP BY 
		EP.PERS_LINK, MONTH(DATE_DED)

	CREATE TABLE #PAYS3(ID INT IDENTITY, LINK_FACE INT, LINK_DED INT, CODE_DED VARCHAR(6), SUMMA NUMERIC(18,2), SUMMA_FAKT NUMERIC(18,2))
	--Стандартные и скидки на мат помощь
	--ПО СОТРУДНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.empl EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BEGIN_YEAR) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE

	--ПО ДОГОВОРНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.REESTR_DGH EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_DGH AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND S.[TYPE] = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BEGIN_YEAR) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE

	--UPDATE #PAYS3
	--SET
	--	SUMMA = (Select sum(SUM_DED) from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	
	--where
	--	exists (Select * from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	

	UPDATE #PAYS3
	SET
		SUMMA = ISNULL(SUMMA_FAKT,0)
	where
		ISNULL(SUMMA,0) = 0

	--Прочие вычеты (имущественные, добровольное пенс страхование и пр.)
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, SUM(S.SUMMA), SUM(S.SUMMA) 
	FROM 
		dbo.EMPL EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
	where 
		T.NUMBER NOT IN (	1, --Стандартные
							6 --скидки на мат помощь 
							)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE

	-- Общая сумма имущ. вычетов
	update #RES0
	Set siv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0),
		ssv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED NOT IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0)		

	from #RES0 R
	--
	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV1 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV1 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV2 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV2 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV3 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV3 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV4 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV4 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV5 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV5 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV6 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV6 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV7 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV7 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV8 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV8 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV9 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV9 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV10 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV10 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV11 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV11 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV12 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV12 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END


	UPDATE #RES0 SET OSD13 = (SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE) FROM #RES0 R

	----
	UPDATE #RES0 SET SDO13 = OSD13 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE

	-----
	UPDATE #RES0 SET SDO13 = 0 WHERE SDO13 < 0


	CREATE TABLE #NDFL_TAX(LINK_TAX INT)
	INSERT INTO #NDFL_TAX
	SELECT LINK FROM PAYS P WHERE P.OBJECT = 2 AND P.WAY_CALC = 4

	Create table #NDLF13_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF13 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF13_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF13 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF13_tmp group by LINK
	
	drop table #NDLF13_tmp
	--->>

	UPDATE #RES0 SET NALOGU13 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF13 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN13 = SDO13 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX WHERE TARIF = 1)
								ELSE 0.30 END)
	--Перечисленная сумма по всем за период
	DECLARE @SUMMA_PLAT_ALL NUMERIC(18,2)
		
	IF @nCHECK_S = 0
		BEGIN
			SET @SUMMA_PLAT_ALL =  @nSumm_For_Check 	
		END
	ELSE
		BEGIN 
			EXEC dbo.SA_NDFL_PLAT @BEGIN_YEAR, @DATE, @DEP_LINK, @SUMMA_PLAT_ALL OUT
		END 
	--Начисленная сумма по всем за период
	DECLARE @SUMMA_NACH_ALL NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL @BEGIN_YEAR, @DATE, @DEP_LINK, @SUMMA_NACH_ALL OUT
	--Перечисленная за сотрудника	
	UPDATE #RES0 SET NALOG13S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL > 0 THEN (NALOGU13	/ @SUMMA_NACH_ALL) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG13S = CASE WHEN NALOG13S > NALOGU13 THEN NALOGU13 ELSE NALOG13S END

	UPDATE #RES0 SET NOM_SPR = ID + @varKSnFirstNum - 1
	
	---Учет переплаты/недоплаты НДФЛ из остатков с прошлого года
	UPDATE A SET 
		S_5_6 = (CASE WHEN R.NDFL > 0 THEN R.NDFL ELSE 0 END),
		S_5_7 = (CASE WHEN R.NDFL <= 0 THEN - R.NDFL ELSE 0 END)
	FROM
		#RES0 A INNER JOIN 
		(SELECT E.PERS_LINK, NDFL = SUM(SR.NDFL) FROM dbo.SAL_REMAIN SR INNER JOIN dbo.EMPL E ON E.LINK = SR.LINK_EMPL WHERE SR.YEAR_SAL = @varKSnYear GROUP BY E.PERS_LINK) R 
			ON R.PERS_LINK = A.LINK_FACE
	--	
	UPDATE #RES0 SET DOLG_NP = CASE WHEN NALOGN13 - NALOGU13 > 0 THEN NALOGN13 - NALOGU13 ELSE 0 END - ISNULL(S_5_6,0)
	UPDATE #RES0 SET DOLG_NA = CASE WHEN NALOGU13 - NALOGN13 > 0 THEN NALOGU13 - NALOGN13 ELSE 0 END - ISNULL(S_5_7,0)

	--^^^^^^^^^Распределение налога по КБК^^^^^^^^^^
	create table  #PAYS_NDFL (ID INT IDENTITY, LINK_FACE int, LINK_PAYS int, kbk_code varchar(30), SUMMA numeric(18,2))

	INSERT INTO #PAYS_NDFL (LINK_FACE, LINK_PAYS, kbk_code, SUMMA)
	SELECT LINK_FACE, SJC.LINK_PAYS, left(kbk.CODE,30), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.PERS_LINK,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)
	GROUP BY 
		LINK_FACE, LINK_PAYS, kbk.CODE

	union all ---<< Добавление информации по внештатникам	

	SELECT  PERS_LINK, SJC.LINK_PAYS, left(kbk.CODE,20), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.LINK_FACE,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)

	GROUP BY 
		PERS_LINK, LINK_PAYS, kbk.CODE
	ORDER BY 
		1, 2, 3



	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode1 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum1 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode2 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum2 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode3 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum3 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode4 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum4 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	-------------------------------------
	update #res0
	set 	VIFNSPL =0, ZSummPL =0, UdSumPL =0, VzkIFNS =0


	DECLARE @varKSCNT INT

	SELECT @varKSCNT  = COUNT(*) FROM #RES0

	SELECT TOP 1 
		LTRIM(RTRIM(STR(@varKSCNT))) AS DOCCOUNT, 
		ISNULL(IMNS, '') AS NALOG,
		ISNULL(dd.INN, '') AS INN,
		ISNULL(KPP, '') AS KPP,
		ISNULL(OKATO, '')  AS OKATO,
		ISNULL(OKTMO, '')AS OKTMO,
		convert(varchar (254),(ISNULL(FULL_NAME, ''))) AS FULL_NAME,
		ISNULL(DOTF.PHONE, '') AS PHONE,
		ISNULL(RTRIM(FM), '') + ' ' + ISNULL(RTRIM(IM), '') + ' ' + ISNULL(RTRIM(OT), '') AS GLBUH,
		ISNULL(RTRIM(FM), '') AS FM,
		ISNULL(RTRIM(IM), '') AS IM, 
		ISNULL(RTRIM(OT), '') AS OT,
		ISNULL(RTRIM(DOTF.NAME), '') AS Dolzh
	INTO #DEP
	FROM DICTIONARY_DEPARTMENT DD 
	LEFT OUTER JOIN DICTIONARY_OTV_FACE DOTF ON 
		(DOTF.DEP_LINK = DD.LINK
		AND (@nCheck_CheeF = 0 and DOTF.NAME = 'Главный бухгалтер' ) 
			OR (@nCheck_CheeF = 1 and DOTF.NAME = 'Руководитель' ))
	LEFT OUTER JOIN KU_EMPL_PLACING EP ON DOTF.FACE_LINK = EP.LINK
	WHERE DD.link = @DEP_LINK

/*
EXECUTE KIR_EXEC_QUERY 95090,'''2014'',1,''1'',''1'',''1'',1,0,'''',0,95091'
go


*/

	CREATE TABLE #LOG(
		LINK INT, ERR INT IDENTITY, 
		NUMBER VARCHAR(20), DETAIL VARCHAR(254) )

	DECLARE @varKScInn VARCHAR(254), @varKScKPP VARCHAR(254), @varKSFULL_NAME varchar(254), 
		@varKSNALOG VARCHAR(254), @varKSOKATO VARCHAR(254), @varKSOKTMO VARCHAR(254), @varKSPHONE VARCHAR(254), 
		@varKSGLBUH VARCHAR(254), 
		@varKSRESULT BIT

	SELECT 
		@varKScInn = INN, @varKScKPP = KPP,
		@varKSFULL_NAME = FULL_NAME, 
		@varKSNALOG = NALOG, @varKSOKATO = Replace(OKATO,' ',''), @varKSOKTMO = Replace(OKTMO,' ',''),
		@varKSPHONE = PHONE, 
		@varKSGLBUH  = GLBUH
	FROM #DEP
	
	IF LEN(@varKScInn) = 0
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указан ИНН организации')
	ELSE BEGIN
		IF LEN(@varKScInn) <> 10 BEGIN
			INSERT INTO #LOG (LINK, NUMBER, DETAIL)
			VALUES (0, 'Общие ошибки', 'Неверный ИНН организации')
		END
		ELSE BEGIN
			EXEC SD_CHECK_INN @varKScInn, @varKSRESULT OUTPUT, 0
			IF @varKSRESULT = -1
				INSERT INTO #LOG (LINK, NUMBER, DETAIL)
				VALUES (0, 'Общие ошибки', 'Неверный ИНН организации')
		END
	END

	
	IF LEN(@varKScKPP) = 0
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указан КПП организации')
	ELSE BEGIN
		IF LEN(@varKScKPP) <>9  BEGIN
			INSERT INTO #LOG (LINK, NUMBER, DETAIL)
			VALUES (0, 'Общие ошибки', 'КПП организации должен быть 9 знаков')
		END
	END

	IF LEN(@varKSNALOG) = 0 
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указан код ИФНС')
	ELSE BEGIN
		IF LEN(@varKSNALOG) <> 4  
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Код ИФНС должен быть 4 знака')

	END

	IF LEN(@varKSFULL_NAME) = 0 
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указано наименование организации-отправителя')



	IF LEN(@varKSOKATO) = 0  
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)		VALUES (0, 'Общие ошибки', 'Не указан код ОКТМО')	

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT E.PERS_LINK, '', 'Не указан код ОКТМО у обособленного подразделения, в котором находится сотрудник ' + RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.'
	FROM
		#S_OBOSOB SO INNER JOIN #E_SUBDIV ES ON SO.SUBDIV_LINK = ES.SUBDIV_LINK
		INNER JOIN DBO.EMPL E ON E.LINK = ES.EMPL_LINK
		INNER JOIN #FACES F ON F.PERS_LINK = E.PERS_LINK
		INNER JOIN DBO.PERSON P ON P.LINK = E.PERS_LINK
	WHERE
		LEN(O_OKATO) = 0 
		
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT E.PERS_LINK, '', 'Не указан либо указан неверно код KPP у обособленного подразделения, в котором находится сотрудник ' + RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.'
	FROM
		#S_OBOSOB SO INNER JOIN #E_SUBDIV ES ON SO.SUBDIV_LINK = ES.SUBDIV_LINK
		INNER JOIN DBO.EMPL E ON E.LINK = ES.EMPL_LINK
		INNER JOIN #FACES F ON F.PERS_LINK = E.PERS_LINK
		INNER JOIN DBO.PERSON P ON P.LINK = E.PERS_LINK		
	WHERE
		LEN(O_KPP) <> 9

	IF LEN(@varKSPHONE) = 0 
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указан контактный телефон')

	IF LEN(@varKSGLBUH) = 0 
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указано ответственное лицо')

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT DISTINCT
		0, 'Общие ошибки', 'В настройках по зарплате не указан вычет с кодом ' + LTRIM(RTRIM(ISNULL(D.SNAME,'')))
	FROM
		dbo.TAX_DEDUCTIONS TD INNER JOIN DBO.DICTIONARY_TYP_DEDUCTION D ON D.LINK = TD.LINK_DICTION
	WHERE
		TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth
		AND
		TD.LINK_DICTION NOT IN (SELECT REF_PAY FROM dbo.Salary_deductions(@BEGIN_YEAR))

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '', 'Не указана фамилия' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE LEN(ISNULL(FM, '')) = 0 AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '', 'Не указано имя' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE LEN(ISNULL(IM, '')) = 0 AND OSD13 > 0 

/*	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указано отчество' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE LEN(ISNULL(Ot, '')) = 0 AND OSD13 > 0 
*/
/*	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT NOM_SPR, NOM_SPR,  'Неверный ИНН сотрудника' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE dbo.IsValidINNFiz(INNFIZ) = 0
*/
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан статус работника' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE STATUS = '' AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указано гражданство' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE GRAZD IS NULL AND OSD13 > 0 
/*
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT NOM_SPR, NOM_SPR,  'Не указан ИНН' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = ''
*/
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан ИНН либо документ, удостоверяющий личность' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = '' and KDVD IS NULL AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан ИНН либо номер документа' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = '' AND ISNULL(SERNOM, '') = '' AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан ИНН либо дата рождения'  + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = '' AND BIRTH IS NULL AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан адрес'  + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = '' AND link_adr IS NULL AND OSD13 > 0 

	SET @varKSCNT = 0
	SELECT @varKSCNT = COUNT(DISTINCT LINK) FROM #LOG WHERE LINK > 0

	UPDATE #RES0
	SET ERR = 1
	WHERE LINK_FACE IN (SELECT LINK_FACE FROM #LOG)

	/*заявленные имущественные вычеты*/  -- DED_TYPE = 1 - имущественные, 2-  социальные
	CREATE TABLE #td (LINK_PERSON INT ,NUM_REF VARCHAR(15),DATE_REF DATETIME,IFNS_CODE VARCHAR(20),DED_TYPE TINYINT)
	INSERT INTO #td (LINK_PERSON ,NUM_REF,DATE_REF,IFNS_CODE,DED_TYPE)
	Select LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 1 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER ='4')  )
	UNION SELECT 
		   LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 2 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER IN('11','12','13')) )


	declare @KBK_DEFAULT varchar(254)
	Set @KBK_DEFAULT = (select Top 1 CODE_KBK from dbo.sd_empl where LINK_KBK > 0)

	UPDATE #RES0 Set kbkcode1 = @KBK_DEFAULT, kbksum1 = 0 where ISNULL(kbksum1,0) = 0

	/*Контроль имущественных вычетов*/
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Указаны не все данные в уведомлении на имущественный вычет'  + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 inner join  #td on #RES0.LINK_FACE = #td.LINK_PERSON 
	WHERE rtrim(ltrim(ISNULL(NUM_REF,''))) = '' or rtrim(ltrim(ISNULL(IFNS_CODE,''))) = '' or DATE_REF is null AND OSD13 > 0 

	CREATE TABLE #RES_OUT (ID INT,LINK_FACE INT,mes INT,LINK_INC INT,CODE_INC VARCHAR(4),SUMMA_INC NUMERIC(18,2),LINK_DED INT,CODE_DED VARCHAR(3),SUMMA_DED NUMERIC(18,2),ID2 INT)

	INSERT INTO #RES_OUT (ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2)
	SELECT ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2 = 0 
	FROM #PAYS_0 
	ORDER BY LINK_FACE, MES, CODE_INC
	
	---СОРТИРОВКА
	CREATE TABLE #RES_OUT_ORD (NUM_PP INT IDENTITY(1,1), ID INT, LINK_FACE INT)
	INSERT INTO #RES_OUT_ORD (ID, LINK_FACE)
	SELECT ID, LINK_FACE FROM #PAYS_0 ORDER BY LINK_FACE, MES, CODE_INC
	--
	CREATE TABLE #RES_OUT_ORD2 (LINK_FACE INT, MIN_NUM INT)
	INSERT INTO #RES_OUT_ORD2 (LINK_FACE, MIN_NUM)
	SELECT LINK_FACE, MIN(NUM_PP) FROM #RES_OUT_ORD GROUP BY LINK_FACE
	---СОРТИРОВКА ДЛЯ КАЖДОГО ФИЗЛИЦА
	UPDATE R
	SET R.ID2 = O.NUM_PP - O2.MIN_NUM + 1
	FROM 
		#RES_OUT R 
		INNER JOIN #RES_OUT_ORD O ON O.ID = R.ID
		INNER JOIN #RES_OUT_ORD2 O2 ON O2.LINK_FACE = R.LINK_FACE

	CREATE TABLE #ORDERS (ID int)
	DECLARE @SQL VARCHAR(1000)
	SET @SQL = 'ALTER TABLE #ORDERS ADD [NOM_SPR] INT IDENTITY(' + RTRIM(str(ISNULL(@varKSnFirstNum,1))) + ',1)'
	EXEC(@SQL)

	INSERT INTO #ORDERS (ID) 
	SELECT DISTINCT ID 
	FROM #RES0 
	WHERE LINK_FACE IN ( Select DISTINCT LINK_FACE from #RES_OUT where [ID2]%2 = 1 )
			--AND ISNULL(OSD13,0) > 0
	ORDER BY ID

	--UPDATE #ORDERS SET NOM_SPR = NOM_SPR + @varKSnFirstNum - 1

	--- общее количество документов
	UPDATE #DEP SET DOCCOUNT = ISNULL((SELECT MAX(NOM_SPR) FROM #ORDERS),0)

	-------------------
	SELECT 
		R.ID, O.NOM_SPR, R.LINK_FACE, R.SEX, R.INNFIZ, R.NUMB_SERT, R.STATUS, 
		R.FIO, R.FM, R.IM, R.OT, R.KDVD, R.SERNOM, R.BIRTH, R.GRAZD, R.KSTR, 
		R.LINK_ADR, R.IND_ADR, R.REGION, R.RAION, R.GOROD, R.NASEL, R.STREET, 
		R.HOUSE, R.KORP, R.FLAT, R.KSTR_ino, R.Adr_ino, 
		R.ksv1, R.ssv1, R.ksv2, R.ssv2, R.ksv3, R.ssv3, R.ksv4, R.ssv4, R.ksv5, R.ssv5, R.ksv6, R.ssv6, 
		R.ksv7, R.ssv7, R.ksv8, R.ssv8, R.ksv9, R.ssv9, R.ksv10, R.ssv10, R.ksv11, R.ssv11, R.ksv12, R.ssv12, 
		R.ssv, R.siv, R.osd13, R.sdo13, R.nalogn13, R.nalogu13, R.nalog13s, R.err, R.S_5_6, R.S_5_7, R.dolg_np, R.dolg_na, 
		R.kbkcode1, R.kbkcode2, R.kbkcode3, R.kbkcode4, R.kbksum1, R.kbksum2, R.kbksum3, R.kbksum4, 
		R.VIFNSPL, R.ZSummPL, R.UdSumPL, R.VzkIFNS, 
		ndoc_td = td1.NUM_REF , -- на имущественные вычеты
		ddoc_td = td1.DATE_REF,
		ifnsdoc_td = td1.ifns_code,
		nDoc_SD = td2.NUM_REF, -- на социальные вычеты 
		dDoc_SD = td2.DATE_REF,
		ifnsdoc_sd = td2.ifns_code,
		nalog	= @varKSNALOG,
		KPP1 = ISNULL(R.O_KPP,@varKScKPP),
		OKATO1 = replace(ISNULL(R.O_OKATO,@varKSOKATO),' ',''),
		OKATO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKATO else '' end),
		OKATO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKATO else '' end),
		OKATO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKATO else '' end),
		OKTMO1 = replace(ISNULL(R.O_OKATO,@varKSOKTMO),' ',''),
		OKTMO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKTMO else '' end),
		T.M1, T.CINC1, T.SINC1, T.CDED1, T.SDED1, T.M2, T.CINC2, T.SINC2, T.CDED2, T.SDED2,
		td1.LINK_PERSON/*, #td.NUM_REF, #td.DATE_REF, #td.IFNS_CODE*/
	FROM #RES0 R 
		INNER JOIN #ORDERS O ON O.ID = R.ID
		INNER JOIN ( 
			Select	T1.LINK_FACE, M1= T1.MES, CINC1= T1.CODE_INC, SINC1= T1.SUMMA_INC, CDED1= T1.CODE_DED, SDED1= T1.SUMMA_DED, M2= T2.MES, CINC2= T2.CODE_INC, SINC2= T2.SUMMA_INC, CDED2= T2.CODE_DED, SDED2= T2.SUMMA_DED
			from	(Select * from #RES_OUT where [ID2]%2 = 1) T1 left join (Select * from #RES_OUT where [ID2]%2 = 0) T2 on T1.link_FACE = T2.LINK_FACE AND T1.[ID2] = (T2.[ID2]-1)
		) T on R.LINK_FACE = T.LINK_FACE
		LEFT OUTER JOIN   #td td1 on R.LINK_FACE = td1.LINK_PERSON AND td1.DED_TYPE = 1 /*имущественные вычеты*/
		LEFT OUTER JOIN   #td td2 on R.LINK_FACE = td2.LINK_PERSON AND td2.DED_TYPE = 2 /*социальные вычеты*/
	--where OSD13 > 0 
	ORDER BY O.NOM_SPR, T.M1, T.CINC1, T.M2, T.CINC2

	---
	SELECT *, CAST(  (CAST (DOCCOUNT AS INT) - @varKSCNT) AS VARCHAR(254) ) AS DOCCOUNT2 FROM #DEP 
	---	

	UPDATE L SET
		NUMBER = O.NOM_SPR
	FROM 
		#LOG L
		INNER JOIN #RES0 R ON L.LINK = R.LINK_FACE
		INNER JOIN #ORDERS O ON O.ID = R.ID
	
	SELECT * FROM #LOG ORDER BY LINK, ERR
	---
	EXEC dbo.BufferClear

	DROP TABLE #E_SUBDIV
	DROP TABLE #S_OBOSOB
	DROP TABLE #P_OBOSOB	
	DROP TABLE #LOG	
	DROP TABLE #RES0	
	DROP TABLE #ORDERS				
	
END











GO


GRANT EXECUTE ON dbo.[SD_REP_2NDFL] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINT_INV_CARD_F0504031]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINT_INV_CARD_F0504031]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE      PROCEDURE dbo.BK_PRINT_INV_CARD_F0504031
	@varKSc_BufferName	VARCHAR (100)
AS
BEGIN
	DECLARE	@varKSintLINK	INT,
		@varKSnCALC_RATE	NUMERIC (28,4),
		@varKSdDATE_WORK	DATETIME,
		@varKSdDATE_REST	DATETIME,
		@varKSACCT_CODE	VARCHAR (20),
		@varKSDEP		INT,
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSEMP		INT,
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254),
		@varKSSUB_CODE	VARCHAR (20),
		@varKSSUB_NAME	VARCHAR (254),
		@varKSKBK	INT,
		@varKSACCT	INT,
		@nBALANSE	NUMERIC (28,4),
		@BEGIN_DATE_USED DATETIME,
		@DATE_CALC_REST_AMORT	DATETIME,
		@DATE_AMORT	DATETIME,
		@SUMMA_AM	NUMERIC (28, 4),
		@REST_SUMMA_AM	NUMERIC (28, 4),
		@PREV_SUMMA_AM	NUMERIC (28, 4),
		@YEAR_AM	INT,
		@LAST_RECNO	INT,
		@ACCOUNT_AM	INT,

		@PRN_MOVE_EMP	INT,

		@dDATE_RECALC DATETIME,
		@nSUM_RECALC NUMERIC (28,4),
		@cINFO_RECALC VARCHAR (254)

	SELECT TOP 1 @varKSintLINK = LINK
		FROM dbo.BufferGetTableByID (@varKSc_BufferName)

--	SELECT @varKSdDATE_WORK = DATEADD (DAY, 1, WORKDATE) FROM USER_INFO
	SELECT @varKSdDATE_WORK = WORKDATE FROM dbo.USER_INFO
	SET @varKSdDATE_REST = DATEADD (DAY, 1, @varKSdDATE_WORK) 

	DECLARE @varKSINV_REST TABLE
			(ACCOUNT INT,
			ACCT_SINT VARCHAR (10),
			ACCT_CODE VARCHAR (20),
			DEP INT,
			SUB INT,
			EMP INT,
			INV INT,
			KBK INT,
			SUMMA NUMERIC (28,4))

	INSERT INTO @varKSINV_REST
	SELECT --*
		T1.ACCOUNT,
		SA.cSinth,
		SA.CODE,
		T1.DEP,
		T1.SUB,
		T1.EMP,
		T1.INV,
		T1.KBK,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN SUM (T1.D_SUMMA)
			WHEN SA.S_PASSIVE = 1 THEN SUM (T1.K_SUMMA)
		END
	FROM dbo.ARestTableByDate (@varKSdDATE_REST, DEFAULT) T1
	INNER JOIN dbo.S_ACCOUNTS SA ON (T1.ACCOUNT = SA.LINK)
	INNER JOIN dbo.BufferGetTableByID (@varKSc_BufferName) BUF ON (BUF.LINK = T1.INV)
--	WHERE T1.INV = @varKSintLINK
	GROUP BY T1.ACCOUNT, T1.DEP, T1.SUB, T1.EMP, T1.INV, T1.KBK, SA.S_ACTIVE, SA.S_PASSIVE, SA.cSinth, SA.CODE

--SELECT * FROM @varKSINV_REST
--SELECT * FROM dbo.ARestTableByDate ('20140101', DEFAULT) T1

	
	SELECT TOP 1
		@varKSACCT_CODE = ACCT_CODE,
		@varKSDEP = DEP.LINK,
		@varKSDEP_CODE = DEP.CODE,
		@varKSDEP_NAME = DEP.NAME, 
		@varKSDEP_OKPO = DEP.OKPO,
		@varKSEMP = EMP.LINK,
		@varKSEMP_CODE = EMP.TAB,
		@varKSEMP_NAME = EMP.NAME_EMPL,
		@varKSSUB_CODE	= SUB.CODE,
		@varKSSUB_NAME	= SUB.[NAME],
		@nBALANSE = SUMMA,
		@varKSKBK = KBK,
		@varKSACCT = T1.ACCOUNT
	FROM @varKSINV_REST T1
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = T1.DEP)
	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = T1.EMP)
	LEFT OUTER JOIN dbo.DICTIONARY_SUBDIVISION SUB ON (SUB.LINK = T1.SUB)
	WHERE
		T1.ACCT_SINT = '101'
		OR T1.ACCT_SINT = '102'
		OR T1.ACCT_SINT = '103'
		OR T1.ACCT_SINT = '108'

	IF @varKSDEP IS NULL
		SELECT TOP 1
			@varKSDEP = DEP.LINK,
			@varKSDEP_CODE = DEP.CODE,
			@varKSDEP_NAME = DEP.NAME, 
			@varKSDEP_OKPO = DEP.OKPO
		FROM dbo.DICTIONARY_DEPARTMENT DEP 
		WHERE DEP.LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SELECT @varKSnCALC_RATE = SUM (SUMMA)
	FROM @varKSINV_REST T1
	WHERE T1.ACCT_SINT = '104'


	--- вычисляем балансовую стоимость 
	DECLARE @nBALANSE_R NUMERIC(18,2)
	SELECT @nBALANSE_R = SUM (BALANS)
	 FROM dbo.BK_GetTableRestINV (@varKSdDATE_WORK, @varKSintLINK, @varKSDEP)
	GROUP BY INV,
		ACCOUNT_B,
		ACCOUNT_A	
	


	-- Вычисляем переоценку --
	DECLARE @TAB_RECALL TABLE (REC_NO INT IDENTITY, DATE_OPER2 VARCHAR (10), dDATE_OPER DATETIME,
		JO_NUM2 VARCHAR (20), SUMMA2 NUMERIC (20,2), NAME2 VARCHAR(100), DOC_NUM2 VARCHAR (30) )

	INSERT INTO @TAB_RECALL	
	SELECT CONVERT (VARCHAR (10), a.DATE_OPER, 104) AS DATE_OPER2, a.DATE_OPER,
		CONVERT (VARCHAR (20), RTRIM (a.JO_NUM) + '(баланс)') AS JO_NUM2,
		a.SUMMA AS SUMMA2,
		left(s.NAME,100) AS NAME2,
		CONVERT (VARCHAR (20), RTRIM (a.DOC_NUM) + '(баланс)') AS DOC_NUM2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK,
		'17.15#17.16#17.17#17.18') a  -- Переоценка ОС
	INNER JOIN G_PROV2 g2 ON  g2.LINK = a.LINK_G2
	INNER JOIN G_PROV1 g1 ON g1.LINK = g2.LINK_UP
	INNER JOIN G_PROV g ON g.LINK = g1.LINK_UP
	INNER JOIN S_OBJECTS s ON s.LINK = g.[OBJECT]-- Переоценка ОС


	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_RECALL	 (DATE_OPER2, JO_NUM2, SUMMA2,NAME2, DOC_NUM2) VALUES ('', '', 0,'','')
	ELSE
	BEGIN

		SELECT TOP 1 @dDATE_RECALC = dDATE_OPER FROM @TAB_RECALL
		IF @dDATE_RECALC IS NOT NULL AND @dDATE_RECALC <= @varKSdDATE_WORK
		BEGIN
			SET @dDATE_RECALC = DATEADD (DAY, 1, @dDATE_RECALC)
			SELECT @nSUM_RECALC = SUM (D_SUMMA)
			FROM dbo.ARestTableByDate (@dDATE_RECALC, DEFAULT) TR
			INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = TR.ACCOUNT)
			WHERE SA.cSINTH = '101'
				AND TR.INV = @varKSintLINK

			IF ISNULL (@nSUM_RECALC, 0) > 0 
				SET @cINFO_RECALC = 'Стоимость после переоценки на '
					+ CONVERT (VARCHAR (10), @dDATE_RECALC, 104) + ' г. '
		END
	END

	SELECT @varKSDEP AS DEP,
		CONVERT (VARCHAR (10), @varKSdDATE_WORK, 104) AS REP_DATE,
		ISNULL (@varKSDEP_CODE, '') AS DEP_CODE,
		ISNULL (@varKSDEP_OKPO, '') AS DEP_OKPO,
		ISNULL (@varKSDEP_NAME, '') AS DEP_NAME,
		ISNULL (@varKSEMP_CODE, '') AS EMP_CODE,
		ISNULL (@varKSEMP_NAME, '') AS EMP_NAME,
		ISNULL (@varKSSUB_CODE, '') AS SUB_CODE,
		ISNULL (@varKSSUB_NAME, '') AS SUB_NAME,
		
		ISNULL (@cINFO_RECALC, '') AS INFRECALC,
		ISNULL (@nSUM_RECALC, 0) AS SUMRECALC,

		T1.LINK,
		ISNULL (T1.CODE, '') AS INV_CODE,
		ISNULL (T1.NAME, '') AS INV_NAME,
		ISNULL (dbo.BK_GetAcctFullCode1 (@varKSACCT, @varKSKBK, NULL, 1, 0, @varKSdDATE_WORK), ISNULL (T1.CODE_ACC, '')) AS ACCT_CODE,
		ISNULL (T1.BALANCE, 0)	 AS FIRST_COST,
		ISNULL (@nBALANSE_R, 0)	 AS BALANSE_R,
		GRP_TYPE = case when LEFT(ISNULL(T1.CODE_GRP,''),4) = '1011' then 'недвижимое имущество'
						WHEN LEFT(ISNULL(T1.CODE_GRP,''),4) = '1012' then 'особо ценное движимое имущество' 
						WHEN LEFT(ISNULL(T1.CODE_GRP,''),4) = '1013' then 'иное движимое имущество' 
						else '' END ,
		ISNULL (T2.CARD_NO, '') AS CARD_NO,
		ISNULL (T2.PASSPORT, '') AS PASSPORT,
		ISNULL (T2.PLANT_NUM, '') AS PLANT_NUM,
		ISNULL (T2.OTHER_NUM, '') AS OTHER_NUM,
		ISNULL (T2.CODE_OKOF, '') AS CODE_OKOF,
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_PROD, 104), '') AS DATE_PROD,
		ISNULL (T2.FIXING, '') AS FIXING,
		ISNULL (T2.LOCATION, '') AS LOCATION,
		ISNULL (T2.MANUFACT, '') AS MANUFACT,		
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_BEGIN, 104), '') AS DATE_BEGIN,
		ISNULL (T2.DOC_NUM, '') AS DOC_BEGIN,
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_FILLING, 104), '') as DATE_FILL,
		(SELECT  top 1 (case when CONVERT (VARCHAR (10), DATE_OPER, 104) = '01.01.1900' then '' else CONVERT (VARCHAR (10), DATE_OPER, 104) END)   FROM dbo.BK_GetDateTableOutOS(@varKSintLINK, DEFAULT))  as DATE_END,
		CASE
			WHEN T2.D_DT_CALC IS NULL THEN ISNULL (T2.PERIOD_USED, 0)
			ELSE (ISNULL (T2.PER_USED, 0)
--				+ ROUND((CONVERT (NUMERIC (19,2), ISNULL((T2.D_DT_CALC - T2.DATE_BEGIN), 0)) / 365.25), 0)
				+ DATEDIFF (MONTH, T2.DATE_BEGIN, T2.D_DT_CALC) - 1)/ 12
		END AS PER_USED,
		ISNULL (T2.D_GRP_CODE, ISNULL (T2.CODE_RATE, ISNULL (T4.CODE, ''))) AS CODE_RATE,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (10,2), 0)
			ELSE ISNULL (ND.DEPRE_RATE, 0)
		END AS DEPRE_Y_R,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (10,2), 0)
			ELSE CONVERT (NUMERIC (10,2), ISNULL (ND.DEPRE_RATE/12, 0)) 
		END AS DEPRE_M_R,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (28,2), 0)
			ELSE CONVERT (NUMERIC (28,2), ISNULL (@nBALANSE * ND.DEPRE_RATE / 100, 0))
		END AS SUM_Y_N,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (28,2), 0)
			ELSE CONVERT (NUMERIC (28,2), ISNULL (ND.DEPRE_RATE / 100 / 12 * @nBALANSE, 0))
		END AS SUM_M_N,
		isnull(t2.WEAR_FLAG,0) AS WEAR_FLAG,
		ISNULL (@varKSnCALC_RATE, 0) AS SUM_RATE,
		ISNULL (EMP.NAME_EMPL, '') AS FIL_NAME,
		ISNULL (EMP.POST_NAME, '') AS FIL_POST,
		ISNULL (CONVERT (VARCHAR (10), DATE_FILLING, 104), '') AS FIL_DATE,
		ISNULL (dbo.DateMonthName (month (dbo.CalcLastDateWearOS (T1.LINK)))
			+ SPACE (1) + LTRIM (STR (dbo.CalcLastYearWearOS (T1.LINK))), '') AS LAST_DATE,
		T1.NOTICE AS COMMENT,
		T2.ALOCATION,
		LAST_COST = (select isnull(dbo.RestOSByDate(T1.LINK_ACC,T1.LINK,DEFAULT),0) - isnull(dbo.RestOSDepreByDate(DEFAULT, T1.LINK,DEFAULT),0) ) 
	FROM dbo.INVENTORY_CARD T1
	LEFT OUTER JOIN dbo.BV_INVENTORY_CARD_DOP T2 ON (T2.LINK_UP = T1.LINK)
	LEFT OUTER JOIN dbo.ASSETS_GROUP_OKOF T3 ON (T3.LINK = T2.LINK_OKOF)
	LEFT OUTER JOIN dbo.DEPRE_GROUP T4 ON (T4.LINK = T3.DEPRE_GROUP)
	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = T2.LINK_EMP_F)
	LEFT OUTER JOIN dbo.BK_GetNormDepreTableByOS (@varKSintLINK) ND ON (ND.INV = T1.LINK)
	WHERE T1.LINK = @varKSintLINK

	DECLARE @TAB_MODERN TABLE (REC_NO INT IDENTITY, DATE_OPER1 VARCHAR (10),
		JO_NUM1 VARCHAR (20), SUMMA1 NUMERIC (20,2), NAME1 VARCHAR(100), DOC_NUM1 VARCHAR (30) )

	INSERT INTO @TAB_MODERN
	SELECT CONVERT (VARCHAR (10), a.DATE_OPER, 104) AS DATE_OPER1,
		a.JO_NUM AS JO_NUM1,
		a.SUMMA AS SUMMA1,
		left(s.NAME,100) AS NAME1,
		a.DOC_NUM AS DOC_NUM1
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.20')  a -- Реконструкция, модернизация
	INNER JOIN G_PROV2 g2 ON  g2.LINK = a.LINK_G2
	INNER JOIN G_PROV1 g1 ON g1.LINK = g2.LINK_UP
	INNER JOIN G_PROV g ON g.LINK = g1.LINK_UP
	INNER JOIN S_OBJECTS s ON s.LINK = g.[OBJECT]-- Реконструкция, модернизация
--  С_DATA1
	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_MODERN (DATE_OPER1, JO_NUM1, SUMMA1,NAME1,DOC_NUM1) VALUES ('', '', 0,'','')
	SELECT * FROM @TAB_MODERN

-- C_DATA2
	SELECT * FROM @TAB_RECALL	

	--- Поступление НФА ---
	DECLARE @TAB_INPUT TABLE (REC_NO INT IDENTITY, DATE_OPER1 VARCHAR (10),
		JO_NUM1 VARCHAR (20), SUMMA1 NUMERIC (20,2), NAME1 VARCHAR(100), DOC_NUM1 VARCHAR (30) )

	INSERT INTO @TAB_INPUT	
	SELECT 	CONVERT (VARCHAR (10), a.DATE_OPER, 104) AS DATE_OPER1,
		a.JO_NUM AS JO_NUM1,
		a.SUMMA AS SUMMA1,
		left(s.NAME,100) AS NAME1,
		a.DOC_NUM AS DOC_NUM1
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK,
		'17.01#17.02#17.03#17.05#17.06#17.12#17.13') a  
	INNER JOIN G_PROV2 g2 ON  g2.LINK = a.LINK_G2
	INNER JOIN G_PROV1 g1 ON g1.LINK = g2.LINK_UP
	INNER JOIN G_PROV g ON g.LINK = g1.LINK_UP
	INNER JOIN S_OBJECTS s ON s.LINK = g.[OBJECT]-- Поступление НФА 

-- C_DATA3
	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_INPUT (DATE_OPER1, JO_NUM1, SUMMA1,NAME1,DOC_NUM1) VALUES ('', '', 0,'','')

	SELECT TOP 1 * FROM @TAB_INPUT

	SELECT @PRN_MOVE_EMP = ISNULL (dbo.XK_GET_NASTR_INT ('INV_CARD_OPT_PRN_MOVE_EMP'), 0)

	SELECT IDENTITY (INT) AS REC_NO,
		ISNULL (T1.DOC_NUM, '') AS DOC_NUM2,
		CONVERT (VARCHAR (10), T1.DATE_OPER, 104) AS DATE_OPER2,
		T1.JO_NUM AS JO_NUM2,
		T1.SUMMA AS SUMMA2,
		ISNULL (dbo.sd_GetEmplName (GAP.EMP), '') AS MOV_EMPL2
	INTO #TAB_MOVED
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.07') T1 -- Внутреннее перемещение НФА
	LEFT OUTER JOIN dbo.G_PROV_AP GAP ON (GAP.LINK_UP = T1.LINK_G2
				AND ((@PRN_MOVE_EMP = 1 AND GAP.DB_KR = 0)
					OR (@PRN_MOVE_EMP = 0 AND GAP.DB_KR = 1)))
					
					
--	LEFT OUTER JOIN dbo.G_PROV_AP GAP ON (GAP.LINK_UP = T1.LINK_G2 AND GAP.DB_KR = 1) -- поменял в 10604

-- C_DATA4
	IF @@ROWCOUNT = 0
		INSERT INTO #TAB_MOVED (DOC_NUM2, DATE_OPER2, JO_NUM2, SUMMA2, MOV_EMPL2) VALUES ('', '', '',0, '')


	SELECT * FROM #TAB_MOVED
	DROP TABLE #TAB_MOVED

	DECLARE @TAB_OUTPUT TABLE (REC_NO INT IDENTITY, DATE_OPER3 VARCHAR (10),
		JO_NUM3 VARCHAR (20), SUMMA3 NUMERIC (20,2), NAME3 VARCHAR (100), DOC_NUM3 varchar (30) , COMMENT3 VARCHAR (100)  )

	INSERT INTO @TAB_OUTPUT	
	SELECT 	CONVERT (VARCHAR (10), a.DATE_OPER, 104) AS DATE_OPER3,
		a.JO_NUM AS JO_NUM3,
		a.SUMMA AS SUMMA3,
		left(s.NAME,100) AS NAME3,
		a.DOC_NUM AS DOC_NUM3,
		g.COMMENT AS COMMENT3
	FROM dbo.BK_GetDateTableOutOS (@varKSintLINK, @varKSdDATE_WORK) a 
	INNER JOIN G_PROV2 g2 ON  g2.LINK = a.LINK_G2
	INNER JOIN G_PROV1 g1 ON g1.LINK = g2.LINK_UP
	INNER JOIN G_PROV g ON g.LINK = g1.LINK_UP
	INNER JOIN S_OBJECTS s ON s.LINK = g.[OBJECT]
	
	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_OUTPUT (DATE_OPER3, JO_NUM3, SUMMA3,NAME3, DOC_NUM3, COMMENT3) VALUES ('', '', 0,'','', '')

-- C_DATA5
	SELECT TOP 1 * FROM @TAB_OUTPUT

	SELECT ISNULL (NAME, '') AS NAME_C,
		ISNULL (BASIC_OBJ, '') AS BASIC_OBJ,
		ISNULL (ATTR1, '') AS ATTR1,
		ISNULL (ATTR2, '') AS ATTR2,
		ISNULL (ATTR3, '') AS ATTR3,
		ISNULL (ATTR4, '') AS ATTR4
	INTO #TAB_CHAR
	FROM dbo.BV_DICTIONARY_SHORT_DESC
	WHERE LINK_UP = @varKSintLINK

	IF @@ROWCOUNT = 0
		INSERT INTO #TAB_CHAR (NAME_C, BASIC_OBJ, ATTR1, ATTR2, ATTR3, ATTR4)
			VALUES ('', '', '', '', '', '')


-- C_DATA6
	SELECT * FROM #TAB_CHAR
	DROP TABLE #TAB_CHAR

	SELECT ISNULL (BASIC_OBJ, '') AS BASIC_OBJ1,
		ISNULL (NAME_PREC, '') AS NAME_PREC,
		ISNULL (NAME_UM, '') AS NAME_UM,
		ISNULL (CODE_UM, '') AS CODE_UM,
		ISNULL (WEIGTH, 0) AS WEIGTH
	INTO #TAB_DRAG
	FROM dbo.BV_DICTIONARY_PRECIOUS_CONTENT
	WHERE LINK_UP = @varKSintLINK

	IF @@ROWCOUNT = 0
		INSERT INTO #TAB_DRAG (BASIC_OBJ1, NAME_PREC, NAME_UM, CODE_UM, WEIGTH)
			VALUES ('', '', '', '',0)


-- C_DATA7
	SELECT * FROM #TAB_DRAG
	DROP TABLE #TAB_DRAG

	DECLARE @TAB_AMORT TABLE (REC_NO INT IDENTITY,
			SUM_AM NUMERIC (28,4),
			YEAR_AM INT)

	SELECT @BEGIN_DATE_USED = DATE_BEGIN FROM dbo.BV_INVENTORY_CARD_DOP WHERE LINK_UP = @varKSintLINK

	IF @BEGIN_DATE_USED IS NULL
		SET @BEGIN_DATE_USED = @varKSdDATE_WORK
	
--SET @BEGIN_DATE_USED = '20060101'

	SET @DATE_CALC_REST_AMORT = dbo.DateEndOfYear (@BEGIN_DATE_USED)
	SET @YEAR_AM = YEAR (@DATE_CALC_REST_AMORT)
	SET @PREV_SUMMA_AM = 0

	SELECT
		@ACCOUNT_AM = LINK
	FROM dbo.S_ACCOUNTS
	WHERE CODE = '104'	
		AND ZABALANS = 0

	WHILE @YEAR_AM <= YEAR (@varKSdDATE_WORK)
	BEGIN
		SET @DATE_AMORT = DATEADD (DAY, 1, @DATE_CALC_REST_AMORT)

		SET @REST_SUMMA_AM = (SELECT
									SUM (T1.K_SUMMA)
								FROM dbo.ARestTableByDate (@DATE_AMORT, @ACCOUNT_AM) T1
								WHERE T1.INV = @varKSintLINK
								)

/*
	--- !!! ЭТОТ ВАРИАНТ ДЛЯ ВЫВОДА СУММЫ АМОРТИЗАЦИИ, НАЧИСЛЕННОЙ ЗА ГОД!!!

		IF ISNULL (@REST_SUMMA_AM, 0) <> 0
		BEGIN
			SET @SUMMA_AM = @REST_SUMMA_AM - @PREV_SUMMA_AM
			SET @PREV_SUMMA_AM = @REST_SUMMA_AM

			IF @SUMMA_AM > 0
			BEGIN
				INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (@SUMMA_AM, @YEAR_AM)
				SET @LAST_RECNO = @@IDENTITY
			END
		END

*/
	--- !!! ЭТОТ ВАРИАНТ ДЛЯ ВЫВОДА СУММЫ АМОРТИЗАЦИИ НАРАСТАЮЩИМ ИТОГОМ !!!

		IF ISNULL (@REST_SUMMA_AM, 0) <> 0
		BEGIN
			IF @REST_SUMMA_AM <> @PREV_SUMMA_AM
			BEGIN
				INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (@REST_SUMMA_AM, @YEAR_AM)
				SET @LAST_RECNO = @@IDENTITY

				SET @PREV_SUMMA_AM = @REST_SUMMA_AM
			END
		END


/*
		IF @SUMMA_AM IS NOT NULL
		BEGIN
			INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (@SUMMA_AM, @YEAR_AM)
			SET @LAST_RECNO = @@IDENTITY
		END
*/
		SET @DATE_CALC_REST_AMORT = DATEADD (YEAR, 1, @DATE_CALC_REST_AMORT)
		SET @YEAR_AM = YEAR (@DATE_CALC_REST_AMORT)
	END

	IF @LAST_RECNO IS NULL
		INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (0, 0)		
-- C_DATA8
	SELECT TOP 1 * FROM @TAB_AMORT ORDER BY YEAR_AM DESC

	EXEC dbo.BUFFERCLEAR @varKSc_BufferName
END





GO


GRANT EXECUTE ON dbo.[BK_PRINT_INV_CARD_F0504031] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINT_INV_CARD_F0504032_GRP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINT_INV_CARD_F0504032_GRP]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE  PROCEDURE dbo.BK_PRINT_INV_CARD_F0504032_GRP
		@varKSc_BufferName	VARCHAR (100)
AS
BEGIN
	DECLARE	
		@varKSintLINK	INT,
		@varKSnCALC_RATE	NUMERIC (28,4),
		@varKSdDATE_WORK	DATETIME,
		@varKSdDATE_REST	DATETIME,
		@varKSACCT_CODE	VARCHAR (20),
		@varKSDEP		INT,
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSEMP	INT,
		@varKSACCOUNT	INT,
		@varKSKBK	INT,
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254),
		@varKSSUB_CODE	VARCHAR (20),
		@varKSSUB_NAME	VARCHAR (254),
		@nBALANSE	NUMERIC (28,4),
		@BEGIN_DATE_USED DATETIME,
		@DATE_CALC_REST_AMORT	DATETIME,
		@DATE_AMORT	DATETIME,
		@SUMMA_AM	NUMERIC (28, 4),
		@REST_SUMMA_AM	NUMERIC (28, 4),
		@PREV_SUMMA_AM	NUMERIC (28, 4),
		@YEAR_AM	INT,
		@LAST_RECNO	INT,
		@intCOUNT_ROW	INT

	--- Список ОС для в группе ---		
	DECLARE @LIST_INV TABLE (INV INT,
		ISMAIN TINYINT)

	SELECT TOP 1 @varKSintLINK = LINK
	FROM dbo.BufferGetTableByID (@varKSc_BufferName)

	INSERT INTO @LIST_INV
	SELECT INV_LINK, MAIN_REC
	FROM dbo.XK_SELECT_INV_LIST_GRP (@varKSintLINK)

-- SELECT * FROM @LIST_INV

	SELECT @varKSdDATE_WORK = WORKDATE FROM USER_INFO
	SET @varKSdDATE_REST = DATEADD (DAY, 1, @varKSdDATE_WORK)

	DECLARE @varKSINV_REST TABLE
			(INV_LINK INT,
			ACCOUNT INT,
			ACCT_SINT VARCHAR (10),
			ACCT_CODE VARCHAR (20),
			DEP INT,
			SUB INT,
			EMP INT,
			INV INT,
			KBK INT,
			QTY NUMERIC (28,4),
			SUMMA NUMERIC (28,4))

	INSERT INTO @varKSINV_REST
	SELECT T1.INV,
		T1.ACCOUNT,
		SA.cSinth,
		SA.CODE,
		T1.DEP,
		T1.SUB,
		T1.EMP,
		T1.INV,
		T1.KBK,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN SUM (T1.D_QUANTITY)
			WHEN SA.S_PASSIVE = 1 THEN SUM (T1.K_QUANTITY)
		END,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN SUM (T1.D_SUMMA)
			WHEN SA.S_PASSIVE = 1 THEN SUM (T1.K_SUMMA)
		END
	FROM dbo.ARestTableByDate (@varKSdDATE_REST, DEFAULT) T1
	INNER JOIN @LIST_INV LST ON (LST.INV = T1.INV)
	INNER JOIN dbo.S_ACCOUNTS SA ON (T1.ACCOUNT = SA.LINK)
	GROUP BY T1.ACCOUNT, T1.DEP, T1.SUB, T1.EMP, T1.INV, T1.KBK, SA.S_ACTIVE, SA.S_PASSIVE, SA.cSinth, SA.CODE
--	HAVING T1.INV = @varKSintLINK

-- SELECT * FROM @varKSINV_REST

	SELECT TOP 1 @varKSACCT_CODE = ACCT_CODE,
			@varKSACCOUNT	= T1.ACCOUNT,
			@varKSKBK	= T1.KBK,
			@varKSDEP = DEP.LINK,
			@varKSDEP_CODE = DEP.CODE,
			@varKSDEP_NAME = DEP.NAME, 
			@varKSDEP_OKPO = DEP.OKPO,
			@varKSEMP = EMP.LINK,
			@varKSEMP_CODE = EMP.TAB,
			@varKSEMP_NAME = EMP.NAME_EMPL,
			@varKSSUB_CODE	= SUB.CODE,
			@varKSSUB_NAME	= SUB.[NAME],
			@nBALANSE = SUMMA
	FROM @varKSINV_REST T1
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = T1.DEP)
	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = T1.EMP)
	LEFT OUTER JOIN dbo.DICTIONARY_SUBDIVISION SUB ON (SUB.LINK = T1.SUB)
	WHERE T1.INV_LINK = @varKSintLINK
		AND (T1.ACCT_SINT = '101'
			OR T1.ACCT_SINT = '102'
			OR T1.ACCT_SINT = '103')

	IF @varKSDEP IS NULL
		SELECT TOP 1 @varKSDEP = DEP.LINK,
			@varKSDEP_CODE = DEP.CODE,
			@varKSDEP_NAME = DEP.NAME, 
			@varKSDEP_OKPO = DEP.OKPO
		FROM dbo.DICTIONARY_DEPARTMENT DEP 
		WHERE DEP.LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SELECT @varKSnCALC_RATE = SUM (SUMMA)
	FROM @varKSINV_REST T1
	WHERE T1.ACCT_SINT = '104'

	--- ДВИЖЕНИЕ ОС ---
	DECLARE @TAB_MOVING TABLE (REC_NO INT IDENTITY, INV INT,
		DATE_ALL DATETIME,
		DATE_OP1 VARCHAR (10), JO_NUM1 VARCHAR (20),
		QTY1 NUMERIC (20,2), SUMMA1 NUMERIC (20,2),
		DATE_OP2 VARCHAR (10), JO_NUM2 VARCHAR (20),
		QTY2 NUMERIC (20,2), SUMMA2 NUMERIC (20,2)
		)

	--- ОПЕРАЦИИ ПОСТУПЛЕНИЯ --- 
	DECLARE @TAB_INPUT TABLE (INV INT,
		DATE_ALL DATETIME,
		DATE_OP1 VARCHAR (10), JO_NUM1 VARCHAR (20),
		QTY1 NUMERIC (20,2), SUMMA1 NUMERIC (20,2))

	INSERT INTO @TAB_INPUT (INV, DATE_ALL, DATE_OP1, JO_NUM1, QTY1, SUMMA1)
	SELECT distinct T1.INV,
		T1.DATE_OPER,
		CONVERT (VARCHAR (10), T1.DATE_OPER, 104),
		T1.JO_NUM,
		CASE WHEN (select COUNT(QTY) from dbo.BK_GetOperationsByOS (T1.INV, @varKSdDATE_WORK,
		'17.01#17.02#17.03#17.05#17.06#17.12#17.13') WHERE QTY <> 0 ) > 0  
			then (select SUM(QTY) from dbo.BK_GetOperationsByOS (T1.INV, @varKSdDATE_WORK,
		'17.01#17.02#17.03#17.05#17.06#17.12#17.13') WHERE QTY <> 0 ) 
			ELSE  t1.QTY END ,
		T1.SUMMA
	FROM dbo.BK_GetOperationsByOS (DEFAULT, @varKSdDATE_WORK,
		'17.01#17.02#17.03#17.05#17.06#17.12#17.13') T1  -- Поступление НФА
	INNER JOIN @LIST_INV INV ON (INV.INV = T1.INV)

 --SELECT * FROM @TAB_INPUT

	SET @intCOUNT_ROW = @@ROWCOUNT

	--- ОПЕРАЦИИ ВЫБЫТИЯ --- 
	DECLARE @TAB_OUTPUT TABLE (INV INT,
		DATE_ALL DATETIME,
		DATE_OP2 VARCHAR (10), JO_NUM2 VARCHAR (20),
		QTY2 NUMERIC (20,2), SUMMA2 NUMERIC (20,2))

	INSERT INTO @TAB_OUTPUT (INV, DATE_ALL, DATE_OP2, JO_NUM2, QTY2, SUMMA2)
	SELECT T1.INV,
		T1.DATE_OPER,
		CONVERT (VARCHAR (10), T1.DATE_OPER, 104),
		T1.JO_NUM,
		T1.QTY,
		T1.SUMMA
	FROM dbo.BK_GetOperationsByOS (DEFAULT, @varKSdDATE_WORK,
		'17.08#17.09#17.10#17.11#17.19') T1 -- Списание 
	INNER JOIN @LIST_INV INV ON (INV.INV = T1.INV)


	SET @intCOUNT_ROW = @intCOUNT_ROW + @@ROWCOUNT

	IF @intCOUNT_ROW = 0
		INSERT INTO @TAB_MOVING (INV, DATE_OP1, JO_NUM1, QTY1, SUMMA1,
			DATE_OP2, JO_NUM2, QTY2, SUMMA2)
		VALUES (@varKSintLINK, '', '', 0, 0, '', '', 0, 0)

	/* -- Переоценка -- */
	DECLARE @TAB_RECALL TABLE (REC_NO INT IDENTITY, DATE_OPER2 VARCHAR (10),
		JO_NUM2 VARCHAR (20), SUMMA2 NUMERIC (20,2))

	INSERT INTO @TAB_RECALL	
	SELECT CONVERT (VARCHAR (10), DATE_OPER, 104) AS DATE_OPER2,
		JO_NUM AS JO_NUM2,
		SUMMA AS SUMMA2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.15') -- Положительная переоценка ОС
	UNION
	SELECT CONVERT (VARCHAR (10), DATE_OPER, 104) AS DATE_OPER2,
		JO_NUM AS JO_NUM2,
		SUMMA AS SUMMA2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.16') -- Отрицательная переоценка ОС
	UNION 
	SELECT CONVERT (VARCHAR (10), DATE_OPER, 104) AS DATE_OPER2,
		JO_NUM AS JO_NUM2,
		SUMMA AS SUMMA2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.17') -- Положительная переоценка амортизации ОС
	UNION 
	SELECT CONVERT (VARCHAR (10), DATE_OPER, 104) AS DATE_OPER2,
		JO_NUM AS JO_NUM2,
		SUMMA AS SUMMA2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.18') -- Отрицательная переоценка амортизации ОС

	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_RECALL	 (DATE_OPER2, JO_NUM2, SUMMA2) VALUES ('', '', 0)

--	SELECT * FROM @TAB_RECALL	

	DECLARE @TAB_AMORT TABLE (REC_NO INT IDENTITY,
			SUM_AM NUMERIC (28,4),
			YEAR_AM INT)

	SELECT @BEGIN_DATE_USED = DATE_BEGIN FROM dbo.BV_INVENTORY_CARD_DOP WHERE LINK_UP = @varKSintLINK

	IF @BEGIN_DATE_USED IS NULL
		SET @BEGIN_DATE_USED = @varKSdDATE_WORK
	
	SET @DATE_CALC_REST_AMORT = dbo.DateEndOfYear (@BEGIN_DATE_USED)
	SET @YEAR_AM = YEAR (@DATE_CALC_REST_AMORT)
	SET @PREV_SUMMA_AM = 0

	WHILE @YEAR_AM <= YEAR (@varKSdDATE_WORK)
	BEGIN
		SET @DATE_AMORT = DATEADD (DAY, 1, @DATE_CALC_REST_AMORT)
		SET @REST_SUMMA_AM = (SELECT SUM (T1.K_SUMMA)
					FROM dbo.ARestTableByDate (@DATE_AMORT, DEFAULT) T1
					INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
					WHERE T1.INV = @varKSintLINK
						AND SA.cSINTH = '104')

		IF ISNULL (@REST_SUMMA_AM, 0) <> 0
		BEGIN
			SET @SUMMA_AM = @REST_SUMMA_AM - @PREV_SUMMA_AM
			SET @PREV_SUMMA_AM = @REST_SUMMA_AM

			IF @SUMMA_AM > 0
			BEGIN
				INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (@SUMMA_AM, @YEAR_AM)
				SET @LAST_RECNO = @@IDENTITY
			END
		END

		SET @DATE_CALC_REST_AMORT = DATEADD (YEAR, 1, @DATE_CALC_REST_AMORT)
		SET @YEAR_AM = YEAR (@DATE_CALC_REST_AMORT)

	END

	IF @LAST_RECNO IS NULL
		INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (0, 0)		

--	SELECT * FROM @TAB_AMORT ORDER BY REC_NO
	-- ДВИЖЕНИЕ
	INSERT INTO @TAB_MOVING (INV)
	SELECT INV
	FROM @TAB_INPUT
	UNION 
	SELECT INV
	FROM @TAB_OUTPUT

	
	--- ВЫВОД ОСНОВНЫХ РЕКВИЗИТОВ ---
	-- Стоимость на группу объектов --
	SELECT @nBALANSE = SUM (SUMMA1)
	FROM @TAB_INPUT

	SELECT
		@varKSDEP AS DEP,
		ISNULL (@varKSDEP_CODE, '') AS DEP_CODE,
		ISNULL (@varKSDEP_OKPO, '') AS DEP_OKPO,
		ISNULL (@varKSDEP_NAME, '') AS DEP_NAME,
		ISNULL (@varKSEMP_CODE, '') AS EMP_CODE,
		ISNULL (@varKSEMP_NAME, '') AS EMP_NAME,
		ISNULL (@varKSSUB_CODE, '') AS SUB_CODE,
		ISNULL (@varKSSUB_NAME, '') AS SUB_NAME,
		T1.LINK,
		ISNULL (T1.CODE, '') AS INV_CODE,
		ISNULL (T1.NAME, '') AS INV_NAME,
--		ISNULL (@varKSACCT_CODE, ISNULL (T1.CODE_ACC, '')) AS ACCT_CODE,
		ISNULL (dbo.BK_GetAcctFullCode1 (@varKSACCOUNT, @varKSKBK, NULL, 1, 0, @varKSdDATE_WORK), ISNULL (T1.CODE_ACC, '')) AS ACCT_CODE,
		ISNULL (T1.BALANCE, 0)	 AS FIRST_COST,
		ISNULL (@nBALANSE, 0) AS GRP_COST,
		GRP_TYPE = case when LEFT(ISNULL(T1.CODE_GRP,''),4) = '1011' then 'недвижимое имущество'
						WHEN LEFT(ISNULL(T1.CODE_GRP,''),4) = '1012' then 'особо ценное движимое имущество' 
						WHEN LEFT(ISNULL(T1.CODE_GRP,''),4) = '1013' then 'иное движимое имущество' 
						else '' END ,
		ISNULL (T2.CARD_NO, '') AS CARD_NO,
		ISNULL (T2.PASSPORT, '') AS PASSPORT,
		ISNULL (T2.PLANT_NUM, '') AS PLANT_NUM,
		ISNULL (T2.OTHER_NUM, '') AS OTHER_NUM,
		ISNULL (T2.CODE_OKOF, '') AS CODE_OKOF,
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_PROD, 104), '') AS DATE_PROD,
		ISNULL (T2.FIXING, '') AS FIXING,
		ISNULL (T2.LOCATION, '') AS LOCATION,
		ISNULL (T2.MANUFACT, '') AS MANUFACT,		
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_BEGIN, 104), '') AS DATE_BEGIN,
		ISNULL (T2.DOC_NUM, '') AS DOC_BEGIN,
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_FILLING, 104), '') as DATE_FILL,
		(SELECT case when CONVERT (VARCHAR (10), DATE_OPER, 104) = '01.01.1900' then '' else CONVERT (VARCHAR (10), DATE_OPER, 104) end   FROM dbo.BK_GetDateTableOutOS(@varKSintLINK, DEFAULT))  as DATE_END,
--		ISNULL (T2.PERIOD_USED, 0) AS PER_USED,
		CASE
			WHEN T2.D_DT_CALC IS NULL THEN ISNULL (T2.PERIOD_USED, 0)
			ELSE (ISNULL (T2.PERIOD_USED, 0)
--				+ ROUND((CONVERT (NUMERIC (19,2), ISNULL((T2.D_DT_CALC - T2.DATE_BEGIN), 0)) / 365.25), 0)
				+ DATEDIFF (MONTH, T2.DATE_BEGIN, T2.D_DT_CALC) - 1)/ 12
		END AS PER_USED,
		ISNULL (T2.D_GRP_CODE, ISNULL (T2.CODE_RATE, ISNULL (T4.CODE, ''))) AS CODE_RATE,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (10,2), 0)
			ELSE ISNULL (ND.DEPRE_RATE, 0)
		END AS DEPRE_Y_R,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (10,2), 0)
			ELSE CONVERT (NUMERIC (10,2), ISNULL (ND.DEPRE_RATE/12, 0))
		END AS DEPRE_M_R,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (28,2), 0)
			ELSE CONVERT (NUMERIC (28,2), ISNULL (ND.DEPRE_RATE / 100 * @nBALANSE, 0))
		END AS SUM_Y_N,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (28,2), 0)
			ELSE CONVERT (NUMERIC (28,2), ISNULL (ND.DEPRE_RATE / 100 / 12 * @nBALANSE, 0))
		END AS SUM_M_N,
		ISNULL (@varKSnCALC_RATE, 0) AS SUM_RATE,
--		ISNULL (EMP.NAME_EMPL, '') AS FIL_NAME,
--		ISNULL (EMP.POST_NAME, '') AS FIL_POST,
--		ISNULL (CONVERT (VARCHAR (10), DATE_FILLING, 104), '') AS FIL_DATE,
		CONVERT (VARCHAR (10), @varKSdDATE_WORK, 104) AS DATE_CARD,
		ISNULL (dbo.DateMonthName (month (dbo.CalcLastDateWearOS (T1.LINK)))
			+ SPACE (1) + LTRIM (STR (dbo.CalcLastYearWearOS (T1.LINK))), '') AS LAST_DATE,
		DATE_RCALC	=	DATE_OPER2,
		JO_RCALC	=	JO_NUM2,
		SUM_RCALC	=	SUMMA2, 
		SUM_AM	=	TA1.SUM_AM, 
		YEAR_AM	=	TA1.YEAR_AM, 
		LAST_COST = (select isnull(dbo.RestOSByDate(T1.LINK_ACC,T1.LINK,DEFAULT),0) - isnull(dbo.RestOSDepreByDate(DEFAULT, T1.LINK,DEFAULT),0) ) ,
		REC_NO = 1,
		CNT_INV = (SELECT COUNT(*) FROM @TAB_MOVING )
	INTO #RES1		
	FROM dbo.INVENTORY_CARD T1
	LEFT OUTER JOIN dbo.BV_INVENTORY_CARD_DOP T2 ON (T2.LINK_UP = T1.LINK)
	LEFT OUTER JOIN dbo.ASSETS_GROUP_OKOF T3 ON (T3.LINK = T2.LINK_OKOF)
	LEFT OUTER JOIN dbo.DEPRE_GROUP T4 ON (T4.LINK = T3.DEPRE_GROUP)
--	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = T2.LINK_EMP_F)
	LEFT OUTER JOIN dbo.BK_GetNormDepreTableByOS (@varKSintLINK) ND ON (ND.INV = T1.LINK)
	LEFT JOIN @TAB_RECALL TR1 ON (TR1.REC_NO = 1)
	LEFT JOIN @TAB_AMORT TA1 ON (TA1.REC_NO = 1)
	WHERE T1.LINK = @varKSintLINK


	INSERT INTO #RES1 (
			DEP, DEP_CODE, DEP_OKPO, DEP_NAME, EMP_CODE, EMP_NAME, SUB_CODE, SUB_NAME,
			LINK, INV_CODE, INV_NAME, ACCT_CODE,
			FIRST_COST, GRP_COST,GRP_TYPE, CARD_NO, PASSPORT, PLANT_NUM, OTHER_NUM, CODE_OKOF, DATE_PROD,
			FIXING, LOCATION, MANUFACT,	DATE_BEGIN, DOC_BEGIN,DATE_FILL,DATE_END, PER_USED, CODE_RATE,
			DEPRE_Y_R, DEPRE_M_R, SUM_Y_N, SUM_M_N, SUM_RATE, DATE_CARD, LAST_DATE,
			REC_NO,CNT_INV,
			DATE_RCALC, JO_RCALC, SUM_RCALC,
			SUM_AM, YEAR_AM, LAST_COST)
	SELECT
		0, '', '', '', '', '', '', '',
		0, '', '', '', 
		0, 0, '','', '', '', '', '', '',
		'', '','', '', '', '', '', 0, '',
		0, 0, 0, 0, 0, '', '',
		T1.REC_NO, 0,
		ISNULL (CONVERT (VARCHAR (10), TR.DATE_OPER2, 104), ''),
		ISNULL (JO_NUM2, ''),
		ISNULL (SUMMA2, 0),
		ISNULL (SUM_AM, 0), ISNULL (YEAR_AM, 0),
		0
	FROM (
		SELECT
			REC_NO
		FROM @TAB_RECALL
		
		UNION

		SELECT
			REC_NO
		FROM @TAB_AMORT
		) AS T1
	LEFT JOIN @TAB_RECALL TR ON (TR.REC_NO = T1.REC_NO)
	LEFT JOIN @TAB_AMORT TA ON (TA.REC_NO = T1.REC_NO)
	WHERE T1.REC_NO > 1
	ORDER BY
	 	T1.REC_NO

	SELECT *
	FROM #RES1
	ORDER BY
	 	REC_NO

	
	--- ВЫВОД ДВИЖЕНИЯ --- 

	
	SELECT T2.CODE AS INV_CODE,
		ISNULL (T_IN.DATE_OP1, '') AS [DATE_D],
		ISNULL (T_IN.JO_NUM1, '') AS [JO_D],
		ISNULL (T_IN.QTY1, 0) AS QTY_D,
		ISNULL (T_IN.SUMMA1, 0) AS SUM_D,
		ISNULL (T_OUT.DATE_OP2, '') AS DATE_K,
		ISNULL (T_OUT.JO_NUM2, '') AS JO_K,
		ISNULL (T_OUT.QTY2, 0) AS QTY_K,
		ISNULL (T_OUT.SUMMA2, 0) AS SUM_K,
		ISNULL (TR.QTY, 0) AS QTY_R,
		ISNULL (TR.SUMMA, 0) AS SUM_R,
		ISNULL (EMP.NAME_EMPL, '') AS FIL_NAME,
		ISNULL (EMP.POST_NAME, '') AS FIL_POST,
		ISNULL (CONVERT (VARCHAR (10), ASS.DATE_FILLING, 104), '') AS FIL_DATE

	FROM @TAB_MOVING T1
	INNER JOIN dbo.INVENTORY T2 ON (T2.LINK = T1.INV)
	LEFT JOIN @TAB_INPUT T_IN ON (T_IN.INV = T1.INV)
	LEFT JOIN @TAB_OUTPUT T_OUT ON (T_OUT.INV = T1.INV)
	LEFT OUTER JOIN dbo.ASSETS ASS ON (ASS.LINK_UP = T2.LINK)
	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = ASS.EMP_FILLING)
	LEFT OUTER JOIN @varKSINV_REST TR ON (TR.INV_LINK = T1.INV
		AND TR.ACCT_SINT = '101')
--	ORDER BY DATE_ALL

	DROP TABLE #RES1

	EXEC dbo.BUFFERCLEAR @varKSc_BufferName
END






GO


GRANT EXECUTE ON dbo.[BK_PRINT_INV_CARD_F0504032_GRP] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[ALL_PHIS_EXPORT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[ALL_PHIS_EXPORT]

GO

/*Пример выполнения: exec ALL_PHIS_EXPORT '20160314','35',95432 */



CREATE   PROCEDURE [dbo].ALL_PHIS_EXPORT (
	@dDate1 datetime,				/*Дата*/
	@cText1 VARCHAR(20),				/*Номер договора*/
	@nFiltlink INT = null /* Отбор физ.лиц */	
) AS


	
	DECLARE @cVal1 char(1), @nOtborLink1 int	/* Отбор подразделений*/
	SELECT @nOtborLink1 = (SELECT LINK FROM OBJECT_VAR WHERE LINK_SELF=@nFiltlink AND OBJECT=(SELECT LINK FROM S_OBJECTS WHERE CODE='OTBOR_QUERY_SQL_FL'))
	SELECT @cVal1 = (SELECT VALUE FROM OBJECT_VAR_VALUES WHERE LINK_UP=@nOtborLink1 AND PROPERTY=(SELECT LINK FROM S_PROPERTY WHERE CODE='QUERY_OTBOR_CHECK'))


CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT ON


-- Курсор АХД зарплата
CREATE TABLE #ALL_PHIS(N_PP int, LINK INT, FM VARCHAR(100),	IM varchar(100), OT varchar(100),	OSB VARCHAR(4), RESIDENT VARCHAR(5), CITIZ_NAME VARCHAR(100),VALUTE_CODE VARCHAR(3), PODVIDV_CODE VARCHAR(2),
							 VIDV_CODE  VARCHAR(3),VIDV_NAME VARCHAR(100), DOC_LINK INT,DOC_CODE varchar(2), DOC_NAME varchar(50),DOC_SER varchar(5), DOC_NUM varchar(10), DOC_DATE datetime, DOC_WHOM varchar(254),
							 BIRTHDATE DATETIME, SEX CHAR(1), BIRTHPLACE VARCHAR(254), 
							 PINDEX VARCHAR (6),PSTR varchar(50),PREGION_N VARCHAR(254),PREGION_S VARCHAR(5),PRAION_N VARCHAR(254),PRAION_S VARCHAR(5),PGOROD_N VARCHAR(254),PGOROD_S VARCHAR(5),PNASEL_N VARCHAR(254),PNASEL_S VARCHAR(5), 
							 PSTREET_N VARCHAR(254),PSTREET_S VARCHAR(5),PHOUSE varchar(10),PKORP varchar(50),PFLAT varchar(50),
							 FINDEX VARCHAR (6),FSTR varchar(50),FREGION_N VARCHAR(254),FREGION_S VARCHAR(5),FRAION_N VARCHAR(254),FRAION_S VARCHAR(5),FGOROD_N VARCHAR(254),FGOROD_S VARCHAR(5),FNASEL_N VARCHAR(254),FNASEL_S VARCHAR(5),
							 FSTREET_N VARCHAR(254),FSTREET_S VARCHAR(5),FHOUSE varchar(10),FKORP varchar(10),FFLAT varchar(10),
							 COL3 VARCHAR(3),COL2 VARCHAR(100),COL1 VARCHAR(100),DATE_DOC datetime,num_dog VARCHAR(20),
							 orgname VARCHAR(254),org_fuln VARCHAR(2000),dep_link INT ,DEP_INN VARCHAR(12),N_ACC_CODE VARCHAR(20),count_phiz INT ,DOC_ID VARCHAR(36)
)
				 
INSERT INTO #ALL_PHIS(N_PP,LINK,FM,IM,OT,OSB,RESIDENT,CITIZ_NAME,VALUTE_CODE,PODVIDV_CODE,VIDV_CODE,VIDV_NAME,
					  DOC_LINK,DOC_CODE,DOC_NAME,DOC_SER,DOC_NUM,DOC_DATE,DOC_WHOM,BIRTHDATE,SEX,BIRTHPLACE,
					  PINDEX,PSTR,PREGION_N,PREGION_S,PRAION_N,PRAION_S,PGOROD_N,PGOROD_S,PNASEL_N,PNASEL_S,PSTREET_N,PSTREET_S,PHOUSE,PKORP,PFLAT,
					  FINDEX,FSTR,FREGION_N,FREGION_S,FRAION_N,FRAION_S,FGOROD_N,FGOROD_S,FNASEL_N,FNASEL_S,FSTREET_N,FSTREET_S,FHOUSE,FKORP,FFLAT,
					  COL3,COL2,COL1,DATE_DOC,num_dog,orgname,org_fuln,dep_link,DEP_INN,N_ACC_CODE,count_phiz,DOC_ID
)

exec dbo.KJ_KADRY_ALL_PHIS_REP @dDate1 , @cText1, @cVal1, @nOtborLink1



DELETE FROM #ALL_PHIS WHERE isnull(DOC_ID,'') = ''  

IF (SELECT COUNT(*) FROM #ALL_PHIS)=0
BEGIN
	RETURN 1
END	

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))

INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))), 
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------

declare @DEP_LINK int, @lcFNAME VARCHAR(254), @INN VARCHAR(12),	@ACC_CODE varchar(20), @FULL_NAME varchar(2000),	@COUNT_PERS INT , @DOC_ID VARCHAR(36)

exec dbo.xd_whats_zb @DEP_LINK output

DECLARE @Cur1 CURSOR, @DEP_LINK1 INT , @ID1 INT /*Номер записи*/ , @nYear int, @nMonth int
set @ID1 = 0
SET @nYear = year(@dDate1)
set @nMonth = month(@dDate1)

-- ШАПОЧНАЯ ЧАСТЬ ФАЙЛА
-----
	SELECT top 1 @lcFNAME = 'imp_card_' + CONVERT(VARCHAR(4),@nYEAR) + '_' + CONVERT(VARCHAR(4),@nMONTH) + '.XML' ,
	@INN = DEP_INN,
	@ACC_CODE = N_ACC_CODE,
	@FULL_NAME = ORG_FULN,
	@COUNT_PERS = COUNt_PHIZ,
	@DOC_ID = DOC_ID
	FROM  #ALL_PHIS WHERE DEP_LINK = @DEP_LINK
	  

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	 SELECT @lcFNAME, 'windows-1251' --Имя файла 
			UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="windows-1251"?>' 
			UNION ALL SELECT @lcFNAME, SPACE(0) + '<СчетаПК ДатаФормирования="'+ CONVERT(VARCHAR(10),convert(smalldatetime, dbo.DateEndOfMonth(GETDATE())),127) +'"  НомерДоговора="'+rtrim(@cText1)+'" НаименованиеОрганизации="'+rtrim(@FULL_NAME)+'" ИНН="'+@INN+'" РасчетныйСчетОрганизации="'+rtrim(coalesce(@ACC_CODE,''))+'">' -- БИК="" ИдПервичногоДокумента="'+rtrim(@DOC_ID)+'" >'
			 UNION ALL SELECT @lcFNAME, SPACE(1) + '<ОткрытиеСчетов>' 
	DECLARE @DOCCOUNT INT 
	set @DOCCOUNT = (select count(*) from #ALL_PHIS WHERE DEP_LINK = @DEP_LINK1 )

-- -- EXEC KJ_KADRY_ALL_PHIS_REP '20160314' , 35 , '1', 95433
	---
	-- ПЕРЕЧИСЛЕНИЕ ДОКУМЕНТОВ
	---

	SET @Cur1 = CURSOR FORWARD_ONLY
	FOR select N_PP from #ALL_PHIS WHERE DEP_LINK = @DEP_LINK
	
	OPEN @Cur1
	FETCH NEXT FROM @Cur1 INTO @ID1

	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, 
					SPACE(2) + '<Сотрудник Нпп="'+RTRIM(LTRIM(STR(@ID1)))+'">' + CHAR(10)
						+ SPACE(3) + '<Фамилия>'+ RTRIM(LTRIM(COALESCE(FM,''))) +'</Фамилия>' + CHAR(10)
						+ SPACE(3) + '<Имя>'+RTRIM(LTRIM(COALESCE(IM,'')))+'</Имя>' + CHAR(10)
						+ SPACE(3) + '<Отчество>'+ RTRIM(LTRIM(COALESCE(OT,''))) +'</Отчество>' + CHAR(10)
						+ SPACE(3) + '<ОтделениеБанка>'+ RTRIM(LTRIM(COALESCE(OSB,''))) + '</ОтделениеБанка>' + CHAR(10) 
						+ SPACE(3) + '<Резидент>' +RTRIM(LTRIM(COALESCE(RESIDENT,''))) + '</Резидент>' + CHAR(10) 
						+ SPACE(3) + '<Гражданство>' + RTRIM(LTRIM(COALESCE(CITIZ_NAME,''))) + '</Гражданство>' + CHAR(10)
						+ SPACE(3) + '<ВидВклада КодВидаВклада="'+RTRIM(LTRIM(COALESCE(VIDV_CODE,'')))+'" КодПодвидаВклада="'+RTRIM(LTRIM(COALESCE(PODVIDV_CODE,'')))+'" КодВалюты="'+RTRIM(LTRIM(COALESCE(VALUTE_CODE,'')))+'">' + RTRIM(LTRIM(COALESCE(VIDV_NAME,''))) + '</ВидВклада>' + CHAR(10)
						+ SPACE(3) + '<УдостоверениеЛичности>' + CHAR(10)
							+ SPACE(4) + '<ВидДокумента>'+RTRIM(LTRIM(COALESCE(DOC_NAME,'')))+'</ВидДокумента>' + CHAR(10)
							+ SPACE(4) + '<Серия>'+RTRIM(LTRIM(COALESCE(DOC_SER,'')))+'</Серия>' + CHAR(10)
							+ SPACE(4) + '<Номер>'+RTRIM(LTRIM(COALESCE(DOC_NUM,'')))+'</Номер>' + CHAR(10)
				            + SPACE(4) + '<ДатаВыдачи>'+ CONVERT(VARCHAR(10),DOC_DATE,127) +'</ДатаВыдачи>' + CHAR(10)
							+ SPACE(4) + '<КемВыдан>'+RTRIM(LTRIM(COALESCE(DOC_WHOM,'')))+'</КемВыдан>' + CHAR(10)
						+ SPACE(3) + '</УдостоверениеЛичности>' + CHAR(10)
						+ SPACE(3) + '<ДатаРождения>'+ CONVERT(VARCHAR(10),BiRTHDATE,127) +'</ДатаРождения>' + CHAR(10)
						+ SPACE(3) + '<Пол>'+RTRIM(LTRIM(COALESCE(SEX,'')))+'</Пол>' + CHAR(10)
						+ SPACE(3) + '<МестоРождения>'+RTRIM(LTRIM(COALESCE(BiRTHPLACE,'')))+'</МестоРождения>' + CHAR(10)
						+ SPACE(3) + '<АдресПрописки>' + CHAR(10)
							+ SPACE(4) + '<Индекс>'+RTRIM(LTRIM(COALESCE(PINDEX,'')))+'</Индекс>' + CHAR(10)
							+ SPACE(4) + '<Страна>' + CHAR(10)
								+ SPACE(5) + '<СтранаНазвание>'+RTRIM(LTRIM(COALESCE(PSTR,'')))+'</СтранаНазвание>' + CHAR(10)
								+ SPACE(5) + '<СтранаСокращение/>' + CHAR(10)
								+ SPACE(5) + '<СтранаКод/>' + CHAR(10)
							+ SPACE(4) + '</Страна>' + CHAR(10)
							+ SPACE(4) + '<Регион>' + CHAR(10)
								+ SPACE(5) + '<РегионНазвание>'+RTRIM(LTRIM(COALESCE(PREGION_N,'')))+'</РегионНазвание>' + CHAR(10)
								+ SPACE(5) + '<РегионСокращение>'+RTRIM(LTRIM(COALESCE(PREGION_S,'')))+'</РегионСокращение>' + CHAR(10)
							+ SPACE(4) + '</Регион>' + CHAR(10)
							+ SPACE(4) + '<Район>' + CHAR(10)
								+ SPACE(5) + '<РайонНазвание>'+RTRIM(LTRIM(COALESCE(PRAION_N,'')))+'</РайонНазвание>' + CHAR(10)
								+ SPACE(5) + '<РайонСокращение>'+RTRIM(LTRIM(COALESCE(PRAION_S,'')))+'</РайонСокращение>' + CHAR(10)
							+ SPACE(4) + '</Район>' + CHAR(10)
							+ SPACE(4) + '<Город>' + CHAR(10)
								+ SPACE(5) + '<ГородНазвание>'+RTRIM(LTRIM(COALESCE(PGOROD_N,'')))+'</ГородНазвание>' + CHAR(10)
								+ SPACE(5) + '<ГородСокращение>'+RTRIM(LTRIM(COALESCE(PGOROD_S,'')))+'</ГородСокращение>' + CHAR(10)
							+ SPACE(4) + '</Город>' + CHAR(10)
							+ SPACE(4) + '<НаселенныйПункт>' + CHAR(10)
								+ SPACE(5) + '<НаселенныйПунктНазвание>'+RTRIM(LTRIM(COALESCE(PNASEL_N,'')))+'</НаселенныйПунктНазвание>' + CHAR(10)
								+ SPACE(5) + '<НаселенныйПунктСокращение>'+RTRIM(LTRIM(COALESCE(PNASEL_S,'')))+'</НаселенныйПунктСокращение>' + CHAR(10)
							+ SPACE(4) + '</НаселенныйПункт>' + CHAR(10)
							+ SPACE(4) + '<Улица>' + CHAR(10)
								+ SPACE(5) + '<УлицаНазвание>'+RTRIM(LTRIM(COALESCE(PSTREET_N,'')))+'</УлицаНазвание>' + CHAR(10)
								+ SPACE(5) + '<УлицаСокращение>'+RTRIM(LTRIM(COALESCE(PSTREET_S,'')))+'</УлицаСокращение>' + CHAR(10)
							+ SPACE(4) + '</Улица>' + CHAR(10)
							+ SPACE(4) + '<Дом>'+RTRIM(LTRIM(COALESCE(PSTREET_S,'')))+'</Дом>' + CHAR(10)
							+ SPACE(4) + '<Корпус>'+RTRIM(LTRIM(COALESCE(PKORP,'')))+'</Корпус>' + CHAR(10)
							+ SPACE(4) + '<Квартира>'+RTRIM(LTRIM(COALESCE(PFLAT,'')))+'</Квартира>' + CHAR(10)
						+ SPACE(3) + '</АдресПрописки>' + CHAR(10)
						+ SPACE(3) + '<АдресПроживания>' + CHAR(10)
							+ SPACE(4) + '<Индекс>'+RTRIM(LTRIM(COALESCE(fINDEX,'')))+'</Индекс>' + CHAR(10)
							+ SPACE(4) + '<Страна>' + CHAR(10)
								+ SPACE(5) + '<СтранаНазвание>'+RTRIM(LTRIM(COALESCE(fSTR,'')))+'</СтранаНазвание>' + CHAR(10)
								+ SPACE(5) + '<СтранаСокращение/>' + CHAR(10)
								+ SPACE(5) + '<СтранаКод/>' + CHAR(10)
							+ SPACE(4) + '</Страна>' + CHAR(10)
							+ SPACE(4) + '<Регион>' + CHAR(10)
								+ SPACE(5) + '<РегионНазвание>'+RTRIM(LTRIM(COALESCE(fREGION_N,'')))+'</РегионНазвание>' + CHAR(10)
								+ SPACE(5) + '<РегионСокращение>'+RTRIM(LTRIM(COALESCE(fREGION_S,'')))+'</РегионСокращение>' + CHAR(10)
							+ SPACE(4) + '</Регион>' + CHAR(10)
							+ SPACE(4) + '<Район>' + CHAR(10)
								+ SPACE(5) + '<РайонНазвание>'+RTRIM(LTRIM(COALESCE(fRAION_N,'')))+'</РайонНазвание>' + CHAR(10)
								+ SPACE(5) + '<РайонСокращение>'+RTRIM(LTRIM(COALESCE(fRAION_S,'')))+'</РайонСокращение>' + CHAR(10)
							+ SPACE(4) + '</Район>' + CHAR(10)
							+ SPACE(4) + '<Город>' + CHAR(10)
								+ SPACE(5) + '<ГородНазвание>'+RTRIM(LTRIM(COALESCE(fGOROD_N,'')))+'</ГородНазвание>' + CHAR(10)
								+ SPACE(5) + '<ГородСокращение>'+RTRIM(LTRIM(COALESCE(fGOROD_S,'')))+'</ГородСокращение>' + CHAR(10)
							+ SPACE(4) + '</Город>' + CHAR(10)
							+ SPACE(4) + '<НаселенныйПункт>' + CHAR(10)
								+ SPACE(5) + '<НаселенныйПунктНазвание>'+RTRIM(LTRIM(COALESCE(fNASEL_N,'')))+'</НаселенныйПунктНазвание>' + CHAR(10)
								+ SPACE(5) + '<НаселенныйПунктСокращение>'+RTRIM(LTRIM(COALESCE(fNASEL_S,'')))+'</НаселенныйПунктСокращение>' + CHAR(10)
							+ SPACE(4) + '</НаселенныйПункт>' + CHAR(10)
							+ SPACE(4) + '<Улица>' + CHAR(10)
								+ SPACE(5) + '<УлицаНазвание>'+RTRIM(LTRIM(COALESCE(fSTREET_N,'')))+'</УлицаНазвание>' + CHAR(10)
								+ SPACE(5) + '<УлицаСокращение>'+RTRIM(LTRIM(COALESCE(fSTREET_S,'')))+'</УлицаСокращение>' + CHAR(10)
							+ SPACE(4) + '</Улица>' + CHAR(10)
							+ SPACE(4) + '<Дом>'+RTRIM(LTRIM(COALESCE(fSTREET_S,'')))+'</Дом>' + CHAR(10)
							+ SPACE(4) + '<Корпус>'+RTRIM(LTRIM(COALESCE(fKORP,'')))+'</Корпус>' + CHAR(10)
							+ SPACE(4) + '<Квартира>'+RTRIM(LTRIM(COALESCE(fFLAT,'')))+'</Квартира>' + CHAR(10)
						+ SPACE(3) + '</АдресПроживания>' + CHAR(10)
						+ SPACE(3) + '<ЭмбоссированныйТекст Поле1="'+RTRIM(LTRIM(COALESCE(COL1,'')))+'" Поле2="'+RTRIM(LTRIM(COALESCE(COL2,'')))+'" Поле3="'+RTRIM(LTRIM(COALESCE(COL3,'')))+'"/>' + CHAR(10)
						+ SPACE(3) + '<Сумма>''</Сумма>' + CHAR(10)
				  + SPACE(2) + '</Сотрудник>' + CHAR(10)

				  
    			FROM
					#ALL_PHIS
				WHERE 
					N_PP = @ID1 
	
		END
		
		FETCH NEXT FROM @Cur1 INTO @ID1



	END

	CLOSE @Cur1
	DEALLOCATE @Cur1
	

	
	
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(1) + '</ОткрытиеСчетов>' + CHAR(10)	
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(1) + '<КонтрольныеСуммы>' + CHAR(10)	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<КоличествоЗаписей>'+ +RTRIM(LTRIM(STR(COALESCE(@COUNT_PERS,0))))+ +'</КоличествоЗаписей>' + CHAR(10)	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<СуммаИтого/>'  + CHAR(10)	
  UNION ALL SELECT @lcFNAME, SPACE(1) + '</КонтрольныеСуммы>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '</СчетаПК>' 	




SET NOCOUNT OFF

select * from #OUTPUT  order by [ID]
--select OUT_TEXT from #OUTPUT order by [ID]
--exec ALL_PHIS_EXPORT '20160314','35',95432




GO


GRANT EXECUTE ON dbo.[ALL_PHIS_EXPORT] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINTDOC_AVANSE_REP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINTDOC_AVANSE_REP]

GO

-- Печать авансового отчета --
CREATE PROCEDURE dbo.BK_PRINTDOC_AVANSE_REP
	@intLINK_DOC	INT
AS
BEGIN
	DECLARE
		@intPrintKBK TINYINT,
		@intPrintSGU TINYINT,
		@DOC_DATE	DATETIME

	-- Титульный лист --
	DECLARE @TAB_TITLE TABLE 
		(
		LINK		INT,
		DOC_NUM		VARCHAR (60),
		DOC_DATE	DATETIME,
		WHY_AVA		VARCHAR (254),
		KA_CODE		VARCHAR (30),

		GET_SUM		NUMERIC (28,2),
		PREV_SUM1	NUMERIC (28,2),
		PREV_SUM2	NUMERIC (28,2),
		TOT_SUM		NUMERIC (28,2),
		REST_SUM	NUMERIC (28,2),
		OUT_SUM		NUMERIC (28,2),

		CNT_DOC		NUMERIC (5),
		CNT_SHEET	NUMERIC (5),
	
		EMP_CODE	VARCHAR (30),
		EMP_NAME	VARCHAR (254),
		EMPL_SIGN	VARCHAR (254),
		SUB_NAME	VARCHAR (254),
		POST_NAME	VARCHAR (254),
		EMP_FIO		VARCHAR (254),
		
		DEP_OKPO	VARCHAR (30),
		DEP_KPP	    VARCHAR (9),
		DEP_INN	    VARCHAR (12),
		DEP_NAME	VARCHAR (254),
		GET_DATE	DATETIME,
		GET_DOC		VARCHAR (1000)
		)

	DECLARE @T_GET_DOC	TABLE 
		(
		DOC_LINK	INT,
		DOC_DATE	DATETIME,
		DOC_NUM		VARCHAR (60),
		DOC_INFO	VARCHAR (254),
		DOC_SUM		NUMERIC (28,4)
		)

	INSERT @T_GET_DOC
		(
		DOC_LINK,
		DOC_DATE,
		DOC_NUM,
		DOC_INFO,
		DOC_SUM	
		)
	SELECT 
		T1.LINK_UP,
		G.[DATE],
		G.NUMBER,
		dbo.GetDocumentName (G.LINK, G.[OBJECT])
			+ ' № ' + RTRIM (G.NUMBER)
			+ ' от ' + CONVERT (VARCHAR (10), G.[DATE], 104),
		G.SUMMA	
	FROM (
		SELECT
			TTT.LINK_UP,
			TTT.OSNOV
		FROM dbo.DOC_AO_RKO_TABLE TTT
		GROUP BY
			TTT.LINK_UP,
			TTT.OSNOV
			) AS T1
	INNER JOIN dbo.OSNOV O1 ON (O1.LINK = T1.OSNOV)
	INNER JOIN dbo.G_PROV G ON (G.LINK = O1.LINK_G_PROV)
	WHERE T1.LINK_UP = @intLINK_DOC
--		AND (SELECT COUNT (DISTINCT T2.LINK_UP) FROM dbo.DOC_AO_RKO_TABLE T2 WHERE T2.LINK_UP = T1.LINK_UP) = 1

	SELECT
		@DOC_DATE = G.[DATE]
	FROM dbo.G_PROV G
	WHERE G.LINK = @intLINK_DOC	

	INSERT INTO @TAB_TITLE
	SELECT
		DOC.LINK,
		DOC.NUMBER,
		DOC.[DATE],
		ISNULL (DOC.[TARGET], ''),
		ISNULL (DOC.KTACCOUNT, ''),
		
		ISNULL (DOC.AVANSESUMMA, 0),
		CASE
			WHEN ISNULL (DOC.PREVSUMMA, 0) >= 0 THEN ISNULL (DOC.PREVSUMMA, 0)
			ELSE 0.00
		END,
		CASE	
			WHEN ISNULL (DOC.PREVSUMMA, 0) < 0 THEN ABS (ISNULL (DOC.PREVSUMMA, 0))
			ELSE 0.00
		END,
		ISNULL (DOC.ITOG_SUM, 0.00),
		ISNULL (DOC.REST_SUM, 0.00),
		ISNULL (DOC.RASHOD_SUM, 0.00),

		ISNULL (DOC.DOC, 0.00),
		ISNULL (DOC.PAGES, 0.00),

		DOC.EMP_CODE,
		DOC.EMP_NAME,
		CASE
			WHEN DOC.[OPTION] = 1 THEN dbo.BK_Get_EMPL_Signature (DOC.EMP_LINK, DEFAULT)
			WHEN DOC.[OPTION] = 2 THEN dbo.BK_Get_PERSON_Signature (DOC.EMP_LINK, DEFAULT)
		END,
		CASE
			WHEN DOC.[OPTION] = 1 THEN EMP.SUBDIV_NAME
			WHEN DOC.[OPTION] = 2 THEN ''
		END,	
		CASE
			WHEN DOC.[OPTION] = 1 THEN EMP.POST_NAME
			WHEN DOC.[OPTION] = 2 THEN ''
		END,
		CASE
			WHEN DOC.[OPTION] = 1 THEN EMP.FIO
			WHEN DOC.[OPTION] = 2 THEN LTRIM (RTRIM (PERS.FM)) + SPACE (1) + LTRIM (RTRIM (PERS.IM)) + SPACE (1) + LTRIM (RTRIM (PERS.OT))
		END,
		DEP.OKPO,
		DEP.KPP,
		DEP.INN,
		dbo.BK_GET_PRINT_DEP_NAME (DEP.LINK),
--		TGD.DOC_DATE,
--		ISNULL (TGD.DOC_INFO, '')
		NULL, 
		SUBSTRING ((SELECT
						', ' + ISNULL (TGD.DOC_INFO, '')
					FROM @T_GET_DOC TGD
					WHERE TGD.DOC_LINK = DOC.LINK
					FOR XML PATH ('')),
					3,
					1000)
	FROM dbo.BV_DOC_AVANSE_REP DOC
	INNER JOIN dbo.DEPARTMENTS DEP ON (DEP.LINK = DOC.DEP_LINK)
	LEFT JOIN dbo.KU_EMPL_PLACING EMP ON (DOC.[OPTION] = 1
		AND EMP.LINK = DOC.EMP_LINK)
	LEFT JOIN dbo.PERSON PERS ON (DOC.[OPTION] = 2
		AND PERS.LINK = DOC.EMP_LINK)
--	LEFT JOIN @T_GET_DOC TGD ON (TGD.DOC_LINK = DOC.LINK)	
	WHERE DOC.LINK = @intLINK_DOC

-- SELECT '@T_GET_DOC', * FROM @T_GET_DOC

	-- КО на перерасход\возврат --
	SELECT
		@intPrintKBK = PRN_KBK,
		@intPrintSGU = PRN_SGU
	FROM dbo.BK_GET_PRINT_NASTRDOC ('BV_DOC_AVANSE_REP')

	DECLARE @TAB_KO1 TABLE
		(	
		LINK_AO	INT,
		KO_NUM	VARCHAR (30),
		KO_DATE VARCHAR (10), 
		ACCT_CODE	VARCHAR (60),
		ACCT_GR	VARCHAR (20),
		PKO_SUM	NUMERIC (28,4),
		RKO_SUM NUMERIC (28,4)
		)

	INSERT INTO @TAB_KO1		
	SELECT
		T1.G_PRIMARY,
		T1.NUMBER,
		CONVERT (VARCHAR (10), T1.[DATE], 104),
		dbo.BK_GetAcctFullCode1 (GAP.ACCOUNT, GAP.KBK, GAP.SGU,
			@intPrintKBK, @intPrintSGU, @DOC_DATE),
		SA.CODE,
		CASE
			WHEN T1.DOC_CODE = 'DOCUMENTS_PKO' THEN G2.SUMMA  ELSE 0 
		END,
		CASE
			WHEN T1.DOC_CODE = 'DOCUMENTS_RKO' THEN G2.SUMMA  ELSE 0 
		END
	FROM dbo.XK_GetTable_Doc_FOREIGN (@intLINK_DOC) T1
	INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = T1.LINK)
	INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
	INNER JOIN dbo.G_PROV_AP GAP ON (GAP.LINK_UP = G2.LINK)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = GAP.ACCOUNT
			AND SA.cSINTH = '208')
	WHERE T1.DOC_CODE IN ('DOCUMENTS_PKO', 'DOCUMENTS_RKO')

	--- Проводки АО (на титульную страницу) ---
	DECLARE @TAB_TITLE_PROV TABLE
			(
			DB_ACCT	VARCHAR (60),
			KR_ACCT	VARCHAR (60),
			SUM_PROV NUMERIC (28,2)
			)
			
	IF EXISTS (SELECT * FROM dbo.BV_DOC_AO_OPTIONS WHERE ISNULL (TITLE_PROV, 0) = 1)
		-- Проводки из документов на выдачу аванса --
		INSERT INTO @TAB_TITLE_PROV		
		SELECT
			ISNULL (dbo.BK_GetAcctFullCode1 (GAP_D.ACCOUNT, GAP_D.KBK, GAP_D.SGU,
						@intPrintKBK, @intPrintSGU, @DOC_DATE), ''),
			ISNULL (dbo.BK_GetAcctFullCode1 (GAP_K.ACCOUNT, GAP_K.KBK, GAP_K.SGU,
						@intPrintKBK, @intPrintSGU, @DOC_DATE), ''),
			ISNULL (G2.SUMMA, 0)
		FROM dbo.DOC_AO_RKO_TABLE T1
		INNER JOIN dbo.OSNOV OSNOV ON (OSNOV.LINK = T1.OSNOV)
		INNER JOIN dbo.G_PROV G ON (G.LINK = OSNOV.LINK_G_PROV)
		INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = G.LINK)
		INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
		LEFT JOIN dbo.G_PROV_AP GAP_D ON (GAP_D.LINK_UP = G2.LINK
			AND GAP_D.DB_KR = 0)
		LEFT JOIN dbo.G_PROV_AP GAP_K ON (GAP_K.LINK_UP = G2.LINK
			AND GAP_K.DB_KR = 1)
		WHERE T1.LINK_UP = @intLINK_DOC
	ELSE
		-- Проводки из авансового отчета --
		INSERT INTO @TAB_TITLE_PROV		
		SELECT
			ISNULL (ACCT_CD_D, ''),
			ISNULL (ACCT_CD_K, ''),
			ISNULL (SUMMA, 0)
		FROM dbo.BK_PrintDocProv (@intLINK_DOC, DEFAULT)

	SELECT
		*,
		(SELECT
			SUM (SUM_PROV)
		FROM @TAB_TITLE_PROV) AS SUM_PROV0
	FROM @TAB_TITLE

	SELECT
		T1.EMP_NAME, 
		T1.DOC_NUM AS DOC_NUM,
		CONVERT (VARCHAR (10), T1.DOC_DATE, 104) AS DOC_DATE, 
		T1.CNT_DOC AS CNT_DOC, 
		ISNULL (T1.OUT_SUM, 0.00) AS OUT_SUM,
		ISNULL (T2.ACCT_CODE, '') AS ACCT_KO, 
		ISNULL (T2.PKO_SUM, 0.00) AS PKO_SUM, 
		ISNULL (T2.RKO_SUM, 0.00) AS RKO_SUM, 
		ISNULL (T2.KO_NUM, '') AS KO_NUM, 
		ISNULL (T2.KO_DATE, '') AS KO_DATE, 
		0 AS T0
	FROM @TAB_TITLE T1 
	LEFT OUTER JOIN @TAB_KO1 T2 ON (T2.LINK_AO = T1.LINK) 
	WHERE T1.LINK = @intLINK_DOC 

	SELECT
		DB_ACCT,
		KR_ACCT,
		SUM (SUM_PROV) AS SUM_PROV
	FROM @TAB_TITLE_PROV
	GROUP BY
		DB_ACCT,
		KR_ACCT

	--- Оборотная сторона ---
	SELECT 
		ISNULL (T1.NUMBER, 0) AS NUM_POS,
		ISNULL (CONVERT (VARCHAR (10), (T1.DATEDOC), 104), '') AS D_DATE,
		ISNULL (T1.NUMDOC, '') AS D_NUM,
		ISNULL (T1.NAMEDOC, '') AS D_NAME,
		ISNULL (T1.SUMREPORT, 0.00) AS SUMMA1,
		ISNULL (T1.SUMACCEPTED, 0.00) AS SUMMA2,
		COALESCE (T3.ACCT_CD_D, T1.DTACCOUNT, '') AS D_ACCT,
		COALESCE (T3.ACCT_CD_K, T1.KTACCOUNT, '') AS K_ACCT,
		T2.EMP_NAME AS E_NAME, 
		T2.EMPL_SIGN AS E_SIGN,
		CASE
			WHEN T2.REST_SUM > 0 THEN T2.REST_SUM
			ELSE 0.00
		END	 AS REST_D,
		CASE
			WHEN T2.REST_SUM < 0 THEN ABS (T2.REST_SUM)
			ELSE 0.00
		END AS REST_K 
	FROM dbo.BK_DOC_TABLE_AO_FN (@intLINK_DOC) T1
	INNER JOIN @TAB_TITLE T2 ON (T2.LINK = T1.LINK_UP)
	LEFT JOIN dbo.BK_PrintDocProv (@intLINK_DOC, DEFAULT) T3 ON (T3.LINK_G1 = T1.LINK_OPER)

	-- Документы на выдачу --
	SELECT *
	FROM @T_GET_DOC
	ORDER BY 
		DOC_INFO

END


GO


GRANT EXECUTE ON dbo.[BK_PRINTDOC_AVANSE_REP] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINTDOC_JURNAL_BO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINTDOC_JURNAL_BO]

GO


CREATE  PROCEDURE dbo.BK_PRINTDOC_JURNAL_BO
	@td_DATE_START	DATETIME,
	@td_DATE_END	DATETIME
AS
BEGIN
	DECLARE @DEP_LINK	INT,
		@DEP_NAME	VARCHAR (254),
		@DEP_OKPO	VARCHAR (20),

		@dDATE_START	DATETIME,
		@dDATE_STOP	DATETIME
	
	SELECT @dDATE_START = BEGINDATE,
		@dDATE_STOP = ENDDATE
	FROM USER_INFO

	SELECT @DEP_LINK = LINK,
		@DEP_NAME = NAME,
		@DEP_OKPO = OKPO
	FROM DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SET @dDATE_START = ISNULL (@td_DATE_START, @dDATE_START)
	SET @dDATE_STOP = ISNULL (@td_DATE_END, @dDATE_STOP)

	SELECT T1.DEP AS DEP_LINK,
		@DEP_NAME AS DEP_NAME,
		@DEP_OKPO AS DEP_OKPO,
		CONVERT (VARCHAR (10), @dDATE_START, 104) AS cDATE_B, 
		CONVERT (VARCHAR (10), @dDATE_STOP, 104) AS cDATE_E,
		CONVERT (VARCHAR (10), T1.DATE_AP1, 104) AS cDATE_DOC,
		CODE_AP1 AS DOC_NUM,
		NAME_AP1 AS DOC_NAME,
		SA.LINK,
		dbo.BK_GetAcctFullCode1 (SA.LINK, T1.KBK_LINK, T1.SGU_LINK, 1, 1, @td_DATE_END) AS ACCT_CODE,
		T1.SUMMA,
		ISNULL (G2.[NAME], '') AS COMENT
	FROM BD_JURN_BO T1
	INNER JOIN S_ACCOUNTS SA ON (cSinth = '502'
			AND cAnalit = '11'
			AND cSource = CONVERT(VARCHAR(1), T1.IST_FIN - 1)
			AND ISNULL(cUSER,'') = '')
	LEFT OUTER JOIN G_PROV2 G2 ON (T1.PROV_LINK = G2.LINK)
	WHERE T1.DATE_AP1 BETWEEN @dDATE_START AND @dDATE_STOP
		AND T1.DEP = @DEP_LINK
	ORDER BY T1.DATE_AP1, T1.NAME_AP1
END


GO


GRANT EXECUTE ON dbo.[BK_PRINTDOC_JURNAL_BO] TO PUBLIC

GO


--Расширенные свойства--


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINTREP_JO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINTREP_JO]

GO




CREATE PROCEDURE dbo.BK_PRINTREP_JO
	@intLINK_JO	INT,
	@dDATE_START	DATETIME,
	@dDATE_END	DATETIME,
--	@intUSE_FILTERS	INT,
	@strBUFFER_NAME_ACCOUNT		VARCHAR (30),
	@strBUFFER_NAME_ACTIVE		VARCHAR (30),
	@strBUFFER_NAME_SEPARATOR	VARCHAR (30),
	@strBUFFER_NAME_KL_KBK		VARCHAR (30),
	@intPRN_KBK			tinyint,
	@intPRN_SGU			tinyint,
	@intPRN_KBK_REST		tinyint,
	@intNO_USER_ACCT		tinyint,
	@intPRN_SVOD_ZB 		tinyint,
	@intINIT_SEPARATOR		tinyint,
	@cSOURCE			CHAR (1),
	@intGRP_DATE			tinyint,
	@intTypeOb_GK			tinyint = 0,
	@intGrp_Prov			tinyint
AS
BEGIN
	/* --- Настройки журнала операций --- */
	DECLARE @strActivities_Name	VARCHAR (30),
		@strSeparator_Name	VARCHAR (30),
		@strJO_NUMBER		VARCHAR (30),
		@strJO_Name		VARCHAR (100),
		@strTXT_TOTAL_DATE	VARCHAR (100),
		@strSEPARATOR_TITLE	VARCHAR (30),
		@strDATE_START		VARCHAR (10),
		@strDATE_END		VARCHAR (10),
		@dDATE_NEXT		DATETIME, 
		@strDATE_NEXT		VARCHAR (10),

		@intORG_LINK		INT,
		@strORG_OKPO		VARCHAR (30),
		@strORG_NAME		VARCHAR (254),
		@UCHR_NAME		VARCHAR (254),	-- Учредитель
		@BUDG_NAME		VARCHAR (254),	-- Наименование бюджета

		@intFACTOR_TOTAL	TINYINT,
		@intACCOUNT_TOTAL	TINYINT,
		@TDIN_SUM		NUMERIC (28,4),
		@TKIN_SUM		NUMERIC (28,4),
		@TDOUT_SUM		NUMERIC (28,4),
		@TKOUT_SUM		NUMERIC (28,4),
		@CUR_DATE_PROV		DATETIME,
		@DATE_PROV_NEXT		DATETIME,
		@DIN_SUM_DAY		NUMERIC (28,4),
		@KIN_SUM_DAY		NUMERIC (28,4),
		@DOUT_SUM_DAY		NUMERIC (28,4),
		@KOUT_SUM_DAY		NUMERIC (28,4),
		@intROWCOUNT		INT,
		@intTOTAL_MODE		TINYINT

	SELECT	@strActivities_Name = ACTIVITIES,
		@strSeparator_Name = DELIMITER,
		@strJO_NUMBER	= [CODE],
		@strJO_Name	= [NAME],
		@strTXT_TOTAL_DATE = ISNULL (TOTAL_DATE, ''),
		@intFACTOR_TOTAL = CONVERT (TINYINT, FACT_TOTAL),
		@intACCOUNT_TOTAL = CONVERT (TINYINT, ACCT_TOTAL),
		@intTOTAL_MODE = TOTAL_MODE
	FROM dbo.JOURNAL_OPERATION	
	WHERE LINK = @intLINK_JO


	IF @intGRP_DATE = 1 OR @intGRP_DATE = 2
	BEGIN
		SET @intFACTOR_TOTAL = 0
		SET @intACCOUNT_TOTAL = 0
	END
	
	IF @intFACTOR_TOTAL = 0 OR @intACCOUNT_TOTAL = 0
		SET @intTOTAL_MODE = 0

	IF @intFACTOR_TOTAL = 1 OR @intACCOUNT_TOTAL = 1
		SET @intPRN_KBK_REST = 0

	/* --- ФИЛЬТРЫ --- */
	/* --- Показатель --- */
	DECLARE @TAB_ACTIVITIES	TABLE	(LINK_AP INT, AP_CODE VARCHAR (30), AP_NAME VARCHAR (254))
	IF LEN (@strBUFFER_NAME_ACTIVE) = 0
		INSERT INTO @TAB_ACTIVITIES
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP (@strActivities_Name)
	ELSE
		INSERT INTO @TAB_ACTIVITIES
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP (@strActivities_Name) T1
		INNER JOIN dbo.BufferGetTableByID (@strBUFFER_NAME_ACTIVE) T2 ON (T2.LINK = T1.LINK_AP)

	/* --- Разделитель --- */
	DECLARE @TAB_SEPARATOR TABLE	(LINK_SEP INT, SEP_CODE VARCHAR (30), SEP_NAME VARCHAR (254))
	IF LEN (@strBUFFER_NAME_SEPARATOR) = 0
		INSERT INTO @TAB_SEPARATOR
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP (@strSeparator_Name)
	ELSE
		INSERT INTO @TAB_SEPARATOR
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP (@strSeparator_Name) T1
		INNER JOIN dbo.BufferGetTableByID (@strBUFFER_NAME_SEPARATOR) T2 ON (T2.LINK = T1.LINK_AP)

	 --- Счета --- 
	DECLARE @TAB_ACCOUNTS TABLE	(ACCOUNT INT)
	IF LEN (@strBUFFER_NAME_ACCOUNT)  = 0
		INSERT INTO @TAB_ACCOUNTS
		SELECT SA.LINK
		FROM dbo.BK_AccountsTableByJO (@intLINK_JO) T1
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
		WHERE @cSOURCE = '' OR SA.cSOURCE = @cSOURCE
	ELSE
		INSERT INTO @TAB_ACCOUNTS
		SELECT LINK
		FROM dbo.BufferGetTableByID (@strBUFFER_NAME_ACCOUNT)

	INSERT INTO @TAB_ACCOUNTS 
	SELECT SA.LINK_SELF
	FROM @TAB_ACCOUNTS T1
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	WHERE SA.cUSER <> ''
		AND NOT EXISTS (SELECT * FROM @TAB_ACCOUNTS T2 WHERE T2.ACCOUNT = SA.LINK_SELF)
	GROUP BY SA.LINK_SELF

	/* --- КБК --- */
	DECLARE @TAB_KBK TABLE	(LINK_KBK INT)
	IF LEN (@strBUFFER_NAME_KL_KBK)  = 0
		INSERT INTO @TAB_KBK
		SELECT LINK_AP
		FROM dbo.BK_GetTableDictionByAP ('KBK')
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK
		FROM dbo.BufferGetTableByID (@strBUFFER_NAME_KL_KBK)

	/* -- Параметры организации -- */
	SET @intPRN_SVOD_ZB = ISNULL (@intPRN_SVOD_ZB, 0)
	SET @intORG_LINK = dbo.BK_GetDepZB ()

	IF @intPRN_SVOD_ZB = 1 OR @intORG_LINK IS NULL
		SET @intORG_LINK = dbo.GetOwnDepLink()

	SELECT @intORG_LINK = D.LINK,
		@strORG_OKPO = D.[OKPO],
		@strORG_NAME = dbo.BK_GET_PRINT_DEP_NAME (D.LINK),
		@UCHR_NAME = dbo.BK_GET_PRINT_DEP_NAME (D.UCHR_LINK),
		@BUDG_NAME = B.[NAME]
	FROM dbo.DEPARTMENTS D
	LEFT JOIN dbo.KL_ADMIN_BS V ON (V.LINK = D.VED_LINK)
	LEFT JOIN dbo.KL_BUDG_TYPE B ON (B.LINK = V.Link_Budg)
	WHERE D.LINK = @intORG_LINK

	SELECT @UCHR_NAME = ISNULL (@UCHR_NAME, ''),
		@BUDG_NAME = ISNULL (@BUDG_NAME, '')

	IF @intPRN_SVOD_ZB = 1
		SET @strORG_NAME = RTRIM (@strORG_NAME) + ' (ЦБ)'

	/* --- ОБОРОТЫ ЗА ПЕРИОД --- */
	DECLARE @TAB_OBOROT TABLE
		(REC_NO INT IDENTITY,
		ORDERS	INT,		
		NUMBER VARCHAR (50),
		[DATE]	DATETIME,
		DATE_PROV DATETIME,
		DATE_SORT DATETIME,
		ACCOUNT INT,
		DT int,
		KT int,
		DIN_SUM NUMERIC (28,4),
		KIN_SUM NUMERIC (28,4),
		DT_SUMMA NUMERIC (28,4),
		KT_SUMMA NUMERIC (28,4),
		DT_SUM1 NUMERIC (28,4),
		KT_SUM1 NUMERIC (28,4),
		DOUT_SUM NUMERIC (28,4),
		KOUT_SUM NUMERIC (28,4),
		SUMMA NUMERIC (28,4),
		SUMMA_OB NUMERIC (28,4),
		OBJECT INT,
		NAME_OPER VARCHAR(254),
		LEDGER_JOURNAL INT,
		AP INT,
		SEP INT,
		KBK_REST INT,
		KBK1 INT,
		KBK2 INT,
		SGU1 INT,
		SGU2 INT,
		INDATE	DATETIME,
		ADD_REC TINYINT,
		DOC_CODE	VARCHAR (30),	
		LINK_DOC	INT,
		LINK_G2		INT
		)

	IF LEN (@strBUFFER_NAME_ACCOUNT)  = 0
		INSERT INTO @TAB_OBOROT
		SELECT 1, NUMBER, 
			DATE,
			DATE_PROV,
			DATE_SORT,
			CASE
				WHEN ISNULL (SA1.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (SA1.LINK_SELF, SA1.LINK)
				ELSE SA1.LINK
			END,
			CASE
				WHEN ISNULL (D_SA.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (D_SA.LINK_SELF, DT)
				ELSE DT
			END,
			CASE
				WHEN ISNULL (K_SA.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (K_SA.LINK_SELF, KT)
				ELSE KT
			END,
			0, 0,	/* --- ВХОДЯЩИЕ ОСТАТКИ --- */
			CASE
				WHEN (JO1 = @intLINK_JO AND JO2 = @intLINK_JO 
					AND D_SA.S_ACTIVE = 1 AND K_SA.S_ACTIVE = 1) THEN 0
				WHEN (JO1 = @intLINK_JO AND D_SA.S_ACTIVE = 1) THEN SUMMA
				WHEN (JO2 = @intLINK_JO AND K_SA.S_ACTIVE = 1) THEN -SUMMA 
				ELSE 0
			END,
			CASE
				WHEN (JO1 = @intLINK_JO AND JO2 = @intLINK_JO 
					AND D_SA.S_PASSIVE = 1 AND K_SA.S_PASSIVE = 1) THEN 0
				WHEN (JO2 = @intLINK_JO AND K_SA.S_PASSIVE = 1) THEN SUMMA
				WHEN (JO1 = @intLINK_JO AND D_SA.S_PASSIVE = 1) THEN -SUMMA 
				ELSE 0
			END,
			CASE
				WHEN JO1 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			CASE
				WHEN JO2 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			0, 0,	/* --- ИСХОДЯЩИЕ ОСТАТКИ --- */
			SUMMA,
			CASE
				WHEN DT = KT THEN 0
				WHEN (ACCOUNT = KT AND K_SA.S_ACTIVE = 1)
					OR (ACCOUNT = DT AND D_SA.S_PASSIVE = 1) THEN -SUMMA
				ELSE SUMMA
			END,
			OBJECT,
			NAME_OPER,
			LEDGER_JOURNAL,
			AP = CASE
					WHEN JO1 = @intLINK_JO THEN COALESCE (AP_DB, AP_KT, 0) 
					WHEN JO2 = @intLINK_JO THEN COALESCE (AP_KT, AP_DB, 0) 
					ELSE COALESCE (AP_DB, AP_KT, 0) 
				END,
			SEP = CASE
					WHEN @intINIT_SEPARATOR = 1 THEN
						CASE
							WHEN JO1 = @intLINK_JO THEN COALESCE (SEP_DB, SEP_KT, 0) 
							WHEN JO2 = @intLINK_JO THEN COALESCE (SEP_KT, SEP_DB, 0) 
							ELSE COALESCE (SEP_DB, SEP_KT, 0) 
						END
					ELSE 0
			END,
			CASE
				WHEN JO1 = @intLINK_JO AND @intPRN_KBK = 1 THEN ISNULL(KBK1, 0)
				WHEN JO2 = @intLINK_JO AND @intPRN_KBK = 1 THEN ISNULL(KBK2, 0)
				ELSE 0
			END,
			ISNULL(KBK1, 0) AS KBK1, 
			ISNULL(KBK2, 0) AS KBK2,
			ISNULL(SGU1, 0) AS SGU1, 
			ISNULL(SGU2, 0) AS SGU2,
			CASE
				WHEN JO1 = @intLINK_JO THEN COALESCE (INDATE1, INDATE2)
				WHEN JO2 = @intLINK_JO THEN COALESCE (INDATE2, INDATE1)
				ELSE COALESCE (INDATE1, INDATE2)
			END,
			T1.ADD_REC,
			T1.DOC_CODE,
			T1.LINK_DOC,
			T1.LINK_G2
		FROM dbo.BK_GetTableOborotForJOByPeriod (@dDATE_START, @dDATE_END, DEFAULT, @intLINK_JO, DEFAULT, @intGRP_DATE) T1
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA1 ON (SA1.LINK = ACCOUNT)
		LEFT OUTER JOIN dbo.S_ACCOUNTS D_SA ON (D_SA.LINK = DT)
		LEFT OUTER JOIN dbo.S_ACCOUNTS K_SA ON (K_SA.LINK = KT)
		WHERE (@intPRN_SVOD_ZB = 1 OR DEP_LINK = @intORG_LINK)
			AND (@cSOURCE = ''
				OR (@cSOURCE <> '' AND (D_SA.cSOURCE = @cSOURCE OR K_SA.cSOURCE = @cSOURCE)))
			AND (ISNULL (KBK1, 0) IN (SELECT LINK_KBK FROM @TAB_KBK)
				OR ISNULL (KBK2, 0) IN (SELECT LINK_KBK FROM @TAB_KBK))
	ELSE
		INSERT INTO @TAB_OBOROT
		SELECT 1, NUMBER, 
			DATE, 
			DATE_PROV,
			DATE_SORT,
			CASE
				WHEN ISNULL (SA1.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (SA1.LINK_SELF, SA1.LINK)
				ELSE SA1.LINK
			END,
			CASE
				WHEN ISNULL (D_SA.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (D_SA.LINK_SELF, DT)
				ELSE DT
			END,
			CASE
				WHEN ISNULL (K_SA.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (K_SA.LINK_SELF, KT)
				ELSE KT
			END,
			0, 0,	/* --- ВХОДЯЩИЕ ОСТАТКИ --- */
			CASE
				WHEN JO1 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			CASE
				WHEN JO2 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			CASE
				WHEN JO1 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			CASE
				WHEN JO2 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			0, 0,	/* --- ИСХОДЯЩИЕ ОСТАТКИ --- */
			SUMMA, 
			CASE
				WHEN DT = KT THEN 0
				WHEN (ACCOUNT = KT AND K_SA.S_ACTIVE = 1)
					OR (ACCOUNT = DT AND D_SA.S_PASSIVE = 1) THEN -SUMMA
				ELSE SUMMA
			END,
			OBJECT,
			NAME_OPER,
			LEDGER_JOURNAL,
			AP = CASE
					WHEN JO1 = @intLINK_JO THEN COALESCE (AP_DB, AP_KT, 0) 
					WHEN JO2 = @intLINK_JO THEN COALESCE (AP_KT, AP_DB, 0) 
					ELSE COALESCE (AP_DB, AP_KT, 0) 
				END,
			SEP = CASE
					WHEN @intINIT_SEPARATOR = 1 THEN
						CASE
							WHEN JO1 = @intLINK_JO THEN COALESCE (SEP_DB, SEP_KT, 0) 
							WHEN JO2 = @intLINK_JO THEN COALESCE (SEP_KT, SEP_DB, 0) 
							ELSE COALESCE (SEP_DB, SEP_KT, 0) 
						END
					ELSE 0
			END,
			CASE
				WHEN JO1 = @intLINK_JO  AND @intPRN_KBK = 1 THEN ISNULL(KBK1, 0)
				WHEN JO2 = @intLINK_JO  AND @intPRN_KBK = 1 THEN ISNULL(KBK2, 0)
				ELSE 0
			END,
			ISNULL(KBK1, 0) AS KBK1, 
			ISNULL(KBK2, 0) AS KBK2,
			ISNULL(SGU1, 0) AS SGU1, 
			ISNULL(SGU2, 0) AS SGU2,
			CASE
				WHEN JO1 = @intLINK_JO THEN COALESCE (INDATE1, INDATE2)
				WHEN JO2 = @intLINK_JO THEN COALESCE (INDATE2, INDATE1)
				ELSE COALESCE (INDATE1, INDATE2)
			END,
			T1.ADD_REC,
			T1.DOC_CODE,
			T1.LINK_DOC,
			T1.LINK_G2
		FROM dbo.BK_GetTableOborotForJOByPeriod (@dDATE_START, @dDATE_END, DEFAULT, @intLINK_JO, DEFAULT, @intGRP_DATE) T1
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA1 ON (SA1.LINK = T1.ACCOUNT)
		LEFT OUTER JOIN dbo.S_ACCOUNTS D_SA ON (D_SA.LINK = T1.DT)
		LEFT OUTER JOIN dbo.S_ACCOUNTS K_SA ON (K_SA.LINK = T1.KT)
		WHERE (@intPRN_SVOD_ZB = 1 OR DEP_LINK = @intORG_LINK)
			AND (T1.DT IN (SELECT LINK FROM dbo.BufferGetTableByID (@strBUFFER_NAME_ACCOUNT))
				OR T1.KT IN (SELECT LINK FROM dbo.BufferGetTableByID (@strBUFFER_NAME_ACCOUNT)))
			AND (ISNULL (KBK1, 0) IN (SELECT LINK_KBK FROM @TAB_KBK)
				OR ISNULL (KBK2, 0) IN (SELECT LINK_KBK FROM @TAB_KBK))

	/* --- ОБОРОТЫ В ГЛАВНУЮ КНИГУ --- */
	DECLARE @TAB_OBOROT_GK TABLE (DT INT, KBK1 INT, SGU1 INT,
			KT INT, KBK2 INT, SGU2 INT,
			SUMMA NUMERIC (28,4))

	IF ISNULL (@intTypeOb_GK, 0) = 0
	BEGIN	--- Группировка оборотов для ГК счетам ---
		INSERT INTO @TAB_OBOROT_GK
		SELECT DT, KBK1, SGU1,
			0, 0, 0,
			D_SUM
		FROM (SELECT D.DT,
			CASE 
				WHEN @intPRN_KBK = 1 THEN D.KBK1
				ELSE 0
			END	AS KBK1,
			CASE 
				WHEN @intPRN_SGU = 1 THEN D.SGU1
				ELSE 0
			END	AS SGU1,
			SUM (D.SUMMA) AS D_SUM
			FROM @TAB_OBOROT D
			INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = D.AP)
			INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = D.SEP)
			WHERE D.LEDGER_JOURNAL = @intLINK_JO
				AND D.ADD_REC = 0
			GROUP BY D.DT,
				CASE 
					WHEN @intPRN_KBK = 1 THEN D.KBK1
					ELSE 0
				END,
				CASE 
					WHEN @intPRN_SGU = 1 THEN D.SGU1
					ELSE 0
				END
				) DT
		UNION ALL
		SELECT 0, 0, 0,
			KT, KBK2, SGU2,
			K_SUM
		FROM (SELECT K.KT,
			CASE 
				WHEN @intPRN_KBK = 1 THEN K.KBK2
				ELSE 0
			END	AS KBK2,
			CASE 
				WHEN @intPRN_SGU = 1 THEN K.SGU2
				ELSE 0
			END	AS SGU2,
			SUM (K.SUMMA) AS K_SUM
			FROM @TAB_OBOROT K
			INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = K.AP)
			INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = K.SEP)
			WHERE K.LEDGER_JOURNAL = @intLINK_JO
				AND K.ADD_REC = 0
			GROUP BY K.KT,
				CASE 
					WHEN @intPRN_KBK = 1 THEN K.KBK2
					ELSE 0
				END,
				CASE 
					WHEN @intPRN_SGU = 1 THEN K.SGU2
					ELSE 0
				END
				) KT
		
		SET @intROWCOUNT = @@ROWCOUNT
	END
	ELSE		
	BEGIN		--- Группировка оборотов для ГК проводкам ---
		INSERT INTO @TAB_OBOROT_GK
		SELECT DT, KBK1, SGU1,
			KT, KBK2, SGU2,
			SUM_GK
		FROM (SELECT OB.DT,
			CASE 
				WHEN @intPRN_KBK = 1 THEN OB.KBK1
				ELSE 0
			END	AS KBK1,
			CASE 
				WHEN @intPRN_SGU = 1 THEN OB.SGU1
				ELSE 0
			END	AS SGU1,
			OB.KT,
			CASE 
				WHEN @intPRN_KBK = 1 THEN OB.KBK2
				ELSE 0
			END	AS KBK2,
			CASE 
				WHEN @intPRN_SGU = 1 THEN OB.SGU2
				ELSE 0
			END	AS SGU2,
			SUM (OB.SUMMA) AS SUM_GK
			FROM @TAB_OBOROT OB
			INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = OB.AP)
			INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = OB.SEP)
			WHERE OB.LEDGER_JOURNAL = @intLINK_JO
				AND OB.ADD_REC = 0
			GROUP BY OB.DT,
				CASE 
					WHEN @intPRN_KBK = 1 THEN OB.KBK1
					ELSE 0
				END,
				CASE 
					WHEN @intPRN_SGU = 1 THEN OB.SGU1
					ELSE 0
				END,
				OB.KT,
				CASE 
					WHEN @intPRN_KBK = 1 THEN OB.KBK2
					ELSE 0
				END,
				CASE 
					WHEN @intPRN_SGU = 1 THEN OB.SGU2
					ELSE 0
				END
				) GK
		
		SET @intROWCOUNT = @@ROWCOUNT
	END

	IF ISNULL (@intROWCOUNT, 0) = 0
		INSERT INTO @TAB_OBOROT_GK VALUES (0, 0, 0, 0, 0, 0, 0)

	/* --- ВЫЧИСЛЯЕМ ОСТАТКИ --- */
	--- Таблица входящих остатков ---
	DECLARE @BEGIN_REST TABLE (ACCOUNT INT, AP INT, SEP INT, KBK INT, --INDATE DATETIME, 
			D_SUMMA NUMERIC (28,4), K_SUMMA NUMERIC (28,4))
	--- Таблица исходящих остатков ---
	DECLARE @END_REST TABLE (ACCOUNT INT, AP INT, SEP INT, KBK INT, --INDATE DATETIME, 
			D_SUMMA NUMERIC (28,4), K_SUMMA NUMERIC (28,4))
	--- Сводная таблица ---
	DECLARE @TAB_REST TABLE (ACCOUNT INT, AP INT, SEP INT, KBK INT, 
				DIN_SUMMA NUMERIC (28,4), KIN_SUMMA NUMERIC (28,4),
				DOUT_SUMMA NUMERIC (28,4), KOUT_SUMMA NUMERIC (28,4))
	
	--- Таблица расчета остатков по дням ---
	DECLARE @REST_BY_DATE TABLE (DATE_PROV DATETIME,
			DIN_SUMMA NUMERIC (28,4), KIN_SUMMA NUMERIC (28,4),
			DOUT_SUMMA NUMERIC (28,4), KOUT_SUMMA NUMERIC (28,4))

	IF @intGRP_DATE = 1 OR @intGRP_DATE = 2
	BEGIN
		--!!! Расчет остатков по дням !!!-- 
		DECLARE #CURS CURSOR LOCAL STATIC
			FOR SELECT DATE_SORT
				FROM @TAB_OBOROT
				WHERE ADD_REC = 0
					AND DATE_SORT IS NOT NULL
				GROUP BY DATE_SORT
				ORDER BY DATE_SORT

		OPEN #CURS
		FETCH FROM #CURS
			INTO @CUR_DATE_PROV
		WHILE @@FETCH_STATUS = 0
		BEGIN

--select @CUR_DATE_PROV, @DATE_PROV_NEXT

			IF @CUR_DATE_PROV = @DATE_PROV_NEXT	-- На предыдущей итерации пощитали
			BEGIN
				SELECT @DIN_SUM_DAY	= @DOUT_SUM_DAY,
					@KIN_SUM_DAY	= @KOUT_SUM_DAY
			END
			ELSE
			BEGIN
				SELECT @DIN_SUM_DAY	= 0, @KIN_SUM_DAY	= 0

				SELECT @DIN_SUM_DAY = SUM (R1.D_SUMMA),
					@KIN_SUM_DAY = SUM (R1.K_SUMMA)
				FROM dbo.BK_GetTableRestForJOByDate (@CUR_DATE_PROV, @intLINK_JO,
									@intINIT_SEPARATOR,
									@intNO_USER_ACCT,
									1,
									DEFAULT) R1
				INNER JOIN @TAB_ACCOUNTS T1 ON (T1.ACCOUNT = R1.ACCOUNT)
				INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = R1.AP)
				INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R1.SEP)
				INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = R1.KBK)
				WHERE @intPRN_SVOD_ZB = 1 OR R1.DEP_LINK = @intORG_LINK
			END

			SELECT @DOUT_SUM_DAY	= 0, @KOUT_SUM_DAY	= 0

			SET @DATE_PROV_NEXT = DATEADD (DAY, 1, @CUR_DATE_PROV)


			SELECT @DOUT_SUM_DAY = SUM (R1.D_SUMMA),
				@KOUT_SUM_DAY	= SUM (R1.K_SUMMA)
			FROM dbo.BK_GetTableRestForJOByDate (@DATE_PROV_NEXT, @intLINK_JO,
								@intINIT_SEPARATOR,
								@intNO_USER_ACCT,
								1,
								DEFAULT) R1
			INNER JOIN @TAB_ACCOUNTS T1 ON (T1.ACCOUNT = R1.ACCOUNT)
			INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = R1.AP)
			INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R1.SEP)
			INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = R1.KBK)
			WHERE @intPRN_SVOD_ZB = 1 OR R1.DEP_LINK = @intORG_LINK
			
			INSERT INTO @REST_BY_DATE (DATE_PROV, DIN_SUMMA, KIN_SUMMA, DOUT_SUMMA, KOUT_SUMMA)
			SELECT @CUR_DATE_PROV, @DIN_SUM_DAY, @KIN_SUM_DAY, @DOUT_SUM_DAY, @KOUT_SUM_DAY

			FETCH NEXT FROM #CURS
				INTO @CUR_DATE_PROV
		END
		CLOSE #CURS
		DEALLOCATE #CURS
	END
	ELSE
	BEGIN
		/* --- Входящие --- */
		INSERT INTO @BEGIN_REST
		SELECT
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE
					CASE WHEN @intNO_USER_ACCT = 1 AND ISNULL (SA.cUSER, '') <> ''
								THEN ISNULL (SA.LINK_SELF, SA.LINK)
						ELSE R1.ACCOUNT END
			END,
			CASE 
				WHEN @intFACTOR_TOTAL = 1 THEN R1.AP
				ELSE 0
			END,
			R1.SEP,
			CASE 
				WHEN @intPRN_KBK_REST = 1 THEN ISNULL (R1.KBK, 0)
				ELSE 0
			END,
			SUM (R1.D_SUMMA),
			SUM (R1.K_SUMMA)
		FROM dbo.BK_GetTableRestForJOByDate (@dDATE_START, @intLINK_JO,
							@intINIT_SEPARATOR,
							0,
--							@intNO_USER_ACCT,
							1,
							DEFAULT) R1
		INNER JOIN @TAB_ACCOUNTS T1 ON (T1.ACCOUNT = R1.ACCOUNT)
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
		INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = R1.AP)
		INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R1.SEP)
		INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = R1.KBK)
		WHERE @intPRN_SVOD_ZB = 1 OR R1.DEP_LINK = @intORG_LINK
		GROUP BY
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE
					CASE WHEN @intNO_USER_ACCT = 1 AND ISNULL (SA.cUSER, '') <> ''
								THEN ISNULL (SA.LINK_SELF, SA.LINK)
						ELSE R1.ACCOUNT END
			END,
			CASE 
				WHEN @intFACTOR_TOTAL = 1 THEN R1.AP
				ELSE 0
			END,
			R1.SEP,
			CASE 
				WHEN @intPRN_KBK_REST = 1 THEN ISNULL (R1.KBK, 0)
				ELSE 0
			END
		HAVING SUM (R1.D_SUMMA) <> 0 OR SUM (R1.K_SUMMA) <> 0

		/* --- Исходящие --- */
		SET @dDATE_NEXT = DATEADD (DAY, 1, @dDATE_END)
		
		INSERT INTO @END_REST
		SELECT 
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE
					CASE WHEN @intNO_USER_ACCT = 1 AND ISNULL (SA.cUSER, '') <> ''
								THEN ISNULL (SA.LINK_SELF, SA.LINK)
						ELSE R1.ACCOUNT END
			END,
			CASE 
				WHEN @intFACTOR_TOTAL = 1 THEN R1.AP
				ELSE 0
			END,
			R1.SEP,
			CASE 
				WHEN @intPRN_KBK_REST = 1 THEN ISNULL (R1.KBK, 0)
				ELSE 0
			END,
			SUM (R1.D_SUMMA),
			SUM (R1.K_SUMMA)
		FROM dbo.BK_GetTableRestForJOByDate (@dDATE_NEXT, @intLINK_JO,
							@intINIT_SEPARATOR,
							0,
--							@intNO_USER_ACCT,
							1,
							DEFAULT) R1
		INNER JOIN @TAB_ACCOUNTS T1 ON (T1.ACCOUNT = R1.ACCOUNT)
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
		INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = R1.AP)
		INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R1.SEP)
		INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = R1.KBK)
		WHERE @intPRN_SVOD_ZB = 1 OR R1.DEP_LINK = @intORG_LINK
		GROUP BY
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE
					CASE WHEN @intNO_USER_ACCT = 1 AND ISNULL (SA.cUSER, '') <> ''
								THEN ISNULL (SA.LINK_SELF, SA.LINK)
						ELSE R1.ACCOUNT END
			END,
			CASE 
				WHEN @intFACTOR_TOTAL = 1 THEN R1.AP
				ELSE 0
			END,
			R1.SEP,
			CASE 
				WHEN @intPRN_KBK_REST = 1 THEN ISNULL (R1.KBK, 0)
				ELSE 0
			END
		HAVING SUM (R1.D_SUMMA) <> 0 OR SUM (R1.K_SUMMA) <> 0
	
		INSERT INTO @TAB_REST (ACCOUNT, AP, SEP, KBK)
		SELECT ACCOUNT, AP, SEP, KBK
		FROM @BEGIN_REST
		UNION
		SELECT ACCOUNT, AP, SEP, KBK
		FROM @END_REST
	
		UPDATE @TAB_REST SET DIN_SUMMA = ISNULL (BR.D_SUMMA, 0),
					KIN_SUMMA = ISNULL (BR.K_SUMMA, 0),
					DOUT_SUMMA = ISNULL (ER.D_SUMMA, 0),
					KOUT_SUMMA = ISNULL (ER.K_SUMMA, 0)
		FROM @TAB_REST R1
		LEFT OUTER JOIN @BEGIN_REST BR ON (BR.ACCOUNT = R1.ACCOUNT
							AND BR.AP = R1.AP
							AND BR.SEP = R1.SEP
							AND BR.KBK = R1.KBK)
		LEFT OUTER JOIN @END_REST ER ON (ER.ACCOUNT = R1.ACCOUNT
							AND ER.AP = R1.AP
							AND ER.SEP = R1.SEP
							AND ER.KBK = R1.KBK)
	END

	/* --- Наименование разделителя --- */
	SELECT @strSEPARATOR_TITLE = S_TITLE FROM ANALIT WHERE CODE_AP = @strSeparator_Name
	SET @strSEPARATOR_TITLE = CASE
					WHEN @intINIT_SEPARATOR = 1 AND @strSeparator_Name = 'INDATE' THEN 'Дата: '
					WHEN @intINIT_SEPARATOR = 0 OR ISNULL (@strSEPARATOR_TITLE, '') = '' THEN ''
					ELSE RTRIM (@strSEPARATOR_TITLE) + ': '
				END
	/* --- --- */
	SET @strDATE_START = ISNULL (CONVERT (VARCHAR (10), @dDATE_START, 104), '')
	SET @strDATE_END = ISNULL (CONVERT (VARCHAR (10), @dDATE_END, 104), '')
	SET @strDATE_NEXT = ISNULL (CONVERT (VARCHAR (10), @dDATE_NEXT, 104), '')

	/* --- Расчет для вывода итогов по показателям и субсчетам --- */
	IF @intFACTOR_TOTAL = 1 OR @intACCOUNT_TOTAL = 1
	BEGIN
		UPDATE @TAB_OBOROT SET DIN_SUM = TR.DIN_SUMMA,
					KIN_SUM = TR.KIN_SUMMA,
					DOUT_SUM = TR.DOUT_SUMMA,
					KOUT_SUM = TR.KOUT_SUMMA
		FROM @TAB_OBOROT OB
		INNER JOIN @TAB_REST TR ON (((@intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1)
						OR (TR.ACCOUNT = OB.ACCOUNT))
					AND ((@intFACTOR_TOTAL = 1 AND TR.AP = OB.AP)
						OR (@intFACTOR_TOTAL = 0))
					AND TR.SEP = OB.SEP)
		
		INSERT INTO @TAB_OBOROT (ORDERS, ACCOUNT, AP, SEP,
			DIN_SUM, KIN_SUM,
			DT_SUMMA, KT_SUMMA,
			DOUT_SUM, KOUT_SUM,
			DOC_CODE,
			LINK_DOC,
			LINK_G2)
		SELECT 1,
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE T1.ACCOUNT
			END,
			CASE
				WHEN @intFACTOR_TOTAL = 1 THEN T1.AP
				ELSE 0
			END,
			T1.SEP,
			T1.DIN_SUMMA, T1.KIN_SUMMA,
			0, 0,
			T1.DOUT_SUMMA, T1.KOUT_SUMMA,
			'', 0, 0
		FROM @TAB_REST T1
		WHERE NOT EXISTS (SELECT T2.*
					FROM @TAB_OBOROT T2
					WHERE ((@intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1)
							OR (T2.ACCOUNT = T1.ACCOUNT))
						AND ((@intFACTOR_TOTAL = 1 AND T2.AP = T1.AP)
							OR (@intFACTOR_TOTAL = 0))
						AND T2.SEP = T1.SEP)
	END

	/* --- Результаты для вывода --- */
	DECLARE @TAB_RES TABLE (ORDERS	INT, ACCOUNT INT, AP INT, SEP INT, 
		JO_CODE VARCHAR (20), JO_NAME VARCHAR (254),
		TOTAL_DATE VARCHAR (254),
		DATE_START VARCHAR (10), DATE_END VARCHAR (10), DATE_NEXT VARCHAR (10), 

		DEP_OKPO VARCHAR (20), DEP_NAME VARCHAR (254),
		UCHR_NAME VARCHAR (254), BUDG_NAME VARCHAR (254),

		DOC_NUM VARCHAR (50),
		DOC_DATE VARCHAR (10), dDOC_DATE DATETIME,
		DATE_PROV VARCHAR (10), dDATE_PROV DATETIME,
		DOC_NAME VARCHAR (254),
		ACT_NAME VARCHAR (254), SEP_CODE VARCHAR (30), SEP_NAME VARCHAR (254), NAME_OPER VARCHAR (254),
		DT_CODE VARCHAR (60), KT_CODE VARCHAR (60),
		ACCT_CODE VARCHAR (60),
		DT_LONG  VARCHAR (60), KT_LONG  VARCHAR (60),
	 	SUMMA NUMERIC (28,4), SUMMA_OB NUMERIC (28,4),
		DT_SUMMA NUMERIC (28,4),
		KT_SUMMA NUMERIC (28,4),
		DT_SUM1 NUMERIC (28,4),
		KT_SUM1 NUMERIC (28,4),
		DIC_NAME VARCHAR (60),
		DIN_SUM NUMERIC (28,4), KIN_SUM NUMERIC (28,4), 
		DOUT_SUM NUMERIC (28,4), KOUT_SUM NUMERIC (28,4), 
		FDIN_SUM NUMERIC (28,4), FKIN_SUM NUMERIC (28,4), 
		FDOUT_SUM NUMERIC (28,4), FKOUT_SUM NUMERIC (28,4),
		TDIN_SUM NUMERIC (28,4), TKIN_SUM NUMERIC (28,4), 
		TDOUT_SUM NUMERIC (28,4), TKOUT_SUM NUMERIC (28,4),
		DIN_DAY NUMERIC (28,4), KIN_DAY NUMERIC (28,4), 
		DOUT_DAY NUMERIC (28,4), KOUT_DAY NUMERIC (28,4), 
		OBJ_CODE VARCHAR (30),	
		LINK_DOC INT,
		LINK_G2	INT,
		JO_GK_LN INT,
		JO_GK_CD VARCHAR (10),
		DATE_SORT DATETIME,
		cDATE_SORT VARCHAR (10)
	)

	IF @intGrp_Prov = 1	-- Группировка проводок --
		INSERT INTO @TAB_RES
		SELECT JO.ORDERS,
			JO.ACCOUNT,
			0, JO.SEP,
			@strJO_NUMBER AS JO_CODE,
			@strJO_Name AS JO_NAME,
			@strTXT_TOTAL_DATE AS TOTAL_DATE,
			@strDATE_START AS DATE_START,
			@strDATE_END AS DATE_END,
			@strDATE_NEXT,
			ISNULL (@strORG_OKPO, '') AS DEP_OKPO,
			ISNULL (@strORG_NAME, '') AS DEP_NAME,
			@UCHR_NAME,
			@BUDG_NAME,

			'',	--JO.NUMBER AS DOC_NUM,
			CONVERT(VARCHAR(10), JO.DATE, 104) AS DOC_DATE,
			JO.DATE, 
			'', -- CONVERT(VARCHAR(10), JO.DATE_PROV, 104),
			NULL, -- JO.DATE_PROV, 
			'', --dbo.JurnalProvGetDocKind (JO.LINK_DOC, JO.OBJECT)
			--	+ ISNULL (' (пров.' + CONVERT (VARCHAR (10), JO.DATE_PROV, 104) + ')', '') AS DOC_NAME,
			ACT_NAME = '', --CASE 
					--WHEN @strActivities_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
					--WHEN @strActivities_Name IN ('EKR', 'SGU', 'KBK') THEN AP.AP_CODE
					--ELSE AP.AP_NAME
				--END,
			SEP_CODE = CASE 
					WHEN @strSeparator_Name = 'INDATE' THEN ''
					ELSE SEP.SEP_CODE
				END,
			SEP_NAME = CASE 
					WHEN @strSeparator_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
					ELSE SEP.SEP_NAME
				END,	
			'', --NAME_OPER,
			DT_CODE = ISNULL (SA1.CODE, ''),
			KT_CODE = ISNULL (SA2.CODE, ''),
			ACCT_CODE = ISNULL (SA3.CODE, ''),
			dbo.BK_GetAcctFullCode1 (JO.DT, JO.KBK1, JO.SGU1, @intPRN_KBK, @intPRN_SGU, @dDATE_END) AS DT_LONG,
			dbo.BK_GetAcctFullCode1 (JO.KT, JO.KBK2, JO.SGU2, @intPRN_KBK, @intPRN_SGU, @dDATE_END) AS KT_LONG,
			SUM (JO.SUMMA),
			SUM (JO.SUMMA_OB),
			SUM (JO.DT_SUMMA),
			SUM (JO.KT_SUMMA),
			SUM (JO.DT_SUM1),
			SUM (JO.KT_SUM1),
			@strSEPARATOR_TITLE AS DIC_NAME,
			DIN_SUM, KIN_SUM,
			DOUT_SUM, KOUT_SUM,
			0, 0, 0, 0,
			0, 0, 0, 0,
			RD.DIN_SUMMA, RD.KIN_SUMMA,
			RD.DOUT_SUMMA, RD.KOUT_SUMMA,
			'', --JO.DOC_CODE, 
			0, --JO.LINK_DOC,
			0, --JO.LINK_G2,
			0, --JO.LEDGER_JOURNAL,
			'', --ISNULL (JO_GK.CODE, ''),
			JO.DATE_SORT,
			CONVERT (VARCHAR (10), JO.DATE_SORT, 104)
		FROM @TAB_OBOROT JO
		INNER JOIN @TAB_ACTIVITIES AP ON (AP.LINK_AP = JO.AP )
		INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = JO.SEP)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA1 ON SA1.LINK = JO.DT
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA2 ON SA2.LINK = JO.KT
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA3 ON SA3.LINK = JO.ACCOUNT
		LEFT OUTER JOIN @REST_BY_DATE RD ON (RD.DATE_PROV = JO.DATE_PROV)
		LEFT OUTER JOIN dbo.JOURNAL_OPERATION JO_GK ON (JO_GK.LINK = JO.LEDGER_JOURNAL)
		GROUP BY JO.ORDERS, JO.ACCOUNT, JO.SEP, JO.[DATE], -- JO.DATE_PROV,
			CASE 
				WHEN @strSeparator_Name = 'INDATE' THEN ''
				ELSE SEP.SEP_CODE
			END,
			CASE 
				WHEN @strSeparator_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
				ELSE SEP.SEP_NAME
			END,	
			ISNULL (SA1.CODE, ''), ISNULL (SA2.CODE, ''), ISNULL (SA3.CODE, ''), JO.SGU1, JO.KBK1, JO.DT,
			JO.SGU2, JO.KBK2, JO.KT, 
			RD.DIN_SUMMA, RD.KIN_SUMMA, RD.DOUT_SUMMA, RD.KOUT_SUMMA,
			DIN_SUM, KIN_SUM, DOUT_SUM, KOUT_SUM, 
			JO.DATE_SORT
		ORDER BY 6, JO.DATE_SORT --, JO.REC_NO
	ELSE		--- @intGrp_Prov = 0	-- Проводки полностью --
		INSERT INTO @TAB_RES
		SELECT JO.ORDERS,
			JO.ACCOUNT,
			JO.AP, JO.SEP,
			@strJO_NUMBER AS JO_CODE,
			@strJO_Name AS JO_NAME,
			@strTXT_TOTAL_DATE AS TOTAL_DATE,
			@strDATE_START AS DATE_START,
			@strDATE_END AS DATE_END,
			@strDATE_NEXT,
			ISNULL (@strORG_OKPO, '') AS DEP_OKPO,
			ISNULL (@strORG_NAME, '') AS DEP_NAME,
			@UCHR_NAME,
			@BUDG_NAME,

			JO.NUMBER AS DOC_NUM,
			CONVERT(VARCHAR(10),JO.DATE,104) AS DOC_DATE,
			JO.DATE, 
			CONVERT(VARCHAR(10), JO.DATE_PROV, 104),
			JO.DATE_PROV, 
			dbo.JurnalProvGetDocKind (JO.LINK_DOC, JO.OBJECT)
				+ ISNULL (' (пров.' + CONVERT (VARCHAR (10), JO.DATE_PROV, 104) + ')', '') AS DOC_NAME,
			ACT_NAME = CASE 
					WHEN @strActivities_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
					WHEN @strActivities_Name IN ('EKR', 'SGU', 'KBK') THEN AP.AP_CODE
					ELSE AP.AP_NAME
				END,
			SEP_CODE = CASE 
					WHEN @strSeparator_Name = 'INDATE' THEN ''
					ELSE SEP.SEP_CODE
				END,
			SEP_NAME = CASE 
					WHEN @strSeparator_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
					ELSE SEP.SEP_NAME
				END,	
			NAME_OPER,
			DT_CODE = ISNULL (SA1.CODE, ''),
			KT_CODE = ISNULL (SA2.CODE, ''),
			ACCT_CODE = ISNULL (SA3.CODE, ''),
			dbo.BK_GetAcctFullCode1 (JO.DT, JO.KBK1, JO.SGU1, @intPRN_KBK, @intPRN_SGU, @dDATE_END) AS DT_LONG,
			dbo.BK_GetAcctFullCode1 (JO.KT, JO.KBK2, JO.SGU2, @intPRN_KBK, @intPRN_SGU, @dDATE_END) AS KT_LONG,
			JO.SUMMA,
			JO.SUMMA_OB,
			JO.DT_SUMMA,
			JO.KT_SUMMA,
			JO.DT_SUM1,
			JO.KT_SUM1,
			@strSEPARATOR_TITLE AS DIC_NAME,
			DIN_SUM, KIN_SUM,
			DOUT_SUM, KOUT_SUM,
			0, 0, 0, 0,
			0, 0, 0, 0,
			RD.DIN_SUMMA, RD.KIN_SUMMA,
			RD.DOUT_SUMMA, RD.KOUT_SUMMA,
			JO.DOC_CODE, 
			JO.LINK_DOC,
			JO.LINK_G2,
			JO.LEDGER_JOURNAL,
			ISNULL (JO_GK.CODE, ''),
			JO.DATE_SORT,
			CONVERT (VARCHAR (10), JO.DATE_SORT, 104)
		FROM @TAB_OBOROT JO
		INNER JOIN @TAB_ACTIVITIES AP ON (AP.LINK_AP = JO.AP )
		INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = JO.SEP)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA1 ON SA1.LINK = JO.DT
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA2 ON SA2.LINK = JO.KT
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA3 ON SA3.LINK = JO.ACCOUNT
		LEFT OUTER JOIN @REST_BY_DATE RD ON (RD.DATE_PROV = JO.DATE_PROV)
		LEFT OUTER JOIN dbo.JOURNAL_OPERATION JO_GK ON (JO_GK.LINK = JO.LEDGER_JOURNAL)
		ORDER BY 6, JO.DATE_SORT, JO.REC_NO

	/* --- ОСТАТКИ --- */
	INSERT INTO @TAB_RES 
	SELECT 0,
		ACCOUNT, 0, SEP,
		@strJO_NUMBER AS JO_CODE,
		@strJO_Name AS JO_NAME,
		@strTXT_TOTAL_DATE AS TOTAL_DATE,
		@strDATE_START AS DATE_START,
		@strDATE_END AS DATE_END,
		@strDATE_NEXT,
		ISNULL (@strORG_OKPO, '') AS DEP_OKPO,
		ISNULL (@strORG_NAME, '') AS DEP_NAME,
		@UCHR_NAME,
		@BUDG_NAME,
		'',
		'',
		NULL,
		'',
		NULL,
		'',
		'',
		SEP.SEP_CODE,
		SEP.SEP_NAME,
		dbo.BK_GetAcctFullCode1 (R.ACCOUNT, R.KBK, 0, @intPRN_KBK_REST, @intPRN_SGU, @dDATE_END),
		'','',
		'',
		'', '',
		0, 0,
		0, 0,
		0, 0,
		@strSEPARATOR_TITLE,
		D_SUMMA, K_SUMMA,
		0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		'', 0, 0,
		0, '',	-- ЖО для ГК --,
		NULL, ''
	FROM (SELECT S.ACCOUNT, S.KBK, S.SEP,
		SUM (D_SUMMA) AS D_SUMMA,
		SUM (K_SUMMA) AS K_SUMMA
		FROM @BEGIN_REST S
		GROUP BY S.ACCOUNT, S.KBK, S.SEP) R
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = R.ACCOUNT)
	INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R.SEP)
	WHERE R.D_SUMMA <> 0 OR R.K_SUMMA <> 0
		
	INSERT INTO @TAB_RES 
	SELECT 2,
		ACCOUNT, 0, SEP,
		@strJO_NUMBER AS JO_CODE,
		@strJO_Name AS JO_NAME,
		@strTXT_TOTAL_DATE AS TOTAL_DATE,
		@strDATE_START AS DATE_START,
		@strDATE_END AS DATE_END,
		@strDATE_NEXT,
		ISNULL (@strORG_OKPO, '') AS DEP_OKPO,
		ISNULL (@strORG_NAME, '') AS DEP_NAME,
		@UCHR_NAME,
		@BUDG_NAME,
		'',
		'',
		NULL,
		'',
		NULL,
		'',
		'',
		SEP.SEP_CODE,
		SEP.SEP_NAME,
		dbo.BK_GetAcctFullCode1 (R.ACCOUNT, R.KBK, 0, @intPRN_KBK_REST, @intPRN_SGU, @dDATE_END),
		'','',
		'',
		'', '',
		0, 0,
		0, 0,
		0, 0,
		@strSEPARATOR_TITLE,
		0, 0,
		D_SUMMA, K_SUMMA,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		'', 0, 0,
		0, '',		-- ЖО для ГК --
		NULL, ''
	FROM (SELECT S.ACCOUNT, S.KBK, S.SEP,
		SUM (D_SUMMA) AS D_SUMMA,
		SUM (K_SUMMA) AS K_SUMMA
		FROM @END_REST S
		GROUP BY S.ACCOUNT, S.KBK, S.SEP) R
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = R.ACCOUNT)
	INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R.SEP)
	WHERE R.D_SUMMA <> 0 OR R.K_SUMMA <> 0

--SELECT @intFACTOR_TOTAL, @intACCOUNT_TOTAL, @intGRP_DATE 
	IF @intFACTOR_TOTAL = 0 AND @intACCOUNT_TOTAL = 0
		IF @intGRP_DATE = 1 OR @intGRP_DATE = 2
			SELECT *,
				@intFACTOR_TOTAL AS FACT_TOTAL,
				@intACCOUNT_TOTAL AS ACCT_TOTAL,
				@intGRP_DATE AS GRP_DATE 
			FROM @TAB_RES
			WHERE ORDERS = 1
			ORDER BY SEP_CODE, SEP, DATE_SORT, ACCT_CODE, AP, NAME_OPER, DOC_NAME
		ELSE
			SELECT *,
				@intFACTOR_TOTAL AS FACT_TOTAL,
				@intACCOUNT_TOTAL AS ACCT_TOTAL
			FROM @TAB_RES
			ORDER BY SEP_CODE, SEP, ORDERS, dDOC_DATE, DOC_NAME, RIGHT ('0000000000' + DOC_NUM, 8), NAME_OPER 
	ELSE
	BEGIN

		SELECT @TDIN_SUM = SUM (DIN_SUMMA),
			@TKIN_SUM = SUM (KIN_SUMMA),
			@TDOUT_SUM = SUM (DOUT_SUMMA),
			@TKOUT_SUM = SUM (KOUT_SUMMA)
		FROM @TAB_REST

		IF @intTOTAL_MODE = 0
			UPDATE @TAB_RES SET	TDIN_SUM = ISNULL (@TDIN_SUM, 0),
						TKIN_SUM = ISNULL (@TKIN_SUM, 0),
						TDOUT_SUM = ISNULL (@TDOUT_SUM, 0),
						TKOUT_SUM = ISNULL (@TKOUT_SUM, 0),
						FDIN_SUM = ISNULL (T2.DIN_SUM, 0),
						FKIN_SUM = ISNULL (T2.KIN_SUM, 0),
						FDOUT_SUM = ISNULL (T2.DOUT_SUM, 0),
						FKOUT_SUM = ISNULL (T2.KOUT_SUM, 0)
			FROM @TAB_RES T1
			LEFT OUTER JOIN (SELECT AP, SEP,
						SUM (R.DIN_SUMMA) AS DIN_SUM,
						SUM (R.KIN_SUMMA) AS KIN_SUM,
						SUM (R.DOUT_SUMMA) AS DOUT_SUM,
						SUM (R.KOUT_SUMMA) AS KOUT_SUM
					FROM @TAB_REST R
					GROUP BY R.AP, R.SEP) AS T2
				ON T2.AP = T1.AP
					AND T2.SEP = T1.SEP
		ELSE
			UPDATE @TAB_RES SET	TDIN_SUM = ISNULL (@TDIN_SUM, 0),
						TKIN_SUM = ISNULL (@TKIN_SUM, 0),
						TDOUT_SUM = ISNULL (@TDOUT_SUM, 0),
						TKOUT_SUM = ISNULL (@TKOUT_SUM, 0),
						FDIN_SUM = ISNULL (T2.DIN_SUM, 0),
						FKIN_SUM = ISNULL (T2.KIN_SUM, 0),
						FDOUT_SUM = ISNULL (T2.DOUT_SUM, 0),
						FKOUT_SUM = ISNULL (T2.KOUT_SUM, 0)
			FROM @TAB_RES T1
			LEFT OUTER JOIN (SELECT ACCOUNT, SEP,
						SUM (R.DIN_SUMMA) AS DIN_SUM,
						SUM (R.KIN_SUMMA) AS KIN_SUM,
						SUM (R.DOUT_SUMMA) AS DOUT_SUM,
						SUM (R.KOUT_SUMMA) AS KOUT_SUM
					FROM @TAB_REST R
					GROUP BY R.ACCOUNT, R.SEP) AS T2
				ON T2.ACCOUNT = T1.ACCOUNT
					AND T2.SEP = T1.SEP

		IF @intFACTOR_TOTAL = 1 AND @intACCOUNT_TOTAL = 0
			SELECT *,
				@intFACTOR_TOTAL AS FACT_TOTAL,
				@intACCOUNT_TOTAL AS ACCT_TOTAL
			FROM @TAB_RES
			WHERE ORDERS = 1
			ORDER BY SEP_CODE, SEP, ACT_NAME, AP, dDOC_DATE, NAME_OPER, DOC_NAME
		ELSE
			IF @intFACTOR_TOTAL = 0 AND @intACCOUNT_TOTAL = 1
					SELECT *,
						@intFACTOR_TOTAL AS FACT_TOTAL,
						@intACCOUNT_TOTAL AS ACCT_TOTAL
					FROM @TAB_RES
					WHERE ORDERS = 1
					ORDER BY SEP_CODE, SEP, ACCT_CODE, AP, dDOC_DATE, NAME_OPER, DOC_NAME
			ELSE
				IF @intTOTAL_MODE = 0
					SELECT *,
						@intFACTOR_TOTAL AS FACT_TOTAL,
						@intACCOUNT_TOTAL AS ACCT_TOTAL
					FROM @TAB_RES 	
					WHERE ORDERS = 1
					ORDER BY SEP_CODE, SEP, ACT_NAME, AP, ACCT_CODE, dDOC_DATE, NAME_OPER, DOC_NAME
				ELSE
					SELECT *,
						@intFACTOR_TOTAL AS FACT_TOTAL,
						@intACCOUNT_TOTAL AS ACCT_TOTAL,
						@intTOTAL_MODE AS TOTAL_MODE
					FROM @TAB_RES 	
					WHERE ORDERS = 1
					ORDER BY SEP_CODE, SEP, ACCT_CODE, ACT_NAME, AP, dDOC_DATE, NAME_OPER, DOC_NAME
	END

	DECLARE @strGLBUH VARCHAR (254)
	SELECT @strGLBUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intORG_LINK, 'Главный бухгалтер')

	/* --- Обороты в ГК --- */
	SELECT
		ISNULL (dbo.BK_GetAcctFullCode1 (DT, KBK1, SGU1, @intPRN_KBK, @intPRN_SGU, @dDATE_END), '') AS DT_GK,
		ISNULL (dbo.BK_GetAcctFullCode1 (KT, KBK2, SGU2, @intPRN_KBK, @intPRN_SGU, @dDATE_END), '') AS KT_GK,
		SUMMA AS SUM_GK,
		@strGLBUH AS GLBUH
	FROM @TAB_OBOROT_GK
	LEFT JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = DT)
	ORDER BY ISNULL (SA.CODE, '9')

	/* --- Клеар буфер --- */
	EXEC dbo.BufferClear @strBUFFER_NAME_ACCOUNT
	EXEC dbo.BufferClear @strBUFFER_NAME_ACTIVE
	EXEC dbo.BufferClear @strBUFFER_NAME_SEPARATOR
	EXEC dbo.BufferClear @strBUFFER_NAME_KL_KBK
END





GO


GRANT EXECUTE ON dbo.[BK_PRINTREP_JO] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_ACCUM_VED1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_ACCUM_VED1]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE  PROCEDURE dbo.BK_REPORT_ACCUM_VED1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@intACCOUNT	INT,
	@intKBK 	INT,
	@strCODE_AP	VARCHAR (60),
	@intSORT_CODE	INT,
	@intDepGroup	INT,
	@cVal1 CHAR (1), @nOtborLink1	INT, /* Отбор субсчетов */
	@cVal2 CHAR (1) = '', @nOtborLink2 INT = 0, /* Отбор субсчетов */
	@cVal_KAU CHAR (1) = '', @nOtborKAU  INT = 0,	/* Отбор КАУ */
	@intKAU_GRP INT =0	/* Выводить подитоги по КАУ */
AS
BEGIN

	DECLARE	@varKSDEP_LINK	INT,
		@varKSDIC_EMP	INT,
		@varKSORGNAME	VARCHAR(254),
		@strDATE_NEXT	VARCHAR (10),
		@strREP_NAME	VARCHAR (254),
		@intPRN_KBK	TINYINT,
		@MORE_ACCT	INT

	SELECT  @varKSDEP_LINK = LINK,
		@varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (LINK)
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())

	SET @strDATE_NEXT = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSdDate2), 104)
	
	SET @intSORT_CODE = ISNULL (@intSORT_CODE, 0)
	SET @intKBK = ISNULL (@intKBK, 0)
	SET @intPRN_KBK = CASE 
				WHEN @intKBK = 0 THEN 0
				ELSE 1
			END

	SET @strCODE_AP = ISNULL (@strCODE_AP, '')

	IF @strCODE_AP <> 'DEP'
		SET @intDepGroup = 0

	--- Отбор субсчетов ---
	SET @intACCOUNT = ISNULL (@intACCOUNT, 0)
	DECLARE @ACCT_TABLE TABLE (LINK_ACCT INT)

	IF @intACCOUNT = 0	-- Счет не задан в параметрах отчета --
	BEGIN
		IF LEN (@cVal1) > 0	-- Задан фильтр отчета --
			INSERT INTO @ACCT_TABLE
			SELECT RECORD
			FROM OBJECT_VAR_ACCT
			WHERE LINK_UP = @nOtborLink1
		ELSE
			IF ISNULL (@strCODE_AP, '') = ''	-- Если показатель не указан, берем все счета --
				INSERT INTO @ACCT_TABLE
				SELECT T1.LINK
				FROM dbo.AccountsTableWithNoChild () T1
			ELSE					-- Выбор счетов, по которым настроен показатель --
				INSERT INTO @ACCT_TABLE
				SELECT T1.LINK
				FROM dbo.AccountsTableWithNoChild () T1
				INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = T1.LINK
				WHERE (@strCODE_AP = 'DEP' AND SA.AP_DEP = 1)
					OR (@strCODE_AP = 'EMP' AND SA.AP_EMP = 1)
					OR (@strCODE_AP = 'KAU' AND SA.AP_KAU = 1)
					OR (@strCODE_AP = 'AP2' AND SA.AP_AP2 = 1)
					OR (@strCODE_AP = 'EKR' AND SA.AP_EKR = 1)
					OR (@strCODE_AP = 'SUB' AND SA.AP_SUB = 1)
		SET @MORE_ACCT = 1
	END
	ELSE
	BEGIN
		INSERT INTO @ACCT_TABLE
		SELECT @intACCOUNT
		
		SET @MORE_ACCT = 0
	END

	--- Отбор организаций ---
	DECLARE @TAB_FIL TABLE (LINK_AP INT, AP_CODE VARCHAR (20),
		AP_NAME VARCHAR (254), GRP_NAME VARCHAR (254))
	IF @strCODE_AP = 'DEP' AND LEN (@cVal2) > 0	-- Задан фильтр отчета --
		INSERT INTO @TAB_FIL
		SELECT DEP.LINK,
			DEP.CODE,
			DEP.[NAME],
			DG.[NAME]
		FROM dbo.OBJECT_VAR_DEPARTMENT_GROUPS OVR
		INNER JOIN dbo.DEPARTMENT_GROUPS_REF DGR ON (DGR.GROUP_LINK = OVR.RECORD)
		INNER JOIN dbo.DEPARTMENT_GROUPS DG ON (DG.LINK = OVR.RECORD)
		INNER JOIN dbo.DEPARTMENTS DEP ON (DEP.LINK = DGR.DEP_LINK)
		WHERE OVR.LINK_UP = @nOtborLink2
	ELSE
		INSERT INTO @TAB_FIL
		SELECT LINK_AP,
			AP_CODE,
			AP_NAME,
			DG.[NAME]
		FROM dbo.BK_GetTableDictionByAP (@strCODE_AP) AP
		LEFT JOIN dbo.DEPARTMENT_GROUPS_REF DGR ON (DGR.DEP_LINK = AP.LINK_AP
			AND @strCODE_AP = 'DEP'
			AND @intDepGroup = 1)
		LEFT JOIN dbo.DEPARTMENT_GROUPS DG ON (DG.LINK = DGR.GROUP_LINK)

	DECLARE @TABLE_KAU TABLE (KAU INT, KAU_CODE VARCHAR (20))
	IF @intKAU_GRP = 1 OR @strCODE_AP = 'KAU'
		IF LEN (@cVal_KAU) > 0
			INSERT INTO @TABLE_KAU
			SELECT OVR.RECORD,
				KAU.CODE
			FROM dbo.OBJECT_VAR_KAU OVR
			INNER JOIN dbo.KAU ON (KAU.LINK = OVR.RECORD)
			WHERE OVR.LINK_UP = @nOtborKAU
		ELSE
			INSERT INTO @TABLE_KAU
			SELECT LINK_AP,
				AP_CODE
			FROM dbo.BK_GetTableDictionByAP ('KAU')
	ELSE
		INSERT INTO @TABLE_KAU
		SELECT 0, ''

	DECLARE @TABLE1 TABLE (ACCOUNT [INT], AP [INT], KBK [INT], 
			KAU INT,
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2), 
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT T1.ACCOUNT,
		CASE 
			WHEN @strCODE_AP = 'DEP' THEN T1.DEP
			WHEN @strCODE_AP = 'EMP' THEN T1.EMP
			WHEN @strCODE_AP = 'KAU' THEN T1.KAU
			WHEN @strCODE_AP = 'AP2' THEN T1.AP2	-- ДОП. КЛАСС.
			WHEN @strCODE_AP = 'EKR' THEN T1.EKR	-- 
			WHEN @strCODE_AP = 'SUB' THEN T1.SUB	-- 
			ELSE 0
		END,
		CASE 
			WHEN @intKBK = 0 THEN 0 
			ELSE T1.KBK
		END,
		CASE 
			WHEN @intKAU_GRP = 1 OR @strCODE_AP = 'KAU' THEN T1.KAU
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.K_SUMMA), 
		SUM (T1.IN_SUMMA), SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT_TABLE AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	WHERE @intKBK = 0
		OR (@intKBK <> 0 AND T1.KBK = @intKBK)
	GROUP BY T1.ACCOUNT,
		CASE 
			WHEN @strCODE_AP = 'DEP' THEN T1.DEP
			WHEN @strCODE_AP = 'EMP' THEN T1.EMP
			WHEN @strCODE_AP = 'KAU' THEN T1.KAU
			WHEN @strCODE_AP = 'AP2' THEN T1.AP2	-- ДОП. КЛАСС.
			WHEN @strCODE_AP = 'EKR' THEN T1.EKR	-- 
			WHEN @strCODE_AP = 'SUB' THEN T1.SUB	-- 
			ELSE 0
		END,
		CASE 
			WHEN @intKBK = 0 THEN 0 
			ELSE T1.KBK
		END,
		CASE 
			WHEN @intKAU_GRP = 1 OR @strCODE_AP = 'KAU' THEN T1.KAU
			ELSE 0
		END

	DECLARE @RESULT TABLE  (ACCOUNT [INT], AP [INT], KBK [INT],
			ACCT_GR VARCHAR (30), ACCT_CODE VARCHAR (60), 
			AP_CODE [VARCHAR] (20), AP_NAME [VARCHAR] (254),
			KBK_CODE [VARCHAR] (30), KAU INT, KAU_CODE VARCHAR (20),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2), 
			IN_SUM [NUMERIC] (20,2), OUT_SUM [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254), DATE_NEXT VARCHAR (10), DEP_GROUP varchar (100),
			AP_TYPE VARCHAR (60))

	INSERT INTO @RESULT
	SELECT OSV.ACCOUNT,
		OSV.AP,
		OSV.KBK,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, DEFAULT, @intPRN_KBK, 0, @varKSdDate2),
		T_AP.AP_CODE,
		T_AP.AP_NAME,
		ISNULL (KL_KBK.CODE, ''),
		KAU.KAU,
		KAU.KAU_CODE,
		OSV.D_SUMMA, 
		OSV.K_SUMMA, 
		OSV.IN_SUMMA, 
		OSV.OUT_SUMMA,
		@varKSORGNAME,
		@strDATE_NEXT,
		ISNULL(T_AP.GRP_NAME,''),
		@strCODE_AP
	FROM @TABLE1 OSV
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	INNER JOIN @TABLE_KAU KAU ON (KAU.KAU = OSV.KAU)
	LEFT JOIN @TAB_FIL T_AP ON (T_AP.LINK_AP = OSV.AP)
	LEFT OUTER JOIN dbo.KL_KBK ON (KL_KBK.LINK = OSV.KBK)
	WHERE (@intDepGroup = 0
		OR @intDepGroup > 0
			AND @strCODE_AP = 'DEP'
			AND T_AP.LINK_AP = OSV.AP)
		AND ((OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0) 
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0))


	IF @intSORT_CODE = 0
		SELECT *,
			@MORE_ACCT AS MORE_ACCT
		FROM @RESULT
			ORDER BY ACCT_GR, KAU_CODE, DEP_GROUP, AP_NAME 
	ELSE
		SELECT *,
			@MORE_ACCT AS MORE_ACCT
		FROM @RESULT
			ORDER BY ACCT_GR, KAU_CODE, DEP_GROUP,RIGHT ('00000000000000000000' + AP_CODE, 20)


END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_ACCUM_VED1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_BOOK_MAIN]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_BOOK_MAIN]

GO

CREATE PROCEDURE dbo.BK_REPORT_BOOK_MAIN 
		@DATE_START		DATETIME	/* -- НАЧАЛО ПЕРИОДА -- */,
		@DATE_STOP		DATETIME	/* -- КОНЕЦ ПЕРИОДА -- */,
--		@ACCOUNT_LONG		tinyint,
--		@cSOURCE		CHAR (1),
		@intSTR_JO		INT,		/* -- 0 - Разделять обороты по ЖО,
								1 - Выводить ЖО ондной строкой с одинаковой аналитикой -- */
--		@intSource0		INT,
		@intZabalansAcct	INT,
		@intACCT_GR		INT,
		@varKScVal1	char(1), @varKSnOtborLink1 int,	 -- Отбор субсчетов --
		@intPRN_KBK	int,				-- Код счета с КБК --
		@intPRN_KOSGU	int,				-- Код счета с КОСГУ --
		@intSVOD_ZB	int,				-- Сводный отчет (ЦБ) --
		@intGRP_SGU	int,				-- Вывести подитоги по субсчетам с по группе КОСГУ --
		@cVal_KBK char(1), @nOtborLinkKBK int,		-- Отбор КБК --
		@cVal_KOSGU char(1), @nOtborLinkKOSGU int,	-- Отбор КОСГУ --
		@cVal_SFIN char(1), @nOtborLinkSFIN int,	-- Отбор источников финансирования --
		@cVal_KAU char(1) = '', @nOtborKAU	int	= 0 -- Отбор источников финансирования --
AS
BEGIN
	DECLARE @DATE_BEG_YEAR DATETIME,  -- Дата начала года
		@MONTH_NAME VARCHAR(20),  -- Дата начала года
		@OUT_DATE_REST	DATETIME, -- Для расчета конечных остатков

		@intDEP_LINK	INT,
		@strORGNAME	VARCHAR (254),
		@strOKPO	VARCHAR (20),
		@strGLBUH	VARCHAR (100),
		@UCHR_NAME	VARCHAR (254),	-- Учредитель
		@BUDG_NAME	VARCHAR (254)	-- Наименование бюджета

	SET @DATE_BEG_YEAR = dbo.DateBeginOfYear (@DATE_START)
	SELECT @MONTH_NAME = dbo.DateMonthName(MONTH(@DATE_STOP))

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)	/* -- Сводный отчет по ЦБ -- */
	SET @intDEP_LINK = ISNULL (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())
	
	IF @intSVOD_ZB = 1				/* -- Сводный отчет по ЦБ (собственные реквизиты организации) -- */
		SET @intDEP_LINK = dbo.GetOwnDepLink ()

	SELECT
		@strOKPO = D.[OKPO],
		@strORGNAME = dbo.BK_GET_PRINT_DEP_NAME (D.LINK),
		@UCHR_NAME = dbo.BK_GET_PRINT_DEP_NAME (D.UCHR_LINK),
		@BUDG_NAME = B.[NAME]
	FROM dbo.DEPARTMENTS D
	LEFT JOIN dbo.KL_ADMIN_BS V ON (V.LINK = D.VED_LINK)
	LEFT JOIN dbo.KL_BUDG_TYPE B ON (B.LINK = V.Link_Budg)
	WHERE D.LINK = @intDEP_LINK

	SELECT @UCHR_NAME = ISNULL (@UCHR_NAME, ''),
		@BUDG_NAME = ISNULL (@BUDG_NAME, '')

	IF @intSVOD_ZB = 1
		SET @strORGNAME = RTRIM (@strORGNAME) + ' (ЦБ)'

	SELECT @strGLBUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Главный бухгалтер')

	--- ОТБОР ПО СУБСЧЕТАМ --- 
	-- Отбор источников финансирования --
	DECLARE @TAB_SFIN TABLE (CODE CHAR (2))

	IF LEN (@cVal_SFIN) > 0 
		INSERT INTO @TAB_SFIN
		SELECT 
			D.CODE
		FROM dbo.OBJECT_VAR_FIN_SOURCE OVR
		INNER JOIN dbo.FIN_SOURCE D ON (D.LINK = OVR.RECORD)
		WHERE OVR.LINK_UP = @nOtborLinkSFIN
--			AND D.ISUSED = 1
	ELSE
	BEGIN
		INSERT INTO @TAB_SFIN
		SELECT 
			D.CODE
		FROM dbo.FIN_SOURCE D 
		WHERE D.ISUSED = 1

		INSERT INTO @TAB_SFIN (CODE) 
		SELECT ''
	END

	-- Отбор субсчетов --
	DECLARE @TAB_ACCT TABLE (ACCOUNT INT, ACCT_ROOT INT, JO INT)

	IF LEN (@varKScVal1) > 0
		INSERT INTO @TAB_ACCT
		SELECT
			OVR.RECORD,
			CASE 
				WHEN SA.cUSER <> '' THEN SA.LINK_SELF
				ELSE OVR.RECORD
			END,
			0	-- ЖО НЕ БЕРЕМ ИЗ ПС -- 
--			SA.JO
		FROM dbo.OBJECT_VAR_ACCT OVR
		INNER JOIN dbo.S_ACCOUNTS SA ON (OVR.RECORD = SA.LINK)
		WHERE OVR.LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @TAB_ACCT
		SELECT
			SA.LINK,
			CASE 
				WHEN SA.cUSER <> '' THEN SA.LINK_SELF
				ELSE SA.LINK
			END,
			0	-- ЖО НЕ БЕРЕМ ИЗ ПС --
		FROM dbo.AccountsTableWithNoChild () T1
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.LINK)
		INNER JOIN @TAB_SFIN T2 ON (T2.CODE = SA.cSOURCE)
		WHERE (@intZabalansAcct = 1
			OR (@intZabalansAcct = 2 AND ZABALANS = 0)
			OR (@intZabalansAcct = 3 AND ZABALANS = 1))

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ПО КОСГУ --- 
	DECLARE @TAB_KOSGU TABLE (LINK INT, CODE VARCHAR (20))
	IF LEN (@cVal_KOSGU) > 0
		INSERT INTO @TAB_KOSGU
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KOSGU AP 
		INNER JOIN dbo.OBJECT_VAR_KOSGU OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKOSGU
	ELSE
		INSERT INTO @TAB_KOSGU
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('SGU')

	--- ОТБОР ПО КАУ --- 
	DECLARE @T_KAU TABLE (LINK INT)
	IF LEN (@cVal_KAU) > 0
		INSERT INTO @T_KAU
		SELECT
			OVR.RECORD 
		FROM dbo.OBJECT_VAR_KAU OVR
		WHERE OVR.LINK_UP = @nOtborKAU
	ELSE
		SET @nOtborKAU = 0

	-- BEGIN YEAR --
	DECLARE @SALDO_BEGIN_YEAR TABLE
		(
		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		JO [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @SALDO_BEGIN_YEAR
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		NULL,
		ISNULL (SA.JO, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestSaldoForLedgerByDate1 (@DATE_BEG_YEAR, DEFAULT, 1) SBY
	INNER JOIN @TAB_ACCT SA ON (SBY.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (SBY.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (SBY.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND SBY.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND SBY.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = SBY.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (SA.JO, 0)

--select * from @SALDO_BEGIN_YEAR
--select * from @TAB_ACCT
	-- BEGIN PERIOD --
	DECLARE @SALDO_BEGIN_PERIOD TABLE
		(
		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		JO [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @SALDO_BEGIN_PERIOD
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		NULL,
		ISNULL (SA.JO, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestSaldoForLedgerByDate1(@DATE_START, DEFAULT, 1) SB
	INNER JOIN @TAB_ACCT SA ON (SB.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (SB.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (SB.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND SB.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND SB.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = SB.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (SA.JO, 0)
		
--SELECT * FROM @SALDO_BEGIN_PERIOD

	-- END PERIOD --
	SET @OUT_DATE_REST = DATEADD (DAY, 1, @DATE_STOP)

	DECLARE @SALDO_END_PERIOD TABLE
		(
		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		JO [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @SALDO_END_PERIOD
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		NULL,
		ISNULL (SA.JO, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestSaldoForLedgerByDate1(@OUT_DATE_REST, DEFAULT, 1) SE
	INNER JOIN @TAB_ACCT SA ON (SE.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (SE.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (SE.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND SE.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND SE.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = SE.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (SA.JO, 0)

--select * from @SALDO_END_PERIOD

	-- OBOROTS BY PERIOD --
	DECLARE @OBOROT_PERIOD TABLE
		(
 		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		LEDGER_JOURNAL [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @OBOROT_PERIOD
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (OB.SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (OB.KBK, 0)
			ELSE 0
		END,
		NULL,
		ISNULL (LEDGER_JOURNAL, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestOborotForLedgerByPeriod1(@DATE_START, @DATE_STOP, 1) OB
	INNER JOIN @TAB_ACCT SA ON (OB.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (OB.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (OB.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND OB.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND OB.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = OB.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (LEDGER_JOURNAL, 0)
--select * from @OBOROT_PERIOD

	-- ОБОРОТЫ С НАЧАЛА ГОДА -- 
	DECLARE @OBOROT_YEAR TABLE
		(
		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		LEDGER_JOURNAL [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @OBOROT_YEAR
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (OB.SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (OB.KBK, 0)
			ELSE 0
		END, 
		NULL,
		ISNULL (LEDGER_JOURNAL, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestOborotForLedgerByPeriod1(@DATE_BEG_YEAR, @DATE_STOP, 1) OB
	INNER JOIN @TAB_ACCT SA ON (OB.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (OB.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (OB.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND OB.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND OB.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = OB.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (LEDGER_JOURNAL, 0)

	--select * from @OBOROT_YEAR

	DECLARE @ACCOUNT_BOOK TABLE
		(
		ACCOUNT [INT],
		KBK [INT],
		SGU [INT],
		LEDGER_JO [INT])

	INSERT INTO @ACCOUNT_BOOK
	SELECT ACCOUNT, KBK, SGU, JO
	FROM @SALDO_BEGIN_YEAR
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
	UNION
	SELECT ACCOUNT, KBK, SGU, JO
	FROM @SALDO_BEGIN_PERIOD
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
	UNION
	SELECT ACCOUNT, KBK, SGU, LEDGER_JOURNAL
	FROM @OBOROT_PERIOD
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
	UNION
	SELECT ACCOUNT, KBK, SGU, JO
	FROM @SALDO_END_PERIOD
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
	UNION
	SELECT ACCOUNT, KBK, SGU, LEDGER_JOURNAL
	FROM @OBOROT_YEAR
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
--select * from @ACCOUNT_BOOK

	/* --- Итоговые остатки по группе --- */
	/* НАЧАЛО ГОДА */
	DECLARE @SALDO_BEGIN_YEAR_GR TABLE (ACCOUNT [INT],
				D_SUMMA [NUMERIC] (28,2),
				K_SUMMA [NUMERIC] (28,2))

	INSERT INTO @SALDO_BEGIN_YEAR_GR	
	SELECT ACCOUNT,
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM @SALDO_BEGIN_YEAR
	GROUP BY ACCOUNT

	/* НАЧАЛО ПЕРИОДА */
	DECLARE @SALDO_BEGIN_PERIOD_GR TABLE (ACCOUNT [INT],
				D_SUMMA [NUMERIC] (28,2),
				K_SUMMA [NUMERIC] (28,2))

	INSERT INTO @SALDO_BEGIN_PERIOD_GR	
	SELECT ACCOUNT,
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM @SALDO_BEGIN_PERIOD
	GROUP BY ACCOUNT

	/* КОНЕЦ ПЕРИОДА */
	DECLARE @SALDO_END_PERIOD_GR TABLE (ACCOUNT [INT],
				D_SUMMA [NUMERIC] (28,2),
				K_SUMMA [NUMERIC] (28,2))

	INSERT INTO @SALDO_END_PERIOD_GR	
	SELECT ACCOUNT,
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM @SALDO_END_PERIOD
	GROUP BY ACCOUNT
/*
SELECT * FROM @SALDO_BEGIN_YEAR_GR
SELECT * FROM @SALDO_BEGIN_PERIOD_GR
SELECT * FROM @SALDO_END_PERIOD_GR
*/

--SELECT * FROM @ACCOUNT_BOOK

	DECLARE @MAIN_BOOK TABLE (
		[MONTH]	VARCHAR(20),
		ORGNAME	VARCHAR(254),
		OKPO	VARCHAR (20),
		GLBUH	VARCHAR (50),
		UCHR_NAME VARCHAR (254),
		BUDG_NAME VARCHAR (254),
		ACCT_GR	VARCHAR (5),
		ZABALANS TINYINT,
		AC_CODE VARCHAR (20),
		CODE_LONG VARCHAR (60),
		KBK_CODE VARCHAR (30),
		SGU_CODE VARCHAR (3),
		JO_CODE VARCHAR (10),
		BEG_YEAR VARCHAR (10),
		SBYD_SUMMA NUMERIC (28,4),
		SBYK_SUMMA NUMERIC (28,4),
		SBD_SUMMA NUMERIC (28,4),
		SBK_SUMMA NUMERIC (28,4),
		OBD_SUMMA NUMERIC (28,4),
		OBK_SUMMA NUMERIC (28,4),

		YOD_SUM NUMERIC (28,4),
		YOK_SUM NUMERIC (28,4),

		SED_SUMMA NUMERIC (28,4),
		SEK_SUMMA NUMERIC (28,4),

		SBYD_SUM_G NUMERIC (28,4),
		SBYK_SUM_G NUMERIC (28,4),
		SBD_SUM_G NUMERIC (28,4),
		SBK_SUM_G NUMERIC (28,4),
		SED_SUM_G NUMERIC (28,4),
		SEK_SUM_G NUMERIC (28,4),

		[SBYD_SUM_T] NUMERIC (28,4),
		[SBYK_SUM_T] NUMERIC (28,4),
		[SBD_SUM_T] NUMERIC (28,4),
		[SBK_SUM_T] NUMERIC (28,4),
		[SED_SUM_T] NUMERIC (28,4),
		[SEK_SUM_T] NUMERIC (28,4),

		ACSGU_GR1	VARCHAR (30),
		ACSGU_GR2	VARCHAR (30)
		)

--	ORDER BY 1, 2, 3, 4, 5
-- 	MONTH, ORGNAME, ACCT_GR, AC_CODE,

		
	INSERT INTO @MAIN_BOOK
	SELECT @MONTH_NAME AS MONTH,
		@strORGNAME AS ORGNAME,
		@strOKPO AS OKPO,
		@strGLBUH AS GLBUH,
		@UCHR_NAME,
		@BUDG_NAME,
		SA.cSINTH AS ACCT_GR,
		SA.ZABALANS,
		SA.CODE AS AC_CODE,

		dbo.BK_GetAcctFullCode1 (AC.ACCOUNT, AC.KBK, AC.SGU, @intPRN_KBK, @intPRN_KOSGU, @DATE_STOP) AS CODE_LONG,
		ISNULL (KL_KBK.CODE, ''),
		ISNULL (KOSGU.CODE, ''),
		ISNULL (CONVERT (VARCHAR (10), JO.CODE), '') AS JO_CODE,
		CONVERT (VARCHAR (10), @DATE_BEG_YEAR, 104) AS BEG_YEAR,
		ISNULL (REST_BY.D_SUMMA, 0) AS SBYD_SUMMA ,
		ISNULL (REST_BY.K_SUMMA, 0) AS SBYK_SUMMA,
		ISNULL (REST_BP.D_SUMMA, 0) AS SBD_SUMMA,
		ISNULL (REST_BP.K_SUMMA , 0) AS SBK_SUMMA,
		ISNULL (OB.D_SUMMA, 0) AS OBD_SUMMA,
		ISNULL (OB.K_SUMMA, 0) AS OBK_SUMMA,

		ISNULL (OBY.D_SUMMA, 0) AS YOD_SUM,
		ISNULL (OBY.K_SUMMA, 0) AS YOK_SUM,

		ISNULL (REST_EP.D_SUMMA, 0) AS SED_SUMMA ,
		ISNULL (REST_EP.K_SUMMA, 0) AS SEK_SUMMA,

		ISNULL (REST_BY_GR.D_SUMMA, 0) AS SBYD_SUM_G ,
		ISNULL (REST_BY_GR.K_SUMMA, 0) AS SBYK_SUM_G,
		ISNULL (REST_BP_GR.D_SUMMA, 0) AS SBD_SUM_G,
		ISNULL (REST_BP_GR.K_SUMMA , 0) AS SBK_SUM_G,
		ISNULL (REST_EP_GR.D_SUMMA, 0) AS SED_SUM_G,
		ISNULL (REST_EP_GR.K_SUMMA, 0) AS SEK_SUM_G,

		[SBYD_SUM_T] = ISNULL ((SELECT SUM (D_SUMMA) FROM @SALDO_BEGIN_YEAR_GR), 0),
		[SBYK_SUM_T] = ISNULL ((SELECT SUM (K_SUMMA) FROM @SALDO_BEGIN_YEAR_GR), 0),
		[SBD_SUM_T] = ISNULL ((SELECT SUM (D_SUMMA) FROM @SALDO_BEGIN_PERIOD_GR), 0),
		[SBK_SUM_T] = ISNULL ((SELECT SUM (K_SUMMA) FROM @SALDO_BEGIN_PERIOD_GR), 0),
		[SED_SUM_T] = ISNULL ((SELECT SUM (D_SUMMA) FROM @SALDO_END_PERIOD_GR), 0),
		[SEK_SUM_T] = ISNULL ((SELECT SUM (K_SUMMA) FROM @SALDO_END_PERIOD_GR), 0),

		CASE
--			WHEN @intGRP_SGU = 1 AND SA.P_KASSA = 1 AND KOSGU.IS_EKR = 1 THEN RTRIM (SA.CODE) + '.' + LEFT (KOSGU.CODE, 2) + '0'
--			WHEN @intGRP_SGU = 1 AND SA.P_KASSA = 1 THEN RTRIM (SA.CODE) + '.' + ISNULL (LEFT (KOSGU.CODE, 2) + '0', '000')
			WHEN @intGRP_SGU = 1 THEN RTRIM (SA.CODE) + '.' + ISNULL (LEFT (KOSGU.CODE, 2) + '0', '000')
			ELSE ''
		END, 
		CASE
--			WHEN @intGRP_SGU = 1 AND SA.P_KASSA = 1 AND KOSGU.IS_EKR = 1 THEN RTRIM (SA.CODE) + '.' + LEFT (KOSGU.CODE, 1) + '00'
--			WHEN @intGRP_SGU = 1 AND SA.P_KASSA = 1 THEN RTRIM (SA.CODE) + '.' + ISNULL (LEFT (KOSGU.CODE, 1) + '00', '000')
			WHEN @intGRP_SGU = 1 THEN RTRIM (SA.CODE) + '.' + ISNULL (LEFT (KOSGU.CODE, 1) + '00', '000')
			ELSE ''
		END
	FROM @ACCOUNT_BOOK AC
	LEFT OUTER JOIN @SALDO_BEGIN_YEAR REST_BY ON (REST_BY.ACCOUNT = AC.ACCOUNT
			AND REST_BY.KBK = AC.KBK
			AND REST_BY.SGU = AC.SGU
			AND REST_BY.JO = AC.LEDGER_JO)
	LEFT OUTER JOIN @SALDO_BEGIN_PERIOD REST_BP ON (REST_BP.ACCOUNT = AC.ACCOUNT
			AND REST_BP.KBK = AC.KBK
			AND REST_BP.SGU = AC.SGU
			AND REST_BP.JO = AC.LEDGER_JO)
	LEFT OUTER JOIN @OBOROT_PERIOD OB ON (OB.ACCOUNT = AC.ACCOUNT
			AND OB.KBK = AC.KBK
			AND OB.SGU = AC.SGU
			AND OB.LEDGER_JOURNAL = AC.LEDGER_JO)
	LEFT OUTER JOIN @SALDO_END_PERIOD REST_EP ON (REST_EP.ACCOUNT = AC.ACCOUNT
			AND REST_EP.KBK = AC.KBK
			AND REST_EP.SGU = AC.SGU
			AND REST_EP.JO = AC.LEDGER_JO)
	LEFT OUTER JOIN @OBOROT_YEAR OBY ON (OBY.ACCOUNT = AC.ACCOUNT
			AND OBY.KBK = AC.KBK
			AND OBY.SGU = AC.SGU
			AND OBY.LEDGER_JOURNAL = AC.LEDGER_JO)
	LEFT OUTER JOIN @SALDO_BEGIN_YEAR_GR REST_BY_GR ON (REST_BY_GR.ACCOUNT = AC.ACCOUNT)
	LEFT OUTER JOIN @SALDO_BEGIN_PERIOD_GR REST_BP_GR ON (REST_BP_GR.ACCOUNT = AC.ACCOUNT)
	LEFT OUTER JOIN @SALDO_END_PERIOD_GR REST_EP_GR ON (REST_EP_GR.ACCOUNT = AC.ACCOUNT)

	INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = AC.ACCOUNT
	LEFT JOIN dbo.KL_KBK ON KL_KBK.LINK=AC.KBK

	LEFT JOIN dbo.KOSGU ON KOSGU.LINK=AC.SGU
	LEFT JOIN dbo.JOURNAL_OPERATION JO ON JO.LINK=AC.LEDGER_JO
--	ORDER BY 1, 2, 3, 4, 5


	IF @intACCT_GR = 1
		IF @intGRP_SGU = 1
			SELECT *
			FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, ACCT_GR, AC_CODE, SGU_CODE, KBK_CODE
		ELSE
			SELECT *
			FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, ACCT_GR, AC_CODE, KBK_CODE, SGU_CODE
	ELSE
		IF @intGRP_SGU = 1
			SELECT *
			FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, AC_CODE, SGU_CODE, KBK_CODE
		ELSE
			SELECT *
			FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, AC_CODE, KBK_CODE, SGU_CODE

-- EXECUTE KIR_EXEC_QUERY 40039,'''20060101'',''20081231'',0,1,0,0,1,1,0,0,1,40905'
/*
SELECT *,
	CONVERT (VARCHAR (26), REPLACE (CODE_LONG, '.', '')) AS SCHET,
	CONVERT (NUMERIC (15), SBYD_SUMMA * 100) AS OST_NG_D,
	CONVERT (NUMERIC (15), SBYK_SUMMA * 100) AS OST_NG_K,
	CONVERT (NUMERIC (15), SBD_SUMMA * 100) AS OST_NM_D,
	CONVERT (NUMERIC (15), SBK_SUMMA * 100) AS OST_NM_K
FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, AC_CODE, KBK_CODE, SGU_CODE
*/
END





GO


GRANT EXECUTE ON dbo.[BK_REPORT_BOOK_MAIN] TO PUBLIC

GO



GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BK_REPORT_CARD_AFC_F0504051_1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BK_REPORT_CARD_AFC_F0504051_1]
GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE      PROCEDURE dbo.BK_REPORT_CARD_AFC_F0504051_1
	@varKSDateBegin	DATETIME	,
	@varKDateEnd	DATETIME	,
	@varKSnSel_Acct	INT		,
	@varKSnSel_KBK	INT		,
	@varKScVal1 char(1), @varKSnOtborLink1 int,
	@codeKSReport	CHAR (20),
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSBEGIN_YEAR	DATETIME	,
		@varKSDEP_LINK		INT		,
		@varKSDEP_NAME		VARCHAR (254)	,
		@varKSDEP_OKPO		VARCHAR (20),
		@varKSACCT_ACTIVE	INT		,		
		@intIS_KAU		TINYINT,

		@varKSnSel_Empl	INT		,
		@varKSWorkDate	DATETIME	,

		@varKSEMP_LINK	INT,
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254),
		@varKSEMP_POST	VARCHAR (60),
	
		@varKSACCT_LINK	INT,
		@varKSACCT_CODE	VARCHAR (60),
		@varKSACCT_NAME	VARCHAR (254),

		@varKScBEGIN_PERIOD	VARCHAR (10),
		@varKScEND_PERIOD	VARCHAR (10)

	SET @varKSnSel_KBK = ISNULL (@varKSnSel_KBK, 0) 

	SET @varKSACCT_CODE = CASE 
					WHEN @varKSnSel_KBK = 0 THEN dbo.BK_GetAcctFullCode1 (@varKSnSel_Acct, @varKSnSel_KBK, 0, 0, 0, @varKDateEnd)
					ELSE dbo.BK_GetAcctFullCode1 (@varKSnSel_Acct, @varKSnSel_KBK, 0, 1, 0, @varKDateEnd)
				END
	
	SET @varKScBEGIN_PERIOD	=	CONVERT (VARCHAR (10), @varKSDateBegin, 104) 
	SET @varKScEND_PERIOD	=	CONVERT (VARCHAR (10), @varKDateEnd, 104) 

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSDEP_LINK	=	LINK,
		@varKSDEP_NAME	=	dbo.BK_GET_PRINT_DEP_NAME (LINK),
		@varKSDEP_OKPO	=	[OKPO]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'

	--- Организации, которые нужны (ЦБ) ---
	DECLARE @DEP_ZB TABLE (LINK INT)
	
	IF @intSVOD_ZB = 1 
		INSERT INTO @DEP_ZB
		SELECT	LINK
		FROM dbo.DEPARTMENTS
		WHERE ZB = 1 OR TYPE = 4
	ELSE
		INSERT INTO @DEP_ZB (LINK)
		VALUES (@varKSDEP_LINK)
	


	SELECT @varKSACCT_ACTIVE = S_ACTIVE
	FROM dbo.S_ACCOUNTS
	WHERE LINK = @varKSnSel_Acct

	DECLARE @TABLE_AP TABLE (LINK_AP INT, AP_CODE VARCHAR (20),
			AP_NAME VARCHAR (254), AP_OKPO VARCHAR (20))

	IF LEN (@varKScVal1) > 0
	BEGIN
		IF @codeKSReport = 'DEP'
			INSERT INTO @TABLE_AP
			SELECT OV.RECORD,
				ISNULL (DEP.CODE, ''),
				ISNULL (dbo.BK_GET_PRINT_DEP_NAME (DEP.LINK), ''),
				ISNULL (DEP.OKPO, '')
			FROM dbo.OBJECT_VAR_DEPARTMENT OV
			INNER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OV.RECORD)
			WHERE OV.LINK_UP = @varKSnOtborLink1

		IF @codeKSReport = 'EMP'
			INSERT INTO @TABLE_AP
			SELECT OV.RECORD,
				ISNULL (EMP.TAB, ''),
				ISNULL (EMP.[NAME_EMPL], ''),
				''
			FROM dbo.OBJECT_VAR_EMPL OV
			INNER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = OV.RECORD)
			WHERE OV.LINK_UP = @varKSnOtborLink1

		IF @codeKSReport = 'KAU'
			INSERT INTO @TABLE_AP
			SELECT OV.RECORD,
				ISNULL (KAU.CODE, ''),
				ISNULL (KAU.[NAME], ''),
				''
			FROM dbo.OBJECT_VAR_KAU OV
			INNER JOIN dbo.DICTIONARY_ANALYTICAL_CODES KAU ON (KAU.LINK = OV.RECORD)
			WHERE OV.LINK_UP = @varKSnOtborLink1

		IF @codeKSReport = 'NOMEN_D'
			INSERT INTO @TABLE_AP
			SELECT OV.RECORD,
				ISNULL (NOMEN.CODE, ''),
				ISNULL (NOMEN.[NAME], ''),
				''
			FROM dbo.OBJECT_VAR_NOMENCLATURE OV
			INNER JOIN dbo.NOMENCLATURE NOMEN ON (NOMEN.LINK = OV.RECORD)
			WHERE OV.LINK_UP = @varKSnOtborLink1
	END
	ELSE
	BEGIN
		IF @codeKSReport = 'NOMEN_D'
		BEGIN
			INSERT INTO @TABLE_AP
			SELECT LINK,
				ISNULL (CODE, ''),
				ISNULL ([NAME], ''),
				''
			FROM dbo.BK_DICTION_NOMEN_D

			INSERT INTO @TABLE_AP (LINK_AP, AP_CODE, AP_NAME, AP_OKPO)
			VALUES (0, '', 'Не указан', '')
		END
		ELSE
			INSERT INTO @TABLE_AP
			SELECT LINK_AP,
				ISNULL (AP_CODE, ''),
				CASE
					WHEN @codeKSReport = 'DEP' THEN dbo.BK_GET_PRINT_DEP_NAME (LINK_AP)
					ELSE ISNULL (AP_NAME, '')
				END,
				ISNULL (DOP_CODE, '')
			FROM dbo.BK_GetTableDictionByAP (@codeKSReport)
	END

	--- Остатки ---
	DECLARE @TABLE_REST TABLE (LINK_AP INT, D_SUMMA NUMERIC (28, 4), K_SUMMA NUMERIC (28, 4))

	INSERT INTO @TABLE_REST
	SELECT 
		CASE 
			WHEN @codeKSReport = 'DEP' THEN ISNULL (REST.DEP, 0)
			WHEN @codeKSReport = 'EMP' THEN ISNULL (REST.EMP, 0)
			WHEN @codeKSReport = 'KAU' THEN ISNULL (REST.KAU, 0)
			WHEN @codeKSReport = 'NOMEN_D' THEN ISNULL (REST.NOMEN, 0)
			ELSE 0
		END,
		SUM (REST.D_SUMMA),
		SUM (REST.K_SUMMA)
	FROM dbo.ARestTableByDate (@varKSDateBegin, @varKSnSel_Acct) REST
	INNER JOIN @DEP_ZB DEP ON (DEP.LINK = REST.DEP_LINK)
	WHERE(@varKSnSel_KBK = 0)
			OR (@varKSnSel_KBK <> 0 AND REST.KBK = @varKSnSel_KBK)
	GROUP BY 
		CASE 
			WHEN @codeKSReport = 'DEP' THEN ISNULL (REST.DEP, 0)
			WHEN @codeKSReport = 'EMP' THEN ISNULL (REST.EMP, 0)
			WHEN @codeKSReport = 'KAU' THEN ISNULL (REST.KAU, 0)
			WHEN @codeKSReport = 'NOMEN_D' THEN ISNULL (REST.NOMEN, 0)
			ELSE 0
		END

	--- Дебетовые обороты ---
	DECLARE	@TABLE_DB TABLE (LINK_DOC INT, DATE_PROV DATETIME, LINK_AP INT,
		LINK_JO INT, COMMENT VARCHAR (254),
		D_SUMMA NUMERIC (28, 4), K_SUMMA NUMERIC (28, 4))

	INSERT INTO @TABLE_DB
	SELECT DB.LINK_DOC,
		DB.DATE_PROV,
		CASE 
			WHEN @codeKSReport = 'DEP' THEN ISNULL (DB.DEP, 0)
			WHEN @codeKSReport = 'EMP' THEN ISNULL (DB.EMP, 0)
			WHEN @codeKSReport = 'KAU' THEN ISNULL (DB.KAU, 0)
			WHEN @codeKSReport = 'NOMEN_D' THEN ISNULL (DB.NOMEN, 0)
			ELSE 0
		END,
		XOJ.JURN_LINK,
		DB.NAME_OPER,
		DB.SUMMA,
		0
	FROM dbo.BK_GetTableOborotByDate1 (@varKSDateBegin, @varKDateEnd, 0, @varKSnSel_Acct, DEFAULT) DB
	LEFT JOIN dbo.XOZ_OPER_JURN XOJ ON (XOJ.XOZ_LINK = DB.XOZ_OPER
				AND XOJ.GK = 1)
	WHERE (@intSVOD_ZB = 1 
			OR (@intSVOD_ZB = 0 AND DB.DEP_LINK = @varKSDEP_LINK))
		AND ((@varKSnSel_KBK = 0)
				OR (@varKSnSel_KBK <> 0 AND DB.KBK = @varKSnSel_KBK))

	--- Кредитовые обороты ---
	DECLARE	@TABLE_KT TABLE (LINK_DOC INT, DATE_PROV DATETIME, LINK_AP INT,
		LINK_JO INT, COMMENT VARCHAR (254),
		D_SUMMA NUMERIC (28, 4), K_SUMMA NUMERIC (28, 4))

	INSERT INTO @TABLE_KT
	SELECT KT.LINK_DOC,
		KT.DATE_PROV,
		CASE 
			WHEN @codeKSReport = 'DEP' THEN ISNULL (KT.DEP, 0)
			WHEN @codeKSReport = 'EMP' THEN ISNULL (KT.EMP, 0)
			WHEN @codeKSReport = 'KAU' THEN ISNULL (KT.KAU, 0)
			WHEN @codeKSReport = 'NOMEN_D' THEN ISNULL (KT.NOMEN, 0)
			ELSE 0
		END,
		XOJ.JURN_LINK,
		KT.NAME_OPER,
		0,
		KT.SUMMA
	FROM dbo.BK_GetTableOborotByDate1 (@varKSDateBegin, @varKDateEnd, 1, @varKSnSel_Acct, DEFAULT) KT
	LEFT JOIN dbo.XOZ_OPER_JURN XOJ ON (XOJ.XOZ_LINK = KT.XOZ_OPER
				AND XOJ.GK = 1)
	WHERE (@intSVOD_ZB = 1 
			OR (@intSVOD_ZB = 0 AND KT.DEP_LINK = @varKSDEP_LINK))
		AND ((@varKSnSel_KBK = 0)
				OR (@varKSnSel_KBK <> 0 AND KT.KBK = @varKSnSel_KBK))

	DECLARE @TABLE_OBOROT TABLE (LINK_DOC INT, DATE_PROV DATETIME, LINK_AP INT,
		LINK_JO INT, COMMENT VARCHAR (254),
		D_SUMMA NUMERIC (28, 4), K_SUMMA NUMERIC (28, 4))

	INSERT INTO @TABLE_OBOROT
	SELECT * FROM @TABLE_DB
	UNION ALL
	SELECT * FROM @TABLE_KT
		ORDER BY DATE_PROV

	DECLARE @TABLE_GR TABLE (LINK_AP INT)

	INSERT INTO @TABLE_GR
	SELECT LINK_AP FROM @TABLE_OBOROT
	UNION
	SELECT LINK_AP FROM @TABLE_REST
		WHERE D_SUMMA <> 0 OR K_SUMMA <> 0
		
	SET @intIS_KAU = CASE 
				WHEN @codeKSReport = 'KAU' THEN 1
				WHEN @codeKSReport = 'NOMEN_D' THEN 2
				ELSE 0
			END

	DECLARE @RESULT TABLE (REC_NO INT IDENTITY, IS_KAU TINYINT, DEP INT, LINK_ACCT INT, LINK_AP INT,
		DEP_OKPO VARCHAR (20), DEP_NAME VARCHAR (254),
		AP_CODE VARCHAR (20), AP_NAME VARCHAR (254), AP_OKPO VARCHAR (20),
		BEGIN_DATE VARCHAR (10), DATE_END VARCHAR (10),
		ACCT_CODE VARCHAR (60), 
		DATE_PROV DATETIME, cDATE_PROV VARCHAR (10),
		JO_NUM VARCHAR (20),
		OPER_COM VARCHAR (254), 
		IN_SUM_D NUMERIC (28,4), IN_SUM_K NUMERIC (28,4),
		D_SUMMA NUMERIC (28,4), K_SUMMA NUMERIC (28,4),
		OUT_SUM_D NUMERIC (28,4), OUT_SUM_K NUMERIC (28,4))

	INSERT INTO @RESULT (IS_KAU, DEP, LINK_ACCT, LINK_AP,
			DEP_OKPO, DEP_NAME,
			AP_CODE, AP_NAME, AP_OKPO,
			BEGIN_DATE, DATE_END,
			ACCT_CODE,
			DATE_PROV, cDATE_PROV,
			JO_NUM,	OPER_COM,
			IN_SUM_D, IN_SUM_K,
			D_SUMMA, K_SUMMA 
		)

	SELECT @intIS_KAU,
		@varKSDEP_LINK,
		@varKSnSel_Acct,
		T1.LINK_AP,
		ISNULL (@varKSDEP_OKPO, ''),
		ISNULL (@varKSDEP_NAME, ''),
		T_AP.AP_CODE, 
		T_AP.AP_NAME,
		T_AP.AP_OKPO,
		@varKScBEGIN_PERIOD,
		@varKScEND_PERIOD,
		@varKSACCT_CODE,
		T_OB.DATE_PROV,
		ISNULL (CONVERT (VARCHAR (10), T_OB.DATE_PROV, 104), ''),
		ISNULL (JO.CODE, ''),
		ISNULL (T_OB.COMMENT, ''),
		ISNULL (T_REST.D_SUMMA, 0),
		ISNULL (T_REST.K_SUMMA, 0),
		ISNULL (T_OB.D_SUMMA, 0),
		ISNULL (T_OB.K_SUMMA, 0)

	FROM @TABLE_GR T1
	INNER JOIN @TABLE_AP T_AP ON (T_AP.LINK_AP = T1.LINK_AP)
	LEFT OUTER JOIN @TABLE_OBOROT T_OB ON (T_OB.LINK_AP = T1.LINK_AP)
	LEFT OUTER JOIN dbo.JOURNAL_OPERATION JO ON (JO.LINK = T_OB.LINK_JO)
	LEFT OUTER JOIN @TABLE_REST T_REST ON (T_REST.LINK_AP = T1.LINK_AP)

/*	
	DECLARE #UPDATE_REST CURSOR LOCAL
		FOR SELECT REC_NO, LINK_AP, IN_SUM_D, IN_SUM_K
			FROM @RESULT

	DECLARE	@varKSintREC_NO	INT,
		@varKSintLINK_AP	INT,
		@varKSnIN_SUM_D	NUMERIC (28,4),
		@varKSnIN_SUM_K	NUMERIC (28,4),
		@varKSnOBOROT_SUMMA	NUMERIC (28,4)

	OPEN #UPDATE_REST
	FETCH #UPDATE_REST
		INTO @varKSintREC_NO, @varKSintLINK_AP, @varKSnIN_SUM_D, @varKSnIN_SUM_K
	WHILE @@FETCH_STATUS = 0 BEGIN
		
		SELECT @varKSnOBOROT_SUMMA	= SUM (D_SUMMA) - SUM (K_SUMMA)
		FROM @RESULT
		WHERE LINK_AP = @varKSintLINK_AP
			AND REC_NO <= @varKSintREC_NO

		UPDATE @RESULT SET OUT_SUM_D = CASE 
							WHEN @varKSACCT_ACTIVE = 1 THEN @varKSnOBOROT_SUMMA + @varKSnIN_SUM_D
							ELSE 0
						END,
					OUT_SUM_K = CASE 
							WHEN @varKSACCT_ACTIVE = 0 THEN @varKSnOBOROT_SUMMA * (-1) + @varKSnIN_SUM_K
							ELSE 0
						END
		WHERE REC_NO = @varKSintREC_NO
			
		FETCH #UPDATE_REST
			INTO @varKSintREC_NO, @varKSintLINK_AP, @varKSnIN_SUM_D, @varKSnIN_SUM_K
		
	END
*/
	DECLARE #UPDATE_REST CURSOR LOCAL
		FOR SELECT LINK_AP 
			FROM @TABLE_GR

	DECLARE	@varKSintREC_NO	INT,
		@varKSintLINK_AP	INT,
		@varKSnIN_SUM_D	NUMERIC (28,4),
		@varKSnIN_SUM_K	NUMERIC (28,4),
		@varKSnOBOROT_SUMMA	NUMERIC (28,4)

	OPEN #UPDATE_REST
	FETCH #UPDATE_REST
		INTO @varKSintLINK_AP
	WHILE @@FETCH_STATUS = 0 BEGIN
		
		SET @varKSnOBOROT_SUMMA	= (SELECT SUM (D_SUMMA) - SUM (K_SUMMA)
						FROM @RESULT
						WHERE LINK_AP = @varKSintLINK_AP)
		SET @varKSnOBOROT_SUMMA = ISNULL (@varKSnOBOROT_SUMMA, 0)

		SET @varKSnIN_SUM_D = (SELECT D_SUMMA
					FROM @TABLE_REST
					WHERE LINK_AP = @varKSintLINK_AP)

		SET @varKSnIN_SUM_K = (SELECT K_SUMMA
					FROM @TABLE_REST
					WHERE LINK_AP = @varKSintLINK_AP)

		UPDATE @RESULT SET OUT_SUM_D = CASE 
							WHEN @varKSACCT_ACTIVE = 1 THEN @varKSnOBOROT_SUMMA + ISNULL (@varKSnIN_SUM_D, 0)
							ELSE 0
						END,
					OUT_SUM_K = CASE 
							WHEN @varKSACCT_ACTIVE = 0 THEN @varKSnOBOROT_SUMMA * (-1) + ISNULL (@varKSnIN_SUM_K, 0)
							ELSE 0
						END
		WHERE LINK_AP = @varKSintLINK_AP
			
		FETCH #UPDATE_REST
			INTO @varKSintLINK_AP 
	END

	CLOSE #UPDATE_REST
	DEALLOCATE	#UPDATE_REST

	SELECT * FROM 	@RESULT ORDER BY AP_CODE, DATE_PROV
END

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZVM_EXPORT_v2_40]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZVM_EXPORT_v2_40]

GO

/*EXEC dbo.BK_SELECT_EXPORT_FORMAT 2486*/
/*exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451*/
CREATE      PROCEDURE [dbo].SA_SZVM_EXPORT_v2_40 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT  ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))


INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------


DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT,
		@Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = Begin_Date,
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS
WHERE LINK_SAVED_FORM = @link


DECLARE
	@first_month_of_quarter TINYINT,
	@second_month_of_quarter TINYINT,
	@third_month_of_quarter TINYINT

IF @Period_Number = 1
	SELECT @first_month_of_quarter = 1, @second_month_of_quarter = 2, @third_month_of_quarter = 3
IF @Period_Number = 2
	SELECT @first_month_of_quarter = 4, @second_month_of_quarter = 5, @third_month_of_quarter = 6
IF @Period_Number = 3
	SELECT @first_month_of_quarter = 7, @second_month_of_quarter = 8, @third_month_of_quarter = 9
IF @Period_Number = 4
	SELECT @first_month_of_quarter = 10, @second_month_of_quarter = 11, @third_month_of_quarter = 12

SELECT  @first_month_of_quarter = ISNULL(@first_month_of_quarter,1), @second_month_of_quarter = ISNULL(@second_month_of_quarter,2), @third_month_of_quarter = ISNULL(@third_month_of_quarter,3)


SELECT top 1
	DD1.OKPO AS OKPO1,
	DD1.INN AS INN1, DD1.KPP AS KPP1,
	FULL_NAME = UPPER(DD1.FULL_NAME),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	DD1.OGRN AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	CHIEF.FM as CHIEF_FM,
	CHIEF.IM as CHIEF_IM,
	CHIEF.OT as CHIEF_OT,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	DD1.OGRN,
	DD1.OKATO,
	DD1.OKTMO,
	DD1.OKVED,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TaxType = DD1.FSS_KP_PC1,
	TaxType2 = DD1.FSS_KP_PC2,
	TaxType3 = DD1.FSS_KP_PC3
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP

/*exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451*/

DECLARE @TYPE_FORM VARCHAR(5), @NumDot INT
SELECT @TYPE_FORM = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'RB_VIEW_ATR_TYPE_KORR'),'Исхд')
--SET @NumDot = CASE WHEN ISNUMERIC(@NumDotC) =1 THEN CONVERT(INT,@NumDotC) ELSE 0 END

DECLARE @Cur0 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @Cur CURSOR, @Cur1 CURSOR, @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254)

DECLARE @lcFNAME varchar(254),
		@lcFidNAME VARCHAR(254),
        @GUID UNIQUEIDENTIFIER
SET @GUID = NEWID()


SELECT @lcFNAME ='ПФР_'+ PFNUMBER + '_000000_СЗВ-М_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_'+ltrim(rtrim(@GUID))+'.XML' FROM #DEP_DATA
SELECT @lcFidNAME ='ПФР_'+ PFNUMBER + '_000000_СЗВ-М_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_'+ltrim(rtrim(@GUID))+'' FROM #DEP_DATA

--SELECT convert(varchar(10),@modify_date,104)



INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'UTF-8' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="UTF-8"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<ЭДПФР xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://пф.рф/ВС/СЗВ-М/2016-04-01" xmlns:СЗВМ="http://пф.рф/ВС/СЗВ-М/2016-04-01" xmlns:УТ="http://пф.рф/унифицированныеТипы/2014-01-01" xmlns:АФ="http://пф.рф/АФ">'
UNION ALL SELECT @lcFNAME, SPACE(1) + '<СЗВ-М xmlns:СЗВМ="http://пф.рф/ВС/СЗВ-М/2016-04-01">'



/** Титул **/
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<ТипФормы>1</ТипФормы>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<Страхователь>'

		UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегНомер>'+RTRIM(LTRIM(PFNUMBER))+'</РегНомер>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<НаименованиеКраткое>'+RTRIM(LTRIM(ORGNAME))+'</НаименованиеКраткое>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<ИНН>'+RTRIM(LTRIM(COALESCE(INN1,'')))+'</ИНН>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<КПП>'+RTRIM(LTRIM(KPP1))+'</КПП>' FROM #DEP_DATA
	UNION ALL SELECT @lcFNAME, SPACE(2) + '</Страхователь>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<ОтчетныйПериод>'
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<Месяц>'+RTRIM(LTRIM(CONVERT(char(2),month(@End_Date))))+'</Месяц>' 
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<КалендарныйГод>'+CONVERT(VARCHAR(4),@YEAR)+'</КалендарныйГод>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '</ОтчетныйПериод>'
	
--  /** Раздел I **/



CREATE TABLE #TAB_1 (NUM_PP  INT identity(1,1) , FIO VARCHAR(254),FM VARCHAR(100), IM VARCHAR(100) , OT VARCHAR(100),  INSUR_NUM VARCHAR(15), INN VARCHAR(12))

CREATE TABLE #TEMP_1 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TEMP_1  (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T ORDER BY T.COL , t.ROW_CODE


INSERT INTO #TAB_1 ( FIO, FM, IM, OT, INSUR_NUM, INN)
SELECT DISTINCT
	--NUM_PP = (SELECT TOP 1 ROW_CODE FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	FIO = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	FM = (SELECT TOP 1 left(STR_VAL, PATINDEX ( '% %' , STR_VAL)) FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	IM = (SELECT TOP 1 SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,PATINDEX ( '% %' ,SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1)))  FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	OT = (SELECT TOP 1 SUBSTRING(SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1), PATINDEX('% %', SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1)), LEN(SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1))) FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	INSUR_NUM = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 3 AND T.ROW_CODE = T1.ROW_CODE),
	INN = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 4 AND T.ROW_CODE = T1.ROW_CODE)
FROM
	#TEMP_1 T1 


DECLARE  @DEP_LINK1 INT , @ID1 INT /*Номер записи*/ , @nYear int, @nMonth int
set @ID1 = 0
--SET @nYear = year(@dDate1)
--set @nMonth = month(@dDate1)


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<СписокЗЛ>'

SET @Cur1 = CURSOR FORWARD_ONLY
FOR select NUM_PP from #TAB_1  ORDER BY NUM_PP
	
OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @ID1

	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME,SPACE(3) + '<ЗЛ НомерПП="'+RTRIM(LTRIM(STR(@ID1)))+'">' + CHAR(10)
								+ SPACE(4) + '<ФИО>' + CHAR(10)
									+ SPACE(5) + '<УТ:Фамилия>'+ RTRIM(LTRIM(COALESCE(FM,''))) +'</УТ:Фамилия>' + CHAR(10)
									+ SPACE(5) + '<УТ:Имя>'+RTRIM(LTRIM(COALESCE(IM,'')))+'</УТ:Имя>' + CHAR(10)
									+ SPACE(5) + '<УТ:Отчество>'+ RTRIM(LTRIM(COALESCE(OT,''))) +'</УТ:Отчество>' + CHAR(10)
								+ SPACE(4) + '</ФИО>' + CHAR(10)
								+ SPACE(4) + '<СНИЛС>'+ RTRIM(LTRIM(COALESCE(INSUR_NUM,''))) +'</СНИЛС>' + CHAR(10)
								+ SPACE(4) + (CASE WHEN COALESCE(INN,'') = '' THEN  '' 
										 WHEN len(COALESCE(INN,'')) <> 12  THEN    '' 
										 else '<ИНН>'+RTRIM(LTRIM(INN))+'</ИНН>' END )	 + CHAR(10)
						 + SPACE(3) + '</ЗЛ>' 
				FROM
					#TAB_1
				WHERE 
					NUM_PP = @ID1 
	
		END
		
		FETCH NEXT FROM @Cur1 INTO @ID1



	END

	CLOSE @Cur1
	DEALLOCATE @Cur1
	--exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '</СписокЗЛ>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '<ДатаЗаполнения>'+CONVERT(VARCHAR(10),ltrim(rtrim(replace(convert(varchar(10),@modify_date,126),'.',''))))+'</ДатаЗаполнения>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(1) + '</СЗВ-М>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '<СлужебнаяИнформация>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<АФ:GUID>'+RTRIM(LTRIM(COALESCE(@GUID,'')))+'</АФ:GUID>' + CHAR(10)
				   + SPACE(2) + '<АФ:ДатаВремя>'+CONVERT(VARCHAR(25),ltrim(rtrim(replace(convert(varchar(19),GETDATE(),126 ),'.','')+'+03:00')))+'</АФ:ДатаВремя>' + CHAR(10)
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '</СлужебнаяИнформация>'

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(0) + '</ЭДПФР>'



SET NOCOUNT OFF


select * from #OUTPUT order by [ID]










GO


GRANT EXECUTE ON dbo.[SA_SZVM_EXPORT_v2_40] TO PUBLIC

GO




GO
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BK_REPORT_JURNAL_BO]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BK_REPORT_JURNAL_BO]
GO

CREATE PROCEDURE BK_REPORT_JURNAL_BO
	@td_DATE_START	DATETIME,
	@td_DATE_END	DATETIME,
	@nOptType int				/* ВИд */,
	@cVal1 char(1), @nOtborLink1 int,	/* Отбор счетов нашей организации */
	@cVal2 char(1), @nOtborLink2 int,	/* Отбор КБК */
	@cVal3 char(1), @nOtborLink3 int,	/* Отбор источников */
	@cVal4 char(1), @nOtborLink4 int	/* Отбор источников */
AS
BEGIN
	DECLARE @DEP_LINK	INT,
		@DEP_NAME	VARCHAR (254),
		@DEP_OKPO	VARCHAR (20),

		@dDATE_START	DATETIME,
		@dDATE_STOP	DATETIME

	DECLARE @TAB_DEP_ACCT TABLE (LINK_ACCT INT)
	IF LEN (@cVal1) > 0 
		INSERT INTO @TAB_DEP_ACCT
		SELECT RECORD
		FROM OBJECT_VAR_DEPARTMENT_ACCOUNTS
		WHERE LINK_UP = @nOtborLink1
	ELSE
		INSERT INTO @TAB_DEP_ACCT
		SELECT LINK
		FROM dbo.DEPARTMENT_ACCOUNTS
	
	DECLARE @tKBK TABLE (LINK INT)
	IF LEN (@cVal2) > 0 
		INSERT INTO @tKBK
		SELECT RECORD
		FROM OBJECT_VAR_KBK
		WHERE LINK_UP = @nOtborLink2
	ELSE
		INSERT INTO @tKBK
		SELECT LINK
		FROM dbo.KL_KBK
		
	
	
	-- Отбор источников финансирования --
	DECLARE @TAB_SFIN TABLE (CODE CHAR (2))

	IF LEN (@cVal3) > 0 
		INSERT INTO @TAB_SFIN
		SELECT D.CODE
		FROM dbo.OBJECT_VAR_FIN_SOURCE OVR
		INNER JOIN dbo.FIN_SOURCE D ON (D.LINK = OVR.RECORD)
		WHERE OVR.LINK_UP = @nOtborLink3
	ELSE
		INSERT INTO @TAB_SFIN
		SELECT D.CODE
		FROM dbo.FIN_SOURCE D 


	SELECT @dDATE_START = BEGINDATE,
		@dDATE_STOP = ENDDATE
	FROM USER_INFO

	SELECT @DEP_LINK = LINK,
		@DEP_NAME = NAME,
		@DEP_OKPO = OKPO
	FROM DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SET @dDATE_START = ISNULL (@td_DATE_START, @dDATE_START)
	SET @dDATE_STOP = ISNULL (@td_DATE_END, @dDATE_STOP)

	SELECT T1.DEP AS DEP_LINK,
		@DEP_NAME AS DEP_NAME,
		@DEP_OKPO AS DEP_OKPO,

		CONVERT (VARCHAR (10), @dDATE_START, 104) AS DATE_BEGIN, 
		CONVERT (VARCHAR (10), @dDATE_STOP, 104) AS DATE_END,
		CONVERT (VARCHAR (10), T1.DATE_AP1, 104) AS DOC_DATE,

		CODE_AP1 AS DOC_NUM,
		NAME_AP1 AS DOC_NAME,
		TYPE_AP1 AS DOC_TYPE,
		SA.LINK,
		dbo.BK_GetAcctFullCode1 (SA.LINK, T1.KBK_LINK, T1.SGU_LINK, 1, 1, @td_DATE_END) AS ACCT_CODE,
		T1.SUMMA,
		CONVERT (VARCHAR (10), ISNULL (T1.DATE_PR,T1.DATE_AP1), 104) AS cDATE_PR,
		ISNULL (CONVERT (VARCHAR (10), T1.DATE_SN, 104), '') AS cDATE_SN,
		ISNULL (G2.[NAME], '') AS COMENT
	FROM dbo.BD_JURN_BO T1
	INNER JOIN @TAB_DEP_ACCT D_ACCT ON (D_ACCT.LINK_ACCT = T1.ACCOUNT_LINK)
	INNER JOIN @tKBK KBK ON KBK.LINK = T1.KBK_LINK
	inner join @TAB_SFIN SF on SF.CODE = T1.IST_FIN
	LEFT OUTER JOIN G_PROV2 G2 ON T1.PROV_LINK = G2.LINK
	LEFT OUTER JOIN G_PROV_AP GAP ON GAP.LINK_UP = G2.LINK and GAP.DB_KR = 1
	LEFT OUTER JOIN S_ACCOUNTS SA ON GAP.ACCOUNT = SA.LINK
	WHERE T1.DATE_AP1 BETWEEN @dDATE_START AND @dDATE_STOP
		AND T1.DEP = @DEP_LINK
		and (@nOptType = 1 or @nOptType = 2 and DO = 0 or @nOptType = 3 and DO = 1)
		and (len(@cVal4) = 0 or exists(SELECT *	FROM dbo.OBJECT_VAR_DOP_CLASSIF WHERE LINK_UP = @nOtborLink4 and RECORD = T1.DOP_LINK))

END

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

GRANT ALL ON BK_REPORT_JURNAL_BO TO PUBLIC
GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_MANYGRAPH_CARD]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_MANYGRAPH_CARD]

GO

--- МНОГОГРАФНАЯ КАРТОЧКА --- 
-- SELECT * FROM S_ACCOUNTS WHERE CODE = '1.401.01'
-- SELECT * FROM dbo.BK_GetTableDictionByAP ('EKR') 
-- EXEC [dbo].BK_REPORT_MANYGRAPH_CARD '20070101', '20071231', 1486, 0, 'EKR'
CREATE     PROCEDURE dbo.BK_REPORT_MANYGRAPH_CARD 
	@dDateSTART datetime	/* Начало расч. периода */,
	@dDateEND datetime	/* Конец расч. периода */,
	@nSel_Spr1 int		/* Счет */,
	@nPRN_REST	INT	/* -- Выводить остатки по счету -- */,
	@strCODE_AP	VARCHAR (60) = 'ACCOUNT',
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@cVal_KAU char(1) = '', @nOtborLinkKAU int = 0	-- Отбор КАУ
AS 
BEGIN
	DECLARE
		@cCROSS_TABLE_DB	VARCHAR (100),
		@cCROSS_TABLE_KT	VARCHAR (100),
		@intCOUNTER		INT,
		@cCOUNTER		VARCHAR (10),
		@intMAX_REC		INT,
		@cSQL_STR		VARCHAR (1000),
		@DEP_NAME		VARCHAR (254),
		@DEP_OKPO		VARCHAR (20),
		@DEP_LINK		INT,
		@GLBUH_NAME		VARCHAR (100),
		@intCOUNT_COLROW	INT,
		@REST_BEGIN		NUMERIC (28,4),
		@REST_END		NUMERIC (28,4),
		@dDATE_REST_E		DATETIME,
		@cDATE_REST_E		VARCHAR (10)		

	SET @intMAX_REC = 10

	SELECT @DEP_LINK = LINK, @DEP_OKPO = OKPO, @DEP_NAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SELECT @GLBUH_NAME = SHORT_NAME
	FROM dbo.GetOtvFaceData (@DEP_LINK, 'Главный бухгалтер')

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР КАУ --- 
	DECLARE @TAB_KAU TABLE (LINK INT)
	IF LEN (@cVal_KAU) > 0
		INSERT INTO @TAB_KAU
		SELECT
			AP.LINK
		FROM dbo.KAU AP 
		INNER JOIN dbo.OBJECT_VAR_KAU OVR ON (OVR.RECORD = AP.LINK)
		WHERE
			OVR.LINK_UP = @nOtborLinkKAU
	ELSE
		SET @nOtborLinkKAU = -1

	-- Входящий остаток по счету -- 
	SELECT
		@REST_BEGIN = CASE 
						WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
						WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END
	FROM dbo.ARestTableByDate (@dDateSTART, @nSel_Spr1) R
	INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
	INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
	WHERE
		R.DEP_LINK = @DEP_LINK
		AND (@nOtborLinkKAU = -1
				OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @TAB_KAU TTT
													WHERE TTT.LINK = R.KAU)
				)									
	GROUP BY
		S_ACTIVE, S_PASSIVE

	/* -- Исходящий остаток по счету -- */
	SET @dDATE_REST_E = DATEADD (DAY, 1, @dDateEND)
	SET @cDATE_REST_E = CONVERT (VARCHAR (10), @dDATE_REST_E, 104)
	SELECT
		@REST_END = CASE 
						WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
						WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END
	FROM dbo.ARestTableByDate (@dDATE_REST_E, @nSel_Spr1) R
	INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
	INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
	WHERE
		R.DEP_LINK = @DEP_LINK
		AND (@nOtborLinkKAU = -1
				OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @TAB_KAU TTT
													WHERE TTT.LINK = R.KAU)
				)									
	GROUP BY S_ACTIVE, S_PASSIVE

	SELECT @REST_BEGIN = ISNULL (@REST_BEGIN, 0), @REST_END = ISNULL (@REST_END, 0)

	--- БЕРЕМ ВСЕ ДЕБЕТОВЫЕ ОБОРОТЫ ЗА ПЕРИОД ПО СЧЕТУ (КРЕДИТОВАЯ КОРРЕСПОНДЕНЦИЯ) --- 
	CREATE TABLE #ACCT_IN_DB
			(DATE_OP		[DATETIME],
				JO_NUM		[VARCHAR] (10),
				NAME_OPER	[VARCHAR] (254),
				AC		[VARCHAR] (60),
				SS		[NUMERIC] (28,4),
				RB		[NUMERIC] (28,4),
				RE		[NUMERIC] (28,4),
				REST_B		[NUMERIC] (28,4),
				REST_E		[NUMERIC] (28,4),
				DATE_E		[VARCHAR] (10))

	INSERT INTO #ACCT_IN_DB
	SELECT OB.DATE_PROV,
		ISNULL (OP.JOUR_CODE, ''),
		OB.NAME_OPER,
		CASE
			WHEN @strCODE_AP = 'ACCOUNT'
				THEN ISNULL (dbo.BK_GetAcctFullCode1 (G_KT.ACCOUNT,
									G_KT.KBK,
									G_KT.SGU,
									DEFAULT, DEFAULT,
									@dDateEND), '')
			ELSE AP.AP_CODE
		END,
		OB.SUMMA,
		0, 0,
		@REST_BEGIN,
		@REST_END,
		@cDATE_REST_E
	FROM dbo.BK_GetTableOborotByDate1 (@dDateSTART, @dDateEND, 0, @nSel_Spr1, @DEP_LINK) OB
	INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = OB.KBK)
	LEFT JOIN dbo.G_PROV_AP G_KT ON (G_KT.LINK_UP = OB.LINK_G2
		AND G_KT.DB_KR = 1)
	LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON (AP.LINK_AP = CASE
									WHEN @strCODE_AP = 'EKR' THEN OB.EKR
									WHEN @strCODE_AP = 'KAU' THEN OB.KAU
								END)
	LEFT OUTER JOIN dbo.BK_TYPE_ECONOM_OPER OP ON (OP.LINK = OB.XOZ_OPER)
	WHERE 
		(@strCODE_AP = 'ACCOUNT' 
			OR (@strCODE_AP = 'EKR' AND AP.LINK_AP IS NOT NULL)
			OR (@strCODE_AP = 'KAU' AND AP.LINK_AP IS NOT NULL)
		)
		AND (@nOtborLinkKAU = -1
				OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @TAB_KAU TTT
													WHERE TTT.LINK = OB.KAU)
				)									

	--- БЕРЕМ ВСЕ КРЕДИТОВЫЕ ОБОРОТЫ ЗА ПЕРИОД ПО СЧЕТУ (ДЕБЕТОВАЯ КОРРЕСПОНДЕНЦИЯ) --- 
	CREATE TABLE #ACCT_IN_KT (DATE_OP		[DATETIME],
				JO_NUM		[VARCHAR] (10),
				NAME_OPER	[VARCHAR] (254),
				AC		[VARCHAR] (60),
				SS		[NUMERIC] (28,4),
				RB		[NUMERIC] (28,4),
				RE		[NUMERIC] (28,4),
				REST_B		[NUMERIC] (28,4),
				REST_E		[NUMERIC] (28,4),
				DATE_E		[VARCHAR] (10))

	INSERT INTO #ACCT_IN_KT
	SELECT OB.DATE_PROV,
		ISNULL (OP.JOUR_CODE, ''),
		OB.NAME_OPER,
		CASE
			WHEN @strCODE_AP = 'ACCOUNT'
				THEN ISNULL (dbo.BK_GetAcctFullCode1 (G_DB.ACCOUNT,
									G_DB.KBK,
									G_DB.SGU,
									DEFAULT,
									DEFAULT,
									@dDateEND), '')
			ELSE AP.AP_CODE
		END,
		OB.SUMMA,
		0, 0,
		@REST_BEGIN,
		@REST_END,
		@cDATE_REST_E
	FROM dbo.BK_GetTableOborotByDate1 (@dDateSTART, @dDateEND, 1, @nSel_Spr1, @DEP_LINK) OB
	INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = OB.KBK)
	LEFT JOIN dbo.G_PROV_AP G_DB ON (G_DB.LINK_UP = OB.LINK_G2
		AND G_DB.DB_KR = 0)
	LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON (AP.LINK_AP = CASE
									WHEN @strCODE_AP = 'EKR' THEN OB.EKR
									WHEN @strCODE_AP = 'KAU' THEN OB.KAU
								END)
	LEFT OUTER JOIN dbo.BK_TYPE_ECONOM_OPER OP ON (OP.LINK = OB.XOZ_OPER)
	WHERE 
		(@strCODE_AP = 'ACCOUNT' 
			OR (@strCODE_AP = 'EKR' AND AP.LINK_AP IS NOT NULL)
			OR (@strCODE_AP = 'KAU' AND AP.LINK_AP IS NOT NULL)
			)
		AND (@nOtborLinkKAU = -1
				OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @TAB_KAU TTT
													WHERE TTT.LINK = OB.KAU)
				)				

	--- Остатки по аналитике ---
	IF @strCODE_AP IN ('EKR', 'KAU')
	BEGIN
		-- Входящие ---
		UPDATE T_DB SET RB = ISNULL (R1.R_SUM, 0)
		FROM #ACCT_IN_DB T_DB
		LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON AP.AP_CODE = T_DB.AC
		LEFT JOIN (SELECT CASE 
					WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
					WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END AS R_SUM,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END AS AP
			FROM dbo.ARestTableByDate (@dDateSTART, @nSel_Spr1) R
			INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
			INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
			WHERE R.DEP_LINK = @DEP_LINK
			GROUP BY S_ACTIVE, S_PASSIVE,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END
			) 
				AS R1 ON R1.AP = AP.LINK_AP

		UPDATE T_KT SET RB = R1.R_SUM
		FROM #ACCT_IN_KT T_KT
		LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON AP.AP_CODE = T_KT.AC
		LEFT JOIN (SELECT CASE 
					WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
					WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END AS R_SUM,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END AS AP
			FROM dbo.ARestTableByDate (@dDateSTART, @nSel_Spr1) R
			INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
			INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
			WHERE R.DEP_LINK = @DEP_LINK
			GROUP BY S_ACTIVE, S_PASSIVE,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END
			) 
				AS R1 ON R1.AP = AP.LINK_AP

		-- Исходящие ---
		UPDATE T_DB SET RE = R1.R_SUM
		FROM #ACCT_IN_DB T_DB
		LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON AP.AP_CODE = T_DB.AC
		LEFT JOIN (SELECT CASE 
					WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
					WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END AS R_SUM,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END AS AP
			FROM dbo.ARestTableByDate (@dDATE_REST_E, @nSel_Spr1) R
			INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
			INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
			WHERE R.DEP_LINK = @DEP_LINK
			GROUP BY S_ACTIVE, S_PASSIVE,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END
			) 
				AS R1 ON AP = AP.LINK_AP

		UPDATE T_KT SET RE = R1.R_SUM
		FROM #ACCT_IN_KT T_KT
		LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON AP.AP_CODE = T_KT.AC
		LEFT JOIN (SELECT CASE 
					WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
					WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END AS R_SUM,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END AS AP
			FROM dbo.ARestTableByDate (@dDATE_REST_E, @nSel_Spr1) R
			INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
			INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
			WHERE R.DEP_LINK = @DEP_LINK
			GROUP BY S_ACTIVE, S_PASSIVE,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END
			) 
				AS R1 ON R1.AP = AP.LINK_AP
	END

	EXEC dbo.X_GET_TABLE_NAME @cCROSS_TABLE_DB OUTPUT
	EXEC dbo.X_GET_TABLE_NAME @cCROSS_TABLE_KT OUTPUT

	EXEC dbo.M_CROSS_TABLE 'DATE_OP, JO_NUM, NAME_OPER, REST_B, REST_E, DATE_E', 'AC', 'VARCHAR (60)', 'SS, RB, RE',
			'NUMERIC (28,4)#NUMERIC (28,4)#NUMERIC (28,4)', 'SUM (SS) AS SS, 0 AS RB, 0 AS RE',
			'#ACCT_IN_DB', @cCROSS_TABLE_DB

	EXEC dbo.M_CROSS_TABLE 'DATE_OP, JO_NUM, NAME_OPER, REST_B, REST_E, DATE_E', 'AC', 'VARCHAR (60)', 'SS, RB, RE',
			'NUMERIC (28,4)#NUMERIC (28,4)#NUMERIC (28,4)', 'SUM (SS) AS SS, 0 AS RB, 0 AS RE',
			'#ACCT_IN_KT', @cCROSS_TABLE_KT

	--- Готовим для вывода счет ДБ ---
	SET @intCOUNTER = (SELECT COUNT (DISTINCT AC) FROM #ACCT_IN_DB)
	SET @intCOUNTER = ISNULL (@intCOUNTER, 0)
	SET @intCOUNT_COLROW = @intCOUNTER

	WHILE @intCOUNTER < @intMAX_REC
	BEGIN
		SET @intCOUNTER = @intCOUNTER + 1
		SET @cCOUNTER = LTRIM (STR (@intCOUNTER))
		SET @cSQL_STR = 'ALTER TABLE ' + @cCROSS_TABLE_DB
			+ ' ADD AC_' + @cCOUNTER + ' VARCHAR (60) '
			+ ', SS_' + @cCOUNTER + ' [NUMERIC] (28,4)'
			+ ', RB_' + @cCOUNTER + ' [NUMERIC] (28,4)'
			+ ', RE_' + @cCOUNTER + ' [NUMERIC] (28,4)'
		EXECUTE (@cSQL_STR)
	END 

	SET @intCOUNTER = 0
	WHILE @intCOUNTER < @intCOUNT_COLROW
	BEGIN
		SET @intCOUNTER = @intCOUNTER + 1
		SET @cCOUNTER = LTRIM (STR (@intCOUNTER))
		SET @cSQL_STR = 'DECLARE @SUM_RB NUMERIC (28,4), @SUM_RE NUMERIC (28,4), @KEY_FIELD VARCHAR (20)' + CHAR (10)
			+ 'SET @KEY_FIELD = (SELECT TOP 1 AC_' + @cCOUNTER + ' FROM ' + @cCROSS_TABLE_DB + ')' + CHAR (10) 
			+ 'SET @SUM_RB = (SELECT TOP 1 RB FROM #ACCT_IN_DB WHERE AC =  @KEY_FIELD)' + CHAR (10)
			+ 'SET @SUM_RE = (SELECT TOP 1 RE FROM #ACCT_IN_DB WHERE AC =  @KEY_FIELD)' + CHAR (10)
			+ 'UPDATE ' + @cCROSS_TABLE_DB + ' SET RB_' + @cCOUNTER + ' = ISNULL (@SUM_RB, 0), RE_'
				+ @cCOUNTER + ' = ISNULL (@SUM_RE, 0)'
		EXECUTE (@cSQL_STR)
	END

	IF @intCOUNT_COLROW = 0
		EXEC ('INSERT INTO ' + @cCROSS_TABLE_DB + ' (NAME_OPER) VALUES ('''') ')

	--- Готовим для вывода КТ ---
	SET @intCOUNTER = (SELECT COUNT (DISTINCT AC) FROM #ACCT_IN_KT)
	SET @intCOUNTER = ISNULL (@intCOUNTER, 0)
	SET @intCOUNT_COLROW = @intCOUNTER
	WHILE @intCOUNTER < @intMAX_REC
	BEGIN
		SET @intCOUNTER = @intCOUNTER + 1
		SET @cCOUNTER = LTRIM (STR (@intCOUNTER))
		SET @cSQL_STR = 'ALTER TABLE ' + @cCROSS_TABLE_KT
			+ ' ADD AC_' + @cCOUNTER + ' VARCHAR (60) '
			+ ', SS_' + @cCOUNTER + ' [NUMERIC] (28,4)'
			+ ', RB_' + @cCOUNTER + ' [NUMERIC] (28,4)'
			+ ', RE_' + @cCOUNTER + ' [NUMERIC] (28,4)'
		EXECUTE (@cSQL_STR)
	END 

	SET @intCOUNTER = 0
	WHILE @intCOUNTER < @intCOUNT_COLROW
	BEGIN
		SET @intCOUNTER = @intCOUNTER + 1
		SET @cCOUNTER = LTRIM (STR (@intCOUNTER))
		SET @cSQL_STR = 'DECLARE @SUM_RB NUMERIC (28,4), @SUM_RE NUMERIC (28,4), @KEY_FIELD VARCHAR (20)' + CHAR (10)
			+ 'SET @KEY_FIELD = (SELECT TOP 1 AC_' + @cCOUNTER + ' FROM ' + @cCROSS_TABLE_KT + ')' + CHAR (10) 
			+ 'SET @SUM_RB = (SELECT TOP 1 RB' + ' FROM #ACCT_IN_KT WHERE AC =  @KEY_FIELD)' + CHAR (10)
			+ 'SET @SUM_RE = (SELECT TOP 1 RE' + ' FROM #ACCT_IN_KT WHERE AC =  @KEY_FIELD)' + CHAR (10)
--			+ 'IF @SUM_RB IS NOT NULL OR @SUM_RE IS NOT NULL' + CHAR(10)
			+ 'UPDATE ' + @cCROSS_TABLE_KT + ' SET RB_' + @cCOUNTER + ' = ISNULL (@SUM_RB, 0), RE_'
				+ @cCOUNTER + ' = ISNULL (@SUM_RE, 0)'
--PRINT (@cSQL_STR)
		EXECUTE (@cSQL_STR)
	END

	IF @intCOUNT_COLROW = 0
		EXEC ('INSERT INTO ' + @cCROSS_TABLE_KT + ' (NAME_OPER) VALUES ('''') ')

	SELECT LINK,
		CODE AS ACCT_CODE,
		[NAME] AS ACCT_NAME,
		ISNULL (@DEP_OKPO, '') AS DEP_OKPO,
		ISNULL (@DEP_NAME, '') AS DEP_NAME,
		ISNULL (@GLBUH_NAME, '') AS GLBUH_NAME
	FROM dbo.S_ACCOUNTS
	WHERE LINK = @nSel_Spr1

	EXEC ('SELECT CONVERT (VARCHAR (10), DATE_OP, 104) AS DATE_OP_C, * FROM ' + @cCROSS_TABLE_DB)
	EXEC ('SELECT CONVERT (VARCHAR (10), DATE_OP, 104) AS DATE_OP_C, * FROM ' + @cCROSS_TABLE_KT)

	DROP TABLE #ACCT_IN_DB
	DROP TABLE #ACCT_IN_KT
	EXEC ('DROP TABLE ' + @cCROSS_TABLE_DB)
	EXEC ('DROP TABLE ' + @cCROSS_TABLE_KT)
END







GO


GRANT EXECUTE ON dbo.[BK_REPORT_MANYGRAPH_CARD] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_AO_DEPART1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_AO_DEPART1]

GO



/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_AO_DEPART1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal2 char(1), @varKSnOtborLink2 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSPrnKBK INT				,
	@varKSPrnSGU INT				,

	@varKScOtborAccount	VARCHAR (100)		,
	@varKScOtborAccountAN	VARCHAR (100)		,
	@intTYPE_ORG		INT,
	@intSVOD_ZB		int,		-- Сводный отчет (ЦБ) 
	@intREP_BY_OSNOV	INT = 0		-- Отчет в разрезе договоров
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)	/* -- Сводный отчет по ЦБ -- */
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()
				
	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL		/* -- Сводный отчет по ЦБ (собственные реквизиты организации) -- */
		SET @varKSDEP_LINK = dbo.GetOwnDepLink ()

	SELECT @varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('302', DEFAULT, DEFAULT, DEFAULT) ACCT
		UNION 
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('206', DEFAULT, DEFAULT, DEFAULT) ACCT

	DECLARE @DEP TABLE (LINK_DEP INT, DEP_CODE  VARCHAR(20), DEP_NAME VARCHAR(254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @DEP
		SELECT OVR.RECORD, D.CODE, D.[NAME]
		FROM dbo.OBJECT_VAR_DEPARTMENT OVR, dbo.DICTIONARY_DEPARTMENT D
		WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @DEP
		SELECT D.LINK, D.CODE, D.[NAME]
		FROM dbo.DICTIONARY_DEPARTMENT D
		WHERE (@intTYPE_ORG = 0)
			OR (@intTYPE_ORG <> 0 AND TYPE = @intTYPE_ORG)
		INSERT INTO @DEP VALUES (0, '', 'Не указан')
	END

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	DECLARE @TABLE1 TABLE (DEP INT, ACCOUNT INT, 
			KBK INT, KOSGU INT, AP1 INT,
			D_SUMMA NUMERIC (20,2), D_QTY NUMERIC (20,2),  
			K_SUMMA NUMERIC (20,2), K_QTY NUMERIC (20,2),  
			IN_SUMMA NUMERIC (20,2), IN_QTY NUMERIC (20,2),  	
			OUT_SUMMA NUMERIC (20,2), OUT_QTY NUMERIC (20,2))  	

	INSERT INTO @TABLE1
	SELECT T1.DEP,
		T1.ACCOUNT,
		CASE
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE 
			WHEN @intREP_BY_OSNOV = 1 THEN T1.AP1
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, DEFAULT) T1
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	WHERE (@intSVOD_ZB = 1)
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  T1.DEP,
		T1.ACCOUNT,
		CASE
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE 
			WHEN @intREP_BY_OSNOV = 1 THEN T1.AP1
			ELSE 0
		END

	DECLARE @RESULT TABLE (DEP INT, ACCOUNT INT, 
			DEP_CODE VARCHAR (20), DEP_NAME VARCHAR (254),
			ACCT_GR VARCHAR (30), ACCT_CODE VARCHAR (60),
			
			OSNOV_LINK INT, NUM_OSNOV	VARCHAR (30),
			DATE_OSNOV DATETIME, INF_OSNOV VARCHAR (254),

			D_SUM NUMERIC (20,2), D_QTY NUMERIC (20,2),	
			K_SUM NUMERIC (20,2), K_QTY NUMERIC (20,2),	
			DIN_SUM NUMERIC (20,2), DIN_QTY NUMERIC (20,2),		
			KIN_SUM NUMERIC (20,2), KIN_QTY NUMERIC (20,2),		
			DOUT_SUM NUMERIC (20,2), DOUT_QTY NUMERIC (20,2),	
			KOUT_SUM NUMERIC (20,2), KOUT_QTY NUMERIC (20,2),	
			ORGNAME VARCHAR (254),
			REP_HDR VARCHAR (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		DEP.DEP_CODE,
		DEP.DEP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSPrnKBK, @varKSPrnSGU, @varKSdDate2),

		OSN.LINK, OSN.NUMBER,
		OSN.[DATE], OSN.INFO,

		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_QTY
			ELSE 0
		END,
		@varKSORGNAME AS ORGNAME,
		'ПО РАСЧЕТАМ С ОРГАНИЗАЦИЯМИ' AS REP_HDR
	FROM @TABLE1 OSV
	INNER JOIN @DEP DEP ON (DEP.LINK_DEP = OSV.DEP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT JOIN dbo.BD_OSNOV OSN ON (OSN.LINK = OSV.AP1)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	SELECT *,
		ISNULL (@intREP_BY_OSNOV, 0) AS BY_OSNOV
	FROM @RESULT
	ORDER BY DEP_CODE, DATE_OSNOV, NUM_OSNOV, OSNOV_LINK, ACCT_GR, ACCT_CODE
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_AO_DEPART1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_AO_PERSON1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_AO_PERSON1]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_AO_PERSON1
	@varKSdDate1	DATETIME,
	@varKSdDate2	DATETIME,
	@varKScVal1 char(1), @varKSnOtborLink1 int,
	@varKScVal2 char(1), @varKSnOtborLink2 int,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSPrnKBK INT,
	@varKSPrnSGU INT,
	@intSVOD_ZB	int,	-- Сводный отчет (ЦБ)--
	@intGRP_DOP	INT,
	@cVal_DOP char(1), @nOtbor_DOP int,	-- Отбор Доп.кл-ции --
	@varKScOtborAccount	VARCHAR (100)
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254) 

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)	/* -- Сводный отчет по ЦБ -- */
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()
				
	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL 	/* -- Сводный отчет по ЦБ (собственные реквизиты организации) -- */
		SET @varKSDEP_LINK = dbo.GetOwnDepLink ()

	SELECT @varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
	
	-- Отбор субсчетов --
	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@varKScOtborAccount, DEFAULT) T1 ON (T1.VALUE = ACCT.cSINTH)

	-- Отбор сотрудников --
	DECLARE @EMP TABLE (LINK_EMP INT, EMP_CODE  VARCHAR(20), EMP_NAME VARCHAR(254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @EMP
		SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
		FROM dbo.OBJECT_VAR_EMPL OVR, dbo.KU_EMPL_PLACING D
		WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
		SELECT D.LINK, D.TAB, D.[NAME_EMPL]
		FROM dbo.KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', 'Не указан')
	END

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ДОП. КЛАССИФИКАЦИИ --- 
	DECLARE @TAB_DOP_CLASSIF TABLE (LINK_DOP INT, DOP_CODE VARCHAR (20), DOP_NAME VARCHAR (254))
	IF LEN (@cVal_DOP) > 0 AND @intGRP_DOP = 1
		INSERT INTO @TAB_DOP_CLASSIF
		SELECT AP.LINK,
			AP.CODE,
			AP.NAME
		FROM dbo.DOP_CLASSIF AP 
		INNER JOIN dbo.OBJECT_VAR_DOP_CLASSIF OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtbor_DOP
	ELSE
		INSERT INTO @TAB_DOP_CLASSIF
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('AP2')

	-- ОСВ --
	DECLARE @TABLE1 TABLE (DEP INT, ACCOUNT INT, EMP INT,
			KBK INT, KOSGU INT, DOP INT, 
			D_SUMMA NUMERIC (20,2), D_QTY NUMERIC (20,2),  
			K_SUMMA NUMERIC (20,2), K_QTY NUMERIC (20,2),  
			IN_SUMMA NUMERIC (20,2), IN_QTY NUMERIC (20,2),  	
			OUT_SUMMA NUMERIC (20,2), OUT_QTY NUMERIC (20,2))  	

	INSERT INTO @TABLE1
	SELECT
--		T1.DEP,
		0,
		T1.ACCOUNT,
		T1.EMP,
		CASE 
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE 
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_DOP = 1 THEN T1.AP2
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, DEFAULT) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	INNER JOIN @TAB_DOP_CLASSIF DOP ON (DOP.LINK_DOP = T1.AP2)
	WHERE (@intSVOD_ZB = 1)
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY
--		T1.DEP,
		T1.ACCOUNT,
		T1.EMP,
		CASE 
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE 
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_DOP = 1 THEN T1.AP2
			ELSE 0
		END

	DECLARE @RESULT TABLE (DEP INT, ACCOUNT INT, EMP INT,
			DEP_CODE VARCHAR (20), DEP_NAME VARCHAR (254),
			ACCT_GR VARCHAR (30), ACCT_CODE VARCHAR (60),
			EMP_CODE VARCHAR (20), EMP_NAME VARCHAR (254),
			DOP_CODE VARCHAR (20), DOP_NAME VARCHAR (254),
			D_SUM NUMERIC (20,2), D_QTY NUMERIC (20,2),	
			K_SUM NUMERIC (20,2), K_QTY NUMERIC (20,2),	
			DIN_SUM NUMERIC (20,2), DIN_QTY NUMERIC (20,2),		
			KIN_SUM NUMERIC (20,2), KIN_QTY NUMERIC (20,2),		
			DOUT_SUM NUMERIC (20,2), DOUT_QTY NUMERIC (20,2),	
			KOUT_SUM NUMERIC (20,2), KOUT_QTY NUMERIC (20,2),	
			ORGNAME VARCHAR (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.EMP,
		ISNULL (DEP.CODE, ''),
		ISNULL (DEP.[NAME],'Не указан'),
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSPrnKBK, @varKSPrnSGU, @varKSdDate2),
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		DOP.DOP_CODE,
		DOP.DOP_NAME,
		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_QTY
			ELSE 0
		END,
		@varKSORGNAME AS ORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = OSV.EMP)
	INNER JOIN @TAB_DOP_CLASSIF DOP ON (DOP.LINK_DOP = OSV.DOP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	SELECT *,
		ISNULL (@intGRP_DOP, 0) AS DOP_GR
	FROM @RESULT ORDER BY DEP_CODE, EMP_CODE, DOP_CODE, ACCT_GR, ACCT_CODE

END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_AO_PERSON1] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_DEP_DEBET]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_DEP_DEBET]

GO
/*
© Кейсистемс (Keysystems), 2009
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_DEP_DEBET
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal2 char(1), @varKSnOtborLink2 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSPrnKBK INT				,
	@varKSPrnSGU INT				,

	@varKScOtborAccount	VARCHAR (100)		,
	@varKScOtborAccountAN	VARCHAR (100)		,
	@intTYPE_ORG		INT,
	@intSVOD_ZB		int,	 -- Сводный отчет (ЦБ) --
	@intREP_BY_OSNOV	INT = 0		-- Отчет в разрезе договоров --
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)	/* -- Сводный отчет по ЦБ -- */
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()
				
	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL		/* -- Сводный отчет по ЦБ (собственные реквизиты организации) -- */
		SET @varKSDEP_LINK = dbo.GetOwnDepLink ()

	SELECT @varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('205', DEFAULT, DEFAULT, DEFAULT) ACCT

/*
SELECT SA.CODE, * FROM @ACCT, S_ACCOUNTS SA WHERE LINK_ACCT = SA.LINK
RETURN
*/
	DECLARE @DEP TABLE (LINK_DEP INT, DEP_CODE  VARCHAR(20), DEP_NAME VARCHAR(254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @DEP
		SELECT OVR.RECORD, D.CODE, D.[NAME]
		FROM dbo.OBJECT_VAR_DEPARTMENT OVR, dbo.DICTIONARY_DEPARTMENT D
		WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @DEP
		SELECT D.LINK, D.CODE, D.[NAME]
		FROM dbo.DICTIONARY_DEPARTMENT D
		WHERE (@intTYPE_ORG = 0)
			OR (@intTYPE_ORG <> 0 AND TYPE = @intTYPE_ORG)
		INSERT INTO @DEP VALUES (0, '', 'Не указан')
	END

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	DECLARE @TABLE1 TABLE (DEP INT, ACCOUNT INT, 
			KBK INT, KOSGU INT,
			D_SUMMA NUMERIC (20,2), D_QTY NUMERIC (20,2),  
			K_SUMMA NUMERIC (20,2), K_QTY NUMERIC (20,2),  
			IN_SUMMA NUMERIC (20,2), IN_QTY NUMERIC (20,2),  	
			OUT_SUMMA NUMERIC (20,2), OUT_QTY NUMERIC (20,2))  	

	INSERT INTO @TABLE1
	SELECT T1.DEP,
		T1.ACCOUNT,
		CASE
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, DEFAULT) T1
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	WHERE (@intSVOD_ZB = 1)
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  T1.DEP,
		T1.ACCOUNT,
		CASE
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END

	DECLARE @RESULT TABLE (DEP INT, ACCOUNT INT, 
			DEP_CODE VARCHAR (20), DEP_NAME VARCHAR (254),
			ACCT_GR VARCHAR (30), ACCT_CODE VARCHAR (60),

			OSNOV_LINK INT, NUM_OSNOV	VARCHAR (30),
			DATE_OSNOV DATETIME, INF_OSNOV VARCHAR (254),

			D_SUM NUMERIC (20,2), D_QTY NUMERIC (20,2),	
			K_SUM NUMERIC (20,2), K_QTY NUMERIC (20,2),	
			DIN_SUM NUMERIC (20,2), DIN_QTY NUMERIC (20,2),		
			KIN_SUM NUMERIC (20,2), KIN_QTY NUMERIC (20,2),		
			DOUT_SUM NUMERIC (20,2), DOUT_QTY NUMERIC (20,2),	
			KOUT_SUM NUMERIC (20,2), KOUT_QTY NUMERIC (20,2),	
			ORGNAME VARCHAR (254),
			REP_HDR VARCHAR (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		DEP.DEP_CODE,
		DEP.DEP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSPrnKBK, @varKSPrnSGU, @varKSdDate2),

		0, '',
		NULL, '',

		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_QTY
			ELSE 0
		END,
		@varKSORGNAME AS ORGNAME,
		'ПО РАСЧЕТАМ С ДЕБИТОРАМИ ПО ДОХОДАМ'
	FROM @TABLE1 OSV
	INNER JOIN @DEP DEP ON (DEP.LINK_DEP = OSV.DEP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	SELECT *,
		ISNULL (@intREP_BY_OSNOV, 0) AS BY_OSNOV
	FROM @RESULT
	ORDER BY DEP_CODE, DATE_OSNOV, NUM_OSNOV, OSNOV_LINK, ACCT_GR, ACCT_CODE
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_DEP_DEBET] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_DOP_CLASSIF]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_DOP_CLASSIF]

GO


/*
© Кейсистемс (Keysystems), 2006
*/
CREATE PROCEDURE dbo.BK_REPORT_OSV_DOP_CLASSIF
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@nPrintKBK	INT		, -- Код счета с КБК --
	@nPrintSGU	INT		, -- Код счета с КОСГУ --
	@strAP_CODE	VARCHAR (60) = '',	
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal2 char(1), @nOtborLink2 int	, -- Отбор ДОП. КЛАССИФИКАЦИИ --
	@cVal3 char(1), @nOtborLink3 int	, -- Отбор Учреждений --
	@cVal_KBK char(1), @nOtborLinkKBK int	, -- Отбор КБК -- 
	@cVal_Emp char(1), @nOtborLinkEMP int	, -- Отбор Учреждений --
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254),
		@strDIC_TITLE	VARCHAR (20)

	--- ОТБОР СУБСЧЕТОВ --- 
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT

	--- ОТБОР ПОКАЗАТЕЛЕЙ ---
	DECLARE @TABLE_AP0 TABLE (LINK_AP0 [INT], AP0_CODE  [VARCHAR] (20), AP0_NAME [VARCHAR] (254))

		--- Отбор учреждений --- 
	IF @strAP_CODE = 'DEP'
		IF LEN(@cVal3)>0
			INSERT INTO @TABLE_AP0
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_DEPARTMENT OVR, dbo.DICTIONARY_DEPARTMENT D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLink3
		ELSE
			INSERT INTO @TABLE_AP0
			SELECT LINK_AP, AP_CODE, AP_NAME
			FROM dbo.BK_GetTableDictionByAP (@strAP_CODE)	

	--- Отбор сотрудников --- 
	IF @strAP_CODE = 'EMP'
		IF LEN (@cVal_Emp) > 0 
			INSERT INTO @TABLE_AP0
			SELECT OVR.RECORD, D.TAB, D.NAME_EMPL
			FROM dbo.OBJECT_VAR_EMPL OVR, dbo.KU_EMPL_PLACING D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLinkEMP
		ELSE
			INSERT INTO @TABLE_AP0
			SELECT LINK_AP, AP_CODE, AP_NAME
			FROM dbo.BK_GetTableDictionByAP (@strAP_CODE)	

	--- Заглушка, если не выбран показатель --- 
	IF ISNULL (@strAP_CODE, '') NOT IN ('DEP', 'EMP')
		INSERT INTO @TABLE_AP0
		VALUES (0, '', '')

	--- ОТБОР ДОП. КЛАССИФИКАЦИИ --- 
	DECLARE @TABLE_AP2 TABLE (LINK_AP [INT], AP_CODE  [VARCHAR] (20), AP_NAME [VARCHAR] (254))
	IF LEN(@cVal2)>0 BEGIN
		INSERT INTO @TABLE_AP2
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_DOP_CLASSIF OVR, dbo.BD_DOP_CLASSIF D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @TABLE_AP2
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('AP2')	
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (@varKSDEP_LINK)

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	SET @nPrintKBK = ISNULL (@nPrintKBK, 0)
	SET @nPrintSGU = ISNULL (@nPrintSGU, 0)

	--- ОСВ --- 
	DECLARE @TABLE1 TABLE (AP0 [INT], ACCOUNT [INT], AP [INT],
			KBK [INT], KOSGU [INT],
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2),
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT
		CASE
			WHEN @strAP_CODE = 'EMP' THEN T1.EMP
			WHEN @strAP_CODE = 'DEP' THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.AP2,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	GROUP BY
		CASE
			WHEN @strAP_CODE = 'EMP' THEN T1.EMP
			WHEN @strAP_CODE = 'DEP' THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.AP2,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (AP0 [INT], ACCOUNT [INT], AP [INT],
			KBK [INT], KOSGU [INT],
			AP0_CODE [VARCHAR] (20), AP0_NAME [VARCHAR] (254),
			AP_CODE [VARCHAR] (20), AP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			IN_SUM_D [NUMERIC] (20,2), IN_SUM_K [NUMERIC] (20,2),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2),
			OUT_SUM_D [NUMERIC] (20,2), OUT_SUM_K [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.AP0,
		OSV.ACCOUNT,
		OSV.AP,
		OSV.KBK,
		OSV.KOSGU,
		ISNULL (AP0.AP0_CODE, ''),
		ISNULL (AP0.AP0_NAME, 'Не указан'),
		AP.AP_CODE,
		AP.AP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @nPrintKBK, @nPrintSGU, @varKSdDate2),
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		OSV.D_SUMMA,
		OSV.K_SUMMA,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		@varKSORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @TABLE_AP2 AP ON (AP.LINK_AP = OSV.AP)
	INNER JOIN @TABLE_AP0 AP0 ON (AP0.LINK_AP0 = OSV.AP0)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SET @strDIC_TITLE = ISNULL ((SELECT TOP 1 S_TITLE FROM dbo.ANALIT WHERE CODE_AP = @strAP_CODE), '')

	SELECT 
		@strDIC_TITLE AS D_TITLE,
		@strAP_CODE AS D_CODE,
		*
	FROM @RESULT ORDER BY AP0_CODE, AP_CODE, ACCT_GR, ACCT_CODE
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_DOP_CLASSIF] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_EKR1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_EKR1]

GO



/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE [dbo].BK_REPORT_OSV_EKR1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@nPrintKBK	INT,	-- Код счета с КБК --
	@nPrintSGU	INT,	-- Код счета с КОСГУ --
	@nPrintDEP	INT,	-- Отчет в разрезе организаций --
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal2 char(1), @nOtborLink2 int,	-- Отбор ЕКР --
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@cVal_DEP char(1), @nOtborLinkDEP int,	-- Отбор учреждений --
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	--- Отбор субсчетов --- 
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT

	--- Отбор ЭКР --- 
	DECLARE @EKR TABLE (LINK_EKR [INT], EKR_CODE  [VARCHAR] (20), EKR_NAME [VARCHAR] (254))
	IF LEN(@cVal2)>0 BEGIN
		INSERT INTO @EKR
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_KOSGU OVR, dbo.KOSGU D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @EKR
			SELECT D.LINK, D.CODE, D.[NAME] FROM dbo.KOSGU D -- FROM DICTIONARY_ITEM D
		INSERT INTO @EKR VALUES (0, '', 'Не указан')
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- Отбор учреждений --- 
	DECLARE @DEP TABLE (LINK_DEP INT, DEP_CODE  VARCHAR(20), DEP_NAME VARCHAR(254) )
	IF LEN(@cVal_DEP)>0 BEGIN
		INSERT INTO @DEP
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_DEPARTMENT OVR, dbo.DICTIONARY_DEPARTMENT D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLinkDEP
	END
	ELSE
	BEGIN
		INSERT INTO @DEP
			SELECT D.LINK, D.CODE, D.[NAME] FROM dbo.DICTIONARY_DEPARTMENT D
		INSERT INTO @DEP VALUES (0, '', 'Не указан')
	END

	SET @nPrintKBK = ISNULL (@nPrintKBK, 0)
	SET @nPrintSGU = ISNULL (@nPrintSGU, 0)
	SET @nPrintDEP = ISNULL (@nPrintDEP, 0)

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (@varKSDEP_LINK)

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	/* --- ОСВ --- */
	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], EKR [INT],
			KBK [INT], KOSGU [INT],
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2),
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.EKR,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	INNER JOIN @DEP D1 ON (D1.LINK_DEP = T1.DEP)
	GROUP BY
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.EKR,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], EKR [INT],
			KBK [INT], KOSGU [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			EKR_CODE [VARCHAR] (20), EKR_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			IN_SUM_D [NUMERIC] (20,2), IN_SUM_K [NUMERIC] (20,2),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2),
			OUT_SUM_D [NUMERIC] (20,2), OUT_SUM_K [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.EKR,
		OSV.KBK,
		OSV.KOSGU,
		ISNULL (DEP.CODE, ''),
		ISNULL (DEP.[NAME], 'Не указан'),
		EKR.EKR_CODE,
		EKR.EKR_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @nPrintKBK, @nPrintSGU, @varKSdDate2),
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		OSV.D_SUMMA,
		OSV.K_SUMMA,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		@varKSORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @EKR EKR ON (EKR.LINK_EKR = OSV.EKR)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SELECT * FROM @RESULT ORDER BY DEP_CODE, EKR_CODE, ACCT_GR, ACCT_CODE
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_EKR1] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RB_PRINT_0503128G_2016]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RB_PRINT_0503128G_2016]

GO

/*
© Кейсистемс (Keysystems), 2009
*/

CREATE PROCEDURE dbo.[RB_PRINT_0503128G_2016]
	@LSF	bigint,
	@bDeleteEmptyRows BIT = NULL,  --  NULL - данные выбираются не для печати, 1 - удаление пустых строк (поле DEL = 1), 0 - не удалять.
    @data int=1, -- c_nastr не будет создаваться!
	@notNullCol tinyint = 0,
	@AtrInOnePage tinyint = 0,
	@WEB_excel tinyint = 0 -- 1 - вызывается для печати из WEB для excel-генератора
AS

if isnull(@WEB_excel, 0) <> 1
	select '' as col1

declare @varKSiParam int, @iLF int, @iLT INT -- 0 - без подитогов, 1 бит - подитоги по ЭКР, 2 бит - подитоги по ВР, 3 бит - подитоги по ЦСР, 4 бит - подитоги по подразделу, 5 бит - подитоги по раздеру, 6 бит - подитоги по администратору
DECLARE @varKSiNoItog INT, @dBeginDate DATETIME

select @iLF = Link_Form, @dBeginDate = Begin_Date from report_saved_forms where link_saved_form = @LSF

set @varKSiParam = 0

if object_id('tempdb..#Param_Print') is NOT NULL
BEGIN
	select @varKSiParam = convert(int, Value) from #Param_Print where Param = 'Poditog'
	select @varKSiNoItog = convert(int, Value) from #Param_Print where Param = 'NoPoditog'
END   

	create table #all (OrderTable tinyint, CODE varchar(50), COL1 varchar(8000), COL2 varchar(10), COL3 varchar(50), COL4 float, COL5 float, COL6 float, COL7 float, COL8 float, COL9 float, COL10 float, COL11 float, COL12 float, orders int IDENTITY(1,1))
	declare @table varchar(100), @RunStr varchar(8000)


------------------------------------------------------------------------------------------------
--- ТАБЛИЦА РАСХОДЫ С ПОДИТОГАМИ
	create table #rash (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(50), Col1 varchar(2000), Col2 varchar(1000), Col3 varchar(1000), Col4 varchar(1000), Col5 varchar(1000), Col6 float, Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float, Col13 float, Col14 float, Col15 varchar(50))

	insert #rash (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	exec dbo.rn_get_all_adm_table 	@LSF, 1, @bDeleteEmptyRows, @AtrInOnePage, 1


	select * into #rash_itog from #rash where 0 > 1

	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	SELECT 1, '00096000000000000000', '1. Бюджетные обязательства по расходам, всего:', '200', '00096000000000000000', sum(COL6), sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12), sum(COL13), sum(COL14)
	from #rash 
	where right(rtrim(CODE),17) = '96000000000000000'



---------------------------------------------
/*col1 - наименование показателя
col2 - код строки
col3 - РЗПР
col4 - ЦСР
col5 - ВР
col6 - ЭКР -- ОТСУТСТВУЕТ 
col15 - Код = АДМ(3) + РЗПР(4) + ЦСР(10) + ВР(3)    -- отсутствует + ЭКР(3)
*/
select @iLT = Link_Table from report_tables where Link_Form = @iLF and orders = 2
-- добавляем подитоги
if @varKSiParam & 2 = 2 -- подитоги по целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,14) + '000000', '', max(Col2),max(Col3), max(Col4), '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,14) + '000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,14) + '000000', left(Col15,14) + '000000'
end

if @varKSiParam & 4 = 4 -- подитоги по подразделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,7) + '0000000000000', '', max(Col2),max(Col3), '0000000', '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,7) + '0000000000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,7) + '0000000000000', left(col15,7) + '0000000000000'
end

if @varKSiParam & 8 = 8 -- подитоги по разделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,5) + '000000000000000', '', max(Col2),left(col3,2) + '00', '0000000', '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,5) + '000000000000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,5) + '000000000000000', left(Col15,5) + '000000000000000',left(col3,2) + '00'
end

if @varKSiParam & 16 = 16 -- подитоги по администратору
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,3) + '00000000000000000', '', max(Col2),'000', '0000000', '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,3) + '00000000000000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,3) + '00000000000000000', left(Col15,3) + '00000000000000000'
end

if @varKSiParam & 32 = 32 -- обнуляем подпрограмму в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,12) + '00000000', '', max(Col2),max(Col3), max(Col4), '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,12) + '00000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,12) + '00000000', left(Col15,12) + '00000000'
end

if @varKSiParam & 64 = 64 -- обнуляем программу в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,10) + '0000000000', '', max(Col2),max(Col3), max(Col4), '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), left(Col15,10) + '0000000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,10) + '0000000000', left(Col15,10) + '0000000000'
end

select @iLT = Link_Table from report_tables where Link_Form = @iLF and orders = 1

exec ro_get_name_spr @iLT, 'COL5=SUBSTRING(CODE,15,3)=000#COL4=SUBSTRING(CODE,5,10)=0000000#COL3=SUBSTRING(CODE,1,4)=0000#RN_VIEW_KBK_ADM_M=LEFT(CODE,3)=000', '#rash_itog', @varKScNameCode = 'CODE', @varKScNameName = 'COL1', @varKSiLSF = @LSF



-----------------------------------------------------------------
-----------------------------------------------------------------
------------------------------------------------------------------------------------------------
--- ТАБЛИЦА 3 РАСХОДЫ следующего года С ПОДИТОГАМИ
/*	create table #rash3 (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(50), Col1 varchar(2000), Col2 varchar(1000), Col3 varchar(1000), Col4 varchar(1000), Col5 varchar(1000), Col6 varchar(1000), Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float, Col13 float, Col14 float, Col15 float, Col16 varchar(50))

	insert #rash3 (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	exec dbo.rn_get_all_adm_table 	@LSF, 3, @bDeleteEmptyRows, @AtrInOnePage, 1


	INSERT into #rash_itog 
	select checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16 
	from #rash3 where 0 > 1

	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	SELECT 3, '00097000000000000000', '3. Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом, всего:', '900', '00097000000000000000', sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12), sum(COL13), sum(COL14), sum(COL15)
	from #rash3 
	where right(rtrim(CODE),17) = '97000000000000000'

---------------------------------------------
/*col1 - наименование показателя
col2 - код строки
col3 - РЗПР
col4 - ЦСР
col5 - ВР
col6 - ЭКР
col15 - Код = АДМ(3) + РЗПР(4) + ЦСР(7) + ВР(3) + ЭКР(3)
*/
select @iLT = Link_Table from report_tables where Link_Form = @iLF and orders = 3
-- добавляем подитоги
if @varKSiParam & 2 = 2 -- подитоги по целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,14) + '000000', '', max(Col2),max(Col3), max(Col4), '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(Col16,14) + '000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,14) + '000000', left(Col16,14) + '000000'
end

if @varKSiParam & 4 = 4 -- подитоги по подразделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,7) + '0000000000000', '', max(Col2),max(Col3), '0000000', '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(col16,7) + '0000000000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,7) + '0000000000000', left(col16,7) + '0000000000000'
end

if @varKSiParam & 8 = 8 -- подитоги по разделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,5) + '000000000000000', '', max(Col2),left(col3,2) + '00', '0000000', '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(col16,5) + '000000000000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,5) + '000000000000000', left(Col16,5) + '000000000000000',left(col3,2) + '00'
end

if @varKSiParam & 16 = 16 -- подитоги по администратору
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,3) + '00000000000000000', '', max(Col2),'000', '0000000', '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(col16,3) + '00000000000000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,3) + '00000000000000000', left(Col16,3) + '00000000000000000'
end

if @varKSiParam & 32 = 32 -- обнуляем подпрограмму в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,12) + '00000000', '', max(Col2),max(Col3), max(Col4), '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(Col16,12) + '00000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,12) + '00000000', left(Col16,12) + '00000000'
end

if @varKSiParam & 64 = 64 -- обнуляем программу в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,10) + '0000000000', '', max(Col2),max(Col3), max(Col4), '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(Col16,10) + '0000000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,10) + '0000000000', left(Col16,10) + '0000000000'
end

select @iLT = Link_Table from report_tables where Link_Form = @iLF and orders = 3

exec ro_get_name_spr @iLT, 'COL5=SUBSTRING(CODE,15,3)=000#COL4=SUBSTRING(CODE,8,7)=0000000#COL3=SUBSTRING(CODE,4,4)=0000#RN_VIEW_KBK_ADM_M=LEFT(CODE,3)=000', '#rash_itog', @varKScNameCode = 'CODE', @varKScNameName = 'COL1', @varKSiLSF = @LSF
*/
-----------------------------------------------------------------
-----------------------------------------------------------------
----------------------------------------------
IF isnull(@varKSiNoItog, 0) = 1
BEGIN
   insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
   select 1, R.CODE, COL1, COL2, CODE, COL6,COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14
   from #rash R
   where right(rtrim(R.CODE),17) <> '96000000000000000' AND right(rtrim(R.CODE),3) NOT IN ('200','000','210','220','230','240','250','260','300','500','600') 
   order by R.Code

/*   insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
   select 3, R3.CODE, COL1, COL2, CODE, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, COL15
   from #rash3 R3
   where right(rtrim(R3.CODE),17) <> '97000000000000000' AND right(rtrim(R3.CODE),3) NOT IN ('200','000','210','220','230','240','250','260','300','500','600') 
   order by R3.Code
 */  
   
END
ELSE BEGIN     
-- убираем целевые которых нет в справочнике
   insert #rash
   select distinct checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15
   from #rash_itog A
   WHERE 
   EXISTS (SELECT * FROM R_SPR_CSR_USER_2011 B WHERE ISNULL(begin_date,'20000101') <= @dBeginDate AND isnull(end_date,'20200101') >= @dBeginDate
        AND SUBSTRING(A.CODE,8,7) = B.code)
-- убираем целевые которых нет в справочнике
  /* insert #rash3
   select distinct checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16
   from #rash_itog A
   WHERE 
   EXISTS (SELECT * FROM R_SPR_CSR_USER_2011 B WHERE ISNULL(begin_date,'20000101') <= @dBeginDate AND isnull(end_date,'20200101') >= @dBeginDate
        AND SUBSTRING(A.CODE,8,7) = B.code)
*/

   insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
   select 1, R.CODE, COL1, COL2, CODE, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14
   from #rash R
   where right(rtrim(R.CODE),17) <> '96000000000000000'
   order by R.Code

 /*  insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
   select 3, R3.CODE, COL1, '910', CODE, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, COL15
   from #rash3 R3
   where right(rtrim(R3.CODE),17) <> '97000000000000000'
   order by R3.Code	
*/END 

drop table #rash_itog
drop table #rash
--drop table #rash3



-------------------------------------------------------------------------------------------------
-- ИСТОЧНИКИ
	create table #ist (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(1000), Col1 varchar(1000), Col2 varchar(1000), Col3 varchar(1000), Col4 float, Col5 float, Col6 float, Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float, Col13 varchar(1000))

	insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13)
	exec dbo.rn_get_all_adm_table 	@LSF, 2, @bDeleteEmptyRows, @AtrInOnePage, 1


	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	SELECT 2, '00090000000000000000', '2. Бюджетные обязательства по выплатам источников финансирования дефицита бюджета, всего:', '510', '00090000000000000000', sum(COL4), sum(COL5), sum(COL6), sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12)
	from #ist 
	where right(rtrim(COL3),17) = '90000000000000000'

-------------------------------------------------------------------------------------------------
-- ОБЯЗАТЕЛЬСТВА финансовых годов


	create table #all1 (OrderTable tinyint, CODE varchar(50), COL1 varchar(8000), COL2 varchar(10), COL3 varchar(1000), COL4 float, COL5 float, COL6 float, COL7 float, COL8 float, COL9 float, COL10 float, COL11 float, COL12 float, orders int IDENTITY(1,1))
	--declare @table varchar(100), @RunStr varchar(8000)

	create table #ist3(checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(1000), Col1 varchar(1000), Col2 varchar(1000), Col3 varchar(1000), Col4 float, Col5 float, Col6 float, Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float, Col13 varchar(1000))

	insert #ist3(checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13 )
	exec dbo.rn_get_all_adm_table 	@LSF, 3, @bDeleteEmptyRows, @AtrInOnePage, 1


	insert #all1 (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	SELECT 3, '00091000000000000000', '3.Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом, всего:', '900',  '00091000000000000000', sum(COL4), sum(COL5), sum(COL6), sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12)
	from #ist3 
	where right(rtrim(COL2),3) = '900'


-----------------------------------------------------------------------------------------


IF isnull(@varKSiNoItog, 0) = 1
BEGIN
	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 2, CODE, COL1, COL2, RIGHT(CODE,3) + COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #ist
	where RIGHT(RTRIM(CODE),17) not in (select RIGHT(RTRIM(CD), 17) from dbo.RO_SELECT_FORM_TOTALS_IST_20(0,@iLF ,1) where link_table=@iLT )
	     or code like '%510%01000000000000000%' or code like '%520%01000000000000000%' or code like '%620%02000000000000000%' or code like '%520%02000000000000000%' or code like '%700%01000000000000000%' or code like '%710%01050000000000500%' or code like '%720%01050000000000600%' or code like '%82%000000000000000%'
	
	insert #all1 (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 3, CODE, COL1, RIGHT(COL2,3), RIGHT(CODE,3) + COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #ist3
	where RIGHT(RTRIM(CODE),3) not in (select RIGHT(RTRIM(CD), 3) from dbo.RO_SELECT_FORM_TOTALS_IST_20(0,@iLF ,1) where link_table=@iLT )
	     or code like '%910%' or code like '%920%' 

END
ELSE BEGIN
	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 2, CODE, COL1, COL2, LEFT(CODE,3) + COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #ist
	where right(rtrim(COL3),17) <> '90000000000000000'
	
	insert #all1 (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 3, CODE, COL1, RIGHT(COL2,3), RIGHT(CODE,3) + COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #ist3
	where right(rtrim(CODE),3) <> '900'

END           

	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 3, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #all1



	create table #itog (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(50), Col1 varchar(1000), Col2 varchar(1000), Col3 varchar(1000), Col4 float, Col5 float, Col6 float, Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float)

	insert #itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12)
	exec dbo.rn_get_all_adm_table 	@LSF, 4, @bDeleteEmptyRows, @AtrInOnePage, 1

	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 4,max(CODE), max(COL1), max(COL2), '              Х', sum(COL4), sum(COL5), sum(COL6), sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12)
	from #itog

	drop table #ist
	drop table #itog

	select * from #all order by OrderTable, left(code,3), orders
	drop table #all

	if isnull(@WEB_excel, 0) <> 1
		select cells as style,style as value from report_print_style where link_form=@iLF order by cells





GO


GRANT EXECUTE ON dbo.[RB_PRINT_0503128G_2016] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_EMPL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_EMPL]

GO





/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_EMPL
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal3 char(1), @varKSnOtborLink3 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSnPRN_KBK INT				,
	@varKSnPRN_SGU INT				,
	@intREPORT_EMPL INT				,
	@varKScOtborAccount	VARCHAR (100),
        @intSVOD_ZB     int     , -- Сводный отчет (ЦБ) --
	@intSORT_FIO	INT = 0,	-- Сортировать по ФИО -- 
	@intSORT_INV_NAME	INT = 0,		-- Сортировать по Наименованию  -- 
	@GRP_DOP_CL	INT = 0,
	@cVal_DOP_CL char(1), @nOtbor_DOP_CL int,	-- Отбор по доп. классификации --
	@intOBOROT_ONLY INT = 0,
	@cVal_KAU CHAR(1), @nOtbor_KAU INT,	-- Отбор КАУ --
	@intGRP_KAU INT,	-- Группировать по КАУ --
	@intGRP_SUB	INT,	-- Группировать по подразделениям --
	@cVal_SUB CHAR(1), @nOtbor_SUB INT	-- Отбор подразделений --
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSDIC_EMP	INT,
		@varKSORGNAME	VARCHAR(254),
		@strDATE_NEXT	VARCHAR (10),
		@strREP_NAME	VARCHAR (254)

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT  @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (LINK)
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	SET @strDATE_NEXT = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSdDate2), 104)
	SET @intREPORT_EMPL = ISNULL (@intREPORT_EMPL, 0)

	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	

	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@varKScOtborAccount, DEFAULT) T1 ON (T1.VALUE = ACCT.cSINTH)
		UNION ALL
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('201', '05', DEFAULT, DEFAULT) ACCT
		UNION ALL
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('201', '35', DEFAULT, DEFAULT) ACCT

	DECLARE @EMP  TABLE (LINK_EMP [INT], EMP_CODE  [VARCHAR] (20), EMP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal3)>0 BEGIN
		INSERT INTO @EMP
		SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
		FROM dbo.OBJECT_VAR_EMPL OVR, dbo.KU_EMPL_PLACING D
		WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink3
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
		SELECT D.LINK, D.TAB, D.[NAME_EMPL]
		FROM dbo.KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', '')
	END
	
	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ДОП. КЛАССИФИКАЦИИ --- 
	DECLARE @TAB_DOP_CLASSIF TABLE (LINK_DOP INT, DOP_CODE VARCHAR (20), DOP_NAME VARCHAR (254))
	IF LEN (@cVal_DOP_CL) > 0
		INSERT INTO @TAB_DOP_CLASSIF
		SELECT AP.LINK,
			AP.CODE,
			AP.[NAME]
		FROM dbo.DOP_CLASSIF AP 
		INNER JOIN dbo.OBJECT_VAR_DOP_CLASSIF OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtbor_DOP_CL
	ELSE
		INSERT INTO @TAB_DOP_CLASSIF
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('AP2')

	--- ОТБОР КАУ --- 
	DECLARE @TAB_KAU TABLE (LINK_KAU INT, KAU_CODE VARCHAR (20), KAU_NAME VARCHAR (254))
	IF LEN (@cVal_KAU) > 0
		INSERT INTO @TAB_KAU
		SELECT AP.LINK,
			AP.CODE,
			AP.[NAME]
		FROM dbo.KAU AP 
		INNER JOIN dbo.OBJECT_VAR_KAU OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtbor_KAU
	ELSE
		INSERT INTO @TAB_KAU
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('KAU')

	--- ОТБОР ПОДРАЗДЕЛЕНИЙ --- 
	DECLARE @TAB_SUB TABLE (LINK INT, CODE VARCHAR (20), [NAME] VARCHAR (254))
	IF LEN (@cVal_SUB) > 0
		INSERT INTO @TAB_SUB
		SELECT AP.LINK,
			AP.CODE,
			AP.[NAME]
		FROM dbo.OBJECT_VAR_SUBDIV_HEAD OVR 
		INNER JOIN dbo.SUBDIVISION (@varKSdDate2) AP ON (AP.LINK = OVR.RECORD)
		WHERE OVR.LINK_UP = @nOtbor_SUB
	ELSE
		INSERT INTO @TAB_SUB
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('SUB')

--SELECT * FROM @TAB_SUB

	SET @intGRP_SUB = ISNULL (@intGRP_SUB, 0)

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], INV [INT], NOMEN [INT], EMP [INT], 
			KBK [INT], KOSGU [INT], AP2 INT, KAU INT, 
			SUBDIV	INT, 
			D_SUMMA [NUMERIC] (20,3), D_QTY [NUMERIC] (20,4),  
			K_SUMMA [NUMERIC] (20,3), K_QTY [NUMERIC] (20,4),  
			IN_SUMMA [NUMERIC] (20,3), IN_QTY [NUMERIC] (20,4),  	
			OUT_SUMMA [NUMERIC] (20,3), OUT_QTY [NUMERIC] (20,4),
			PRICE [NUMERIC] (28,6), PRICE_TYPE [TINYINT])

	INSERT INTO @TABLE1
	SELECT T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.NOMEN,
		CASE
			WHEN @intREPORT_EMPL = 1 THEN T1.EMP
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE 
			WHEN @GRP_DOP_CL = 1 THEN ISNULL (T1.AP2, 0)
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_KAU = 1 THEN ISNULL (T1.KAU, 0)
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_SUB = 1 THEN ISNULL (T1.SUB, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY),
		T1.PRICE,
		T1.PRICE_TYPE
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK K1 ON (K1.LINK_KBK = T1.KBK)
	INNER JOIN @TAB_DOP_CLASSIF DOP ON (DOP.LINK_DOP = T1.AP2)
	INNER JOIN @TAB_KAU KAU ON (KAU.LINK_KAU = T1.KAU)
	GROUP BY  T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.NOMEN,
		CASE
			WHEN @intREPORT_EMPL = 1 THEN T1.EMP
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE 
			WHEN @GRP_DOP_CL = 1 THEN ISNULL (T1.AP2, 0)
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_KAU = 1 THEN ISNULL (T1.KAU, 0)
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_SUB = 1 THEN ISNULL (T1.SUB, 0)
			ELSE 0
		END,
		T1.PRICE,
		T1.PRICE_TYPE
	HAVING @intOBOROT_ONLY = 0
		OR @intOBOROT_ONLY = 1
				AND (SUM (T1.D_SUMMA) <> 0 OR SUM (T1.D_QTY) <> 0
					OR SUM (T1.K_SUMMA) <> 0 OR SUM (T1.K_QTY) <> 0)

-- SELECT * FROM @TABLE1

	SET @strREP_NAME = ''
	IF EXISTS (SELECT * FROM S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '101')
		SET @strREP_NAME = 'ОСНОВНЫХ СРЕДСТВ'

	IF EXISTS (SELECT * FROM S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '105')
		SET @strREP_NAME = @strREP_NAME + CASE
							WHEN @strREP_NAME = '' THEN ''
							ELSE ', '
						END 
			+ 'МАТЕРИАЛЬНЫХ ЗАПАСОВ'
	
	IF EXISTS (SELECT * FROM S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '201')
		SET @strREP_NAME = @strREP_NAME + CASE
							WHEN @strREP_NAME = '' THEN ''
							ELSE ', '
						END 
			+ 'ДЕНЕЖНЫХ ДОКУМЕНТОВ'

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], INV [INT],
			EMP [INT], DOP_LINK INT, KAU INT,
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			KBK_CODE [VARCHAR] (30), KOSGU_CODE [VARCHAR] (5),
			INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
			UM_CODE [VARCHAR] (20), UM_NAME [VARCHAR] (254),
			INV_COST [NUMERIC] (20,4),		
			EMP_CODE [VARCHAR] (20), EMP_NAME [VARCHAR](254),
			DOP_CODE [VARCHAR] (20), DOP_NAME [VARCHAR](254),
			KAU_CODE [VARCHAR] (20), KAU_NAME [VARCHAR](254),

			SUB INT, SUB_CODE VARCHAR (20), SUB_NAME VARCHAR (254),

			D_SUM [NUMERIC] (20,3), D_QTY [NUMERIC] (20,4),	
			K_SUM [NUMERIC] (20,3), K_QTY [NUMERIC] (20,4),	
			IN_SUM [NUMERIC] (20,3), IN_QTY [NUMERIC] (20,4),		
			OUT_SUM [NUMERIC] (20,3), OUT_QTY [NUMERIC] (20,4),	

			ORGNAME [VARCHAR] (254), DATE_NEXT VARCHAR (10),
			REP_NAME [VARCHAR] (254),
			PRICE_TYPE [TINYINT])

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.INV,
		OSV.EMP,
		OSV.AP2,
		OSV.KAU,
		DEP.CODE,
		DEP.[NAME],
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		ISNULL (KL_KBK.CODE, ''),
		ISNULL (KOSGU.CODE, ''),
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, '')),	
		ISNULL (INV.[NAME], ISNULL (NOMEN.NAME, '')),
		ISNULL (INV.CODE_UM, ISNULL (NOMEN.CODE_UM, '')),
		ISNULL (INV.NAME_UM, ISNULL (NOMEN.NAME_UM, '')), 
		OSV.PRICE,
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		DOP.DOP_CODE,
		DOP.DOP_NAME,
		KAU.KAU_CODE,
		KAU.KAU_NAME,

		OSV.SUBDIV,
		SUB.CODE,
		SUB.[NAME], 

		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		OSV.IN_SUMMA, OSV.IN_QTY,
		OSV.OUT_SUMMA,
		OSV.OUT_QTY,
		@varKSORGNAME,
		@strDATE_NEXT,
		@strREP_NAME,
		OSV.PRICE_TYPE
	FROM @TABLE1 OSV
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = OSV.EMP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN @TAB_DOP_CLASSIF DOP ON (DOP.LINK_DOP = OSV.AP2)
	LEFT OUTER JOIN @TAB_KAU KAU ON (KAU.LINK_KAU = OSV.KAU)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	LEFT OUTER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = OSV.INV)
	LEFT OUTER JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = OSV.NOMEN)
	LEFT OUTER JOIN dbo.KL_KBK ON (KL_KBK.LINK = OSV.KBK)
	LEFT OUTER JOIN dbo.KOSGU ON (KOSGU.LINK = OSV.KOSGU)
	INNER JOIN @TAB_SUB SUB ON (SUB.LINK = OSV.SUBDIV)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	UPDATE @RESULT SET INV_COST = OUT_SUM / OUT_QTY
	WHERE PRICE_TYPE = 0 AND OUT_QTY <> 0

	IF @intSORT_FIO = 1
		IF @intSORT_INV_NAME = 1
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, SUB_CODE, EMP_NAME, EMP_CODE, EMP, ACCT_GR, KAU_CODE, DOP_CODE, KBK_CODE, 
				INV_NAME, RIGHT ('00000000000000000000' + INV_CODE, 20), KOSGU_CODE
		ELSE
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, SUB_CODE, EMP_NAME, EMP_CODE, EMP, ACCT_GR, KAU_CODE, DOP_CODE, KBK_CODE, 
				RIGHT ('00000000000000000000' + INV_CODE, 20), KOSGU_CODE

	ELSE
		IF @intSORT_INV_NAME = 1
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, SUB_CODE, EMP_CODE, EMP, ACCT_GR, KAU_CODE, DOP_CODE, KBK_CODE, 
				INV_NAME, RIGHT ('00000000000000000000' + INV_CODE, 20), KOSGU_CODE
		ELSE
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, SUB_CODE, EMP_CODE, EMP, ACCT_GR, KAU_CODE, DOP_CODE, KBK_CODE, 
				RIGHT ('00000000000000000000' + INV_CODE, 20), KOSGU_CODE
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_EMPL] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_EMPL_Z]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_EMPL_Z]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_EMPL_Z
	@varKSdDate1	DATETIME,
	@varKSdDate2	DATETIME,
	@varKScVal1 char(1), @varKSnOtborLink1 int,
	@varKScVal3 char(1), @varKSnOtborLink3 int,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSnPRN_KBK INT,
	@varKSnPRN_SGU INT,
	@intREPORT_EMPL INT,
        @intSVOD_ZB     int,     -- Сводный отчет (ЦБ) --	
	@intSORT_FIO	INT = 0,	-- Сортировать по ФИО -- 
	@intSORT_INV_NAME	INT = 0,		-- Сортировать по Наименованию  -- 
	@intGRP_DOP	INT = 0		-- Группировать по доп. класс-ции --
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSDIC_EMP	INT,
		@varKSORGNAME	VARCHAR(254),
		@strDATE_NEXT	VARCHAR (10)

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSDEP_LINK = LINK,
		@varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

	SET @strDATE_NEXT = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSdDate2), 104)

	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	

	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, 1) ACCT
	
	DECLARE @EMP  TABLE (LINK_EMP [INT], EMP_CODE  [VARCHAR] (20), EMP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal3)>0 BEGIN
		INSERT INTO @EMP
			SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
			FROM OBJECT_VAR_EMPL OVR, KU_EMPL_PLACING D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink3
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
			SELECT D.LINK, D.TAB, D.[NAME_EMPL] FROM KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', '')
	END

		--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], INV [INT], NOMEN [INT], TMC [INT], EMP [INT], 
			KBK [INT], KOSGU [INT],
			D_SUMMA [NUMERIC] (20,2), D_QTY [NUMERIC] (20,2),  
			K_SUMMA [NUMERIC] (20,2), K_QTY [NUMERIC] (20,2),  
			IN_SUMMA [NUMERIC] (20,2), IN_QTY [NUMERIC] (20,2),  	
			OUT_SUMMA [NUMERIC] (20,2), OUT_QTY [NUMERIC] (20,2))  	

	INSERT INTO @TABLE1
	SELECT T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.NOMEN,
		T1.TMC,
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, DEFAULT) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	WHERE @intSVOD_ZB = 1
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.NOMEN,
		T1.TMC,
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], INV [INT], EMP [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
			UM_CODE [VARCHAR] (20), UM_NAME [VARCHAR] (254),
			INV_COST [NUMERIC] (20,3),		
			EMP_CODE [VARCHAR] (20), EMP_NAME [VARCHAR](254),
			DOP_CODE [VARCHAR] (20), DOP_NAME [VARCHAR](254),
			KAU_CODE [VARCHAR] (20), KAU_NAME [VARCHAR](254),
			SUB INT, SUB_CODE VARCHAR (20), SUB_NAME VARCHAR (254),
			D_SUM [NUMERIC] (20,2), D_QTY [NUMERIC] (20,2),	
			K_SUM [NUMERIC] (20,2), K_QTY [NUMERIC] (20,2),	
			IN_SUM [NUMERIC] (20,2), IN_QTY [NUMERIC] (20,2),		
			OUT_SUM [NUMERIC] (20,2), OUT_QTY [NUMERIC] (20,2),	
			ORGNAME [VARCHAR] (254), DATE_NEXT VARCHAR (10),
			REP_NAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.INV,
		OSV.EMP,
		DEP.CODE,
		DEP.[NAME],
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, ISNULL (TMC.CODE,''))),
		ISNULL (INV.[NAME], ISNULL (NOMEN.[NAME], ISNULL (TMC.[NAME], ''))),
		COALESCE (INV.CODE_UM, INV.CODE_UM, TMC.REF_CODE_D, ''),
		COALESCE (INV.NAME_UM, INV.NAME_UM, TMC.REF_NAME_D, ''), 
		0,
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		'', '',
		'', '',		-- КАУ --
		0, '', '',	-- Подразделение --
		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		OSV.IN_SUMMA, OSV.IN_QTY,
		OSV.OUT_SUMMA,
		OSV.OUT_QTY,
		@varKSORGNAME,
		@strDATE_NEXT,
		'МАТЕРИАЛЬНЫХ ЦЕННОСТЕЙ НА ЗАБАЛАНСОВЫХ СЧЕТАХ'
	FROM @TABLE1 OSV
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = OSV.EMP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	LEFT OUTER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = OSV.INV)
	LEFT OUTER JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = OSV.NOMEN)
	LEFT OUTER JOIN dbo.DICTIONARY_TMC TMC ON (TMC.LINK = OSV.TMC)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	UPDATE @RESULT SET INV_COST = OUT_SUM / OUT_QTY
	WHERE OUT_QTY <> 0

	IF @intSORT_FIO = 1
		IF @intSORT_INV_NAME = 1
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, EMP_NAME, EMP_CODE, EMP, ACCT_GR,
				INV_NAME, RIGHT ('00000000000000000000' + INV_CODE, 20)
		ELSE
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, EMP_NAME, EMP_CODE, EMP, ACCT_GR, 
				RIGHT ('00000000000000000000' + INV_CODE, 20)

	ELSE
		IF @intSORT_INV_NAME = 1
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, EMP_CODE, EMP, ACCT_GR,
				INV_NAME, RIGHT ('00000000000000000000' + INV_CODE, 20)
		ELSE
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, EMP_CODE, EMP, ACCT_GR, 
				RIGHT ('00000000000000000000' + INV_CODE, 20)

END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_EMPL_Z] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_6NDFL_EXPORT_v5_01]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_6NDFL_EXPORT_v5_01]

GO

/*EXEC dbo.BK_SELECT_EXPORT_FORMAT 2486*/
/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]       42251*/
CREATE      PROCEDURE [dbo].SA_6NDFL_EXPORT_v5_01 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT  ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))


INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------


DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT,
		@Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,Period_Number*3,YEAR(Begin_Date))),
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS
WHERE LINK_SAVED_FORM = @link


DECLARE
	@first_month_of_quarter TINYINT,
	@second_month_of_quarter TINYINT,
	@third_month_of_quarter TINYINT

IF @Period_Number = 1
	SELECT @first_month_of_quarter = 1, @second_month_of_quarter = 2, @third_month_of_quarter = 3
IF @Period_Number = 2
	SELECT @first_month_of_quarter = 4, @second_month_of_quarter = 5, @third_month_of_quarter = 6
IF @Period_Number = 3
	SELECT @first_month_of_quarter = 7, @second_month_of_quarter = 8, @third_month_of_quarter = 9
IF @Period_Number = 4
	SELECT @first_month_of_quarter = 10, @second_month_of_quarter = 11, @third_month_of_quarter = 12

SELECT  @first_month_of_quarter = ISNULL(@first_month_of_quarter,1), @second_month_of_quarter = ISNULL(@second_month_of_quarter,2), @third_month_of_quarter = ISNULL(@third_month_of_quarter,3)


SELECT top 1
	DD1.OKPO AS OKPO1,
	DD1.INN AS INN1, DD1.KPP AS KPP1,
	FULL_NAME = UPPER(DD1.FULL_NAME),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	DD1.OGRN AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	CHIEF.FM as CHIEF_FM,
	CHIEF.IM as CHIEF_IM,
	CHIEF.OT as CHIEF_OT,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	DD1.OGRN,
	DD1.OKATO,
	DD1.OKTMO,
	DD1.OKVED,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TaxType = DD1.FSS_KP_PC1,
	TaxType2 = DD1.FSS_KP_PC2,
	TaxType3 = DD1.FSS_KP_PC3
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP

/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]        2830*/



DECLARE @NumDotC VARCHAR(2), @NumDot INT
SELECT @NumDotC = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_NOM_OBR'),'00')
SET @NumDot = CASE WHEN ISNUMERIC(@NumDotC) =1 THEN CONVERT(INT,@NumDotC) ELSE 0 END

DECLARE @LIKV VARCHAR(3), @nLIKV INT
SELECT @LIKV = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_LIKVID'),'00')
SET @nLIKV = CASE WHEN LTRIM(RTRIM(@LIKV)) = 'Да' THEN 1 ELSE 0 END

DECLARE @Cur0 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @Cur CURSOR, @Cur1 CURSOR, @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254)

DECLARE @lcFNAME varchar(254),
		@lcFidNAME VARCHAR(254)

SELECT @lcFNAME ='NO_NDFL6_'+ IMNS_SONO + '_'+ SONO + '_'+ LTRIM(rtrim(INN1))+LTRIM(rtrim(KPP1))+ '_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_0.XML' FROM #DEP_DATA
SELECT @lcFidNAME ='NO_NDFL6_'+ IMNS_SONO + '_'+ SONO + '_'+ LTRIM(rtrim(INN1))+LTRIM(rtrim(KPP1))+ '_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_0' FROM #DEP_DATA
/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]       2060*/
--SELECT convert(varchar(10),@modify_date,104)

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'OEM' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="windows-1251"?>'
--UNION ALL SELECT @lcFNAME, SPACE(0) + '<?F4FORM version="0.7"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<Файл ИдФайл="'+LTRIM(RTRIM(@lcFidNAME))+'" ВерсПрог="'+@NAME_PROG+ ':'+ @VERS_PROG+'" ВерсФорм="5.01">'

/** Титул **/

	UNION ALL SELECT @lcFNAME, SPACE(1) + '<Документ'
		+ ' КНД="1151099"'
		+ ' ДатаДок="' + convert(varchar(10),@modify_date,104) + '"'
		--+ ' DOP_NUM="' + ISNULL(LTRIM(RTRIM(FSS_KOD_DOP)),'') + '"'
		+ ' Период="' + (CASE @Period_Number WHEN 1 THEN '21' WHEN 2 THEN '31' WHEN 3 THEN '33' ELSE '34' END) + '"'
		+ ' ОтчетГод="' + CONVERT(VARCHAR(4),@YEAR) + '"'
		+ ' КодНО="' + LTRIM(RTRIM(IMNS_SONO)) + '"'
		+ ' НомКорр="' + LTRIM(RTRIM(CONVERT(VARCHAR(3),@Version))) + '"' --Номер корректировки
		+ ' ПоМесту="212">'
	FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<СвНП'	
			+ ' ОКТМО="' + LTRIM(RTRIM(OKTMO)) + '"'
			+ CASE WHEN ISNULL((SELECT LTRIM(RTRIM(phone)) FROM DICTIONARY_OTV_FACE  WHERE Dep_LINK=dbo.GetOwnDepLink() and name = 'Руководитель'),'') = '' 
				THEN '' ELSE 
				' Тлф="' +(SELECT LTRIM(RTRIM(phone)) FROM DICTIONARY_OTV_FACE  WHERE Dep_LINK=dbo.GetOwnDepLink() and name = 'Руководитель') + '"'
				END 
				+ '>'
		FROM #DEP_DATA	
				UNION ALL SELECT @lcFNAME, SPACE(3) + '<НПЮЛ'	
					+ ' НаимОрг="' + LTRIM(RTRIM(REPLACE(FULL_NAME,'"',''))) + '"'
					+ ' ИННЮЛ="' +LTRIM(RTRIM(INN1)) + '"'
					+ ' КПП="' + LTRIM(RTRIM(KPP1)) + '"/>'
				FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '</СвНП>'	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<Подписант ПрПодп="1">'
				UNION ALL SELECT @lcFNAME, SPACE(3) + '<ФИО'	+ ' Фамилия="' + LTRIM(RTRIM(CHIEF_FM)) + '"'
					+ ' Имя="' +LTRIM(RTRIM(CHIEF_IM)) + '"'
					+ ' Отчество="' + LTRIM(RTRIM(CHIEF_OT)) + '"/>'
				FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '</Подписант>'

--  /** Раздел I **/

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<НДФЛ6>'

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(3) + '<ОбобщПоказ' 
					 +' КолФЛДоход="' + isnull((select ltrim(rtrim(SUMMA)) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3060' ),0) + '"'  
					 +' УдержНалИт="' + + isnull((select LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3070' ),0) + '"'
					 +' НеУдержНалИт="' + + isnull((select LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3080'),0) + '"'
					 +' ВозврНалИт="' + + isnull((select LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3090' ),0) + '">'
  
	IF		(SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='020')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='025')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='030')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='040')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='045')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='050')>0
	BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(4) + '<СумСтавка Ставка="' + (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='010')  +'" '
							+ 'НачислДох="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='020') +'" '
							+ 'НачислДохДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='025') +'" '
							+ 'ВычетНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='030') +'" '
							+ 'ИсчислНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='040') +'" '	
							+ 'ИсчислНалДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='045') +'" '
							+ 'АвансПлат="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='050') +'"/>'	
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE IN ('010')  ORDER BY T.COL
	END		
	IF		(SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1020')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1025')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1030')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1040')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1045')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1050')>0
	BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(4) + '<СумСтавка Ставка="' + (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1010')  +'" '
							+ 'НачислДох="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1020') +'" '
							+ 'НачислДохДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1025') +'" '
							+ 'ВычетНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1030') +'" '
							+ 'ИсчислНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1040') +'" '	
							+ 'ИсчислНалДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1045') +'" '
							+ 'АвансПлат="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1050') +'"/>'	
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE IN ('1010')  ORDER BY T.COL
	END		
	IF		(SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2020')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2025')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2030')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2040')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2045')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2050')>0
	BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(4) + '<СумСтавка Ставка="' + (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2010')  +'" '
							+ 'НачислДох="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2020') +'" '
							+ 'НачислДохДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2025') +'" '
							+ 'ВычетНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2030') +'" '
							+ 'ИсчислНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2040') +'" '	
							+ 'ИсчислНалДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2045') +'" '
							+ 'АвансПлат="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2050') +'"/>'	
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE IN ('2010')  ORDER BY T.COL
			
	END		
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</ОбобщПоказ>'



--  /** Раздел II **/

		CREATE TABLE #TAB_R2 (
			LINK INT identity(1,1), DATE_F_INC VARCHAR(10), DATE_U_NAL VARCHAR(10), DATE_PER VARCHAR(10), SUM_FAKT_INC NUMERIC(18,2), SUM_U_NAL NUMERIC(18,2))

		CREATE TABLE #TEMP_R2 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(10))
		INSERT INTO #TEMP_R2  (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, DEFAULT) T ORDER BY T.COL

		INSERT INTO #TAB_R2 (DATE_F_INC, DATE_U_NAL, DATE_PER, SUM_FAKT_INC,SUM_U_NAL)
		SELECT DISTINCT
			DATE_F_INC = (SELECT TOP 1 STR_VAL FROM #TEMP_R2 T WHERE T.COL = 2 AND T.ROW_CODE = T2.ROW_CODE),
			DATE_U_NAL = (SELECT TOP 1 STR_VAL FROM #TEMP_R2 T WHERE T.COL = 3 AND T.ROW_CODE = T2.ROW_CODE),
			DATE_PER = (SELECT TOP 1 STR_VAL FROM #TEMP_R2 T WHERE T.COL = 4 AND T.ROW_CODE = T2.ROW_CODE),
			SUM_FAKT_INC = (SELECT TOP 1 SUMMA FROM #TEMP_R2 T WHERE T.COL = 5 AND T.ROW_CODE = T2.ROW_CODE),
			SUM_U_NAL = (SELECT TOP 1 SUMMA FROM #TEMP_R2 T WHERE T.COL = 6 AND T.ROW_CODE = T2.ROW_CODE)
		FROM
			#TEMP_R2 T2 


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(3) + '<ДохНал>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(4) + '<СумДата ДатаФактДох="' + LTRIM(RTRIM(ISNULL(DATE_F_INC,''))) +'" '
					 + 'ДатаУдержНал="'+ LTRIM(RTRIM(ISNULL(DATE_U_NAL,'')))  +'" '
					 + 'СрокПрчслНал="'+ LTRIM(RTRIM(ISNULL(DATE_PER,'')))  +'" '
					 + 'ФактДоход="'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),SUM_FAKT_INC),'')))   +'" '
					 + 'УдержНал="'+ LTRIM(RTRIM(ISNULL(CONVERT(int,SUM_U_NAL),'')))   +'"/>'
	FROM #TAB_R2  ORDER BY convert(datetime,DATE_F_INC,104)

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</ДохНал>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '</НДФЛ6>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(1) + '</Документ>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(0) + '</Файл>'
/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]         2833*/


SET NOCOUNT OFF


select * from #OUTPUT order by [ID]











GO


GRANT EXECUTE ON dbo.[SA_6NDFL_EXPORT_v5_01] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_KAU1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_KAU1]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.BK_REPORT_OSV_KAU1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@nPrintKBK	INT	/* Код счета с КБК */,
	@nPrintSGU	INT	/* Код счета с КОСГУ */,
	@nPrintDEP	INT	/* Отчет в разрезе организаций */,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal2 char(1), @nOtborLink2 int	/* Отбор КАУ */,
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT,
	@cVal_DOP_CL char(1), @nOtborLinkDOP_CL int,	-- Отбор Доп. кл-ции --
	@intPRN_DOP_CL int = 0	-- Отчет в разрезе доп. кл-ции
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	/* --- ОТБОР СУБСЧЕТОВ С КАУ --- */
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT LINK
		FROM dbo.S_ACCOUNTS 
		WHERE AP_KAU = 1
			AND LINK IN (SELECT LINK FROM dbo.AccountsTableWithNoChild())
	
	--- ОТБОР КАУ --- 
	DECLARE @KAU TABLE (LINK_KAU [INT], KAU_CODE  [VARCHAR] (20), KAU_NAME [VARCHAR] (254))
	IF LEN(@cVal2)>0 BEGIN
		INSERT INTO @KAU
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_KAU OVR, dbo.DICTIONARY_ANALYTICAL_CODES D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @KAU
			SELECT D.LINK, D.CODE, D.[NAME] FROM DICTIONARY_ANALYTICAL_CODES D
		INSERT INTO @KAU VALUES (0, '', 'Не указан')
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ПО ДОП. КЛ-ЦИИ --- 
	DECLARE @TAB_DOP_CL TABLE (LINK_DOP INT, DOP_CODE VARCHAR (20))
	
	IF @intPRN_DOP_CL = 1
		IF LEN (@cVal_DOP_CL) > 0
			INSERT INTO @TAB_DOP_CL
			SELECT AP.LINK,
				AP.CODE
			FROM dbo.DOP_CLASSIF AP 
			INNER JOIN dbo.OBJECT_VAR_DOP_CLASSIF OVR ON (OVR.RECORD = AP.LINK)
			WHERE OVR.LINK_UP = @nOtborLinkDOP_CL
		ELSE
			INSERT INTO @TAB_DOP_CL
			SELECT LINK_AP, AP_CODE
			FROM dbo.BK_GetTableDictionByAP ('AP2')
	ELSE
		INSERT INTO @TAB_DOP_CL (LINK_DOP, DOP_CODE)
		VALUES (0, '')

--SELECT * FROM @TAB_DOP_CL

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SET @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (@varKSDEP_LINK)

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	SET @nPrintKBK = ISNULL (@nPrintKBK, 0)
	SET @nPrintSGU = ISNULL (@nPrintSGU, 0)

	/* --- ОСВ --- */
	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], KAU [INT],
			KBK [INT], KOSGU [INT], DOP INT,
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2),
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.KAU,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE
			WHEN @intPRN_DOP_CL = 1 THEN ISNULL (T1.AP2, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	GROUP BY
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.KAU,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE
			WHEN @intPRN_DOP_CL = 1 THEN ISNULL (T1.AP2, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], KAU [INT],
			KBK [INT], KOSGU [INT], DOP INT, DOP_CODE VARCHAR (20),
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			KAU_CODE [VARCHAR] (20), KAU_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			IN_SUM_D [NUMERIC] (20,2), IN_SUM_K [NUMERIC] (20,2),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2),
			OUT_SUM_D [NUMERIC] (20,2), OUT_SUM_K [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.KAU,
		OSV.KBK,
		OSV.KOSGU,
		OSV.DOP,
		DOP.DOP_CODE,
		ISNULL (DEP.CODE, ''),
		ISNULL (DEP.[NAME], 'Не указан'),
		KAU.KAU_CODE,
		KAU.KAU_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @nPrintKBK, @nPrintSGU, @varKSdDate2),
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		OSV.D_SUMMA,
		OSV.K_SUMMA,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		@varKSORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @KAU KAU ON (KAU.LINK_KAU = OSV.KAU)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	INNER JOIN @TAB_DOP_CL DOP ON (DOP.LINK_DOP = OSV.DOP)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SELECT * FROM @RESULT ORDER BY DEP_CODE, KAU_CODE, ACCT_GR, ACCT_CODE, DOP_CODE
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_KAU1] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_SUBDIV1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_SUBDIV1]

GO


/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE [dbo].BK_REPORT_OSV_SUBDIV1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@nPrintKBK	INT	/* Код счета с КБК */,
	@nPrintSGU	INT	/* Код счета с КОСГУ */,
	@nPrintDEP	INT	/* Отчет в разрезе организаций */,
	@intPrintNULL	INT	/* Включить с пустыми подразделения */,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal2 char(1), @nOtborLink2 int	/* Отбор подразделений */,
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	/* --- ОТБОР СУБСЧЕТОВ --- */
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT

	/* --- ОТБОР ПОДРАЗДЕЛЕНИЙ --- */
	DECLARE @AP_TABLE TABLE (LINK_AP [INT], AP_CODE  [VARCHAR] (20), AP_NAME [VARCHAR] (254))
	IF LEN(@cVal2)>0 BEGIN
		INSERT INTO @AP_TABLE
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_SUBDIV_HEAD OVR, dbo.SUBDIVISION (@varKSdDate2) D
			WHERE D.LINK =OVR.RECORD AND OVR.LINK_UP=@nOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @AP_TABLE
			SELECT D.LINK, D.CODE, D.[NAME] FROM dbo.SUBDIVISION (@varKSdDate2) D 
		IF ISNULL (@intPrintNULL, 0) = 1
			INSERT INTO @AP_TABLE VALUES (0, '', 'Не указан')
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SET @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (@varKSDEP_LINK)

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	SET @nPrintKBK = ISNULL (@nPrintKBK, 0)
	SET @nPrintSGU = ISNULL (@nPrintSGU, 0)
	SET @nPrintDEP = ISNULL (@nPrintDEP, 0)

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], AP [INT],
			KBK [INT], KOSGU [INT],
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2),
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.SUB,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	GROUP BY
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.SUB,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], AP [INT],
			KBK [INT], KOSGU [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			AP_CODE [VARCHAR] (20), AP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			IN_SUM_D [NUMERIC] (20,2), IN_SUM_K [NUMERIC] (20,2),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2),
			OUT_SUM_D [NUMERIC] (20,2), OUT_SUM_K [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.AP,
		OSV.KBK,
		OSV.KOSGU,
		ISNULL (DEP.CODE, ''),
		ISNULL (DEP.[NAME], 'Не указан'),
		AP.AP_CODE,
		AP.AP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @nPrintKBK, @nPrintSGU, @varKSdDate2),
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		OSV.D_SUMMA,
		OSV.K_SUMMA,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		@varKSORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @AP_TABLE AP ON (AP.LINK_AP = OSV.AP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SELECT *
	FROM @RESULT
	ORDER BY DEP_CODE, RIGHT ('00000000000000000000' + AP_CODE, 20), 
		ACCT_GR, ACCT_CODE

END

GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_SUBDIV1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SAL_CHANGE_KBK]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SAL_CHANGE_KBK]

GO

CREATE    PROC [dbo].SAL_CHANGE_KBK
	@OLD_KBK_LINK	INT,
	@NEW_KBK_LINK	INT,
	@DATE		DATETIME,
	@OPT1		TINYINT = 0,
	@OPT1_1		TINYINT = 0,
	@OPT2		TINYINT = 0,
	@OPT3		TINYINT = 0,
	@OPT4		TINYINT = 0,
	@LINK_EMPL	INT = NULL,
	@OPT5		TINYINT = 0 --Замена у договорников
AS

IF COALESCE(is_member('db_owner'),0) = 0
BEGIN
	RAISERROR('Данная функция работает только для пользователя роли "DB_OWNER" !!!',11,1)
	RETURN 1
END


IF @LINK_EMPL IS NOT NULL
	SET @OPT5 = 0

---
IF @OLD_KBK_LINK IS NULL
OR @OLD_KBK_LINK = 0
OR @NEW_KBK_LINK IS NULL
OR @NEW_KBK_LINK = 0
OR @DATE IS NULL
	RETURN 1


declare @varKSparSFIN varchar(30),  @varKSparSFIN_OLD varchar(30) , @cStr VARCHAR (256)

SELECT 
	@varKSparSFIN_OLD = CODE,
	@varKSparSFIN = (SELECT B.CODE FROM dbo.SAL_SFIN B WHERE B.LINK = A.LINK_CH_SFIN)
FROM dbo.SAL_SFIN A WHERE A.LINK = @OLD_KBK_LINK AND A.LINK_CH_SFIN IS NOT NULL AND A.LINK_CH_SFIN <> @NEW_KBK_LINK

IF @varKSparSFIN IS NOT NULL
BEGIN

		SET @cStr = 'В спраочнике "Источники финансирования" для источника "'+LTRIM(RTRIM(@varKSparSFIN_OLD)) +'" указан новый источник "'+ltrim(rtrim(@varKSparSFIN))+'"!'
		RAISERROR(@cStr, 11, 1)
		RETURN 1
END	



declare @DEP_LINK int
exec dbo.xd_whats_zb @DEP_LINK output

DECLARE @LINK_EMPL1 INT
SET @LINK_EMPL1 = (CASE WHEN @LINK_EMPL IS NULL THEN -1 ELSE @LINK_EMPL END)

SET @OPT1 = COALESCE(@OPT1,0)
SET @OPT2 = COALESCE(@OPT2,0)
SET @OPT3 = COALESCE(@OPT3,0)
SET @OPT4 = COALESCE(@OPT4,0)
SET @OPT5 = COALESCE(@OPT5,0)

---Расширить период редактирования
SELECT * INTO #TMP_DATES FROM dbo.ADMIN_INFO

DECLARE @KASSA INT, @BB DATETIME, @BE DATETIME
SELECT @KASSA = LINK FROM DBO.S_OBJECTS WHERE CODE = 'KASSA'
SELECT @BB = CONVERT(DATETIME, '19000101', 112), @BE = CONVERT(DATETIME, '20990101', 112)
EXECUTE DBO.I_SET_ADMIN_DATE @KASSA, @BB, @BB, @BE

IF @OPT1 = 1 BEGIN

	IF @OPT1_1 = 1 BEGIN

		/*ПОСТОЯННЫЕ НАЧИСЛЕНИЯ*/
		INSERT INTO dbo.PAYS_EMPL (LINK_EMPL, LINK_SOVM, LINK_PAYS, DATE, SUMMA, LINK_MP, LINK_KBK, NO_CALC)
		SELECT 
			PE.LINK_EMPL, PE.LINK_SOVM, PE.LINK_PAYS, [DATE] = @DATE, PE.SUMMA, PE.LINK_MP, LINK_KBK = @NEW_KBK_LINK, PE.NO_CALC
		FROM dbo.sa_dict_pays_empl0(@LINK_EMPL1,DEFAULT,DEFAULT) PE INNER JOIN dbo.EMPL E ON E.LINK = PE.LINK_EMPL
		WHERE
			E.DEP_LINK = @DEP_LINK
			AND PE.LINK_KBK = @OLD_KBK_LINK
			AND @DATE BETWEEN PE.DATE_BEG AND ISNULL(PE.DATE_END,@DATE)
			AND @DATE > PE.[DATE_BEG]
			AND PE.SUMMA > 0
			AND NOT EXISTS (SELECT * FROM dbo.PAYS_EMPL PE2 WHERE PE.LINK_EMPL = PE2.LINK_EMPL 
								AND ISNULL(PE.LINK_SOVM,0) = ISNULL(PE2.LINK_SOVM,0)
								AND PE.[LINK_PAYS] = PE2.[LINK_PAYS]						
								AND @DATE = PE2.[DATE]
								)
		ORDER BY
				PE.LINK_EMPL, PE.LINK_SOVM					

		UPDATE PE
			SET PE.LINK_KBK = @NEW_KBK_LINK
		FROM dbo.PAYS_EMPL PE INNER JOIN dbo.EMPL E ON E.LINK = PE.LINK_EMPL
		WHERE	
			E.DEP_LINK = @DEP_LINK
			AND PE.LINK_KBK = @OLD_KBK_LINK
			AND @DATE = PE.[DATE]
			AND PE.SUMMA > 0
			AND	(@LINK_EMPL IS NULL OR @LINK_EMPL = E.LINK)	
		
		----Часы нагрузки
		if object_id('tempdb..#STO_WEEK_HOURS') is not null
			DROP TABLE #STO_WEEK_HOURS

		SELECT 
			PE.link, PE.link_up, PE.link_tar_empl, PE.link_pay, PE.link_paral, PE.link_clas, PE.link_les, PE.week_hours, PE.[percent], PE.t, 
			DATE1 = @DATE, PE.DATE2, LINK_KBK = @NEW_KBK_LINK, PE.link_empl, PE.NO_CALC, PE.M_STAVKA	
		INTO #STO_WEEK_HOURS	
		FROM dbo.EMPL E INNER JOIN dbo.STO_WEEK_HOURS PE ON PE.LINK_EMPL = E.LINK
		WHERE	
			LINK_KBK = @OLD_KBK_LINK
			AND @DATE BETWEEN PE.DATE1 AND ISNULL(PE.DATE2,@DATE)
			AND @DATE > PE.DATE1
			AND E.dep_link = @DEP_LINK
			AND	(@LINK_EMPL IS NULL OR @LINK_EMPL = E.LINK)	
		---
		INSERT INTO dbo.STO_WEEK_HOURS (link_up, link_tar_empl, link_pay, link_paral, link_clas, link_les, week_hours,[percent], t, DATE1, DATE2, LINK_KBK, link_empl, NO_CALC, M_STAVKA)
		SELECT link_up, link_tar_empl, link_pay, link_paral, link_clas, link_les, week_hours,[percent], t, DATE1, DATE2, LINK_KBK, link_empl, NO_CALC, M_STAVKA
		FROM
			#STO_WEEK_HOURS PE
		WHERE
			(@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)	
			AND
			NOT EXISTS (SELECT * FROM dbo.STO_WEEK_HOURS PE2 WHERE PE.LINK_EMPL = PE2.LINK_EMPL 
								AND ISNULL(PE.link_tar_empl,0) = ISNULL(PE2.link_tar_empl,0)
								AND PE.[link_pay] = PE2.[link_pay]						
								AND @DATE = PE2.[DATE1] )				
		---
		UPDATE PE
		SET PE.DATE2 = DATEADD(DAY,-1,@DATE)
		FROM dbo.STO_WEEK_HOURS PE INNER JOIN #STO_WEEK_HOURS PE2 ON PE.LINK = PE2.LINK
		WHERE (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)

		-----
		UPDATE PE
			SET PE.LINK_KBK = @NEW_KBK_LINK
		FROM dbo.EMPL E INNER JOIN dbo.STO_WEEK_HOURS PE ON PE.LINK_EMPL = E.LINK
		WHERE	
			LINK_KBK = @OLD_KBK_LINK
			AND @DATE = PE.DATE1
			AND E.dep_link = @DEP_LINK
			AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)

		----Надбавки по тарификации
		if object_id('tempdb..#STO_ADD_PAYMENT') is not null
			DROP TABLE #STO_ADD_PAYMENT

		SELECT 
			PE.LINK, PE.link_tar_empl, PE.link_pay, date_begin = @DATE, PE.date_end, PE.[percent], PE.comment, PE.ets_only, PE.mode, 
			PE.summa, LINK_KBK = @NEW_KBK_LINK, PE.link_expir, PE.link_empl, PE.NO_CALC
		INTO #STO_ADD_PAYMENT	
		FROM dbo.EMPL E INNER JOIN dbo.STO_ADD_PAYMENT PE ON PE.LINK_EMPL = E.LINK
		WHERE	
			LINK_KBK = @OLD_KBK_LINK
			AND @DATE BETWEEN PE.DATE_BEGIN AND ISNULL(PE.DATE_END,@DATE)
			AND @DATE > PE.DATE_BEGIN
			AND E.dep_link = @DEP_LINK
			AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)
		---
		INSERT INTO dbo.STO_ADD_PAYMENT (link_tar_empl, link_pay, date_begin, date_end, [percent], comment, ets_only, mode, 
			summa, LINK_KBK, link_expir, link_empl, NO_CALC)
		SELECT link_tar_empl, link_pay, date_begin, date_end, [percent], comment, ets_only, mode, 
			summa, LINK_KBK, link_expir, link_empl, NO_CALC
		FROM
			#STO_ADD_PAYMENT PE
		WHERE
			(@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)
			AND
			NOT EXISTS (SELECT * FROM dbo.STO_ADD_PAYMENT PE2 WHERE PE.LINK_EMPL = PE2.LINK_EMPL 
								AND ISNULL(PE.link_tar_empl,0) = ISNULL(PE2.link_tar_empl,0)
								AND PE.[link_pay] = PE2.[link_pay]						
								AND @DATE = PE2.[DATE_BEGIN]
								)				
		---
		UPDATE PE
		SET PE.DATE_END = DATEADD(DAY,-1,@DATE)
		FROM dbo.STO_ADD_PAYMENT PE INNER JOIN #STO_ADD_PAYMENT PE2 ON PE.LINK = PE2.LINK
		WHERE (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)

		-----
		UPDATE PE
			SET PE.LINK_KBK = @NEW_KBK_LINK
		FROM dbo.EMPL E INNER JOIN dbo.STO_ADD_PAYMENT PE ON PE.LINK_EMPL = E.LINK
		WHERE	
			LINK_KBK = @OLD_KBK_LINK
			AND @DATE = PE.DATE_BEGIN
			AND E.dep_link = @DEP_LINK			
			AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)

	END
	ELSE
		BEGIN

			/*ПОСТОЯННЫЕ НАЧИСЛЕНИЯ*/
			UPDATE PE
				SET PE.LINK_KBK = @NEW_KBK_LINK
			FROM dbo.PAYS_EMPL PE INNER JOIN dbo.EMPL E ON E.LINK = PE.LINK_EMPL
			WHERE	
				E.DEP_LINK = @DEP_LINK
				AND PE.LINK_KBK = @OLD_KBK_LINK
				AND @DATE >= PE.[DATE]
				AND PE.SUMMA > 0
				AND	(@LINK_EMPL IS NULL OR @LINK_EMPL = E.LINK)	
			
			/*ЧАСЫ НАГРУЗКИ*/
			UPDATE PE
				SET PE.LINK_KBK = @NEW_KBK_LINK
			FROM dbo.EMPL E INNER JOIN dbo.STO_WEEK_HOURS PE ON PE.LINK_EMPL = E.LINK
			WHERE	
				LINK_KBK = @OLD_KBK_LINK
				AND @DATE >= PE.DATE1
				AND E.dep_link = @DEP_LINK
				AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)
			
			/*НАДБАВКИ ПО ТАРИФИКАЦИИ*/
			UPDATE PE
				SET PE.LINK_KBK = @NEW_KBK_LINK
			FROM dbo.EMPL E INNER JOIN dbo.STO_ADD_PAYMENT PE ON PE.LINK_EMPL = E.LINK
			WHERE	
				LINK_KBK = @OLD_KBK_LINK
				AND @DATE >= PE.DATE_BEGIN
				AND E.dep_link = @DEP_LINK			
				AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)
		
		END

	/*НАДБАВКИ ЗА ПРЕДМЕТ*/
	UPDATE	dbo.STO_LESSON_PAYS
	SET	LINK_KBK = @NEW_KBK_LINK
	WHERE	
		ISNULL(LINK_KBK,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE >= [date_begin]
		AND dep_link = @DEP_LINK
		AND @LINK_EMPL IS NULL
		
	/* ПОСТОЯННЫЕ УДЕРЖАНИЯ */
	UPDATE dbo.EMPL_TAX
	SET	LINK_VKR = @NEW_KBK_LINK
	FROM dbo.EMPL E INNER JOIN dbo.EMPL_TAX ET ON ET.LINK_EMPL = E.LINK
	WHERE ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE <= ISNULL(DATE2,@DATE)
		AND E.DEP_LINK = @DEP_LINK
		AND (@LINK_EMPL IS NULL OR @LINK_EMPL = ET.LINK_EMPL)		
	
	/* ШТАТНОЕ РАСПИСАНИЕ */
	SELECT 
		--T.LINK_UP, T.SUBDIV_LINK, T.POST_LINK, T.OKLAD, T.NUM_STAKE,
		--T.DEY_LINK, T.KAT_LINK, T.GOSSL, T.FIN, T.FIN_FOND, T.KAT_GOS_LINK, 
		--DATE_BEGIN = @DATE, T.DATE_END, T.GR_GOS_LINK, T.ETS_RAZR, LINK_KBK = @NEW_KBK_LINK

		T.LINK_UP, 
		T.SUBDIV_LINK, 
		T.POST_LINK, 
		T.OKLAD, 
		T.NUM_STAKE, 
		T.DEY_LINK, 
		T.KAT_LINK, 
		T.GOSSL, 
		T.FIN, 
		T.FIN_FOND, 
		T.KAT_GOS_LINK, 
		DATE_BEGIN = @DATE,
		T.DATE_END, 
		T.GR_GOS_LINK, 
		T.ETS_RAZR, 
		LINK_KBK = @NEW_KBK_LINK,
		T.ETS_RAZR2, 
		T.TERR_USL_TRUD, 
		T.TERR_RK, 
		T.OSOB_USL_TRUD, 
		T.COD_POS_SPISOK, 
		T.USL_DOSROCH_PENS, 
		T.STAVKA_PED_MED, 
		T.COD_POS_SPISOK2, 
		T.COD_PROF, 
		T.OSNOVANIE, 
		T.CAT_NZP_LINK, 
		T.SPHERE_LINK, 
		T.COD_SPO_USL_TRUD
		
	INTO	#TMP
	FROM	dbo.STAFF_HEAD H INNER JOIN STAFF T ON H.LINK = T.LINK_UP
	WHERE	@DATE BETWEEN T.DATE_BEGIN AND T.DATE_END
		AND H.DEP_LINK = @DEP_LINK
		AND ISNULL(T.LINK_KBK,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE > T.DATE_BEGIN
		AND (@LINK_EMPL IS NULL OR @LINK_EMPL IS NOT NULL AND EXISTS (SELECT * FROM dbo.ITEM_MOVE IM WHERE IM.EMPL_LINK = @LINK_EMPL AND IM.STAFF_LINK = H.LINK))
		
	---
	ALTER TABLE dbo.STAFF DISABLE TRIGGER ALL

		UPDATE	dbo.STAFF
		SET	DATE_END = DATEADD(DAY,-1,@DATE)
		FROM	dbo.STAFF_HEAD H INNER JOIN dbo.STAFF T ON H.LINK = T.LINK_UP
		WHERE	@DATE BETWEEN T.DATE_BEGIN AND T.DATE_END 
			AND H.DEP_LINK = @DEP_LINK
			AND @DATE > T.DATE_BEGIN
			AND ISNULL(T.LINK_KBK,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND (@LINK_EMPL IS NULL OR @LINK_EMPL IS NOT NULL AND EXISTS (SELECT * FROM dbo.ITEM_MOVE IM WHERE IM.EMPL_LINK = @LINK_EMPL AND IM.STAFF_LINK = H.LINK))

	ALTER TABLE [dbo].[STAFF] ENABLE  TRIGGER ALL

	---

	ALTER TABLE dbo.STAFF DISABLE TRIGGER ALL

		INSERT INTO dbo.STAFF
		(
			LINK_UP, SUBDIV_LINK, POST_LINK, OKLAD, NUM_STAKE, 
			DEY_LINK, KAT_LINK, GOSSL, FIN, FIN_FOND, KAT_GOS_LINK, 
			DATE_BEGIN, DATE_END, GR_GOS_LINK, ETS_RAZR, LINK_KBK,
			ETS_RAZR2, TERR_USL_TRUD, TERR_RK, OSOB_USL_TRUD, 
			COD_POS_SPISOK, USL_DOSROCH_PENS, STAVKA_PED_MED, 
			COD_POS_SPISOK2, COD_PROF, OSNOVANIE, 
			CAT_NZP_LINK, SPHERE_LINK, COD_SPO_USL_TRUD
		)
		SELECT 
			LINK_UP, SUBDIV_LINK, POST_LINK, OKLAD, NUM_STAKE, 
			DEY_LINK, KAT_LINK, GOSSL, FIN, FIN_FOND, KAT_GOS_LINK, 
			DATE_BEGIN, DATE_END, GR_GOS_LINK, ETS_RAZR, LINK_KBK,
			ETS_RAZR2, TERR_USL_TRUD, TERR_RK, OSOB_USL_TRUD, 
			COD_POS_SPISOK, USL_DOSROCH_PENS, STAVKA_PED_MED, 
			COD_POS_SPISOK2, COD_PROF, OSNOVANIE, 
			CAT_NZP_LINK, SPHERE_LINK, COD_SPO_USL_TRUD
		from #TMP

	ALTER TABLE [dbo].[STAFF] ENABLE  TRIGGER ALL
	
	---
	ALTER TABLE dbo.STAFF DISABLE TRIGGER ALL

		UPDATE	dbo.STAFF
		SET	LINK_KBK = @NEW_KBK_LINK
		FROM	dbo.STAFF_HEAD H INNER JOIN dbo.STAFF T ON H.LINK = T.LINK_UP
		WHERE	H.DEP_LINK = @DEP_LINK
			AND T.DATE_BEGIN = @DATE
			AND ISNULL(T.LINK_KBK,@OLD_KBK_LINK) = @OLD_KBK_LINK
			AND (@LINK_EMPL IS NULL OR @LINK_EMPL IS NOT NULL AND EXISTS (SELECT * FROM dbo.ITEM_MOVE IM WHERE IM.EMPL_LINK = @LINK_EMPL AND IM.STAFF_LINK = H.LINK))

	ALTER TABLE [dbo].[STAFF] ENABLE  TRIGGER ALL

	--- Замена в расчетах отчислений ЕСН
	ALTER TABLE dbo.SDOC_ESN_TABLE DISABLE TRIGGER ALL

	UPDATE GT
	SET	
		GT.LINK_VKR = @NEW_KBK_LINK
	FROM 
		dbo.SDOC S 
		INNER JOIN dbo.SDOC_ESN SD on S.LINK = SD.LINK_UP
		INNER JOIN dbo.SDOC_ESN_TABLE GT on S.LINK = GT.LINK_UP
	WHERE
		@DATE <= S.DATE_CALC
		AND
		S.LINK_DEP = @DEP_LINK
		AND
		ISNULL(GT.LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND 
		(@LINK_EMPL IS NULL OR @LINK_EMPL = GT.LINK_EMPL)

	ALTER TABLE [dbo].SDOC_ESN_TABLE ENABLE  TRIGGER ALL

END

 --Замена в журнале операций
IF @OPT2 = 1 BEGIN

	ALTER TABLE [dbo].[CALCULATE_JURNAL]
		DISABLE TRIGGER ALL
	
	UPDATE dbo.CALCULATE_JURNAL 
	SET LINK_VKR = @NEW_KBK_LINK 
	WHERE ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE <= PERIOD_BEGIN -- Сформированные после смены КБК
		AND LINK_DEP = @DEP_LINK
		AND (@LINK_EMPL IS NULL OR LINK_EMPL = @LINK_EMPL)

	ALTER TABLE [dbo].[CALCULATE_JURNAL]
		ENABLE  TRIGGER ALL


	--Замена в предоставленных вычетах
	ALTER TABLE [dbo].[SAL_DED_MONTH]
		DISABLE TRIGGER ALL
	
	UPDATE dbo.SAL_DED_MONTH 
	SET LINK_VKR = @NEW_KBK_LINK 
	FROM SAL_DED_MONTH CJ INNER JOIN dbo.EMPL E ON CJ.LINK_EMPL = E.LINK
	WHERE ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE <= DATE_DED -- Сформированные после смены КБК
		AND E.DEP_LINK = @DEP_LINK
		AND (@LINK_EMPL IS NULL OR CJ.LINK_EMPL = @LINK_EMPL)
	
	ALTER TABLE [dbo].[SAL_DED_MONTH]
		ENABLE  TRIGGER ALL

END

 --Замена в остатках
IF @OPT3 = 1 BEGIN

	ALTER TABLE [dbo].[SAL_REMAIN]
		DISABLE TRIGGER ALL
	
	UPDATE dbo.SAL_REMAIN 
	SET LINK_VKR = @NEW_KBK_LINK 
	FROM dbo.SAL_REMAIN R INNER JOIN dbo.EMPL E ON R.LINK_EMPL = E.LINK
	WHERE ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND year(@DATE) <= YEAR_SAL
		AND E.DEP_LINK = @DEP_LINK
		AND (@LINK_EMPL IS NULL OR R.LINK_EMPL = @LINK_EMPL)
	
	ALTER TABLE [dbo].[SAL_REMAIN]
		ENABLE  TRIGGER ALL
END

IF @OPT4 = 1 BEGIN
	--Замена в исполнительных листах
	ALTER TABLE dbo.SDOC_WRIT DISABLE TRIGGER ALL
	
		UPDATE dbo.SDOC_WRIT
		SET	LINK_VKR = @NEW_KBK_LINK
		FROM dbo.SDOC S INNER JOIN dbo.SDOC_WRIT SD ON S.LINK = SD.LINK_UP 
		WHERE ISNULL(LINK_VKR,0) = @OLD_KBK_LINK
			AND (@DATE <= DATE1 OR @DATE BETWEEN DATE1 AND DATE2)
			AND S.LINK_DEP = @DEP_LINK
			AND (@LINK_EMPL IS NULL OR SD.LINK_EMPL = @LINK_EMPL)
	
	ALTER TABLE [dbo].[SDOC_WRIT] ENABLE  TRIGGER ALL
END

IF @OPT5 = 1 BEGIN

	--Замена в договорах
	CREATE TABLE #REESTR_DGH (NEW_LINK int NOT NULL, OLD_LINK int NOT NULL)

	INSERT INTO dbo.REESTR_DGH 
		(NUMBER, [DATE], DATE1, DATE2, [TYPE], PAYMENT, SUMMA, COMMENT, VZNOS, LINK_PAYS, FLAG_NALOG, DEP_LINK, PERS_LINK, FLAG_ESN, FLAG_TRAVMA, LINK_KBK, AVANCE)
	OUTPUT inserted.LINK, inserted.SUMMA INTO #REESTR_DGH (NEW_LINK, OLD_LINK) --временно вместо суммы копирую страрый линк для истории, сумму потом верну из старой записи
	SELECT
		NUMBER, [DATE], @DATE, DATE2, [TYPE], PAYMENT, LINK, COMMENT, VZNOS, LINK_PAYS, FLAG_NALOG, DEP_LINK, PERS_LINK, FLAG_ESN, FLAG_TRAVMA, @NEW_KBK_LINK, AVANCE
	FROM 
		dbo.REESTR_DGH R
	WHERE
		R.DEP_LINK = @DEP_LINK
		AND
		R.LINK_KBK = @OLD_KBK_LINK
		AND
		@DATE <= ISNULL(DATE2,@DATE)
		AND
		@DATE > ISNULL(DATE1,@DATE)
	
	--	
	UPDATE dbo.REESTR_DGH SET LINK_KBK = @NEW_KBK_LINK WHERE LINK_KBK = @OLD_KBK_LINK AND @DATE <= ISNULL(DATE1,@DATE)		

	UPDATE B SET B.DATE2 = @DATE - 1
	FROM #REESTR_DGH A INNER JOIN dbo.REESTR_DGH B ON B.LINK = A.OLD_LINK

	--в новых копиях возвращаю на место сумму из копий
	UPDATE C
		SET C.SUMMA = B.SUMMA 
	FROM
		#REESTR_DGH A 
		INNER JOIN dbo.REESTR_DGH B ON B.LINK = A.OLD_LINK		
		INNER JOIN dbo.REESTR_DGH C ON C.LINK = A.NEW_LINK

	--Копирую хвост с вычетами
	INSERT INTO dbo.EMPL_DED (DED_LINK, DATE1, DATE2, LINK_DGH)
	SELECT 
		DED_LINK, DATE1, DATE2, A.NEW_LINK
	FROM 
		#REESTR_DGH A INNER JOIN dbo.EMPL_DED B ON B.LINK_DGH = A.OLD_LINK

	--в постоянных удержаниях тоже замена КБК
	--новые строки со старыми линками
	SELECT 
		B.LINK, LINK_TAX, @DATE AS DATE1, DATE2, SUMMA, @NEW_KBK_LINK AS LINK_VKR, B.LINK_DGH
	INTO
		#TMP_EMPL_TAX	
	FROM 
		#REESTR_DGH A INNER JOIN dbo.EMPL_TAX B ON B.LINK_DGH = A.OLD_LINK
	WHERE
		B.LINK_VKR = @OLD_KBK_LINK
		AND
		@DATE <= ISNULL(DATE2,@DATE)
		AND
		@DATE > ISNULL(DATE1,@DATE)
		
	---	
	UPDATE B SET B.LINK_VKR = @NEW_KBK_LINK
	FROM dbo.EMPL_TAX B
	WHERE B.LINK_VKR = @OLD_KBK_LINK AND @DATE <= ISNULL(B.DATE1,@DATE)	
	
	--вставляю новые строки
	INSERT INTO dbo.EMPL_TAX (LINK_TAX, DATE1, DATE2, SUMMA, LINK_VKR, LINK_DGH)
	SELECT LINK_TAX, DATE1, DATE2, SUMMA, LINK_VKR, LINK_DGH FROM #TMP_EMPL_TAX

	--в тех строках, с которых сделал копию закрываю дату
	UPDATE B SET DATE2 = @DATE - 1
	FROM #TMP_EMPL_TAX A INNER JOIN dbo.EMPL_TAX B ON B.LINK = A.LINK

	--Копирую хвост с постоянными удержаниями
	INSERT INTO dbo.EMPL_TAX (LINK_TAX, DATE1, DATE2, SUMMA, LINK_VKR, LINK_DGH)
	SELECT 
		LINK_TAX, DATE1, DATE2, SUMMA, LINK_VKR, A.NEW_LINK
	FROM 
		#REESTR_DGH A INNER JOIN dbo.EMPL_TAX B ON B.LINK_DGH = A.OLD_LINK

	--Замена в журнале операций по договорникам

	ALTER TABLE [dbo].[CALCULATE_JURNAL]
		DISABLE TRIGGER ALL
	
	UPDATE dbo.CALCULATE_JURNAL SET LINK_VKR = @NEW_KBK_LINK 
	WHERE 
		ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE <= PERIOD_BEGIN -- Сформированные после смены КБК
		AND LINK_DEP = @DEP_LINK
		AND PERS_LINK IS NOT NULL

	ALTER TABLE [dbo].[CALCULATE_JURNAL]
		ENABLE  TRIGGER ALL		

END

--
UPDATE dbo.SAL_SFIN SET LINK_CH_SFIN = @NEW_KBK_LINK, DATE_CHANGE = @DATE, USED = 0 WHERE LINK = @OLD_KBK_LINK 

--ВЕРНУТЬ ПРЕЖНИЙ ПЕРИОД РЕДАКТИРОВАНИЯ

SELECT @BB = BEGINDATE, @BE = ENDDATE FROM #TMP_DATES
EXECUTE DBO.I_SET_ADMIN_DATE @KASSA, @BB, @BB, @BE


RETURN 0





GO


GRANT EXECUTE ON dbo.[SAL_CHANGE_KBK] TO PUBLIC

GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZV4_PACHKA_CALC_Buffer_2015_6]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZV4_PACHKA_CALC_Buffer_2015_6]

GO

CREATE   PROCEDURE [dbo].SA_SZV4_PACHKA_CALC_Buffer_2015_6 (@BufferCode varchar(10), @link int, @Year int, @Month tinyint) 
AS
/*
Список изменений по отношению к SA_SZV4_PACHKA_CALC_Buffer4
1. строку с кодом «АДМИНИСТР» исключить
ПОСТАНОВЛЕНИЕ 04 июня 2015 г № 194 п О внесении изменений в постановление Правления Пенсионного фонда Российской Федерации  от 16 января 2014 года  № 2п
п.п б) п. 2.10.5. В разделе «Исчисление страхового стажа: дополнительные сведения» ПРАВЛЕНИЕ ПЕНСИОННОГО ФОНДА РОССИЙСКОЙ ФЕДЕРАЦИИ 
*/
DECLARE @SQL VARCHAR(1000)

SET @SQL = '
delete from dbo.Buffer
where RTRIM(LTRIM(ID)) = RTRIM(LTRIM( ''' + @BufferCode + ''' ))
	and link IN (select S.link_pers from dbo.SZV4_SVEDENIA S where S.link_up = ' + CONVERT(VARCHAR(20),@LINK) + ')'
--EXEC (@SQL)	--!!


CREATE TABLE #PERSON (LINK INT)	

SET @SQL = '
INSERT INTO #PERSON (LINK)
SELECT DISTINCT LINK FROM dbo.Buffer WHERE RTRIM(LTRIM(ID)) = RTRIM(LTRIM(''' + @BufferCode + '''))'
EXEC (@SQL)	

declare @DEP_LINK int
exec dbo.xd_whats_zb @DEP_LINK output

DECLARE @PER TINYINT, @MONTH_END TINYINT, @MONTH_BEG TINYINT, @VID_KOR TINYINT 

SELECT @VID_KOR = VID_KOR
FROM dbo.SZV4_PACHKA WHERE LINK = @link

IF @VID_KOR = 2
begin  
	SELECT @Year = @Year, @PER = PER_EDT, @MONTH_END = @Month
	FROM dbo.SZV4_PACHKA WHERE LINK = @link
end 
else 
begin
	SELECT @Year = YEAR_BEGIN, @PER = PER, @MONTH_END = MONTH_END
	FROM dbo.SZV4_PACHKA WHERE LINK = @link
end 
DECLARE @PeriodBegin datetime, @PeriodEnd datetime

SET @MONTH_BEG = (CASE @PER WHEN 1 THEN 1 WHEN 2 THEN 4 WHEN 3 THEN 7 WHEN 4 THEN 10 END)
SET @MONTH_END = (CASE WHEN @MONTH_END < (@MONTH_BEG+3-1) THEN @MONTH_END ELSE (@MONTH_BEG+3-1) END)

SELECT @PeriodBegin = dbo.ConvertDMY2Date(1,@MONTH_BEG,@Year), @PeriodEnd = dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH_END,@Year))

--ВЫДЕЛЕНИЕ КАТЕГОРИЙ ФИЗ.ЛИЦ
--ИНВАЛИДЫ
DECLARE @LINK_OZOI INT
SET @LINK_OZOI = ISNULL((SELECT TOP 1 LINK FROM dbo.SA_PFR_KATEG WHERE LINK2 = 3 AND @Year BETWEEN YBEG AND YEND),1)

------	у кого была инвалидность в заданном периоде
CREATE TABLE #PERS_INV (PERS_LINK INT, DATE_BEGIN DATETIME, DATE_END DATETIME)

INSERT INTO #PERS_INV (PERS_LINK, DATE_BEGIN, DATE_END) 
SELECT PERS_LINK, DATE_BEGIN = MIN(ISNULL(I.DATE_BEGIN,@PeriodBegin)), DATE_END = MAX(ISNULL(I.DATE_END,@PeriodEnd))
FROM dbo.PERS_INVALID I
WHERE ISNULL(I.DATE_BEGIN,@PeriodBegin) <= @PeriodEnd AND ISNULL(I.DATE_END,@PeriodEnd) >= @PeriodBegin
GROUP BY PERS_LINK

--forma в отчётности за 2013 год содержит тип договора (1 трудовой, 2 ГПХ)
insert into dbo.SZV4_SVEDENIA (link_up, orders, forma, link_pers, sum_doh, sum_str, sum_nak, sum_dop, dper_vn_m, dper_vn_d,dper_oz_m, dper_oz_d, isum_str, isum_nak, LINK_KATEG, DATE_BEG, DATE_END) 
Select distinct @link, 0, DOG, B.link, 0, 0, 0, 0, 
	DIS_M = 0,
	DIS_D = 0,
	VAC_M = 0,
	VAC_D = 0,
	0,0,
	@LINK_OZOI,
	CASE WHEN ISNULL(I.DATE_BEGIN,@PeriodBegin) < @PeriodBegin THEN @PeriodBegin ELSE ISNULL(I.DATE_BEGIN,@PeriodBegin) END,
	CASE WHEN ISNULL(I.DATE_END,@PeriodEnd) > @PeriodEnd THEN @PeriodEnd ELSE ISNULL(I.DATE_END,@PeriodEnd) END
from 
	(	SELECT B.LINK, DOG = 1 
		FROM 
			#PERSON B
			INNER JOIN dbo.EMPL E ON E.pers_link = B.LINK AND E.DEP_LINK = @DEP_LINK
		UNION 
		SELECT B.LINK, DOG = 2 
		FROM 
			#PERSON B
			INNER JOIN dbo.SALARY_REESTR_DGH DGH ON DGH.PERS_LINK = B.LINK AND DGH.DEP_LINK = @DEP_LINK
	) B
	INNER JOIN #PERS_INV I ON I.PERS_LINK = B.LINK AND ISNULL(I.DATE_BEGIN,@PeriodBegin) <= @PeriodEnd AND ISNULL(I.DATE_END,@PeriodEnd) >= @PeriodBegin		

----ОБЩИЕ
DECLARE @LINK_NR INT
SET @LINK_NR = ISNULL((SELECT TOP 1 LINK FROM dbo.SA_PFR_KATEG WHERE LINK2 = 1 AND @Year BETWEEN YBEG AND YEND),1)

--forma в отчётности за 2013 год содержит тип договора (1 трудовой, 2 ГПХ)	
insert into dbo.SZV4_SVEDENIA (link_up, orders, forma, link_pers, sum_doh, sum_str, sum_nak, sum_dop, dper_vn_m, dper_vn_d,dper_oz_m, dper_oz_d, isum_str, isum_nak, LINK_KATEG, DATE_BEG, DATE_END) 
Select distinct @link, 0, DOG, B.link, 0, 0, 0, 0, 
	DIS_M = 0,
	DIS_D = 0,
	VAC_M = 0,
	VAC_D = 0,
	0,0,
	@LINK_NR,
	CASE WHEN I.PERS_LINK IS NULL OR @PeriodBegin < CASE WHEN ISNULL(I.DATE_BEGIN,@PeriodBegin) < @PeriodBegin THEN @PeriodBegin ELSE ISNULL(I.DATE_BEGIN,@PeriodBegin) END
		THEN @PeriodBegin 
		ELSE CASE WHEN ISNULL(I.DATE_END,@PeriodEnd) > @PeriodEnd THEN @PeriodEnd ELSE ISNULL(I.DATE_END,@PeriodEnd) END + 1
	END,
	CASE WHEN I.PERS_LINK IS NULL OR @PeriodEnd > CASE WHEN ISNULL(I.DATE_END,@PeriodEnd) > @PeriodEnd THEN @PeriodEnd ELSE ISNULL(I.DATE_END,@PeriodEnd) END
		THEN @PeriodEnd
		ELSE CASE WHEN ISNULL(I.DATE_BEGIN,@PeriodBegin) < @PeriodBegin THEN @PeriodBegin ELSE ISNULL(I.DATE_BEGIN,@PeriodBegin) END - 1
	END
from 
	(	
		SELECT B.LINK, DOG = 1 
		FROM 
			#PERSON B
			INNER JOIN dbo.EMPL E ON E.pers_link = B.LINK AND E.DEP_LINK = @DEP_LINK
		UNION 
		SELECT B.LINK, DOG = 2
		FROM 
			#PERSON B
			INNER JOIN dbo.SALARY_REESTR_DGH DGH ON DGH.PERS_LINK = B.LINK AND DGH.DEP_LINK = @DEP_LINK
	) B
	LEFT JOIN #PERS_INV I ON I.PERS_LINK = B.LINK AND ISNULL(I.DATE_BEGIN,@PeriodBegin) <= @PeriodEnd AND ISNULL(I.DATE_END,@PeriodEnd) >= @PeriodBegin		
WHERE --Добавляем если не было инвалидов или инвалидность была не весь период
	I.PERS_LINK IS NULL --не было инвалидов
	OR --инвалидность была не весь период
	CASE WHEN ISNULL(I.DATE_BEGIN,@PeriodBegin) < @PeriodBegin THEN @PeriodBegin ELSE ISNULL(I.DATE_BEGIN,@PeriodBegin) END
		BETWEEN @PeriodBegin+1 AND @PeriodEnd-1
	OR --инвалидность была не весь период
	CASE WHEN ISNULL(I.DATE_END,@PeriodEnd) > @PeriodEnd THEN @PeriodEnd ELSE ISNULL(I.DATE_END,@PeriodEnd) END
		BETWEEN @PeriodBegin+1 AND @PeriodEnd-1	

----ЕНВД
DECLARE @LINK_USEN INT
SET @LINK_USEN = ISNULL((SELECT TOP 1 LINK FROM dbo.SA_PFR_KATEG WHERE LINK2 = 2 AND @Year BETWEEN YBEG AND YEND),1)		
	
insert into dbo.SZV4_SVEDENIA 
	(link_up, orders, forma, link_pers, sum_doh, sum_str, sum_nak, sum_dop, dper_vn_m, dper_vn_d,dper_oz_m, dper_oz_d, isum_str, isum_nak, LINK_KATEG, DATE_BEG, DATE_END) 
SELECT 	
	link_up, orders, forma, link_pers, ISNULL(sum_doh,0), ISNULL(sum_str,0), ISNULL(sum_nak,0), ISNULL(sum_dop,0), ISNULL(dper_vn_m,0), ISNULL(dper_vn_d,0), ISNULL(dper_oz_m,0), ISNULL(dper_oz_d,0), ISNULL(isum_str,0), ISNULL(isum_nak,0), @LINK_USEN, DATE_BEG, DATE_END
FROM
	#PERSON B INNER JOIN dbo.SZV4_SVEDENIA S ON B.LINK = S.link_pers 
WHERE
	link_up = @link
	AND
	LINK_KATEG = @LINK_NR	
	

----СУММЫ ВЗНОСОВ В ЗАВИСИМОСТИ ОТ КАТЕГОРИИ ПО ЖУРНАЛУ ОПЕРАЦИЙ
CREATE TABLE #PERS_SUM_J (LINK_PERS INT, LINK_KATEG INT, DOG TINYINT, MON INT, INCOME NUMERIC(18,2), SUMMA_BASE NUMERIC(18,2), SUMMA_I NUMERIC(18,2), SUMMA_G NUMERIC(18,2))
INSERT INTO #PERS_SUM_J (LINK_PERS, LINK_KATEG, DOG, MON, INCOME, SUMMA_BASE, SUMMA_I, SUMMA_G)
SELECT LINK_PERS, LINK_KATEG, DOG, MON,
	SUM(CASE WHEN [OBJECT] = 1 THEN SUMMA ELSE 0 END), --ВСЕГО ДОХОД (INCOME)
	SUM(CASE WHEN [OBJECT] = 3 AND WAY_CALC = 6 THEN SUMMA_BASE ELSE 0 END),
	SUM(CASE WHEN [OBJECT] = 3 AND WAY_CALC = 6 THEN SUMMA ELSE 0 END),
	SUM(CASE WHEN [OBJECT] = 3 AND WAY_CALC = 7 THEN SUMMA ELSE 0 END)	
FROM
(
	SELECT 
		S.LINK_PERS, P.[WAY_CALC], S.LINK_KATEG, DOG = S.FORMA, P.[OBJECT], MON = MONTH(J.PERIOD_BEGIN), SUMMA_BASE = SUM(SUMMA_BASE), SUMMA = SUM(SUMMA)
	FROM 
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.link_pers = B.LINK
		INNER JOIN dbo.EMPL E ON E.PERS_LINK = S.LINK_PERS
		INNER JOIN dbo.CALCULATE_JURNAL J ON J.LINK_EMPL = E.LINK 
			AND YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) BETWEEN MONTH(S.DATE_BEG) AND MONTH(S.DATE_END)
		INNER JOIN dbo.PAYS P ON P.LINK = J.LINK_PAYS
		INNER JOIN dbo.SAL_SFIN F ON F.LINK = J.LINK_VKR
	WHERE
		S.LINK_UP = @link
		AND 
		(
			P.[OBJECT] = 3 AND P.[WAY_CALC] IN (6, 7)
			OR
			P.[OBJECT] = 1
		)
		AND J.LINK_DEP = @DEP_LINK
		AND S.FORMA = 1 --ВИД ДОГОВОРА (ТРУДОВОЙ)
		AND (LINK_KATEG = @LINK_OZOI OR (LINK_KATEG = @LINK_USEN AND F.ENVD = 1) OR (LINK_KATEG = @LINK_NR AND F.ENVD = 0))
	GROUP BY
		S.LINK_PERS, P.[WAY_CALC], S.LINK_KATEG, S.FORMA, P.[OBJECT], J.PERIOD_BEGIN
	UNION ALL	
	SELECT 
		S.LINK_PERS, P.[WAY_CALC], S.LINK_KATEG, DOG = S.FORMA, P.[OBJECT], MON = MONTH(J.PERIOD_BEGIN), SUMMA_BASE = SUM(SUMMA_BASE), SUMMA = SUM(SUMMA)
	FROM 
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		INNER JOIN dbo.CALCULATE_JURNAL J ON J.PERS_LINK = S.LINK_PERS 
			AND YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) BETWEEN MONTH(S.DATE_BEG) AND MONTH(S.DATE_END)
		INNER JOIN dbo.PAYS P ON P.LINK = J.LINK_PAYS
		INNER JOIN dbo.SAL_SFIN F ON F.LINK = J.LINK_VKR
	WHERE
		S.LINK_UP = @link
		AND 
		(
			P.[OBJECT] = 3 AND P.[WAY_CALC] IN (6, 7)
			OR
			P.[OBJECT] = 1
		)
		AND J.LINK_DEP = @DEP_LINK
		AND S.FORMA = 2 --ВИД ДОГОВОРА (ГПХ)
		AND (LINK_KATEG = @LINK_OZOI OR (LINK_KATEG = @LINK_USEN AND F.ENVD = 1) OR (LINK_KATEG = @LINK_NR AND F.ENVD = 0))
	GROUP BY
		S.LINK_PERS, P.[WAY_CALC], S.LINK_KATEG, S.FORMA, P.[OBJECT], J.PERIOD_BEGIN
) T
GROUP BY LINK_PERS, LINK_KATEG, DOG, MON

--
CREATE INDEX #TMP_IDX_#PERS_SUM_J ON #PERS_SUM_J (LINK_PERS, LINK_KATEG)

--рАСЧЁТ ОБЛАГАЕМОЙ СУММЫ ДОХОДА ЗА ПЕРИОД
--в РАСЧЁТ НЕ ДОЛЖНА ПОПАСТЬ СУММА С ПРЕВЫШЕНИЯ СУММЫ ДОХОДА 512 ТЫС С УЧЁТОМ СКИДОК
create table #SPR_ESN ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0, KATEG TINYINT, DOG TINYINT)

Insert InTo #SPR_ESN ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, KATEG, DOG)
SELECT [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, KATEG, DOG = 1
FROM 
	dbo.SA_ESN_VIEW(@Year, @Month, @DEP_LINK, 0) S
WHERE 
	WAY_CALC IN (6,7,10,11)
	AND EXISTS (SELECT * FROM #PERSON B WHERE B.LINK = S.REF_PHYS_PERS)

--Суммы по договорникам
INSERT INTO #SPR_ESN 
	([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, KATEG, DOG)
SELECT 
	MONTH(G.[DATE]) AS MONTH_BASE, 
	GT.SUMMA_BASE, 0, 0, GT.SUMMA, GT.WAY_CALC, GT.PERS_LINK, 
	CASE WHEN dbo.is_invalid(GT.PERS_LINK,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,G.[MONTH],@Year))) = 2
		THEN 3
		ELSE
		CASE WHEN F.ENVD = 1 THEN 2 ELSE 1 END
	END, 
	DOG = 2
FROM 
	dbo.DOCUMENTS_DGH G 
	INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
	inner join dbo.PERSON P on GT.PERS_LINK = P.link
	INNER JOIN #PERSON B ON B.LINK = P.LINK
	inner join dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
WHERE 
	FLAG_JC = 1
	AND GT.WAY_CALC  IN (6,7,10,11)
	AND YEAR(G.[DATE]) = @Year
	AND MONTH(G.[DATE]) <= @Month
	AND LINK_DEP = @DEP_LINK

--
CREATE INDEX #TMP_IDX_SPR_ESN ON #SPR_ESN (REF_PHYS_PERS, KATEG, DOG)


--
DELETE FROM #SPR_ESN
WHERE  EXISTS (SELECT * FROM dbo.KJ_PERS_PENSION K WHERE K.PERS_LINK = REF_PHYS_PERS  and K.CHECK_SZV = 0)

--Информация о ставках
DECLARE @STAVKI TABLE ( LINK_PERS INT, TARIF TINYINT, PREDEL NUMERIC(15,2), [PERCENT] NUMERIC(8,2), WAY_CALC TINYINT)

INSERT INTO @STAVKI (LINK_PERS, TARIF, PREDEL, [PERCENT], WAY_CALC)
SELECT 
	LINK_PERS, TARIF, PREDEL, [PERCENT], WAY_CALC 
FROM 
	dbo.SA_ESN_TARIF(DEFAULT, @PeriodEnd, DEFAULT) S
WHERE 
	WAY_CALC IN (6,7)
	AND EXISTS (SELECT * FROM #PERSON P WHERE P.LINK = S.LINK_PERS)

--	
DECLARE @LIMIT NUMERIC(18,2)
SET @LIMIT = ISNULL((SELECT MIN(PREDEL) FROM @STAVKI WHERE TARIF = 1 AND WAY_CALC = 6),0)

------СУММЫ В ЗАВИСИМОСТИ ОТ КАТЕГОРИИ ПО РАСЧЁТАМ ЕСН С УЧЁТОМ ПРЕВЫШЕНИЯ 512Т.
CREATE TABLE #SUM_PERSON (LINK_PERSON INT, KATEG TINYINT, DOG TINYINT, WAY_CALC TINYINT, [PERCENT] NUMERIC(18,2), MON TINYINT, 
				BAZA NUMERIC(18,2), SUM_LIM NUMERIC(18,2), SUM_KOR NUMERIC(18,2),BAZA2 NUMERIC(18,2),  NALOG NUMERIC(20,6), M BIT)

INSERT INTO #SUM_PERSON (LINK_PERSON, KATEG, DOG, WAY_CALC, [PERCENT], MON, BAZA, NALOG, M)
SELECT
	E.REF_PHYS_PERS, E.KATEG, E.DOG, S.WAY_CALC, S.[PERCENT], E.MONTH_BASE,
	SUM(ISNULL(SUMMA_BASE,0) - ISNULL(DED_M,0) - ISNULL(INV_M,0)) AS BAZA,
	SUM(SUMMA),
	0
FROM 
	#SPR_ESN E
	INNER JOIN @STAVKI S ON S.LINK_PERS = E.REF_PHYS_PERS AND S.WAY_CALC = E.WAY_CALC AND S.TARIF = E.KATEG
WHERE 
	S.PREDEL = @LIMIT
GROUP BY
	E.REF_PHYS_PERS, E.KATEG, E.DOG, S.WAY_CALC, S.[PERCENT], E.MONTH_BASE

--ТОЛЬКО ТЕ, У КОГО ДОХОД ПРЕВЫСИЛ ЛИМИТ
CREATE TABLE #PERS_AFTER (LINK_PERSON INT, KATEG TINYINT, DOG TINYINT)

INSERT INTO #PERS_AFTER (LINK_PERSON, KATEG, DOG)
SELECT LINK_PERSON, KATEG, DOG
FROM #SUM_PERSON 
WHERE WAY_CALC = 6
GROUP BY LINK_PERSON, KATEG, DOG
HAVING SUM(BAZA) > @LIMIT
DECLARE @Cur2 CURSOR, @MON TINYINT, @KATEG TINYINT, @DOG TINYINT

SET @Cur2 = CURSOR FORWARD_ONLY
FOR SELECT DISTINCT MON, KATEG, DOG FROM #SUM_PERSON SP
	ORDER BY MON, KATEG ASC, DOG DESC
OPEN @Cur2
FETCH NEXT FROM @Cur2 INTO @MON, @KATEG, @DOG
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN

		UPDATE SP --ДОХОД С НАКОПЛЕНИЕМ С НАЧАЛА ГОДА
		SET 
			M = 1,
			SUM_LIM = (SELECT SUM(BAZA) FROM #SUM_PERSON SP1 WHERE SP1.LINK_PERSON = SP.LINK_PERSON AND SP1.WAY_CALC = SP.WAY_CALC AND (M=1 OR SP1.MON = SP.MON AND SP1.KATEG = SP.KATEG AND SP1.DOG = SP.DOG))
		FROM #SUM_PERSON SP
		WHERE MON = @MON AND KATEG = @KATEG AND DOG = @DOG
		
		UPDATE #SUM_PERSON --ПРЕВЫШЕНИЕ ЛИМИТА
		SET SUM_KOR = CASE WHEN ISNULL(SUM_LIM,0) > @LIMIT THEN ISNULL(SUM_LIM,0) - @LIMIT ELSE 0 END

		UPDATE #SUM_PERSON
		SET BAZA2 = CASE WHEN (ISNULL(BAZA,0) > ISNULL(SUM_KOR,0) OR ISNULL(BAZA,0) < 0)
							THEN ISNULL(BAZA,0) - ISNULL(SUM_KOR,0) ELSE 0 END
		
		UPDATE SP
		SET NALOG = 
					CASE WHEN BAZA <> BAZA2 
						THEN 
							
							CONVERT(NUMERIC(18,2),
							ISNULL((SELECT SUM(SP1.BAZA2) FROM #SUM_PERSON SP1 WHERE SP1.LINK_PERSON = SP.LINK_PERSON AND SP1.KATEG = SP.KATEG AND SP1.DOG = SP.DOG  AND SP1.WAY_CALC = SP.WAY_CALC AND SP1.MON <= SP.MON),0)
							* ISNULL([PERCENT],0) / 100)
							-
							CONVERT(NUMERIC(18,2),
							ISNULL((SELECT SUM(SP1.BAZA2) FROM #SUM_PERSON SP1 WHERE SP1.LINK_PERSON = SP.LINK_PERSON AND SP1.KATEG = SP.KATEG AND SP1.DOG = SP.DOG  AND SP1.WAY_CALC = SP.WAY_CALC AND SP1.MON < SP.MON),0)
							* ISNULL([PERCENT],0) / 100)

						ELSE 
							(SELECT CASE WHEN SP.WAY_CALC = 6 THEN SUM(SUMMA_I) ELSE SUM(SUMMA_G) END FROM #PERS_SUM_J PS WHERE PS.LINK_PERS = SP.LINK_PERSON AND SP.KATEG = PS.LINK_KATEG AND SP.DOG = PS.DOG AND PS.MON = SP.MON)
					END
					
					--CASE WHEN BAZA <> BAZA2 
					--	THEN ISNULL(BAZA2,0) * ISNULL([PERCENT],0) / 100
					--	ELSE (SELECT CASE WHEN SP.WAY_CALC = 6 THEN SUM(SUMMA_I) ELSE SUM(SUMMA_G) END FROM #PERS_SUM_J PS WHERE PS.LINK_PERS = SP.LINK_PERSON AND SP.KATEG = PS.LINK_KATEG AND PS.MON = SP.MON)
					--END	
		FROM
			#SUM_PERSON SP
		WHERE --ТОЛЬКО У ТЕХ, У КОГО ПРЕВЫШЕНИЕ ЛИМИТА
			EXISTS (SELECT * FROM #PERS_AFTER PA WHERE PA.LINK_PERSON = SP.LINK_PERSON AND PA.KATEG = SP.KATEG AND PA.DOG = SP.DOG)

	END
	FETCH NEXT FROM @Cur2 INTO @MON, @KATEG, @DOG
END

CLOSE @Cur2
DEALLOCATE @Cur2

--СУММЫ В ЗАВИСИМОСТИ ОТ КАТЕГОРИИ
CREATE TABLE #PERS_SUM (LINK_PERS INT, LINK_KATEG INT, DOG TINYINT, SUMMA_BASE NUMERIC(18,2), SUMMA_I NUMERIC(18,2), SUMMA_G NUMERIC(18,2))
INSERT INTO #PERS_SUM (LINK_PERS, LINK_KATEG, DOG, SUMMA_BASE, SUMMA_I, SUMMA_G)
SELECT LINK_PERS, LINK_KATEG, DOG,
	SUM(CASE WHEN WAY_CALC = 6 THEN SUMMA_BASE ELSE 0 END),
	SUM(CASE WHEN WAY_CALC = 6 THEN SUMMA ELSE 0 END),
	SUM(CASE WHEN WAY_CALC = 7 THEN SUMMA ELSE 0 END)	
FROM
(
	SELECT 
		S.LINK_PERS, SP.[WAY_CALC], S.LINK_KATEG, DOG = S.FORMA, SUMMA_BASE = SUM(BAZA2), SUMMA = SUM(NALOG)
	FROM 
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.link_pers = B.LINK
		INNER JOIN dbo.SA_PFR_KATEG K ON K.LINK = S.LINK_KATEG
		INNER JOIN #SUM_PERSON SP ON SP.LINK_PERSON = S.LINK_PERS AND SP.KATEG = K.LINK2 AND S.FORMA = SP.DOG AND SP.MON BETWEEN MONTH(S.DATE_BEG) AND MONTH(S.DATE_END)
	WHERE
		S.LINK_UP = @link
		AND
		@Year BETWEEN K.YBEG AND K.YEND
	GROUP BY
		S.LINK_PERS, SP.[WAY_CALC], S.LINK_KATEG, S.FORMA
) T
GROUP BY LINK_PERS, LINK_KATEG, DOG

--
UPDATE S SET
	sum_doh = ISNULL(SUMMA_I,0), --После 10 года содержит начисленную страховую часть
	sum_str = 0, --После 10 года должен содержать перечисленную страховую часть, но т.к. ее не знаем - то 0, потом определим
	sum_nak = ISNULL(SUMMA_G,0), --Для все периодов содержит начисленную накопительную часть
	sum_dop = 0 -- После 10 года должен содержать перечисленную накопительную часть, но т.к. ее не знаем - то 0, потом определим
FROM
	dbo.SZV4_SVEDENIA S 
	INNER JOIN #PERS_SUM P ON P.LINK_PERS = S.LINK_PERS AND P.LINK_KATEG = S.LINK_KATEG AND P.DOG = S.FORMA
WHERE
	link_up = @link


---Заполняются суммы по доптарифам
CREATE TABLE #INCOME_T1T2 (
	LINK_PERS INT, 
	KATEG TINYINT,
	DOG TINYINT, 
	INCOME_T1_M1 NUMERIC(18,2),
	INCOME_T2_M1 NUMERIC(18,2),
	INCOME_T1_M2 NUMERIC(18,2),
	INCOME_T2_M2 NUMERIC(18,2),
	INCOME_T1_M3 NUMERIC(18,2),
	INCOME_T2_M3 NUMERIC(18,2)
	)

INSERT INTO #INCOME_T1T2 (LINK_PERS, KATEG, DOG, INCOME_T1_M1, INCOME_T2_M1, INCOME_T1_M2, INCOME_T2_M2, INCOME_T1_M3, INCOME_T2_M3)
SELECT REF_PHYS_PERS, KATEG, E.DOG, 
	INCOME_T1_M1 = SUM(CASE WHEN WAY_CALC = 10 AND MONTH_BASE = (@Month - 2) THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END), 
	INCOME_T2_M1 = SUM(CASE WHEN WAY_CALC = 11 AND MONTH_BASE = (@Month - 2) THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END),
	INCOME_T1_M2 = SUM(CASE WHEN WAY_CALC = 10 AND MONTH_BASE = (@Month - 1) THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END),
	INCOME_T2_M2 = SUM(CASE WHEN WAY_CALC = 11 AND MONTH_BASE = (@Month - 1) THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END),
	INCOME_T1_M3 = SUM(CASE WHEN WAY_CALC = 10 AND MONTH_BASE = @Month THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END),
	INCOME_T2_M3 = SUM(CASE WHEN WAY_CALC = 11 AND MONTH_BASE = @Month THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END)
FROM #SPR_ESN E
WHERE WAY_CALC IN (10,11)	
GROUP BY REF_PHYS_PERS, KATEG, E.DOG

UPDATE S SET
	S.INCOME_T1_M1 = P.INCOME_T1_M1,
	S.INCOME_T2_M1 = P.INCOME_T2_M1,
	S.INCOME_T1_M2 = P.INCOME_T1_M2,
	S.INCOME_T2_M2 = P.INCOME_T2_M2,
	S.INCOME_T1_M3 = P.INCOME_T1_M3,
	S.INCOME_T2_M3 = P.INCOME_T2_M3
FROM
	dbo.SZV4_SVEDENIA S 
	INNER JOIN #INCOME_T1T2 P ON P.LINK_PERS = S.LINK_PERS AND P.KATEG = S.LINK_KATEG AND P.DOG = S.FORMA
WHERE
	link_up = @link

--Всего начислено по физлицам дохода
CREATE TABLE #INCOME(
	LINK_PERS INT, 
	KATEG TINYINT,
	DOG TINYINT, 
	INCOME_M1 NUMERIC(18,2),
	INCOME_M2 NUMERIC(18,2),
	INCOME_M3 NUMERIC(18,2)
	)

INSERT INTO #INCOME (LINK_PERS, KATEG, DOG, INCOME_M1, INCOME_M2, INCOME_M3)
SELECT 
	LINK_PERS, LINK_KATEG, DOG,
	INCOME_M1 = SUM(CASE WHEN MON = (@Month - 2) THEN INCOME ELSE 0 END),
	INCOME_M2 = SUM(CASE WHEN MON = (@Month - 1) THEN INCOME ELSE 0 END),
	INCOME_M3 = SUM(CASE WHEN MON = @Month THEN INCOME ELSE 0 END)
FROM #PERS_SUM_J
GROUP BY 
	LINK_PERS, LINK_KATEG, DOG

UPDATE S SET
	S.INCOME_M1 = P.INCOME_M1,
	S.INCOME_M2 = P.INCOME_M2,
	S.INCOME_M3 = P.INCOME_M3
FROM
	dbo.SZV4_SVEDENIA S 
	INNER JOIN #INCOME P ON P.LINK_PERS = S.LINK_PERS AND P.KATEG = S.LINK_KATEG AND P.DOG = S.FORMA
WHERE
	link_up = @link	


--База для страховых взносов
CREATE TABLE #BASE(
	LINK_PERS INT, 
	KATEG TINYINT,
	DOG TINYINT, 
	BASE_BEFORE_M1 NUMERIC(18,2),
	BASE_AFTER_M1 NUMERIC(18,2),
	BASE_BEFORE_M2 NUMERIC(18,2),
	BASE_AFTER_M2 NUMERIC(18,2),
	BASE_BEFORE_M3 NUMERIC(18,2),
	BASE_AFTER_M3 NUMERIC(18,2)	
	)

INSERT INTO #BASE (LINK_PERS, KATEG, DOG, BASE_BEFORE_M1, BASE_AFTER_M1, BASE_BEFORE_M2, BASE_AFTER_M2, BASE_BEFORE_M3, BASE_AFTER_M3 )
SELECT LINK_PERSON, KATEG, DOG,
	BASE_BEFORE_M1	= SUM(CASE WHEN MON = (@Month - 2) THEN BAZA2 ELSE 0 END),
	BASE_AFTER_M1	= SUM(CASE WHEN MON = (@Month - 2) THEN BAZA - BAZA2 ELSE 0 END),
	BASE_BEFORE_M2	= SUM(CASE WHEN MON = (@Month - 1) THEN BAZA2 ELSE 0 END),
	BASE_AFTER_M2	= SUM(CASE WHEN MON = (@Month - 1) THEN BAZA - BAZA2 ELSE 0 END),
	BASE_BEFORE_M3	= SUM(CASE WHEN MON = @Month THEN BAZA2 ELSE 0 END),
	BASE_AFTER_M3	= SUM(CASE WHEN MON = @Month THEN BAZA - BAZA2 ELSE 0 END)		
FROM #SUM_PERSON 
WHERE 
	WAY_CALC = 6
GROUP BY
	LINK_PERSON, KATEG, DOG
	
UPDATE S SET
	S.BASE_BEFORE_M1 = P.BASE_BEFORE_M1,
	S.BASE_AFTER_M1 = P.BASE_AFTER_M1,
	S.BASE_BEFORE_M2 = P.BASE_BEFORE_M2,
	S.BASE_AFTER_M2 = P.BASE_AFTER_M2,
	S.BASE_BEFORE_M3 = P.BASE_BEFORE_M3,
	S.BASE_AFTER_M3 = P.BASE_AFTER_M3	
FROM
	dbo.SZV4_SVEDENIA S 
	INNER JOIN #BASE P ON P.LINK_PERS = S.LINK_PERS AND P.KATEG = S.LINK_KATEG AND P.DOG = S.FORMA
WHERE
	link_up = @link	

--У кого нет дохода, но есть стаж
SELECT LINK_PERS, FORMA, LINK_KATEG INTO #TAB FROM dbo.SZV4_SVEDENIA WHERE LINK_UP = @link GROUP BY LINK_PERS, FORMA, LINK_KATEG HAVING SUM(sum_doh) = 0 AND SUM(sum_nak) = 0 AND SUM(INCOME_M1) = 0
--	

DELETE FROM dbo.SZV4_SVEDENIA 
WHERE link_up = @link AND sum_doh = 0 AND sum_nak = 0 AND INCOME_M1 = 0 AND INCOME_M2 = 0 AND INCOME_M3 = 0 AND LINK_KATEG NOT IN( @LINK_NR, @LINK_OZOI)

DELETE FROM dbo.SZV4_SVEDENIA
WHERE link_up = @link AND sum_doh = 0 AND sum_nak = 0 AND INCOME_M1 = 0 AND INCOME_M2 = 0 AND INCOME_M3 = 0 
	AND NOT EXISTS (SELECT LINK_PERS FROM #TAB T WHERE T.LINK_PERS = dbo.SZV4_SVEDENIA.LINK_PERS AND T.FORMA = dbo.SZV4_SVEDENIA.FORMA AND T.LINK_KATEG = dbo.SZV4_SVEDENIA.LINK_KATEG)

--ЗАМЕНА КАТЕГОРИИ ИНВАЛИДОВ
UPDATE dbo.SZV4_SVEDENIA SET LINK_KATEG = @LINK_NR WHERE link_up = @link AND LINK_KATEG = @LINK_OZOI

---- РАСПРЕДЕЛЕНИЕ ПЕРЕЧИСЛЕННОЙ СУММЫ ПО ФИЗЛИЦАМ
EXEC [dbo].SA_SZV4_PACHKA_RASPIL @link

IF @VID_KOR != 3
	begin  
	---СВЕДЕНИЯ О СТАЖЕ

	----------------------------------------------------------------------------
	CREATE TABLE #PERIODY (link int identity(1,1), link_face int, LINK_KATEG INT, date1 datetime, date2 datetime, [type] int, NUM_STAKE NUMERIC(5,2), [IS_DOP] VARCHAR(20),	[NOT_LGOT_EXPIR] INT NULL)

	--/*Стаж сотрудников*/
	INSERT INTO 
		#PERIODY (link_face, LINK_KATEG, date1, date2, type)
	SELECT 	DISTINCT
		PERS_LINK, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when P.DATE_BEGIN >= @PeriodBegin then P.DATE_BEGIN else @PeriodBegin end)
			THEN (case when P.DATE_BEGIN >= @PeriodBegin then P.DATE_BEGIN else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
			THEN (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
			ELSE S.DATE_END
		END,	
		0
	FROM
		#PERSON B
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		INNER JOIN dbo.EMPL E ON S.LINK_PERS = E.PERS_LINK AND E.DEP_LINK = @DEP_LINK
		INNER JOIN dbo.ITEM_MOVE P on E.link = P.empl_link and P.NEW_FACE = 1 AND P.ACTIVE=1
		LEFT JOIN dbo.ITEM_DIS_FACE U on E.link = U.empl_link AND U.ACTIVE=1
	WHERE
		S.LINK_UP = @link
		AND
		P.DATE_BEGIN <= @PeriodEnd
		AND
		coalesce(U.DIS_DATE,'20990101') >= @PeriodBegin

	/*Стаж договорников*/
	Select DISTINCT
		link_face = DGH.PERS_LINK, LINK_KATEG,
		date1 = CASE WHEN S.DATE_BEG < (case when DGH.DATE1 >= @PeriodBegin then DGH.DATE1 else @PeriodBegin end)
				THEN (case when DGH.DATE1 >= @PeriodBegin then DGH.DATE1 else @PeriodBegin end)
				ELSE S.DATE_BEG
			END,
		date2 = CASE WHEN S.DATE_END > (case when coalesce(DGH.DATE2,@PeriodEnd) <= @PeriodEnd then coalesce(DGH.DATE2,@PeriodEnd) else @PeriodEnd end)
				THEN (case when coalesce(DGH.DATE2,@PeriodEnd) <= @PeriodEnd then coalesce(DGH.DATE2,@PeriodEnd) else @PeriodEnd end)
				ELSE S.DATE_END
			END,
		[type] = 0
	INTO #DGH	
	FROM
		#PERSON B
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		INNER JOIN dbo.SALARY_REESTR_DGH DGH ON S.LINK_PERS = DGH.PERS_LINK
	WHERE 
		S.LINK_UP = @link
		AND
		DGH.DEP_LINK = @DEP_LINK
		and
		DGH.DATE1 <= @PeriodEnd
		and
		coalesce(DGH.DATE2,'20990101') >= @PeriodBegin

	-- Периоды в сведениях впишем в периоды работы
	SELECT LINK_FACE, DB = MIN(DATE1), DE = MAX(DATE2)
	INTO #WORK
	FROM #PERIODY
	GROUP BY LINK_FACE

	UPDATE S SET 
		S.DATE_BEG = CASE WHEN W.DB < S.DATE_BEG THEN S.DATE_BEG ELSE W.DB END,
		S.DATE_END = CASE WHEN W.DE > S.DATE_END THEN S.DATE_END ELSE W.DE END
	FROM 
		dbo.SZV4_SVEDENIA S INNER JOIN #WORK W ON S.LINK_PERS = W.LINK_FACE
	WHERE 
		S.LINK_UP = @link

	--
	CREATE TABLE #ADD_TYPE (
		[type] INT IDENTITY(1,1),
		[TERR_USL_TRUD] int NULL ,
		[TERR_RK] numeric(3, 2) NULL ,
		[OSOB_USL_TRUD] int NULL ,
		[COD_POS_SPISOK] int NULL ,
		[COD_POS_SPISOK2] int NULL ,
		[USL_DOSROCH_PENS] int NULL ,
		[STAVKA_PED_MED] numeric(3, 2) NULL,
		[VID] VARCHAR(20),
		[IS_DOP] VARCHAR(20),
		[COD_SPO_USL_TRUD] INT NULL
	)	
	INSERT INTO #ADD_TYPE 
		([TERR_USL_TRUD],[TERR_RK],[OSOB_USL_TRUD],[COD_POS_SPISOK],[COD_POS_SPISOK2],[USL_DOSROCH_PENS],[STAVKA_PED_MED],[VID],[IS_DOP],[COD_SPO_USL_TRUD])
	SELECT DISTINCT 
		ISNULL(TERR_USL_TRUD,0), ISNULL(TERR_RK,0), ISNULL(OSOB_USL_TRUD,0), ISNULL(COD_POS_SPISOK,0), ISNULL(COD_POS_SPISOK2,0), ISNULL(USL_DOSROCH_PENS,0), ISNULL(STAVKA_PED_MED,0), VID = 'ADD_TYPE', IS_DOP = '', ISNULL([COD_SPO_USL_TRUD],0)
	FROM dbo.staff
	WHERE ISNULL(TERR_USL_TRUD,0) <> 0 OR ISNULL(TERR_RK,0) <> 0 OR ISNULL(OSOB_USL_TRUD,0) <> 0 OR ISNULL(COD_POS_SPISOK,0) <> 0 OR ISNULL(COD_POS_SPISOK2,0) <> 0 OR ISNULL(USL_DOSROCH_PENS,0) <> 0 OR ISNULL(STAVKA_PED_MED,0) <> 0 OR ISNULL([COD_SPO_USL_TRUD],0) <> 0

	--
	DECLARE @MAX_TYPE INT
	SET @MAX_TYPE = ISNULL((SELECT MAX(type) FROM #ADD_TYPE),0)

	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	VALUES ('TMP_TYPE', '')
	
	/*период коммандировки (нельготный стаж)*/
	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	VALUES ('KOMM_TYPE', '')


	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	VALUES ('PERIOD1', 'ДЕКРЕТ')

	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	SELECT DISTINCT
		'PERIOD2',
		ISNULL(V.IS_DOP,'ДЕТИ')
	FROM
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK 
		inner join item_vacation iv on E.link = iv.EMPL_LINK inner join orders o on iv.order_link=o.link
		INNER JOIN dbo.VACATION_VID V ON V.LINK = IV.TYPE_LINK
		INNER JOIN (SELECT VV.LINK FROM dbo.VACATION_VID VV INNER join dbo.TYP_DAYS D on VV.TYPE_LINK = D.LINK WHERE WORK_D = 7 
					--AND ISNULL(VV.NOT_LGOT_EXPIR,0) = 0
					) VV ON VV.LINK = IV.TYPE_LINK
		left join dbo.item_vacation_break ivb on ivb.vac_link = iv.link and coalesce(ivb.active,0) = 1
	where 
		S.LINK_UP = @link
		AND		
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		coalesce(coalesce(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin

	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	VALUES ('PERIOD3', 'ВРНЕТРУД')
/*
	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	Select DISTINCT
		'PERIOD4',
		ISNULL(VV.IS_DOP,'АДМИНИСТР')
	FROM
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK  
		inner join item_vacation iv on E.link = iv.EMPL_LINK inner join orders o on iv.order_link=o.link
		INNER JOIN dbo.VACATION_VID VV ON VV.LINK = IV.type_link AND VV.NO_SAL = 1
		left join dbo.item_vacation_break ivb on ivb.vac_link = iv.link and coalesce(ivb.active,0) = 1
	where
		S.LINK_UP = @link
		AND		 	
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		coalesce(coalesce(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin
*/
	--ПРОЧИЕ КОДЫ ДЛЯ ВИДОВ ОТПУСКОВ
	INSERT INTO #ADD_TYPE (VID, IS_DOP) 	
	SELECT LEFT('P_' + LTRIM(RTRIM(CODE)),20), IS_DOP
	FROM dbo.VACATION_VID 
	WHERE	IS_DOP IS NOT NULL
			AND 
			NOT EXISTS (SELECT * FROM #ADD_TYPE WHERE VID = LEFT('P_' + LTRIM(RTRIM(CODE)),20))

	--Периоды работы на должности c параметрами для персучета
	INSERT INTO 
		#PERIODY (link_face, LINK_KATEG, date1, date2, [type], NUM_STAKE)
	SELECT DISTINCT 
		link_face = E.PERS_LINK, S.LINK_KATEG,
		date1 = CASE WHEN S.DATE_BEG < (case when st.DATE_BEGIN >= @PeriodBegin then st.DATE_BEGIN else @PeriodBegin end)
					THEN (case when st.DATE_BEGIN >= @PeriodBegin then st.DATE_BEGIN else @PeriodBegin end)
					ELSE S.DATE_BEG
				END,
		date2 = CASE WHEN 
						(CASE WHEN S.DATE_END > (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
							THEN (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
							ELSE S.DATE_END
						END)
							> (case when st.DATE_END <= @PeriodEnd then st.DATE_END else @PeriodEnd end)
					THEN 
						(case when st.DATE_END <= @PeriodEnd then st.DATE_END else @PeriodEnd end)
					ELSE 
						(CASE WHEN S.DATE_END > (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
							THEN (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
							ELSE S.DATE_END
						END)
				END,	
		ISNULL(T.[type],0),
		ISNULL(im.NUM_STAKE,0)--, ST.*
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK	
		INNER JOIN dbo.sa_item_move im ON im.EMPL_LINK = e.link
		inner join dbo.staff_head sh on sh.link = STAFF_LINK
		inner join dbo.staff st on st.link_up = sh.link
		LEFT JOIN dbo.ITEM_DIS_FACE U on E.link = U.empl_link AND U.ACTIVE=1	
		left join #ADD_TYPE T on 
				ISNULL(st.TERR_USL_TRUD,0) = ISNULL(T.TERR_USL_TRUD,0) 
				AND ISNULL(st.TERR_RK,0) = ISNULL(T.TERR_RK,0) 
				AND ISNULL(st.OSOB_USL_TRUD,0) = ISNULL(T.OSOB_USL_TRUD,0) 
				AND ISNULL(st.COD_POS_SPISOK,0) = ISNULL(T.COD_POS_SPISOK,0) 
				AND ISNULL(st.COD_POS_SPISOK2,0) = ISNULL(T.COD_POS_SPISOK2,0) 
				AND ISNULL(st.USL_DOSROCH_PENS,0) = ISNULL(T.USL_DOSROCH_PENS,0) 
				AND ISNULL(st.STAVKA_PED_MED,0) = ISNULL(T.STAVKA_PED_MED,0) 
				AND ISNULL(st.[COD_SPO_USL_TRUD],0) = ISNULL(T.[COD_SPO_USL_TRUD],0)
	where 
		S.LINK_UP = @link
		AND
		IM.NUM_STAKE >= 1 
		AND
		IM.[STATUS] <> 2 --Совместителям доп. тариф не считаем
		AND
		im.DATE_BEGIN <= @PeriodEnd and im.DATE_END3 >= @PeriodBegin
		and 
		st.DATE_BEGIN <= @PeriodEnd and st.DATE_END >= @PeriodBegin
		AND 
		im.DATE_end3 > st.DATE_BEGIN -- AND st.DATE_END	 -- для случаев если был приказ о переводе на другую должность  
		AND
		T.[TYPE] IS NOT NULL AND T.VID = 'ADD_TYPE'
		AND
		COALESCE(U.DIS_DATE,'20990101') >= @PeriodBegin
	order by
		E.PERS_LINK


	---**************************************

	DECLARE @TMP_TYPE INT
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'TMP_TYPE')

	/*Перерыв - отпуска без кодов (для корр. льготных периодов)*/
	INSERT INTO 
		#PERIODY (link_face, LINK_KATEG, date1, date2, [type],[NOT_LGOT_EXPIR])
	Select DISTINCT 
		E.pers_link, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			THEN (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when ISNULL(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then ISNULL(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			THEN (case when ISNULL(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then ISNULL(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		ISNULL( (SELECT TOP 1 TYPE FROM #ADD_TYPE AT WHERE AT.VID = LEFT('P_' + LTRIM(RTRIM(VV.CODE)),20) AND AT.IS_DOP = VV.IS_DOP ), @TMP_TYPE),
		[NOT_LGOT_EXPIR]
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK	
		inner join dbo.item_vacation iv on E.link = iv.EMPL_LINK 
		inner join dbo.orders o on iv.order_link=o.link
		-- Только отпуск, помеченный как "Не включать в льготный стаж", 
		--Не административный (Для него свой код)
		INNER JOIN dbo.VACATION_VID VV ON VV.LINK = IV.type_link /*AND NO_SAL <> 1*/
		INNER JOIN dbo.TYP_DAYS D on VV.TYPE_LINK = D.LINK AND WORK_D <> 7 -- Не по уходу за ребенком (Для него свой код)
		left join dbo.item_vacation_break ivb on ivb.vac_link = iv.link and ISNULL(ivb.active,0) = 1
	where
		S.LINK_UP = @link
		AND 	
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		ISNULL(ISNULL(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin


	/*Перерыв - командировки без кодов (для корр. льготных периодов)*/	
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'KOMM_TYPE')
	
	INSERT INTO 
		#PERIODY (link_face, LINK_KATEG, date1, date2, [type],[NOT_LGOT_EXPIR])
	SELECT DISTINCT
		E.pers_link, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when T.date_begin >= @PeriodBegin then T.date_begin else @PeriodBegin end)
			THEN (case when T.date_begin >= @PeriodBegin then T.date_begin else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when ISNULL(ITL.NEW_DATE_END,T.date_end) <= @PeriodEnd then ISNULL(ITL.NEW_DATE_END,T.date_end) else @PeriodEnd end)
			THEN (case when ISNULL(ITL.NEW_DATE_END,T.date_end) <= @PeriodEnd then ISNULL(ITL.NEW_DATE_END,T.date_end) else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		@TMP_TYPE,
		1
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK	
		inner join dbo.item_travel T on E.link = T.EMPL_LINK
		left join dbo.ITEM_TRAVEL_LONG ITL on ITL.TRAVEL_LINK = T.LINK and ISNULL(ITL.ACTIVE,0) = 1	
	WHERE
		S.LINK_UP = @link
		AND 	
		E.DEP_LINK = @DEP_LINK
		AND 
		T.ACTIVE = 1 
		AND 
		T.DATE_BEGIN <= @PeriodEnd
		AND 
		ISNULL(ISNULL(ITL.NEW_DATE_END,T.date_end),'20990101') >= @PeriodBegin

	/*Перерыв - Больничный по Беременности и родам ДЕКРЕТ*/
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'PERIOD1')

	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, type)
	SELECT DISTINCT
		E.PERS_LINK, LINK_KATEG, 
		CASE WHEN S.DATE_BEG < (case when D.date1 >= @PeriodBegin then D.date1 else @PeriodBegin end)
			THEN (case when D.date1 >= @PeriodBegin then D.date1 else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when D.date2 <= @PeriodEnd then D.date2 else @PeriodEnd end)
			THEN (case when D.date2 <= @PeriodEnd then D.date2 else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		@TMP_TYPE
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK
		inner join dbo.SDOC_DIS D on E.LINK = D.LINK_EMPL
		INNER JOIN dbo.NETRUD N ON N.LINK = [TYPE] AND N.DEKRET = 1
	WHERE 
		S.LINK_UP = @link
		AND	
		E.DEP_LINK = @DEP_LINK
		and
		D.date1 <= @PeriodEnd
		and
		coalesce(D.date2,'20990101') >= @PeriodBegin

	/*Перерыв - Больничный ВРНЕТРУД*/
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'PERIOD3')

	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, type)
	SELECT DISTINCT
		E.PERS_LINK, LINK_KATEG, 
		CASE WHEN S.DATE_BEG < (case when D.date1 >= @PeriodBegin then D.date1 else @PeriodBegin end)
			THEN (case when D.date1 >= @PeriodBegin then D.date1 else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when D.date2 <= @PeriodEnd then D.date2 else @PeriodEnd end)
			THEN (case when D.date2 <= @PeriodEnd then D.date2 else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		@TMP_TYPE
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK
		inner join dbo.SDOC_DIS D on E.LINK = D.LINK_EMPL
	WHERE
		S.LINK_UP = @link
		AND	 
		E.DEP_LINK = @DEP_LINK
		and
		D.date1 <= @PeriodEnd
		and
		coalesce(D.date2,'20990101') >= @PeriodBegin
		and
		[TYPE] not in (select LINK from dbo.NETRUD where DEKRET = 1)

	/*Перерыв - Уход за ребенком до 1,5 и до 3 лет*/
	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, type,[NOT_LGOT_EXPIR])
	SELECT DISTINCT
		E.pers_link, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			THEN (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when coalesce(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then coalesce(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			THEN (case when coalesce(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then coalesce(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		(SELECT TOP 1 TYPE FROM #ADD_TYPE AT WHERE AT.VID = 'PERIOD2' AND AT.IS_DOP = LTRIM(RTRIM(ISNULL(V.IS_DOP,'ДЕТИ')))),
		[NOT_LGOT_EXPIR]
	FROM
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK 
		inner join item_vacation iv on E.link = iv.EMPL_LINK inner join orders o on iv.order_link=o.link
		INNER JOIN dbo.VACATION_VID V ON V.LINK = IV.TYPE_LINK
		INNER join dbo.TYP_DAYS D on V.TYPE_LINK = D.LINK AND  WORK_D = 7 
		--INNER JOIN (SELECT VV.LINK FROM dbo.VACATION_VID VV INNER join dbo.TYP_DAYS D on VV.TYPE_LINK = D.LINK WHERE WORK_D = 7 
			----AND ISNULL(VV.NOT_LGOT_EXPIR,0) = 0
		--	) VV ON VV.LINK = IV.TYPE_LINK
		LEFT JOIN DBO.ITEM_VACATION_BREAK IVB ON IVB.VAC_LINK = IV.LINK AND COALESCE(IVB.ACTIVE,0) = 1
	WHERE 
		S.LINK_UP = @link
		AND		
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		coalesce(coalesce(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin

/*
	/*Перерыв - Отпуск без сохранения содержания АДМИНИСТР*/
	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, type,[NOT_LGOT_EXPIR])
	Select DISTINCT
		E.pers_link, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			THEN (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when coalesce(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then coalesce(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			THEN (case when coalesce(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then coalesce(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		(SELECT TOP 1 TYPE FROM #ADD_TYPE AT WHERE AT.VID = 'PERIOD4' AND AT.IS_DOP = LTRIM(RTRIM(ISNULL(VV.IS_DOP,'АДМИНИСТР')))),
		[NOT_LGOT_EXPIR]
	FROM
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK  
		inner join item_vacation iv on E.link = iv.EMPL_LINK inner join orders o on iv.order_link=o.link
		INNER JOIN dbo.VACATION_VID VV ON VV.LINK = IV.type_link AND VV.NO_SAL = 1
		left join dbo.item_vacation_break ivb on ivb.vac_link = iv.link and coalesce(ivb.active,0) = 1
	WHERE
		S.LINK_UP = @link
		AND		 	
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		coalesce(coalesce(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin
*/


	--------------------------------------------------------------------------
	-- 2. Выстроим последовательность периодов с учетом их пересечений и приоритетов по полю type.
	--- Предполагается, что на первом шаге однотипные периоды уже нормализованы, т.е. следующие подряд и вложенные объединены
	CREATE TABLE #PERIODY3 (link int identity(1,1), link_face int, LINK_KATEG INT, date1 datetime, date2 datetime, [type] INT, orders int, i int, NUM_STAKE NUMERIC(5,2), TYPE_ADD INT)

	--Все промежутки заполняются типом -1  т.е. несуществующими днями
	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, [type])
	SELECT DISTINCT link_face, LINK_KATEG, @PeriodBegin, @PeriodEnd, [type] = -1  FROM #PERIODY



	CREATE TABLE #DAYS (ID INT IDENTITY(1,1), LINK_FACE INT, LINK_KATEG INT, [DATE] DATETIME, [TYPE] INT, NUM INT, NUM_STAKE NUMERIC(5,2), [TYPE_ADD] INT)

	INSERT INTO #DAYS (LINK_FACE, LINK_KATEG, [DATE], [TYPE], NUM, NUM_STAKE, [TYPE_ADD])
	SELECT P.LINK_FACE, P.LINK_KATEG, [DATE], [TYPE] = MAX([TYPE]), 0, 
		NUM_STAKE = MAX(ISNULL(NUM_STAKE,0)), 
		[TYPE_ADD] = MAX(CASE WHEN [TYPE] <= @MAX_TYPE THEN [TYPE] ELSE 0 END)
	FROM 
		#PERIODY P
		INNER JOIN dbo.days_ex(@PeriodBegin, @PeriodEnd) D ON 1=1
	WHERE
		D.[DATE] BETWEEN P.DATE1 AND P.DATE2
	GROUP BY
		P.LINK_FACE, P.LINK_KATEG, [date]
	ORDER BY	
		P.LINK_FACE, P.LINK_KATEG, [date]


	--Убрать льготы для периодов, в которых не сохраняются льготы
	UPDATE #DAYS SET [TYPE_ADD] = 0 
	WHERE 
		EXISTS (SELECT * FROM #PERIODY WHERE 
			#PERIODY.[NOT_LGOT_EXPIR] = 1
			AND #PERIODY.link_face = #DAYS.link_face
			AND #DAYS.[DATE] BETWEEN #PERIODY.DATE1 AND #PERIODY.DATE2)


	--Пронумеровать группы
	DECLARE 
		@ID INT, @ID1 INT, @ID2 INT, @LINK_FACE INT, @DATE datetime, @LINK_KATEG INT, @TYPE INT, @NUM INT, @TYPE_ADD INT,
		@LINK_FACE1 INT, @LINK_KATEG1 INT, @TYPE1 INT,@TYPE_ADD1 INT,@DATE1 datetime

	--Убрать временные периоды, которые заводились для корректировки льготных периодов

------------------  если у сотрудника отпук а сотрудник все это время с дополнительными льготами
-------- период стажевый разделяется на несколько частей (работа - отпуск ежегодный -работа ) , включая отпуск  ... отпуск включать не нужно  
-------- расстановка типов #ADD_TYPE для временных периодов 

----
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'TMP_TYPE')
----


	CREATE table #TDays(link_face int, id int,  date DATETIME ,LINK_KATEG int , [TYPE] INT, [TYPE_ADD] INT)
	INSERT INTO #TDays (link_face , id ,   date,LINK_KATEG, [TYPE], [TYPE_ADD])
	SELECT d.link_face,
		   d.id,
		   d.date,
		   d.LINK_KATEG,
		   d.[TYPE],
		   d.[TYPE_ADD]
	FROM #DAYS  d	WHERE d.[type] = @TMP_TYPE AND d.[TYPE_ADD] <> 0
	ORDER BY d.link_face, d.ID ,d.[date], d.[TYPE] ,d.[TYPE_ADD]	 


	DECLARE @Cur0 CURSOR , @F_TYPE int, @F_TYPE_ADD int
	SET @Cur0 = CURSOR FORWARD_ONLY
	FOR SELECT ID, LINK_FACE,[date],LINK_KATEG, [TYPE],  TYPE_ADD from  #TDays order by ID, LINK_FACE, [DATE]
	OPEN @Cur0
	FETCH NEXT FROM @Cur0 INTO @ID, @LINK_FACE,@DATE, @LINK_KATEG, @TYPE, @type_add 
	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
				

			SELECT DISTINCT @F_TYPE =[TYPE], @F_TYPE_ADD = [type_add]  
			FROM #DAYS WHERE LINK_FACE = @LINK_FACE AND LINK_KATEG = @LINK_KATEG AND [DATE] = @DATE-1 
			

			UPDATE d
			SET [TYPE] = @F_TYPE ,[type_add] = @F_TYPE_ADD 
			FROM #DAYS d
			WHERE d.ID = @ID AND d.LINK_FACE = @LINK_FACE AND d.[DATE] = @DATE  and d.LINK_KATEG=@LINK_KATEG AND d.[TYPE] = @TMP_TYPE
			
			
			UPDATE td
			SET [TYPE] = @F_TYPE ,[type_add] = @F_TYPE_ADD 
			FROM #TDays td
			WHERE ID = @ID AND LINK_FACE = @LINK_FACE AND [date] = @DATE and LINK_KATEG = @LINK_KATEG AND [TYPE]= @TYPE and type_add = @type_add 
			

		END

		FETCH NEXT FROM @Cur0 INTO @ID, @LINK_FACE,@DATE, @LINK_KATEG, @TYPE, @type_add 
	END

	CLOSE @Cur0
	DEALLOCATE @Cur0
	--
	/*		---------
				UPDATE #DAYS SET [type] = 0 WHERE [type] = @TMP_TYPE
			---------*/


		DROP TABLE #TDays 
-------------

---------------------------------------------------------------------------------
	--	
	SELECT TOP 1 @ID1 = 0, @ID2 = 0, @NUM = 0, @LINK_FACE1 = LINK_FACE, @LINK_KATEG1 =LINK_KATEG, @TYPE1 = [TYPE]
	FROM #DAYS
	order by ID
	--
	DECLARE @Cur1 CURSOR
	SET @Cur1 = CURSOR FORWARD_ONLY
	FOR SELECT ID, LINK_FACE, LINK_KATEG, [TYPE] from #DAYS order by ID
	OPEN @Cur1
	FETCH NEXT FROM @Cur1 INTO @ID, @LINK_FACE, @LINK_KATEG, @TYPE
	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN

			IF NOT (@LINK_FACE = @LINK_FACE1 AND @LINK_KATEG = @LINK_KATEG1 AND @TYPE = @TYPE1)
			BEGIN
				
				SELECT @NUM = @NUM + 1, @LINK_FACE1 = @LINK_FACE, @LINK_KATEG1 = @LINK_KATEG, @TYPE1 = @TYPE
				UPDATE #DAYS SET NUM = @NUM WHERE ID BETWEEN @ID1 AND @ID-1
				SELECT @ID1 = @ID 

			END

		END

		FETCH NEXT FROM @Cur1 INTO @ID, @LINK_FACE, @LINK_KATEG, @TYPE
	END

	CLOSE @Cur1
	DEALLOCATE @Cur1
	--
	UPDATE #DAYS SET NUM = @NUM+1 WHERE ID >= @ID1

	--


	INSERT INTO #PERIODY3 (link_face, LINK_KATEG, date1, date2, [type], orders, i, NUM_STAKE, TYPE_ADD)
	SELECT LINK_FACE, LINK_KATEG, DATE_BEG =  MIN([DATE]), DATE_END = MAX([DATE]), [TYPE], 0, 0, NUM_STAKE = MAX(ISNULL(NUM_STAKE,0)), TYPE_ADD
	FROM #DAYS	
	GROUP BY LINK_FACE, LINK_KATEG, NUM, [TYPE], TYPE_ADD
	ORDER BY LINK_FACE, LINK_KATEG, DATE_BEG, DATE_END

	--Удаляем временные промежутки
	DELETE FROM #PERIODY3 WHERE [TYPE] = -1

	/*пронумеруем периоды*/
	DECLARE @uslovie INT
	set @uslovie = 1
	while @uslovie > 0
	begin
		update #PERIODY3 set orders = @uslovie 
		from #PERIODY3 as tt
		where 	coalesce(orders,0) = 0
			and date1 = (select min(t.date1) from #PERIODY3 t where coalesce(orders,0) = 0 and t.link_face = tt.link_face AND T.LINK_KATEG = TT.LINK_KATEG)

		if @@rowcount > 0
			set @uslovie = @uslovie + 1
		else
			set @uslovie = 0
	END

	--СТАЖ ПО ТРУДОВОМУ ДОГОВРУ
	insert into dbo.SZV4_STAZH (link_up, orders, date1, date2, ter_usl, ter_koef, osob_usl, osob_k1, osob_k2, osob_k3, is_osnov, is_dop, is_dop_m, is_dop_d, ud_osnov, ud_dop_m, ud_dop_d, ud_dop_k, osob_spo)
	Select S.link, P.orders, P.date1, P.date2, 
		ter_usl = ISNULL(spr1.CODE,spr1A.CODE),
		ter_koef = ISNULL(T.TERR_RK,TA.TERR_RK),
		osob_usl = ISNULL(spr2.CODE,spr2A.CODE),
		osob_k1 = ISNULL(spr6.CODE,spr6A.CODE),
		osob_k2 = ISNULL(spr7.CODE,spr7A.CODE),
		osob_k3 = NULL,
		is_osnov = NULL, 
		is_dop = LTRIM(RTRIM(ISNULL(T.IS_DOP,TA.IS_DOP))),
		is_dop_m = NULL, 
		is_dop_d = NULL, 
		ud_osnov = ISNULL(spr5.CODE,spr5A.CODE), 
		ud_dop_m = NULL, 
		ud_dop_d = NULL, 
		ud_dop_k = ISNULL(T.STAVKA_PED_MED,TA.STAVKA_PED_MED) * P.NUM_STAKE,
		osob_spo = ISNULL(spr9.CODE,spr9A.CODE)
	from
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		inner join #PERIODY3 P on S.link_pers = P.link_face AND S.LINK_KATEG = P.LINK_KATEG
		
		LEFT JOIN #ADD_TYPE T ON P.[TYPE] = T.[TYPE]
		LEFT JOIN dbo.szv4_spr spr1 on spr1.spr_code = 'TERR_USL' and spr1.LINK = T.TERR_USL_TRUD
		LEFT JOIN dbo.szv4_spr spr2 on spr2.spr_code = 'OSOB_USL_TRUDA' and spr2.LINK = T.OSOB_USL_TRUD
		--left join dbo.szv4_spr spr3 on spr3.spr_code = 'ISCHISL_STAZH_OSNOV' and spr3.code = T.is_osnov
		--left join dbo.szv4_spr spr4 on spr4.spr_code = 'ISCHISL_STAZH_DOP_SV' and spr4.code = T.is_dop
		left join dbo.szv4_spr spr5 on spr5.spr_code = 'DOSR_NAZN_PEN_OSNOV' and spr5.LINK = T.USL_DOSROCH_PENS
		left join dbo.szv4_spr spr6 on spr6.SPR_CODE LIKE 'SPISOK%' and spr6.LINK = T.COD_POS_SPISOK
		left join dbo.szv4_spr spr7 on spr7.SPR_CODE LIKE 'SPISOK%' and spr7.LINK = T.COD_POS_SPISOK2
		--left join dbo.szv4_spr spr8 on spr8.spr_code = 'LGOT_PROFES' and spr8.code = T.osob_k3
		left join dbo.szv4_spr spr9 on spr9.SPR_CODE LIKE 'SPO_USL_TRUDA' and spr9.LINK = T.[COD_SPO_USL_TRUD]

		LEFT JOIN #ADD_TYPE TA ON P.[TYPE_ADD] = TA.[TYPE] AND P.[TYPE_ADD] <> P.[TYPE]
		LEFT JOIN dbo.szv4_spr spr1A on spr1A.spr_code = 'TERR_USL' and spr1A.LINK = TA.TERR_USL_TRUD
		LEFT JOIN dbo.szv4_spr spr2A on spr2A.spr_code = 'OSOB_USL_TRUDA' and spr2A.LINK = TA.OSOB_USL_TRUD
		--left join dbo.szv4_spr spr3 on spr3.spr_code = 'ISCHISL_STAZH_OSNOV' and spr3.code = T.is_osnov
		--left join dbo.szv4_spr spr4 on spr4.spr_code = 'ISCHISL_STAZH_DOP_SV' and spr4.code = T.is_dop
		left join dbo.szv4_spr spr5A on spr5A.spr_code = 'DOSR_NAZN_PEN_OSNOV' and spr5A.LINK = TA.USL_DOSROCH_PENS
		left join dbo.szv4_spr spr6A on spr6A.SPR_CODE LIKE 'SPISOK%' and spr6A.LINK = TA.COD_POS_SPISOK
		left join dbo.szv4_spr spr7A on spr7A.SPR_CODE LIKE 'SPISOK%' and spr7A.LINK = TA.COD_POS_SPISOK2
		--left join dbo.szv4_spr spr8 on spr8.spr_code = 'LGOT_PROFES' and spr8.code = T.osob_k3	
		left join dbo.szv4_spr spr9A on spr9A.SPR_CODE LIKE 'SPO_USL_TRUDA' and spr9A.LINK = TA.[COD_SPO_USL_TRUD]
	where
		S.link_up = @link
		AND
		S.FORMA = 1
	order by
		S.link, P.orders


	--СТАХ ПО ГПХ
	CREATE TABLE #STAGE_DOG (
		LINK_PERS INT, 
		KATEG TINYINT,
		BERIOD_BEG DATETIME,
		BERIOD_END DATETIME
		)

	INSERT INTO #STAGE_DOG (LINK_PERS, KATEG, BERIOD_BEG, BERIOD_END)
	SELECT LINK_FACE, LINK_KATEG, MIN(date1), MAX(date2) 
	FROM #DGH A
	GROUP BY LINK_FACE, LINK_KATEG

	insert into dbo.SZV4_STAZH (link_up, orders, date1, date2)
	Select S.link, 1, P.BERIOD_BEG, P.BERIOD_END
	from
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		INNER JOIN #STAGE_DOG P on S.link_pers = P.LINK_PERS AND S.LINK_KATEG = P.KATEG
	where
		S.link_up = @link
		AND
		S.FORMA = 2
	order by
		S.link
		
	END


--------------------------------------------------------------------------
/* не должно быть физлиц, по которым в данном периоде нет сумм и сведений о стаже 
C 14 ГОДА распределять уплату не нужно
*/	
DELETE FROM dbo.SZV4_SVEDENIA
WHERE 
LINK_UP = @link
AND
EXISTS (		
	Select  1
	from dbo.sa_szv4_svedenia S inner join  dbo.szv4_pachka p on p.link = s.link
	WHERE 
		S.LINK1 = dbo.SZV4_SVEDENIA.LINK
		AND s.sum_doh = 0 AND s.INSUR = 0 AND s.GAIN = 0 AND s.DOP = 0 and s.sum_uplata_dolga_str = 0 and s.sum_uplata_dolga_nak = 0
				 AND S.INCOME_M1 = 0 AND S.INCOME_M2 = 0 AND S.INCOME_M3 = 0 
		and p.vid_kor != 3
		AND NOT EXISTS (SELECT * FROM dbo.SZV4_STAZH ST WHERE ST.LINK_UP = S.LINK1)
)



--------------------------------------------------------------------------
exec dbo.SZV4_NUMERATOR @link



GO


GRANT EXECUTE ON dbo.[SA_SZV4_PACHKA_CALC_Buffer_2015_6] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SS_PROV_EXPORT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SS_PROV_EXPORT]

GO

CREATE PROCEDURE [dbo].SS_PROV_EXPORT(
@buffer varchar(20) /*Ссылка на расчет*/
) AS


CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT ON

CREATE TABLE #DOC(LINK INT)


INSERT INTO #DOC (LINK)
SELECT LINK FROM dbo.BUFFER WITH (NOLOCK) WHERE ID = @BUFFER AND SID = SUSER_SID()


--ЗАПИСИ по проводкам

CREATE TABLE #PROV_DOC (	
GP_LINK INT ,
GP_GUID UNIQUEIDENTIFIER,
GP_NUMBER VARCHAR (25),
GP_DATE DATETIME,
GP_OBJ INT,
GP_OBJ_CODE CHAR(30), 
GP_OBJ_NAME VARCHAR(254),
GP_DATE_PROV DATETIME,
GP_SUMMA NUMERIC(19,2),
GP_COMMENT VARCHAR(254),
GP_GET_STORE TINYINT,
GP_DEP INT,
GP_ACC INT,
GP_ACC_CODE VARCHAR(20),
GP_ACC_TYPE TINYINT, 

GP1_LINK INT,
GP1_LINK_UP INT,
GP1_OPER INT,
GP1_NAME_OPER VARCHAR(250),
GP1_ORDERS INT,

GP2_LINK INT,
GP2_LINK_UP INT,
GP2_SUMMA NUMERIC (19,2) ,
GP2_QUANTITY NUMERIC (19,4) ,
GP2_STORNO TINYINT,
GP2_LINK_SELF INT,
GP2_NAME VARCHAR(254),
GP2_ORDERS SMALLINT,
GP2_EC_OPER INT,
GP2_EC_OPER_CODE CHAR(5),
GP2_EC_OPER_NAME VARCHAR(254),


GPAP_D_LINK_UP INT,
GPAP_D_DB_KR TINYINT,
GPAP_D_ACC INT,
GPAP_D_KBK INT,
GPAP_D_EKR INT,
GPAP_D_DEP INT,
GPAP_D_SUB INT,
GPAP_D_EMP INT,
GPAP_D_NOMEN INT,
GPAP_D_INV INT,
GPAP_D_KAU INT,
GPAP_D_DEP_ACC INT,
GPAP_D_TMC INT,
GPAP_D_INDATE DATETIME,
GPAP_D_SGU INT,
GPAP_D_DOP INT,
GPAP_D_AP1 INT,
GPAP_D_AP2 INT,
GPAP_D_AP3 INT,


GPAP_K_LINK_UP INT,
GPAP_K_DB_KR INT,
GPAP_K_ACC INT,
GPAP_K_KBK INT,
GPAP_K_EKR INT,
GPAP_K_DEP INT, 
GPAP_K_SUB INT,
GPAP_K_EMP INT,
GPAP_K_NOMEN INT,
GPAP_K_INV INT,
GPAP_K_KAU INT,
GPAP_K_DEP_ACC INT,
GPAP_K_TMC INT,
GPAP_K_INDATE DATETIME,
GPAP_K_SGU INT,
GPAP_K_DOP INT,
GPAP_K_AP1 INT,
GPAP_K_AP2 INT,
GPAP_K_AP3 INT)





CREATE TABLE #DEP_INFO (
	DEP_LINK INT,
	DEP_CODE VARCHAR(10),
	DEP_NAME varchar(256),
	DEP_FNAME varchar(256),
	INN VARCHAR(12),
	KPP VARCHAR(9))


CREATE TABLE #G_PROV_AP_FULL	( GP_LINK INT,
	GPAP_D_LINK_UP INT,
	GPAP_D_DB_KR TINYINT,
	GPAP_D_ACC INT,
	GPAP_D_name VARCHAR(150),
	GPAP_D_CODE VARCHAR(13),
	GPAP_D_cSource VARCHAR(1),
	GPAP_D_cSinth VARCHAR(3),
	GPAP_D_cAnalit VARCHAR(2),
	
	GPAP_D_KBK INT,
	GPAP_D_KBK_type TINYINT,GPAP_D_KBK_code CHAR(30),GPAP_D_KBK_NAME VARCHAR(250),
	
	GPAP_D_EKR INT,
	GPAP_D_EKR_code CHAR(3),	GPAP_D_EKR_NAME VARCHAR(250), GPAP_D_EKR_ls_ekr TINYINT,

	GPAP_D_DEP INT,
	GPAP_D_DEP_CODE VARCHAR(10),
	GPAP_D_DEP_NAME varchar(256),
	GPAP_D_DEP_FNAME varchar(256),
	GPAP_D_DEP_INN VARCHAR(12),
	GPAP_D_DEP_KPP VARCHAR(9),
	
	GPAP_D_SUB INT,
	GPAP_D_SUB_code VARCHAR(5), 
	GPAP_D_SUB_NAME VARCHAR(254), 
	GPAP_D_SUB_lim int , 
	GPAP_D_SUB_obosob TINYINT, 
	GPAP_D_SUB_okato VARCHAR(14), 
	GPAP_D_SUB_okpp VARCHAR(9), 
	GPAP_D_SUB_oktmo  VARCHAR(11),
	
	GPAP_D_EMP INT,
	GPAP_D_EMP_tab VARCHAR(10), 
	GPAP_D_EMP_fm VARCHAR(100), 
	GPAP_D_EMP_im VARCHAR(100), 
	GPAP_D_EMP_ot VARCHAR(100), 
	GPAP_D_EMP_FIO VARCHAR(105), 
	GPAP_D_EMP_INSUR_NUM VARCHAR(14), 
	GPAP_D_EMP_INN VARCHAR(12), 
	GPAP_D_EMP_date_begin datetime, 
	GPAP_D_EMP_date_end DATETIME, 
	
	GPAP_D_NOMEN INT,
	GPAP_D_NOMEN_CODE VARCHAR(20),GPAP_D_NOMEN_NAME VARCHAR(254),
	
	GPAP_D_INV INT,
	GPAP_D_INV_code VARCHAR(20),	GPAP_D_INV_NAME VARCHAR(254),
	
	GPAP_D_KAU INT,
	GPAP_D_KAU_code VARCHAR(20), GPAP_D_KAU_name VARCHAR(100), GPAP_D_KAU_thema VARCHAR(50),
	
	GPAP_D_DEP_ACC INT,
	GPAP_D_DEP_ACC_code VARCHAR(20), GPAP_D_DEP_ACC_TYPE TINYINT,
	
	GPAP_D_TMC INT,
	GPAP_D_TMC_NAME VARCHAR(254),GPAP_D_TMC_code VARCHAR(20) ,
	
	GPAP_D_INDATE DATETIME,
	GPAP_D_SGU INT,
	GPAP_D_SGU_code CHAR(3) , GPAP_D_SGU_NAME VARCHAR(250), GPAP_D_SGU_ls_ekr tinyint , 
	
	GPAP_D_AP1 INT,
	GPAP_D_AP1_TYPE_LINK int , GPAP_D_AP1_doc_link  INT , GPAP_D_AP1_NUMBER VARCHAR (25), GPAP_D_AP1_DATE DATETIME, GPAP_D_AP1_CODE CHAR(30), GPAP_D_AP1_NAME VARCHAR(254),
					GPAP_D_AP1_DATE_PROV DATETIME, GPAP_D_AP1_SUMMA NUMERIC(19,2),
	
	GPAP_D_AP2 INT,
	GPAP_D_AP2_code VARCHAR(20), GPAP_D_AP2_NAME VARCHAR(150),
	GPAP_D_AP3 INT,


	GPAP_K_LINK_UP INT,
	GPAP_K_DB_KR TINYINT,
	GPAP_K_ACC INT,
	GPAP_K_name VARCHAR(150),
	GPAP_K_CODE VARCHAR(13),
	GPAP_K_cSource VARCHAR(1),
	GPAP_K_cSinth VARCHAR(3),
	GPAP_K_cAnalit VARCHAR(2),
	
	GPAP_K_KBK INT,
	GPAP_K_KBK_type TINYINT,GPAP_K_KBK_code CHAR(30),GPAP_K_KBK_NAME VARCHAR(250),
	
	GPAP_K_EKR INT,
	GPAP_K_EKR_code CHAR(3),	GPAP_K_EKR_NAME VARCHAR(250), GPAP_K_EKR_ls_ekr TINYINT,

	GPAP_K_DEP INT,
	GPAP_K_DEP_CODE VARCHAR(10),
	GPAP_K_DEP_NAME varchar(256),
	GPAP_K_DEP_FNAME varchar(256),
	GPAP_K_DEP_INN VARCHAR(12),
	GPAP_K_DEP_KPP VARCHAR(9),
	
	GPAP_K_SUB INT,
	GPAP_K_SUB_code VARCHAR(5), 
	GPAP_K_SUB_NAME VARCHAR(254), 
	GPAP_K_SUB_lim int , 
	GPAP_K_SUB_obosob TINYINT, 
	GPAP_K_SUB_okato VARCHAR(14), 
	GPAP_K_SUB_okpp VARCHAR(9), 
	GPAP_K_SUB_oktmo  VARCHAR(11),
	
	GPAP_K_EMP INT,
	GPAP_K_EMP_tab VARCHAR(10), 
	GPAP_K_EMP_fm VARCHAR(100), 
	GPAP_K_EMP_im VARCHAR(100), 
	GPAP_K_EMP_ot VARCHAR(100), 
	GPAP_K_EMP_FIO VARCHAR(105), 
	GPAP_K_EMP_INSUR_NUM VARCHAR(14), 
	GPAP_K_EMP_INN VARCHAR(12), 
	GPAP_K_EMP_date_begin datetime, 
	GPAP_K_EMP_date_end DATETIME, 
	
	GPAP_K_NOMEN INT,
	GPAP_K_NOMEN_CODE VARCHAR(20),GPAP_K_NOMEN_NAME VARCHAR(254),
	
	GPAP_K_INV INT,
	GPAP_K_INV_code VARCHAR(20),	GPAP_K_INV_NAME VARCHAR(254),
	
	GPAP_K_KAU INT,
	GPAP_K_KAU_code VARCHAR(20), GPAP_K_KAU_name VARCHAR(100), GPAP_K_KAU_thema VARCHAR(50),
	
	GPAP_K_DEP_ACC INT,
	GPAP_K_DEP_ACC_code VARCHAR(20), GPAP_K_DEP_ACC_TYPE TINYINT,
	
	GPAP_K_TMC INT,
	GPAP_K_TMC_NAME VARCHAR(254), GPAP_K_TMC_code VARCHAR(20) ,
	
	GPAP_K_INDATE DATETIME,
	GPAP_K_SGU INT,
	GPAP_K_SGU_code CHAR(3) , GPAP_K_SGU_NAME VARCHAR(250), GPAP_K_SGU_ls_ekr tinyint , 
	
	GPAP_K_AP1 INT,
	GPAP_K_AP1_TYPE_LINK int , GPAP_K_AP1_doc_link int  , GPAP_K_AP1_NUMBER VARCHAR (25), GPAP_K_AP1_DATE DATETIME, GPAP_K_AP1_CODE CHAR(30), GPAP_K_AP1_NAME VARCHAR(254),
	GPAP_K_AP1_DATE_PROV DATETIME, GPAP_K_AP1_SUMMA NUMERIC(19,2),
	
	GPAP_K_AP2 INT,
	GPAP_K_AP2_code VARCHAR(20), GPAP_K_AP2_NAME VARCHAR(150),
	GPAP_K_AP3 INT) 



	
INSERT into #PROV_DOC ( GP_LINK,GP_GUID,GP_NUMBER,GP_DATE,GP_OBJ,
								GP_OBJ_CODE,GP_OBJ_NAME,
						GP_DATE_PROV,GP_SUMMA,
						GP_COMMENT,GP_GET_STORE,GP_DEP,GP_ACC,
						GP_ACC_CODE, GP_ACC_TYPE,
						GP1_LINK,GP1_LINK_UP,GP1_OPER,GP1_NAME_OPER,GP1_ORDERS,
						GP2_LINK,GP2_LINK_UP,GP2_SUMMA,GP2_QUANTITY,GP2_STORNO,GP2_LINK_SELF,GP2_NAME,GP2_ORDERS,GP2_EC_OPER,
								GP2_EC_OPER_CODE,GP2_EC_OPER_NAME,
						GPAP_D_LINK_UP,GPAP_D_DB_KR,GPAP_D_ACC,GPAP_D_KBK,GPAP_D_EKR,GPAP_D_DEP,GPAP_D_SUB,GPAP_D_EMP,GPAP_D_NOMEN,
						GPAP_D_INV,GPAP_D_KAU,GPAP_D_DEP_ACC, GPAP_D_TMC,GPAP_D_INDATE,GPAP_D_SGU,GPAP_D_AP1,GPAP_D_AP2,GPAP_D_AP3,
						GPAP_K_LINK_UP,GPAP_K_DB_KR,GPAP_K_ACC,GPAP_K_KBK,GPAP_K_EKR,GPAP_K_DEP,GPAP_K_SUB,GPAP_K_EMP,GPAP_K_NOMEN,
						GPAP_K_INV,GPAP_K_KAU,GPAP_K_DEP_ACC,GPAP_K_TMC,GPAP_K_INDATE,GPAP_K_SGU,GPAP_K_AP1,GPAP_K_AP2,GPAP_K_AP3)

SELECT  G.LINK,G.[GUID],G.NUMBER,G.[DATE],G.[OBJECT],
		G.S_OBJECTS_CODE,G.S_OBJECTS_NAME,
	    G.DATE_PROV,G.SUMMA,G.COMMENT,G.GET_STORE,G.DEP,G.ACC,
		G.department_accounts_CODE,G.DEPARTMENT_ACCOUNTS_TYPE,
		G1.LINK,G1.LINK_UP,G1.OPER,G1.NAME_OPER,G1.ORDERS,
		G2.LINK,G2.LINK_UP,G2.SUMMA,G2.QUANTITY,G2.STORNO,
		G2.LINK_SELF,G2.NAME,G2.ORDERS,
		G2.ECON_OPER,G2.XOZ_OPER_CODE,G2.XOZ_OPER_NAME,
		GAP1.LINK_UP,GAP1.DB_KR,GAP1.ACCOUNT,GAP1.KBK,GAP1.EKR,GAP1.DEP,GAP1.SUB,GAP1.EMP,GAP1.NOMEN,
		GAP1.INV,GAP1.KAU,GAP1.DEP_ACC, GAP1.TMC,GAP1.INDATE,GAP1.SGU/*,GAP1.DOP*/,GAP1.AP1,GAP1.AP2,GAP1.AP3,
		GAP2.LINK_UP,GAP2.DB_KR,GAP2.ACCOUNT,GAP2.KBK,GAP2.EKR,GAP2.DEP,GAP2.SUB,GAP2.EMP,GAP2.NOMEN,
		GAP2.INV,GAP2.KAU,GAP2.DEP_ACC,GAP2.TMC,GAP2.INDATE,GAP2.SGU/*,GAP2.DOP*/,GAP2.AP1,GAP2.AP2,GAP2.AP3
FROM
	(select GG.LINK, gg.[GUID],GG.NUMBER,GG.[DATE],GG.[OBJECT],
			S_OBJECTS_CODE = S.CODE,S_OBJECTS_NAME = S.NAME, 
			GG.DATE_PROV,GG.SUMMA, GG.COMMENT,
			GG.GET_STORE,GG.DEP,GG.ACC,	
			department_accounts_CODE = da.CODE, 
			DEPARTMENT_ACCOUNTS_TYPE = DA.[TYPE] 
	from dbo.G_PROV GG 
	INNER JOIN  s_objects s ON s.LINK = GG.[OBJECT] AND s.CODE = 'DOCUMENTS_SALARY'     
	LEFT JOIN DEPARTMENT_ACCOUNTS da ON da.LINK = GG.ACC) G
INNER JOIN (SELECT GG1.LINK,GG1.LINK_UP,GG1.OPER,
					   G_PROV1_NAME_OPER = GGG1.NAME_OPER,
					   GG1.NAME_OPER,GG1.ORDERS 
				from dbo.G_PROV1 gg1 
				LEFT JOIN dbo.G_PROV1 ggg1 ON ggg1.LINK = gg1.OPER ) G1  ON G1.LINK_UP = G.LINK
INNER JOIN (SELECT 	GG2.LINK,GG2.LINK_UP,
					GG2.SUMMA,GG2.QUANTITY,
					GG2.STORNO,GG2.LINK_SELF,
					G_PROV2_NAME = GGG2.NAME, 
					GG2.NAME,GG2.ORDERS,GG2.ECON_OPER,
					XOZ_OPER_CODE = xog.CODE+'.'+ xo.CODE ,XOZ_OPER_NAME = XO.NAME
	            from dbo.G_PROV2 GG2 
	            INNER JOIN XOZ_OPER xo ON xo.LINK = GG2.ECON_OPER
	            INNER JOIN xoz_oper_group xog ON xog.LINK = xo.GROUP_LINK
				LEFT JOIN dbo.G_PROV2 GGG2 ON GGG2.LINK = GG2.LINK_SELF ) G2 ON G2.LINK_UP = G1.LINK
INNER JOIN dbo.G_PROV_AP GAP1 ON GAP1.LINK_UP = G2.LINK
INNER JOIN dbo.G_PROV_AP GAP2 ON GAP2.LINK_UP = G2.LINK
WHERE
	GAP1.DB_KR = 0
	AND
	GAP2.DB_KR = 1
	AND
	G2.LINK IN ( SELECT link FROM #DOC )




INSERT #DEP_INFO ( DEP_LINK, DEP_CODE, DEP_NAME, DEP_FNAME, INN, KPP)
SELECT DISTINCT link , code , NAME , FULL_name , inn , kpp
FROM  #PROV_DOC g  
	INNER JOIN departments d ON g.GP_DEP = d.link
	


INSERT INTO #G_PROV_AP_FULL	(  GP_LINK,
	GPAP_D_LINK_UP,
	GPAP_D_DB_KR,
	GPAP_D_ACC,
	GPAP_D_name,
	GPAP_D_CODE,
	GPAP_D_cSource,
	GPAP_D_cSinth,
	GPAP_D_cAnalit,
	
	GPAP_D_KBK,
	GPAP_D_KBK_type,GPAP_D_KBK_code,GPAP_D_KBK_NAME,
	
	GPAP_D_EKR, 
	GPAP_D_EKR_code,GPAP_D_EKR_NAME, GPAP_D_EKR_ls_ekr,

	GPAP_D_DEP,
	GPAP_D_DEP_CODE,
	GPAP_D_DEP_NAME,
	GPAP_D_DEP_FNAME,
	GPAP_D_DEP_INN,
	GPAP_D_DEP_KPP,
	
	GPAP_D_SUB,
	GPAP_D_SUB_code, 
	GPAP_D_SUB_NAME, 
	GPAP_D_SUB_lim, 
	GPAP_D_SUB_obosob, 
	GPAP_D_SUB_okato, 
	GPAP_D_SUB_okpp, 
	GPAP_D_SUB_oktmo,
	
	GPAP_D_EMP,
	GPAP_D_EMP_tab, 
	GPAP_D_EMP_fm, 
	GPAP_D_EMP_im, 
	GPAP_D_EMP_ot, 
	GPAP_D_EMP_FIO, 
	GPAP_D_EMP_INSUR_NUM, 
	GPAP_D_EMP_INN, 
	GPAP_D_EMP_date_begin, 
	GPAP_D_EMP_date_end, 
	
	GPAP_D_NOMEN,
	GPAP_D_NOMEN_CODE,GPAP_D_NOMEN_NAME,
	
	GPAP_D_INV,
	GPAP_D_INV_code,	GPAP_D_INV_NAME,
	
	GPAP_D_KAU,
	GPAP_D_KAU_code, GPAP_D_KAU_name, GPAP_D_KAU_thema,
	
	GPAP_D_DEP_ACC,
	GPAP_D_DEP_ACC_code, GPAP_D_DEP_ACC_TYPE,
	
	GPAP_D_TMC,
	GPAP_D_TMC_NAME, GPAP_D_TMC_code,
	
	GPAP_D_INDATE,
	GPAP_D_SGU,
	GPAP_D_SGU_code, GPAP_D_SGU_NAME, GPAP_D_SGU_ls_ekr, 
	
	GPAP_D_AP1,
	GPAP_D_AP1_TYPE_LINK, GPAP_D_AP1_doc_link, GPAP_D_AP1_NUMBER, GPAP_D_AP1_DATE, GPAP_D_AP1_CODE, GPAP_D_AP1_NAME,
					GPAP_D_AP1_DATE_PROV, GPAP_D_AP1_SUMMA, 
	
	GPAP_D_AP2,
	GPAP_D_AP2_code, GPAP_D_AP2_NAME,
	GPAP_D_AP3,


	GPAP_K_LINK_UP,
	GPAP_K_DB_KR,
	GPAP_K_ACC,
	GPAP_K_name,
	GPAP_K_CODE,
	GPAP_K_cSource,
	GPAP_K_cSinth,
	GPAP_K_cAnalit,
	
	GPAP_K_KBK,
	GPAP_K_KBK_type,GPAP_K_KBK_code,GPAP_K_KBK_NAME,

	GPAP_K_EKR,
	GPAP_K_EKR_code,	GPAP_K_EKR_NAME, GPAP_K_EKR_ls_ekr,


	GPAP_K_DEP ,
	GPAP_K_DEP_CODE,
	GPAP_K_DEP_NAME,
	GPAP_K_DEP_FNAME,
	GPAP_K_DEP_INN,
	GPAP_K_DEP_KPP,


	GPAP_K_SUB,
	GPAP_K_SUB_code, 
	GPAP_K_SUB_NAME, 
	GPAP_K_SUB_lim, 
	GPAP_K_SUB_obosob, 
	GPAP_K_SUB_okato, 
	GPAP_K_SUB_okpp, 
	GPAP_K_SUB_oktmo,
	

	GPAP_K_EMP ,
	GPAP_K_EMP_tab, 
	GPAP_K_EMP_fm, 
	GPAP_K_EMP_im, 
	GPAP_K_EMP_ot, 
	GPAP_K_EMP_FIO, 
	GPAP_K_EMP_INSUR_NUM, 
	GPAP_K_EMP_INN, 
	GPAP_K_EMP_date_begin, 
	GPAP_K_EMP_date_end, 
	
	GPAP_K_NOMEN,
	GPAP_K_NOMEN_CODE,GPAP_K_NOMEN_NAME,
	
	GPAP_K_INV,
	GPAP_K_INV_code,GPAP_K_INV_NAME,
	
	GPAP_K_KAU,
	GPAP_K_KAU_code, GPAP_K_KAU_name, GPAP_K_KAU_thema,
	
	GPAP_K_DEP_ACC,
	GPAP_K_DEP_ACC_code, GPAP_K_DEP_ACC_TYPE,
	
	GPAP_K_TMC,
	GPAP_K_TMC_NAME, GPAP_K_TMC_code,
	
	GPAP_K_INDATE,
	GPAP_K_SGU,
	GPAP_K_SGU_code, GPAP_K_SGU_NAME, GPAP_K_SGU_ls_ekr, 
	
	GPAP_K_AP1,
	GPAP_K_AP1_TYPE_LINK, GPAP_K_AP1_doc_link, GPAP_K_AP1_NUMBER, GPAP_K_AP1_DATE, GPAP_K_AP1_CODE, GPAP_K_AP1_NAME,
	GPAP_K_AP1_DATE_PROV, GPAP_K_AP1_SUMMA,
	
	GPAP_K_AP2,
	GPAP_K_AP2_code, GPAP_K_AP2_NAME,
	GPAP_K_AP3)

SELECT G.GP_LINK,
	   G.GPAP_D_LINK_UP,
	   G.GPAP_D_DB_KR,
	   /*GPAP_D_ACCOUNT*/
	   G.GPAP_D_ACC, GPAP_D_name = s.NAME, GPAP_D_CODE = s.CODE, GPAP_D_cSource = s.cSource, GPAP_D_cSinth = s.cSinth, GPAP_D_cAnalit = s.cAnalit,
	   /*GPAP_D_KBK*/
	   G.GPAP_D_KBK, GPAP_D_KBK_type = K.[TYPE], GPAP_D_KBK_code = K.CODE,GPAP_D_KBK_NAME = k.NAME,
	   /*GPAP_D_EKR*/
	   G.GPAP_D_EKR, GP_AP_D_EKR_code = ko.CODE, GP_AP_D_EKR_NAME = ko.NAME, GP_AP_D_EKR_ls_ekr = ko.Is_Ekr,
	   /*GPAP_D_DEP*/
	   G.GPAP_D_DEP, GPAP_D_DEP_CODE = d.CODE, GPAP_D_DEP_NAME = d.NAME, GPAP_D_DEP_FNAME = d.FULL_NAME, GPAP_D_DEP_INN = d.INN, GPAP_D_DEP_KPP = d.KPP,
	   /*GPAP_D_SUB*/
	   G.GPAP_D_SUB, GPAP_D_SUB_code = su.CODE, GPAP_D_SUB_NAME = su.NAME, GPAP_D_SUB_lim = su.LIM, GPAP_D_SUB_obosob = su.OBOSOB, GPAP_D_SUB_okato = su.O_OKATO, GPAP_D_SUB_okpp = su.O_KPP, GPAP_D_SUB_oktmo = su.O_OKTMO,
	   /*GPAP_D_EMP*/
	   G.GPAP_D_EMP,  GPAP_D_EMP_tab = sd.TAB, GPAP_D_EMP_fm = sd.FM, GPAP_D_EMP_im = sd.IM, GPAP_D_EMP_ot = sd.OT, GPAP_D_EMP_FIO = sd.FIO, GPAP_D_EMP_INSUR_NUM = sd.INSUR_NUM, GPAP_D_EMP_INN = sd.INN, GPAP_D_EMP_date_begin = sd.DATE_BEGIN, GPAP_D_EMP_date_end = sd.DATE_END, 
	   /*GPAP_D_NOMEN*/
	   G.GPAP_D_NOMEN, GPAP_D_NOMEN_CODE = n.CODE, GPAP_D_NOMEN_NAME = n.NAME,
	   /*GPAP_D_INV*/
	   G.GPAP_D_INV, GPAP_D_INV_code = i.CODE, GPAP_D_INV_NAME = i.NAME,
	   /*GPAP_D_KAU*/
	   G.GPAP_D_KAU, GPAP_D_KAU_code = ka.CODE, GPAP_D_KAU_name = ka.NAME, GPAP_D_KAU_thema = KA.THEMA,
	   /*GPAP_D_DEP_ACC*/
	   G.GPAP_D_DEP_ACC, GPAP_D_DEP_ACC_code = da.CODE, GPAP_D_DEP_ACC_TYPE = da.[TYPE], 
	   /*GPAP_D_TMC*/
	   G.GPAP_D_TMC, GPAP_D_TMC_NAME = di.NAME, GPAP_D_TMC_code = di.CODE,
	   G.GPAP_D_INDATE, 
	   /*GPAP_D_SGU*/
	   G.GPAP_D_SGU, GPAP_D_SGU_code = KOO.CODE, GPAP_D_SGU_NAME = KOO.NAME, GPAP_D_SGU_ls_ekr = KOO.Is_Ekr, 
	   /*GPAP_D_AP1*/
	   G.GPAP_D_AP1, O.OSNOV_AP1_D_TYPE_LINK, O.OSNOV_AP1_D_doc_link, O.G_PROV_AP1_D_NUMBER, O.G_PROV_AP1_D_DATE, O.S_OBJECTS_AP1_D_CODE, O.S_OBJECTS_AP1_D_NAME,
							O.G_PROV_AP1_D_DATE_PROV, O.G_PROV_AP1_D_SUMMA,
	   /*GPAP_D_AP2*/
	   G.GPAP_D_AP2, GPAP_D_AP2_code = do.CODE, GPAP_D_AP2_NAME = do.NAME,
	   G.GPAP_D_AP3,
	
	   G.GPAP_K_LINK_UP,
	   G.GPAP_K_DB_KR,
	   /*GPAP_K_ACC*/
	   G.GPAP_K_ACC, GPAP_K_name = s1.NAME, GPAP_K_CODE = s1.CODE, GPAP_K_cSource = s1.cSource, GPAP_K_cSinth = s1.cSinth, GPAP_K_cAnalit = s1.cAnalit,
	   /*GPAP_K_KBK*/
	   G.GPAP_K_KBK, GPAP_K_KBK_type = K1.[TYPE], GPAP_K_KBK_code = K1.CODE,GPAP_K_KBK_NAME = k1.NAME,
	   /*GPAP_K_EKR*/
	   G.GPAP_K_EKR, GPAP_K_EKR_code = ko1.CODE, GPAP_K_EKR_NAME = ko1.NAME, GPAP_K_EKR_ls_ekr = ko1.Is_Ekr,
	   /*GPAP_K_DEP*/
	   G.GPAP_K_DEP, GPAP_K_DEP_CODE = d1.CODE, GPAP_K_DEP_NAME = d1.NAME, GPAP_K_DEP_FNAME = d1.FULL_NAME, GPAP_K_DEP_INN = d1.INN, GPAP_K_DEP_KPP = d1.KPP,
	   /*GPAP_K_SUB*/
	   G.GPAP_K_SUB, GPAP_K_SUB_code = su1.CODE, GPAP_K_SUB_NAME = su1.NAME, GPAP_K_SUB_lim = su1.LIM, GPAP_K_SUB_obosob = su1.OBOSOB, GPAP_K_SUB_okato = su1.O_OKATO, GPAP_K_SUB_okpp = su1.O_KPP, GPAP_K_SUB_oktmo = su1.O_OKTMO,
	   /*GPAP_K_EMP*/
	   G.GPAP_K_EMP,  GPAP_K_EMP_tab = sd1.TAB, GPAP_K_EMP_fm = sd1.FM, GPAP_K_EMP_im = sd1.IM, GPAP_K_EMP_ot = sd1.OT, GPAP_K_EMP_FIO = sd1.FIO, GPAP_K_EMP_INSUR_NUM = sd1.INSUR_NUM, GPAP_K_EMP_INN = sd1.INN, GPAP_K_EMP_date_begin = sd1.DATE_BEGIN, GPAP_K_EMP_date_end = sd1.DATE_END, 
	   /*GPAP_K_NOMEN*/
	   G.GPAP_K_NOMEN, GPAP_K_NOMEN_CODE = n1.CODE, GPAP_K_NOMEN_NAME = n1.NAME,
	   /*GPAP_K_INV*/
	   G.GPAP_K_INV, GPAP_K_INV_code = i1.CODE, GPAP_K_INV_NAME = i1.NAME,
	   /*GPAP_K_KAU*/
	   G.GPAP_K_KAU, GPAP_K_KAU_code = ka1.CODE, GPAP_K_KAU_name = ka1.NAME, GPAP_K_KAU_thema = KA1.THEMA,
	   /*GPAP_K_DEP_ACC*/
	   G.GPAP_K_DEP_ACC, GPAP_K_DEP_ACC_code = da1.CODE, GPAP_K_DEP_ACC_TYPE = da1.[TYPE], 
	   /*GPAP_K_TMC*/
	   G.GPAP_K_TMC, GPAP_K_TMC_NAME = di1.NAME, GPAP_K_TMC_code = di1.CODE,
	   G.GPAP_K_INDATE, 
	   /*GPAP_K_SGU*/
	   G.GPAP_K_SGU, GPAP_K_SGU_code = KOO1.CODE, GPAP_K_SGU_NAME = KOO1.NAME, GPAP_K_SGU_ls_ekr = KOO1.Is_Ekr, 
	   /*GPAP_K_AP1*/
	   G.GPAP_K_AP1, O1.OSNOV_AP1_K_TYPE_LINK, O1.OSNOV_AP1_K_doc_link, O1.G_PROV_AP1_K_NUMBER, O1.G_PROV_AP1_K_DATE, O1.S_OBJECTS_AP1_K_CODE, O1.S_OBJECTS_AP1_K_NAME,
							O1.G_PROV_AP1_K_DATE_PROV, O1.G_PROV_AP1_K_SUMMA , 
	   G.GPAP_K_AP2, GPAP_K_AP2_code = do1.CODE, GPAP_K_AP2_NAME = do1.NAME,
	   G.GPAP_K_AP3
FROM
	#PROV_DOC G
	LEFT JOIN dbo.S_ACCOUNTS		  S ON S.LINK = G.GPAP_D_ACC
	LEFT JOIN dbo.KL_KBK			  K ON  k.link = G.GPAP_D_KBK
	LEFT JOIN dbo.KOSGU				  KO ON KO.LINK = G.GPAP_D_EKR
	LEFT JOIN dbo.departments		  d ON d.link = G.GPAP_D_DEP
	LEFT JOIN dbo.SUBDIV			  su ON su.link =  G.GPAP_D_SUB
	LEFT JOIN dbo.SD_EMPL			  sd ON sd.link =  G.GPAP_D_EMP
	LEFT JOIN dbo.NOMENCLATURE		  N ON n.LINK = G.GPAP_D_NOMEN
	LEFT JOIN dbo.INVENTORY			  I ON   I.link =  G.GPAP_D_INV
	LEFT JOIN dbo.KAU				  KA ON ka.link = G.GPAP_D_KAU
	LEFT JOIN dbo.DEPARTMENT_ACCOUNTS da ON da.link = G.GPAP_D_DEP_ACC
	LEFT JOIN dbo.DICTION			  di ON di.link = G.GPAP_D_TMC
	LEFT JOIN dbo.KOSGU				  KOO ON  KOO.LINK = G.GPAP_D_SGU	
	LEFT JOIN (SELECT oo.link,
					  OSNOV_AP1_D_TYPE_LINK = oo.TYPE_LINK ,
					  OSNOV_AP1_D_doc_link = oo.DOC_LINK,
					  G_PROV_AP1_D_NUMBER = GP.NUMBER ,
					  G_PROV_AP1_D_DATE = GP.[DATE],
					  S_OBJECTS_AP1_D_CODE = s.CODE,
					  S_OBJECTS_AP1_D_NAME = S.NAME,
					  G_PROV_AP1_D_DATE_PROV = GP.DATE_PROV,
					  G_PROV_AP1_D_SUMMA = GP.SUMMA,
					  G_PROV_AP1_D_COMMENT = GP.COMMENT,
					  G_PROV_AP1_D_GET_STORE = GP.GET_STORE,
					  department_accounts_AP1_D_CODE = d_ACc.CODE
			   from dbo.OSNOV oo 
			   LEFT JOIN dbo.G_PROV GP ON GP.LINK = oo.DOC_LINK
			   LEFT JOIN dbo.S_OBJECTS S ON s.link = GP.[OBJECT]	
			   LEFT JOIN department_accounts d_ACc ON d_acc.LINK = GP.ACC  )o ON o.LINK = G.GPAP_D_AP1
	LEFT JOIN dbo.DOP_CLASSIF		  do ON do.LINK = G.GPAP_D_AP2
	
	LEFT JOIN dbo.S_ACCOUNTS		  S1 ON S1.LINK = G.GPAP_K_ACC
	LEFT JOIN dbo.KL_KBK			  K1 ON  k1.link = G.GPAP_K_KBK
	LEFT JOIN dbo.KOSGU				  KO1 ON KO1.LINK = G.GPAP_K_EKR
	LEFT JOIN dbo.departments		  d1 ON d1.link = G.GPAP_K_DEP
	LEFT JOIN dbo.SUBDIV			  su1 ON su1.link =  G.GPAP_K_SUB
	LEFT JOIN dbo.SD_EMPL			  sd1 ON sd1.link =  G.GPAP_K_EMP
	LEFT JOIN dbo.NOMENCLATURE		  N1 ON n1.LINK = G.GPAP_K_NOMEN
	LEFT JOIN dbo.INVENTORY			  I1 ON   I1.link =  G.GPAP_K_INV
	LEFT JOIN dbo.KAU				  KA1 ON ka1.link = G.GPAP_K_KAU
	LEFT JOIN dbo.DEPARTMENT_ACCOUNTS da1 ON da1.link = G.GPAP_K_DEP_ACC
	LEFT JOIN dbo.DICTION			  di1 ON di1.link = G.GPAP_K_TMC
	LEFT JOIN dbo.KOSGU				  KOO1 ON  KOO1.LINK = G.GPAP_K_SGU	
	LEFT JOIN (SELECT oo.link,
					  OSNOV_AP1_K_TYPE_LINK = oo.TYPE_LINK ,
					  OSNOV_AP1_K_doc_link = oo.DOC_LINK,
					  G_PROV_AP1_K_NUMBER = GP.NUMBER ,
					  G_PROV_AP1_K_DATE = GP.[DATE],
					  S_OBJECTS_AP1_K_CODE = s.CODE,
					  S_OBJECTS_AP1_K_NAME = S.NAME,
					  G_PROV_AP1_K_DATE_PROV = GP.DATE_PROV,
					  G_PROV_AP1_K_SUMMA = GP.SUMMA,
					  G_PROV_AP1_K_COMMENT = GP.COMMENT,
					  G_PROV_AP1_K_GET_STORE = GP.GET_STORE,
					  department_accounts_AP1_K_CODE = d_ACc.CODE
			   from dbo.OSNOV oo 
			   LEFT JOIN dbo.G_PROV GP ON GP.LINK = oo.DOC_LINK
			   LEFT JOIN dbo.S_OBJECTS S ON s.link = GP.[OBJECT]	
			   LEFT JOIN department_accounts d_ACc ON d_acc.LINK = GP.ACC  )  o1 ON o1.LINK = G.GPAP_K_AP1
	LEFT JOIN dbo.DOP_CLASSIF		  do1 ON do1.LINK = G.GPAP_K_AP2

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))

INSERT INTO #TASK_PROP (VAL) 	
	SELECT   TOP 1  LTRIM(RTRIM(OV.Value)) 
	FROM object_values OV
	WITH (NOLOCK)
	WHERE Object = (SELECT link FROM s_objects WHERE code = 'PROJECT') AND property =  (SELECT link	FROM S_PROPERTY WHERE CODE ='VERSION_MAJOR')
INSERT INTO #TASK_PROP (VAL) 
	SELECT   TOP 1  LTRIM(RTRIM(OV.Value)) 
	FROM object_values OV
	WITH (NOLOCK)
	WHERE Object = (SELECT link FROM s_objects WHERE code = 'PROJECT') AND property =  (SELECT link	FROM S_PROPERTY WHERE CODE ='VERSION_MINOR')
INSERT INTO #TASK_PROP (VAL) 
	SELECT   TOP 1  LTRIM(RTRIM(OV.Value)) 
	FROM object_values OV
	WITH (NOLOCK)
	WHERE Object = (SELECT link FROM s_objects WHERE code = 'PROJECT') AND property =  (SELECT link	FROM S_PROPERTY WHERE CODE ='VERSION_FIX')

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))), 
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------

declare @DEP_LINK int, @lcFNAME VARCHAR(254)/*, @ID INT, @EGRUL varchar(13)*/

--exec dbo.xd_whats_zb @DEP_LINK output
--select @EGRUL = LTRIM(RTRIM(EGRUL)) from DICTIONARY_DEPARTMENT where link = @DEP_LINK 
	
DECLARE @Cur1 CURSOR, @NGROUP int /*Номер пачки*/ , @GPROV_LINK int
set @NGROUP = 0
DECLARE @Cur2 CURSOR , @N_STR int /*Номер строки*/
DECLARE @Cur3 CURSOR , @gp1_link INT
DECLARE @Cur4 CURSOR , @gp2_link int
DECLARE @Cur5 CURSOR , @d_link int, @k_link int

-- ШАПОЧНАЯ ЧАСТЬ ФАЙЛА
-----

--
SET @Cur1 = CURSOR FORWARD_ONLY
FOR select DEP_LINK from #DEP_INFO ORDER BY DEP_LINK
	
OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @DEP_LINK

WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN	
		
	SET @lcFNAME = (SELECT 'ZARPLATA_KS-PROV-C-'+LTRIM(RTRIM(DEP_CODE))+'-INN-'+(CASE when LTRIM(RTRIM(INN)) ='' THEN '000000000000' ELSE LTRIM(RTRIM(INN)) END )+'-KPP-'+(CASE when LTRIM(RTRIM(KPP)) ='' THEN '000000000' ELSE LTRIM(RTRIM(KPP)) END )+'.XML' FROM #DEP_INFO di WHERE DEP_LINK = @DEP_LINK  )


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, 'OEM' --Имя файла 
		UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="Windows-1251" ?>' 
		UNION ALL SELECT @lcFNAME, SPACE(0) + '<Exchange version ="1.0">' 
		--UNION ALL SELECT @lcFNAME, SPACE(0) + '<File>' 
 		UNION ALL SELECT @lcFNAME, SPACE(1) + '<FileName>' + RTRIM(LTRIM(@lcFNAME)) + '</FileName>'
		 
	
		
		
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)			 
		 SELECT @lcFNAME, SPACE(1) + '<Org>'
		 UNION ALL SELECT @lcFNAME, SPACE(2) + '<INN>'+RTRIM(LTRIM(COALESCE(INN,'')))+'</INN>'
		 FROM #DEP_INFO WHERE dep_link = @DEP_LINK	
		 UNION ALL SELECT @lcFNAME, SPACE(2) + '<KPP>'+RTRIM(LTRIM(COALESCE(KPP,'')))+'</KPP>'
		 FROM #DEP_INFO WHERE dep_link = @DEP_LINK	
		 UNION ALL SELECT @lcFNAME, SPACE(2) + '<CODE>'+RTRIM(LTRIM(COALESCE(DEP_CODE,'')))+'</CODE>'
		 FROM #DEP_INFO WHERE dep_link = @DEP_LINK	
		 UNION ALL SELECT @lcFNAME, SPACE(2) + '<Name>'+RTRIM(LTRIM(COALESCE(DEP_FNAME,'')))+'</Name>'
		 FROM #DEP_INFO WHERE dep_link = @DEP_LINK	
	
	--
	-- ПЕРЕЧИСЛЕНИЕ ПРОВОДОК
	---
		
		SET @N_STR = 0 
		SET @Cur2 = CURSOR FORWARD_ONLY
		FOR select GP_LINK from #PROV_DOC WHERE GP_DEP = @DEP_LINK GROUP BY GP_LINK 
		
		OPEN @Cur2
		FETCH NEXT FROM @Cur2 INTO @GPROV_LINK

		WHILE (@@fetch_status <> -1)
		BEGIN
			IF (@@fetch_status <> -2)
			BEGIN


				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME,					
					/*таблица G_PROV*/
					+ SPACE(3) + '<G_PROV>' + CHAR(10)
					 + SPACE(4) + '<GUID>'+ ltrim(rtrim(P.GP_GUID)) +'</GUID>' + CHAR(10)
					 + SPACE(4) + '<NUMBER>'+ ltrim(rtrim(P.GP_NUMBER)) +'</NUMBER>' + CHAR(10)
					 + SPACE(4) + '<DATE>'+ convert(varchar(10),P.GP_DATE,104) +'</DATE>' + CHAR(10)
					 /*поле OBJECT - линк таблицы S_OBJECTS */
					 + SPACE(4) + '<OBJ_CODE>' + ltrim(rtrim(P.GP_OBJ_CODE)) + '</OBJ_CODE>' + CHAR(10) 
					 + SPACE(4) + '<DATE_PROV>'+ convert(varchar(10),P.GP_DATE_PROV,104) +'</DATE_PROV>' + CHAR(10)
					 + SPACE(4) + '<SUMMA>'+ RTRIM(LTRIM(STR(COALESCE(P.GP_SUMMA,0),18,2))) +'</SUMMA>' + CHAR(10)
					 + SPACE(4) + '<COMMENT>'+ RTRIM(LTRIM(COALESCE(P.GP_COMMENT,''))) +'</COMMENT>' + CHAR(10)
					 + SPACE(4) +  (case when RTRIM(LTRIM(STR(COALESCE(P.GP_GET_STORE,0)))) = 0 then ('<GET_STORE/>' + CHAR(10)) else  ('<GET_STORE>'+   RTRIM(LTRIM(STR(COALESCE(P.GP_GET_STORE,0)))) +'</GET_STORE>' + CHAR(10) ) END)
					 /*Поле DEP - линк таблицы #DEP_INFO*/
					 + SPACE(4) + '<DEP_CODE>' + (select RTRIM(LTRIM(COALESCE(DEP_CODE,''))) FROM #DEP_INFO WHERE DEP_LINK = P.GP_DEP ) + '</DEP_CODE>' + CHAR(10)
					 + SPACE(4) + '<DEP_INN>' + (select RTRIM(LTRIM(COALESCE(INN,''))) FROM #DEP_INFO WHERE DEP_LINK = P.GP_DEP ) + '</DEP_INN>' + CHAR(10)
					 + SPACE(4) + '<DEP_KPP>' + (select RTRIM(LTRIM(COALESCE(KPP,''))) FROM #DEP_INFO WHERE DEP_LINK = P.GP_DEP ) + '</DEP_KPP>' + CHAR(10)
					 /*поле ACC - линк таблицы department_accounts*/
					 + SPACE(4) + '<ACC_CODE>' + ltrim(rtrim(iSnULL(P.GP_ACC_CODE,''))) + '</ACC_CODE>' 
					FROM
						#PROV_DOC P
						--INNER JOIN #G_PROV_AP_FULL GP ON GP.GP_LINK = P.GP_LINK 
					WHERE 
						P.GP_LINK = @GPROV_LINK
					GROUP BY  GP_LINK,GP_GUID, GP_DATE, GP_NUMBER,GP_OBJ_CODE, GP_DATE_PROV , GP_SUMMA , GP_COMMENT , GP_GET_STORE , GP_DEP ,GP_ACC_CODE
					 
					
					
					SET @Cur3 = CURSOR FORWARD_ONLY
					FOR select gp1_link from #PROV_DOC WHERE GP_LINK = @GPROV_LINK  GROUP BY gp1_link
					
					OPEN @Cur3
					FETCH NEXT FROM @Cur3 INTO @GP1_LINK

					WHILE (@@fetch_status <> -1)
					BEGIN
						 INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
								SELECT @lcFNAME,				
								/*Таблица G_PROV1*/
								+ SPACE(4) + '<G_PROV1>' + CHAR(10)						
												
						IF (@@fetch_status <> -2)
						BEGIN
							

						    INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
							SELECT @lcFNAME,				
							--/*Таблица G_PROV1*/
							--+ SPACE(4) + '<G_PROV1>' + CHAR(10)
							/*Поле OPER - линк таблицы G_PROV1*/
									+ SPACE(5) + (case when RTRIM(LTRIM(isnull(P.GP1_NAME_OPER,''))) = '' then ('<OPER/>' + CHAR(10)) else  ('<OPER>' +   RTRIM(LTRIM(isnull(P.GP1_NAME_OPER,''))) + '</OPER>' + CHAR(10) ) END)
									+ SPACE(5) + '<ORDERS>' + RTRIM(LTRIM(ISNULL(P.GP1_ORDERS, 0))) + '</ORDERS>'  + CHAR(10)
									FROM
										#PROV_DOC P
										INNER JOIN #G_PROV_AP_FULL GP ON GP.GP_LINK = P.GP_LINK
									WHERE 
										P.GP1_LINK = @GP1_LINK
									group by p.GP1_ORDERS	, P.GP1_NAME_OPER ,isnull(P.GP1_OPER,0)
								

									SET @Cur4 = CURSOR FORWARD_ONLY
									FOR select gp2_link from #PROV_DOC WHERE GP1_LINK = @GP1_LINK  GROUP BY gp1_link, gp2_link
									
									OPEN @Cur4
									FETCH NEXT FROM @Cur4 INTO @GP2_LINK

									WHILE (@@fetch_status <> -1)
									BEGIN
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,	
									
									
											/*Таблица G_PROV2*/
											+ SPACE(5) + '<G_PROV2>' + CHAR(10)
			
											IF (@@fetch_status <> -2)
											BEGIN
												INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
												SELECT @lcFNAME,	
									
									
															/*Таблица G_PROV2*/
															---+ SPACE(5) + '<G_PROV2>' + CHAR(10)
																	+ SPACE(6) + '<SUMMA>' + RTRIM(LTRIM(STR(COALESCE(P.[GP2_SUMMA],0),18,2))) + '</SUMMA>'  + CHAR(10)
																	+ SPACE(6) + (case when RTRIM(LTRIM(STR(COALESCE(P.[GP2_QUANTITY],0),18,4))) = '0.0000' then ('<QUANTITY/>' + CHAR(10)) else  ('<QUANTITY>'+   RTRIM(LTRIM(STR(COALESCE(P.[GP2_QUANTITY],0),18,4))) +'</QUANTITY>' + CHAR(10) ) END)
																	+ SPACE(6) + (case when RTRIM(LTRIM(STR(COALESCE(P.GP2_STORNO,'')))) = 0 then ('<STORNO/>' + CHAR(10)) else  ('<STORNO>'+   RTRIM(LTRIM(STR(COALESCE(P.GP2_STORNO,'')))) +'</STORNO>' + CHAR(10) ) END)
															/* ПОЛЕ LINK_SELF - link таблицы G_PROV2*/
																	+ SPACE(6) + '<ORDERS>' + RTRIM(LTRIM(STR(COALESCE(P.GP2_ORDERS,''))))+ '</ORDERS>'  + CHAR(10)
																/*поле ECON_OPER - линк таблицы XOZ_OPER*/
																	+ SPACE(6) + '<EC_OPER_CODE>' + RTRIM(LTRIM(ISNULL(P.GP2_EC_OPER_CODE, ''))) + '</EC_OPER_CODE>'  + CHAR(10)
																	FROM
																		#PROV_DOC P
																		INNER JOIN #G_PROV_AP_FULL GP ON GP.GP_LINK = P.GP_LINK AND GP.GPAP_D_LINK_UP = P.GP2_LINK
																	WHERE 
																		GP.GPAP_D_LINK_UP = @GP2_LINK
																	GROUP BY 	P.GP2_LINK , P.[GP2_SUMMA], P.[GP2_QUANTITY], P.GP2_STORNO, P.GP2_ORDERS , P.GP2_EC_OPER_CODE
																	
																	
																	/*Дебет , кредит*/
																	SET @Cur5 = CURSOR FORWARD_ONLY
																	FOR select GPAP_D_LINK_UP from #G_PROV_AP_FULL where GP_LINK = @GPROV_LINK AND GPAP_D_LINK_UP = @GP2_LINK

																	OPEN @Cur5
																	FETCH NEXT FROM @Cur5 INTO @d_LINK

																	WHILE (@@fetch_status <> -1)
																	BEGIN
																												
																			IF (@@fetch_status <> -2)
																			BEGIN
																				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
																				SELECT @lcFNAME,	

																				/*Дебет*/
																				
				 																+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_DB_KR,'')))) = 0 then ('<D_DB_KR/>' + CHAR(10)) else  ('<D_DB_KR>'+   RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_DB_KR,'')))) +'/<D_DB_KR>'+ CHAR(10) ) END)
																				/*поле ACCOUNT - линк таблицы s_accounts*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_D_CODE, ''))) = '' then ('<D_ACC/>' + CHAR(10)) else  ('<D_ACC>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_CODE, ''))) +'</D_ACC>'+ CHAR(10) ) END)
																				/*поле KBK - линк таблицы KL_KBK*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_D_KBK_code, ''))) = '' then ('<D_KBK/>' + CHAR(10)) else  ('<D_KBK>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_KBK_code, ''))) +'</D_KBK>'+ CHAR(10) ) END)
																				/*поле EKR - линк таблицы KOSGU*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_D_EKR_code, ''))) = '' then ('<D_EKR/>' + CHAR(10)) else  ('<D_EKR>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_EKR_code, ''))) +'</D_EKR>'+ CHAR(10) ) END)
																				/*поле DEP - линк таблицы DEPARTMENTS*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_d_DEP_CODE, ''))) = '' then ('<D_DEP_CODE/>' + CHAR(10)) else  ('<D_DEP_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_CODE, ''))) +'</D_DEP_CODE>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_d_DEP_INN, ''))) = ''  then ('<D_DEP_INN/>' + CHAR(10)) else  ('<D_DEP_INN>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_INN, ''))) +'</D_DEP_INN>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_d_DEP_KPP, ''))) = '' then ('<D_DEP_KPP/>' + CHAR(10)) else  ('<D_DEP_KPP>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_KPP, ''))) +'</D_DEP_KPP>'+ CHAR(10) ) END)
																				 /*поле SUB - линк таблицы SUBDIV*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_code, '')))= '' then ('<D_SUB_code/>' + CHAR(10)) else  ('<D_SUB_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_code, ''))) +'</D_SUB_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_SUB_lim,0),18,2)))= '0.00' then ('<D_SUB_lim/>' + CHAR(10)) else  ('<D_SUB_lim>'+  RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_SUB_lim,0),18,2))) +'</D_SUB_lim>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_SUB_obosob,''))))= 0 then ('<D_SUB_obosob/>' + CHAR(10)) else  ('<D_SUB_obosob>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_SUB_obosob,'')))) +'</D_SUB_obosob>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_okato, '')))= '' then ('<D_SUB_okato/>' + CHAR(10)) else ('<D_SUB_okato>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_okato, ''))) +'</D_SUB_okato>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_okpp, '')))= '' then ('<D_SUB_okpp/>' + CHAR(10)) else  ('<D_SUB_okpp>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_okpp, ''))) +'</D_SUB_okpp>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_oktmo, '')))= '' then ('<D_SUB_oktmo/>' + CHAR(10)) else  ('<D_SUB_oktmo>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_oktmo, ''))) +'</D_SUB_oktmo>'+ CHAR(10) ) END)
																				/*поле EMP - линк таблицы SD_EMPL*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_EMP_tab, '')))= '' then ('<D_EMPL_tab/>' + CHAR(10)) else  ('<D_EMPL_tab>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_EMP_tab, ''))) +'</D_EMPL_tab>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_EMP_INSUR_NUM,'')))= '' then ('<D_EMPL_INSUR_NUM/>' + CHAR(10)) else  ('<D_EMPL_INSUR_NUM>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_EMP_INSUR_NUM, ''))) +'</D_EMPL_INSUR_NUM>'+ CHAR(10) ) END)
																				/*поле NOMEN - линк таблицы NOMENCLATURE*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_NOMEN_CODE, '')))= '' then ('<D_NOMEN_CODE/>' + CHAR(10)) else  ('<D_NOMEN_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_NOMEN_CODE, ''))) +'</D_NOMEN_CODE>'+ CHAR(10) ) END)
																				/*поле INV - линк таблицы INVENTORY*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_INV_code, '')))= '' then ('<D_INVENT_code/>' + CHAR(10)) else  ('<D_INVENT_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_INV_code, ''))) +'</D_INVENT_code>'+ CHAR(10) ) END)
																				/*поле KAU - линк таблицы KAU*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_KAU_code, '')))= '' then ('<D_KAU_code/>' + CHAR(10)) else  ('<D_KAU_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_KAU_code, ''))) +'</D_KAU_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_KAU_thema, '')))= '' then ('<D_KAU_thema/>' + CHAR(10)) else  ('<D_KAU_thema>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_KAU_thema, ''))) +'</D_KAU_thema>'+ CHAR(10) ) END)
																				/*поле DEP_ACC - линк таблицы DEPARTMENT_ACCOUNTS*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_ACC_code, '')))= '' then ('<D_DEP_ACC_code/>' + CHAR(10)) else  ('<D_DEP_ACC_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_ACC_code, ''))) +'</D_DEP_ACC_code>'+ CHAR(10) ) END)
																				/*поле TMC - линк таблицы DICTION*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_TMC_code,'')))) = 0 then ('<D_TMC_code/>' + CHAR(10)) else  ('<D_TMC_code>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_TMC_code,'')))) +'</D_TMC_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when convert(varchar(10),ISNULL(GP.GPAP_D_INDATE,''),104) = '01.01.1900' then ('<D_INDATE/>' + CHAR(10)) else  ('<D_INDATE>'+ convert(varchar(10),ISNULL(GP.GPAP_D_INDATE,''),104) +'</D_INDATE>'+ CHAR(10) ) END)
																				 /*поле SGU - линк таблицы KOSGU*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SGU_code, ''))) = 0 then ('<D_SGU_code/>' + CHAR(10)) else  ('<D_SGU_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SGU_code, ''))) +'</D_SGU_code>'+ CHAR(10) ) END)
																				/*поле AP1 - линк таблицы OSNOV*/
																				/*таблица OSNOV*/
																				--+ SPACE(4) + '<D_AP1_TYPE_LINK>' + case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_TYPE_LINK,'')))) = 0 THEN '' ELSE RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_TYPE_LINK,'')))) end  + '</D_AP1_TYPE_LINK>'  + CHAR(10)
																				--+ SPACE(4) + '<D_AP1_doc_link>' +  RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_doc_link,'')))) + '</D_AP1_doc_link>'  + CHAR(10)
																				/*поле LINK_G_PROV - линк таблицы G_PROV*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP1_NUMBER, '')))= '' then ('<D_AP1_NUMBER/>' + CHAR(10)) else  ('<D_AP1_NUMBER>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP1_NUMBER, ''))) +'</D_AP1_NUMBER>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when convert(varchar(10),ISNULL(GP.GPAP_D_AP1_DATE,''),104) = '01.01.1900'then ('<D_AP1_DATE/>' + CHAR(10)) else  ('<D_AP1_DATE>'+ convert(varchar(10),ISNULL(GP.GPAP_D_AP1_DATE,''),104) +'</D_AP1_DATE>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP1_CODE, ''))) = '' then ('<D_AP1_CODE/>' + CHAR(10)) else  ('<D_AP1_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP1_CODE, ''))) +'</D_AP1_CODE>'+ CHAR(10) ) END)
																				+ SPACE(7) +  (case when convert(varchar(10),ISNULL(GP.GPAP_D_AP1_DATE_PROV,''),104) = '01.01.1900'then ('<D_AP1_DATE_PROV/>' + CHAR(10)) else  ('<D_AP1_DATE_PROV>'+ convert(varchar(10),ISNULL(GP.GPAP_D_AP1_DATE_PROV,''),104) +'</D_AP1_DATE_PROV>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_SUMMA,0),18,4))) = '0.0000' then ('<D_AP1_SUMMA/>' + CHAR(10)) else  ('<D_AP1_SUMMA>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_SUMMA,0),18,4))) +'</D_AP1_SUMMA>'+ CHAR(10) ) END)
																				 /*поле AP2 - линк таблицы DOP_CLASSIF*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP2_code, ''))) = '' then ('<D_AP2_code/>' + CHAR(10)) else  ('<D_AP2_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP2_code, ''))) +'</D_AP2_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP3, ''))) = 0 then ('<D_AP3/>' + CHAR(10)) else  ('<D_AP3>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP3, ''))) +'</D_AP3>'+ CHAR(10) ) END)

	
																			/*Кредит*/

				 																+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_DB_KR, ''))) = '' then ('<K_DB_KR/>' + CHAR(10)) else  ('<K_DB_KR>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DB_KR, ''))) +'</K_DB_KR>'+ CHAR(10) ) END)
																				/*поле ACCOUNT - линк таблицы s_accounts*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_CODE, ''))) = '' then ('<K_ACC/>' + CHAR(10)) else  ('<K_ACC>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_CODE, ''))) +'</K_ACC>'+ CHAR(10) ) END)
																				/*поле KBK - линк таблицы KL_KBK*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_KBK_code, ''))) = '' then ('<K_KBK/>' + CHAR(10)) else  ('<K_KBK>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_KBK_code, ''))) +'</K_KBK>'+ CHAR(10) ) END)
																				/*поле EKR - линк таблицы KOSGU*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_EKR_code, ''))) = '' then ('<K_EKR/>' + CHAR(10)) else  ('<K_EKR>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_EKR_code, ''))) +'</K_EKR>'+ CHAR(10) ) END)
																				 /*поле DEP - линк таблицы DEPARTMENTS*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_CODE, ''))) = '' then ('<K_DEP_CODE/>' + CHAR(10)) else  ('<K_DEP_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_CODE, ''))) +'</K_DEP_CODE>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_INN, ''))) = ''  then ('<K_DEP_INN/>' + CHAR(10)) else  ('<K_DEP_INN>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_INN, ''))) +'</K_DEP_INN>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_KPP, ''))) = '' then ('<K_DEP_KPP/>' + CHAR(10)) else  ('<K_DEP_KPP>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_KPP, ''))) +'</K_DEP_KPP>'+ CHAR(10) ) END)
																				 /*поле SUB - линк таблицы SUBDIV*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_code, '')))= '' then ('<K_SUB_code/>' + CHAR(10)) else  ('<K_SUB_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_code, ''))) +'</K_SUB_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(STR(COALESCE(GP.GPAP_k_SUB_lim,0),18,2))) = '0.00' then ('<K_SUB_lim/>' + CHAR(10)) else  ('<K_SUB_lim>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_k_SUB_lim,0),18,2))) +'</K_SUB_lim>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_SUB_obosob,'')))) = 0 then ('<K_SUB_obosob/>' + CHAR(10)) else  ('<K_SUB_obosob>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_SUB_obosob,'')))) +'</K_SUB_obosob>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_okato, '')))= '' then ('<K_SUB_okato/>' + CHAR(10)) else  ('<K_SUB_okato>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_okato, ''))) +'</K_SUB_okato>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_okpp, '')))= '' then ('<K_SUB_okpp/>' + CHAR(10)) else  ('<K_SUB_okpp>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_okpp, ''))) +'</K_SUB_okpp>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_oktmo, '')))= '' then ('<K_SUB_oktmo/>' + CHAR(10)) else  ('<K_SUB_oktmo>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_oktmo, ''))) +'</K_SUB_oktmo>'+ CHAR(10) ) END)
																				/*поле EMP - линк таблицы SD_EMPL*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_EMP_tab, '')))= '' then ('<K_EMPL_tab/>' + CHAR(10)) else  ('<K_EMPL_tab>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_EMP_tab, ''))) +'</K_EMPL_tab>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_EMP_INSUR_NUM,'')))= '' then ('<K_EMPL_INSUR_NUM/>' + CHAR(10)) else  ('<K_EMPL_INSUR_NUM>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_EMP_INSUR_NUM, ''))) +'</K_EMPL_INSUR_NUM>'+ CHAR(10) ) END)
																				/*поле NOMEN - линк таблицы NOMENCLATURE*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_NOMEN_CODE, '')))= '' then ('<K_NOMEN_CODE/>' + CHAR(10)) else  ('<K_NOMEN_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_NOMEN_CODE, ''))) +'</K_NOMEN_CODE>'+ CHAR(10) ) END)
																				/*поле INV - линк таблицы INVENTORY*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_INV_code, '')))= '' then ('<K_INVENT_code/>' + CHAR(10)) else  ('<K_INVENT_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_INV_code, ''))) +'</K_INVENT_code>'+ CHAR(10) ) END)
																				/*поле KAU - линк таблицы KAU*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_KAU_code, '')))= '' then ('<K_KAU_code/>' + CHAR(10)) else  ('<K_KAU_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_KAU_code, ''))) +'</K_KAU_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_KAU_thema, '')))= '' then ('<K_KAU_thema/>' + CHAR(10)) else  ('<K_KAU_thema>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_KAU_thema, ''))) +'</K_KAU_thema>'+ CHAR(10) ) END)
																				/*поле DEP_ACC - линк таблицы DEPARTMENT_ACCOUNTS*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_ACC_code, '')))= '' then ('<K_DEP_ACC_code/>' + CHAR(10)) else  ('<K_DEP_ACC_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_ACC_code, ''))) +'</K_DEP_ACC_code>'+ CHAR(10) ) END)						/*поле TMC - линк таблицы DICTION*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_TMC_code,'')))) = 0 then ('<K_TMC_code/>' + CHAR(10)) else  ('<K_TMC_code>'+  RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_TMC_code,'')))) +'</K_TMC_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when convert(varchar(10),ISNULL(GP.GPAP_K_INDATE,''),104) = '01.01.1900' then ('<K_INDATE/>' + CHAR(10)) else  ('<K_INDATE>'+ convert(varchar(10),ISNULL(GP.GPAP_K_INDATE,''),104) +'</K_INDATE>'+ CHAR(10) ) END)
																				 /*поле SGU - линк таблицы KOSGU*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SGU_code, ''))) = 0 then ('<K_SGU_code/>' + CHAR(10)) else  ('<K_SGU_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SGU_code, ''))) +'</K_SGU_code>'+ CHAR(10) ) END)
																				/*поле AP1 - линк таблицы OSNOV*/
																				/*таблица OSNOV*/
																				/*поле LINK_G_PROV - линк таблицы G_PROV*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP1_NUMBER, '')))= '' then ('<K_AP1_NUMBER/>' + CHAR(10)) else  ('<K_AP1_NUMBER>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP1_NUMBER, ''))) +'</K_AP1_NUMBER>'+ CHAR(10) ) END)	
																				+ SPACE(7) + (case when convert(varchar(10),ISNULL(GP.GPAP_K_AP1_DATE,''),104) = '01.01.1900' then ('<K_AP1_DATE/>' + CHAR(10)) else  ('<K_AP1_DATE>'+ convert(varchar(10),ISNULL(GP.GPAP_K_AP1_DATE,''),104) +'</K_AP1_DATE>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP1_CODE, ''))) = '' then ('<K_AP1_CODE/>' + CHAR(10)) else  ('<K_AP1_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP1_CODE, ''))) +'</K_AP1_CODE>'+ CHAR(10) ) END)
																				+ SPACE(7) +  (case when convert(varchar(10),ISNULL(GP.GPAP_K_AP1_DATE_PROV,''),104) = '01.01.1900'then ('<K_AP1_DATE_PROV/>' + CHAR(10)) else  ('<K_AP1_DATE_PROV>'+ convert(varchar(10),ISNULL(GP.GPAP_K_AP1_DATE_PROV,''),104) +'</K_AP1_DATE_PROV>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_AP1_SUMMA,0),18,4))) = '0.0000' then ('<K_AP1_SUMMA/>' + CHAR(10)) else  ('<K_AP1_SUMMA>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_AP1_SUMMA,0),18,4))) +'</K_AP1_SUMMA>'+ CHAR(10) ) END)
																				/*поле AP2 - линк таблицы DOP_CLASSIF*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP2_code, ''))) = '' then ('<K_AP2_code/>' + CHAR(10)) else  ('<K_AP2_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP2_code, ''))) +'</K_AP2_code>'+ CHAR(10) ) END)
																				
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP3, ''))) = 0 then ('<K_AP3/>' + CHAR(10)) else  ('<K_AP3>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP3, ''))) +'</K_AP3>'+ CHAR(10) ) END)
																				FROM
																				#PROV_DOC P
																				INNER JOIN #G_PROV_AP_FULL GP ON GP.GP_LINK = P.GP_LINK AND GP.GPAP_D_LINK_UP = P.GP2_LINK
																			WHERE 
																				GP.GPAP_D_LINK_UP = @d_LINK
																		
																							
															--+ SPACE(5) + '</G_PROV2>' + CHAR(10)

																		END
																		
																		FETCH NEXT FROM @Cur5 INTO @d_LINK
																
																	END
																	CLOSE @Cur5
																	DEALLOCATE @Cur5									
								
													

															
										END
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME,
											+ SPACE(5) + '</G_PROV2>' + CHAR(10)
										FETCH NEXT FROM @Cur4 INTO @GP2_LINK
									
									END
									CLOSE @Cur4
									DEALLOCATE @Cur4									
							
								
						END
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
						SELECT @lcFNAME,
							+ SPACE(4) + '</G_PROV1>' + CHAR(10)

						FETCH NEXT FROM @Cur3 INTO @GP1_LINK
					
					END
					CLOSE @Cur3
					DEALLOCATE @Cur3
						
					

			END
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME,	
					+ SPACE(3) + '</G_PROV>' + CHAR(10)

			
			set @N_STR = @N_STR + 1 
			FETCH NEXT FROM @Cur2 INTO @GPROV_LINK				
		END

		CLOSE @Cur2
		DEALLOCATE @Cur2
		
		FETCH NEXT FROM @Cur1 INTO @DEP_LINK
	END							

	
	
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '</Org>'	
	
	
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, '</Exchange>'

	
END

CLOSE @Cur1
DEALLOCATE @Cur1



SET NOCOUNT OFF


select * from #OUTPUT order by [ID]
--select OUT_TEXT from #OUTPUT order by [ID]







GO


GRANT EXECUTE ON dbo.[SS_PROV_EXPORT] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_SYNT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_SYNT]

GO

/* 
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_SYNT
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@cVal_Dop char(1), @nOtborLinkDOP int,	-- Доп. кл-ция --
	@varKSnPRN_KBK	INT				,
	@varKSnPRN_SGU	INT	,
	@intTYPE_ACCT INT	,
	@intSVOD_ZB INT		,
	@intPRN_DOP	INT
AS
BEGIN
	SET @intTYPE_ACCT = ISNULL (@intTYPE_ACCT, 0)

	DECLARE	@varKSLINK_DEP	INT,
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKScDATE_NEXT	VARCHAR (10)

	SET @varKScDATE_NEXT = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSdDate2), 104)

	DECLARE @ACCT TABLE (LINK_ACCT [INT])

	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		WHERE @intTYPE_ACCT = 0
			OR (@intTYPE_ACCT = 1 AND ACCT.ZABALANS = 0)
			OR (@intTYPE_ACCT = 2 AND ACCT.ZABALANS = 1)

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ПО ДОП. КЛ-ЦИИ --- 
	DECLARE @TAB_DOP TABLE (LINK_DOP INT, DOP_CODE VARCHAR (20))
	
	IF @intPRN_DOP = 1
		IF LEN (@cVal_Dop) > 0
			INSERT INTO @TAB_DOP
			SELECT AP.LINK,
				AP.CODE
			FROM dbo.DOP_CLASSIF AP 
			INNER JOIN dbo.OBJECT_VAR_DOP_CLASSIF OVR ON (OVR.RECORD = AP.LINK)
			WHERE OVR.LINK_UP = @nOtborLinkDOP
		ELSE
			INSERT INTO @TAB_DOP
			SELECT LINK_AP, AP_CODE
			FROM dbo.BK_GetTableDictionByAP ('AP2')
	ELSE
		INSERT INTO @TAB_DOP (LINK_DOP, DOP_CODE)
		VALUES (0, '')

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = dbo.BK_GET_PRINT_DEP_NAME (LINK), 
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'
		SET @varKSLINK_DEP = NULL
	END

	DECLARE @TABLE1 TABLE (ACCOUNT [INT],
			KBK [INT], KOSGU [INT],
			AP2 INT,
			D_SUMMA [NUMERIC] (20,2),		
			K_SUMMA [NUMERIC] (20,2),		
			IN_SUMMA [NUMERIC] (20,2),		
			OUT_SUMMA [NUMERIC] (20,2))		

	INSERT INTO @TABLE1
	SELECT T1.ACCOUNT,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE
			WHEN @intPRN_DOP = 1 THEN T1.AP2
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSLINK_DEP) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
/*	WHERE (@intSVOD_ZB = 1
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSLINK_DEP))
*/	GROUP BY T1.ACCOUNT,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE
			WHEN @intPRN_DOP = 1 THEN T1.AP2
			ELSE 0
		END

	DECLARE @RESULT TABLE (ACCOUNT [INT],
			ACCT_CODE [VARCHAR] (60),
			DOP_CODE	VARCHAR (20),
			D_SUM [NUMERIC] (20,2),			
			K_SUM [NUMERIC] (20,2),			
			DIN_SUM [NUMERIC] (20,2),	KIN_SUM [NUMERIC] (20,2),		
			DOUT_SUM [NUMERIC] (20,2), KOUT_SUM [NUMERIC] (20,2),	
			ORGNAME [VARCHAR](254),
			NEXT_DATE [VARCHAR] (10))

	INSERT INTO @RESULT
	SELECT OSV.ACCOUNT,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		D.DOP_CODE, 
		OSV.D_SUMMA,			
		OSV.K_SUMMA,			
		CASE 				
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,			
		@varKSDEP_NAME,
		@varKScDATE_NEXT
	FROM @TABLE1 OSV
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	INNER JOIN @TAB_DOP D ON (D.LINK_DOP = OSV.AP2)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SELECT * FROM @RESULT ORDER BY ACCT_CODE, DOP_CODE

END




GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_SYNT] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_PRINT_TABEL_421m]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_PRINT_TABEL_421m]

GO

CREATE   PROCEDURE dbo.SA_PRINT_TABEL_421m
	@varKSnLINKDoc INT,
	@varKSnOption1 INT= 1,
	@varKSnCheck1 INT = 0,
	@nSort3 int = 0 /*сортировка 3*/,
	@nCheck3 tinyint = 0 /*Фио полностью*/,
	@nCheck5 tinyint = 0 /* Пустой табель */,
	@varKSSUBDIV VARCHAR(254) OUTPUT, 
	@varKSSUBDIV_CODE VARCHAR(10) OUTPUT,
	@varKSDIV_CODE VARCHAR(10) OUTPUT, 
	@varKSDIV_NAME VARCHAR(254) OUTPUT,
	@varKSTI_CODE VARCHAR(10) OUTPUT, 
	@varKSTI_NAME VARCHAR(254) OUTPUT,
	@varKSEXP_CODE VARCHAR(10) OUTPUT, 
	@varKSEXP_NAME VARCHAR(254) OUTPUT

AS
BEGIN

	declare @varKSdDate1 DATETIME, @varKSdDate2 DATETIME
	SELECT @varKSdDate1 = PERIOD FROM TABELS WHERE LINK_DOC = @varKSnLINKDoc
	SELECT @varKSdDate1 = dbo.DateBeginOfMonth(@varKSdDate1)
	SELECT @varKSdDate2 = dbo.DateEndOfMonth(@varKSdDate1)

	CREATE TABLE #T_RES00 (
		ID VARCHAR(20),
		LINK_FACE INT, 
		LINK_EMPL INT,
		LINK_SOVM INT,
		FIO VARCHAR(254),
		NAME_EMPL VARCHAR(254),
		TN VARCHAR(10) ,
		SUBDIV_LINK INT, 
		CODE_SUB VARCHAR(10),
		SUBDIV VARCHAR(254) ,
		POST_LINK INT,
		CODE_POST VARCHAR(10),
		POST VARCHAR(254) ,
		
		DAY_1 VARCHAR(4),	DAY_2 VARCHAR(4),	DAY_3 VARCHAR(4),	DAY_4 VARCHAR(4),	DAY_5 VARCHAR(4),
		DAY_6 VARCHAR(4),	DAY_7 VARCHAR(4),	DAY_8 VARCHAR(4),	DAY_9 VARCHAR(4),	DAY_10 VARCHAR(4),
		DAY_11 VARCHAR(4),	DAY_12 VARCHAR(4),	DAY_13 VARCHAR(4),	DAY_14 VARCHAR(4),	DAY_15 VARCHAR(4),
		DAY_16 VARCHAR(4),	DAY_17 VARCHAR(4),	DAY_18 VARCHAR(4),	DAY_19 VARCHAR(4),	DAY_20 VARCHAR(4),
		DAY_21 VARCHAR(4),	DAY_22 VARCHAR(4),	DAY_23 VARCHAR(4),	DAY_24 VARCHAR(4),	DAY_25 VARCHAR(4),
		DAY_26 VARCHAR(4),	DAY_27 VARCHAR(4),	DAY_28 VARCHAR(4),	DAY_29 VARCHAR(4),	DAY_30 VARCHAR(4),
		DAY_31 VARCHAR(4),
		
		HALF_D INT, --HALF_H NUMERIC(6,2), 	
		--HALF2_D INT, HALF2_H NUMERIC(6,2), 	
		--ALL_D INT, ALL_H NUMERIC(6,2), 		
		NONE_DAYS INT, 
		--NONE_HOURS NUMERIC(6,2)	,
		
		TYPE_1 INT, 
		--TYPE_1H NUMERIC(6,2),
		--TYPE_2H INT, 
		TYPE_2 NUMERIC(6,2), 
		TYPE_3 INT, TYPE_4 INT, TYPE_5 INT, TYPE_6 INT, TYPE_7 INT, TYPE_8 INT, TYPE_9 INT, 
		--TYPE_10 INT, 
		TYPE_11 INT, 
		--TYPE_12 INT,

		--TYPE_13 INT,	-- ОТРАБОТАНО В МЕСЯЦ СВЕРУХРОЧНЫХ ЧАСОВ
		--TYPE_14 INT,	-- ОТРАБОТАНО В МЕСЯЦ НОЧНЫХ ЧАСОВ
		--TYPE_15 INT,	-- ОТРАБОТАНО В МЕСЯЦ ЧАСОВ В ВЫХОДНЫЕ И ПРАЗДНИЧНЫЕ ДНИ
	) 

	---
	DECLARE @ISMINUTES TINYINT
	SET @ISMINUTES = DBO.SA_GET_OPTION_BY_CODE('TABEL_OPT10') --УЧЕТ ВРЕМЕНИ В ЧАСАХ И МИНУТАХ

	---
	declare @def_tdlink int, @def_tdname varchar(254), @def_tdsymb varchar(4)
	Select @def_tdlink = LINK, @def_tdname = [NAME], @def_tdsymb = SYMB from dbo.TYP_DAYS where WORK_D = 1 AND TYP_YAVKA = 1

	select  LINK_DOC, NUMBER, DATE, LINK_EMPL, PERIOD, [DAY], 
		SUM([HOUR]) as [HOUR], 
		MAX(WORK_D) as WORK_D,
		MAX(TYP_YAV) AS TYP_YAV,
		(CASE when count(TYPE_DAY) = 1 then MAX(TYPE_DAY) else @def_tdlink end) as TYPE_DAY,
		(CASE when count(SYMB) = 1 then MAX(SYMB) else @def_tdsymb end) as SYMB,	
		(CASE when count(SYMB) = 1 then MAX(TYPE_DATY_NAME) else @def_tdname end) as TYPE_DATY_NAME
	into #tabel 
	from TABEL WHERE LINK_DOC = @varKSnLINKDoc
	group by LINK_DOC, NUMBER, DATE, LINK_EMPL, PERIOD, [DAY]
--	having count(SYMB) > 1
--AND TYPE_DAY not in (Select KOD from [dbo].[SA_TYPES_DOP_TAB])

	--- Информация об отработанных днях
	SELECT W.LINK_UP1, W.LINK_SOVM,
	DAYS_H1 = 
		CASE WHEN SUM(W.D1) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D2) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D3) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D4) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D5) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D6) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D7) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D8) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D9) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D10) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D11) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D12) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D13) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D14) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D15) > 0 THEN 1 ELSE 0 END,

	DAYS_H2 = 
		CASE WHEN SUM(W.D16) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D17) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D18) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D19) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D20) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D21) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D22) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D23) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D24) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D25) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D26) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D27) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D28) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D29) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D30) > 0 THEN 1 ELSE 0 END 
	+	CASE WHEN SUM(W.D31) > 0 THEN 1 ELSE 0 END,
	

	[HOURS] = 
			DBO.MINUTES_TO_NUM( 
			SUM(
			DBO.NUM_TO_MINUTES(W.D1,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D2,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D3,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D4,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D5,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D6,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D7,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D8,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D9,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D10,@ISMINUTES)

		+	DBO.NUM_TO_MINUTES(W.D11,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D12,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D13,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D14,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D15,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D16,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D17,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D18,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D19,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D20,@ISMINUTES)

		+	DBO.NUM_TO_MINUTES(W.D21,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D22,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D23,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D24,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D25,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D26,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D27,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D28,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D29,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D30,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D31,@ISMINUTES)
		)
		,@ISMINUTES)
	INTO 
		#WORK_DAYS
	FROM 
		DBO.SA_TABELS_W W
	WHERE 
		LINK_UP = @varKSnLINKDoc
	GROUP BY 
		W.LINK_UP1, W.LINK_SOVM
		
	--- Информация об отработанных днях
	SELECT W.LINK_UP1, W.LINK_SOVM,
	DAYS_Y7 = 
			CASE WHEN SUM(W.D1) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D2) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D3) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D4) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D5) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D6) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D7) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D8) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D9) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D10) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D11) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D12) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D13) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D14) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D15) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D16) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D17) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D18) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D19) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D20) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D21) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D22) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D23) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D24) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D25) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D26) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D27) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D28) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D29) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D30) > 0 THEN 1 ELSE 0 END 
		+	CASE WHEN SUM(W.D31) > 0 THEN 1 ELSE 0 END
	INTO 
		#WORK_DAYS1
	FROM 
		DBO.SA_TABELS_W W
	WHERE 
		LINK_UP = @varKSnLINKDoc
		AND
		TYP_YAVKA = 7
	GROUP BY 
		W.LINK_UP1, W.LINK_SOVM		

	--- Информация о неявках сотрудников
	SELECT 
		N.LINK_UP1,
		T.WORK_D,
		COUNT_DAYS = 
			CASE WHEN N.D1 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D2 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D3 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D4 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D5 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D6 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D7 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D8 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D9 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D10 = T.LINK THEN 1 ELSE 0 END

			+ CASE WHEN N.D11 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D12 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D13 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D14 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D15 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D16 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D17 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D18 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D19 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D20 = T.LINK THEN 1 ELSE 0 END

			+ CASE WHEN N.D21 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D22 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D23 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D24 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D25 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D26 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D27 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D28 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D29 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D30 = T.LINK THEN 1 ELSE 0 END 
			+ CASE WHEN N.D31 = T.LINK THEN 1 ELSE 0 END 
	INTO 
		#NOTWORK_DAYS
	FROM
		DBO.SA_TABELS_N N, DBO.TYP_DAYS T
	WHERE
		LINK_UP = @varKSnLINKDoc




	CREATE TABLE #WS (LINK_EMPL INT, LINK_SOVM INT,
		W1 VARCHAR(6), W2 VARCHAR(6), W3 VARCHAR(6), W4 VARCHAR(6), W5 VARCHAR(6), W6 VARCHAR(6), W7 VARCHAR(6), W8 VARCHAR(6), W9 VARCHAR(6), W10 VARCHAR(6),
		W11 VARCHAR(6), W12 VARCHAR(6), W13 VARCHAR(6), W14 VARCHAR(6), W15 VARCHAR(6), W16 VARCHAR(6), W17 VARCHAR(6), W18 VARCHAR(6), W19 VARCHAR(6), W20 VARCHAR(6), 
		W21 VARCHAR(6), W22 VARCHAR(6), W23 VARCHAR(6), W24 VARCHAR(6), W25 VARCHAR(6), W26 VARCHAR(6), W27 VARCHAR(6), W28 VARCHAR(6), W29 VARCHAR(6), W30 VARCHAR(6), W31 VARCHAR(6)
		)
	---
	INSERT INTO #WS
	SELECT 
		WP.LINK_EMPL, WP.LINK_SOVM, 
		W1 = LEFT(MAX(CASE WHEN W.D1 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W2 = LEFT(MAX(CASE WHEN W.D2 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W3 = LEFT(MAX(CASE WHEN W.D3 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W4 = LEFT(MAX(CASE WHEN W.D4 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W5 = LEFT(MAX(CASE WHEN W.D5 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W6 = LEFT(MAX(CASE WHEN W.D6 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W7 = LEFT(MAX(CASE WHEN W.D7 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W8 = LEFT(MAX(CASE WHEN W.D8 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W9 = LEFT(MAX(CASE WHEN W.D9 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W10 = LEFT(MAX(CASE WHEN W.D10 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),

		W11 = LEFT(MAX(CASE WHEN W.D11 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W12 = LEFT(MAX(CASE WHEN W.D12 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W13 = LEFT(MAX(CASE WHEN W.D13 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W14 = LEFT(MAX(CASE WHEN W.D14 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W15 = LEFT(MAX(CASE WHEN W.D15 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W16 = LEFT(MAX(CASE WHEN W.D16 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W17 = LEFT(MAX(CASE WHEN W.D17 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W18 = LEFT(MAX(CASE WHEN W.D18 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W19 = LEFT(MAX(CASE WHEN W.D19 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W20 = LEFT(MAX(CASE WHEN W.D20 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),

		W21 = LEFT(MAX(CASE WHEN W.D21 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W22 = LEFT(MAX(CASE WHEN W.D22 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W23 = LEFT(MAX(CASE WHEN W.D23 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W24 = LEFT(MAX(CASE WHEN W.D24 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W25 = LEFT(MAX(CASE WHEN W.D25 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W26 = LEFT(MAX(CASE WHEN W.D26 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W27 = LEFT(MAX(CASE WHEN W.D27 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W28 = LEFT(MAX(CASE WHEN W.D28 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W29 = LEFT(MAX(CASE WHEN W.D29 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W30 = LEFT(MAX(CASE WHEN W.D30 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),

		W31 = LEFT(MAX(CASE WHEN W.D31 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6)
	FROM 
		DBO.TABELS T 
		INNER JOIN DBO.SA_TABELS_EMPLS TE ON T.LINK = TE.LINK
		INNER JOIN DBO.SA_TABELS_EMPLS_WP WP ON TE.LINK = WP.LINK_UP1
		LEFT JOIN DBO.TABELS_W W ON TE.LINK = W.link_up AND WP.LINK_SOVM = COALESCE(W.link_sovm,0)
		LEFT JOIN dbo.TYP_DAYS TD ON TD.LINK = W.LINK_DAY
	WHERE			
		T.LINK_DOC = @varKSnLINKDoc
	GROUP BY 
		WP.LINK_EMPL, WP.LINK_SOVM		
	ORDER BY
		 WP.LINK_EMPL, WP.LINK_SOVM

	---
	CREATE TABLE #S (LINK_EMPL INT, LINK_SOVM INT,
		W1 VARCHAR(4), W2 VARCHAR(4), W3 VARCHAR(4), W4 VARCHAR(4), W5 VARCHAR(4), W6 VARCHAR(4), W7 VARCHAR(4), W8 VARCHAR(4), W9 VARCHAR(4), W10 VARCHAR(4),
		W11 VARCHAR(4), W12 VARCHAR(4), W13 VARCHAR(4), W14 VARCHAR(4), W15 VARCHAR(4), W16 VARCHAR(4), W17 VARCHAR(4), W18 VARCHAR(4), W19 VARCHAR(4), W20 VARCHAR(4), 
		W21 VARCHAR(4), W22 VARCHAR(4), W23 VARCHAR(4), W24 VARCHAR(4), W25 VARCHAR(4), W26 VARCHAR(4), W27 VARCHAR(4), W28 VARCHAR(4), W29 VARCHAR(4), W30 VARCHAR(4), W31 VARCHAR(4)
		 )	

	INSERT INTO #S (LINK_EMPL, LINK_SOVM, W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, W13, W14, W15, W16, W17, W18, W19, W20, W21, W22, W23, W24, W25, W26, W27, W28, W29, W30, W31 )
	SELECT 
		T.LINK_EMPL, T.LINK_SOVM,
		LTRIM(RTRIM(MAX(W1))), LTRIM(RTRIM(MAX(W2))), LTRIM(RTRIM(MAX(W3))), LTRIM(RTRIM(MAX(W4))), LTRIM(RTRIM(MAX(W5))), LTRIM(RTRIM(MAX(W6))), LTRIM(RTRIM(MAX(W7))), LTRIM(RTRIM(MAX(W8))), LTRIM(RTRIM(MAX(W9))), LTRIM(RTRIM(MAX(W10))), 
		LTRIM(RTRIM(MAX(W11))), LTRIM(RTRIM(MAX(W12))), LTRIM(RTRIM(MAX(W13))), LTRIM(RTRIM(MAX(W14))), LTRIM(RTRIM(MAX(W15))), LTRIM(RTRIM(MAX(W16))), LTRIM(RTRIM(MAX(W17))), LTRIM(RTRIM(MAX(W18))), LTRIM(RTRIM(MAX(W19))), LTRIM(RTRIM(MAX(W20))), 
		LTRIM(RTRIM(MAX(W21))), LTRIM(RTRIM(MAX(W22))), LTRIM(RTRIM(MAX(W23))), LTRIM(RTRIM(MAX(W24))), LTRIM(RTRIM(MAX(W25))), LTRIM(RTRIM(MAX(W26))), LTRIM(RTRIM(MAX(W27))), LTRIM(RTRIM(MAX(W28))), LTRIM(RTRIM(MAX(W29))), LTRIM(RTRIM(MAX(W30))), LTRIM(RTRIM(MAX(W31))) 
	FROM
	(	
		SELECT 
			LINK_EMPL, LINK_SOVM, W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, W13, W14, W15, W16, W17, W18, W19, W20, W21, W22, W23, W24, W25, W26, W27, W28, W29, W30, W31 
		FROM #WS
		UNION ALL
		SELECT 
			WP.LINK_EMPL, WP.LINK_SOVM, 
			SPACE(4) + ISNULL(SYMB1,''), SPACE(4) + ISNULL(SYMB2,''), SPACE(4) + ISNULL(SYMB3,''), SPACE(4) + ISNULL(SYMB4,''), SPACE(4) + ISNULL(SYMB5,''), SPACE(4) + ISNULL(SYMB6,''), SPACE(4) + ISNULL(SYMB7,''), SPACE(4) + ISNULL(SYMB8,''), SPACE(4) + ISNULL(SYMB9,''), SPACE(4) + ISNULL(SYMB10,''),
			SPACE(4) + ISNULL(SYMB11,''), SPACE(4) + ISNULL(SYMB12,''), SPACE(4) + ISNULL(SYMB13,''), SPACE(4) + ISNULL(SYMB14,''), SPACE(4) + ISNULL(SYMB15,''), SPACE(4) + ISNULL(SYMB16,''), SPACE(4) + ISNULL(SYMB17,''), SPACE(4) + ISNULL(SYMB18,''), SPACE(4) + ISNULL(SYMB19,''), SPACE(4) + ISNULL(SYMB20,''), 
			SPACE(4) + ISNULL(SYMB21,''), SPACE(4) + ISNULL(SYMB22,''), SPACE(4) + ISNULL(SYMB23,''), SPACE(4) + ISNULL(SYMB24,''), SPACE(4) + ISNULL(SYMB25,''), SPACE(4) + ISNULL(SYMB26,''), SPACE(4) + ISNULL(SYMB27,''), SPACE(4) + ISNULL(SYMB28,''), SPACE(4) + ISNULL(SYMB29,''), SPACE(4) + ISNULL(SYMB30,''), SPACE(4) + ISNULL(SYMB31,'')
		FROM 
			DBO.TABELS T 
			INNER JOIN DBO.SA_TABELS_EMPLS TE ON T.LINK = TE.LINK
			INNER JOIN DBO.SA_TABELS_EMPLS_WP WP ON TE.LINK = WP.LINK_UP1
			LEFT JOIN DBO.SA_TABELS_N N ON TE.LINK = N.LINK_UP1
		WHERE			
			T.LINK_DOC = @varKSnLINKDoc
	) T
	GROUP BY
		T.LINK_EMPL, T.LINK_SOVM
	ORDER BY 1,2

	
	INSERT INTO #T_RES00
		(ID,LINK_FACE, LINK_EMPL, LINK_SOVM, FIO, NAME_EMPL, TN, SUBDIV_LINK, CODE_SUB, SUBDIV, POST_LINK, CODE_POST, POST,

		DAY_1,  DAY_2,  DAY_3,  DAY_4,  DAY_5,  DAY_6,  DAY_7,  DAY_8,  DAY_9,  DAY_10, 
		DAY_11, DAY_12, DAY_13, DAY_14, DAY_15, DAY_16, DAY_17, DAY_18, DAY_19, DAY_20, 
		DAY_21, DAY_22, DAY_23, DAY_24, DAY_25, DAY_26, DAY_27, DAY_28, DAY_29, DAY_30, DAY_31,
		HALF_D,
		NONE_DAYS, 

		TYPE_1, 

		TYPE_2, 

		TYPE_3, TYPE_4, TYPE_5, TYPE_6, TYPE_7, TYPE_8, TYPE_9, 

		TYPE_11 

	)
	SELECT
		ID = RIGHT( REPLACE(SPACE(20),SPACE(1),'0') + CONVERT(VARCHAR(20),WP.LINK_EMPL),10) +RIGHT( REPLACE(SPACE(20),SPACE(1),'0') + CONVERT(VARCHAR(20),WP.LINK_SOVM),10) ,
		[LINK_FACE] = P.LINK,
		WP.LINK_EMPL,
		WP.LINK_SOVM,
		[FIO]  = (case when coalesce(@nCheck3,0) = 1 then  coalesce(LEFT(LTRIM(RTRIM(COALESCE(LTRIM(RTRIM(P.FM)) + ' ' + LTRIM(RTRIM(P.IM)) + ' ' + LTRIM(RTRIM(P.OT)),'Не заполнено'))),100), SPACE(100)) 
					else coalesce(LEFT(LTRIM(RTRIM(COALESCE(LTRIM(RTRIM(FM)) + ' ' + LEFT(LTRIM(RTRIM(IM)),1) + '.' + LEFT(LTRIM(RTRIM(OT)),1) + '.', 'Не заполнено'))),30), SPACE(100)) end),
		[NAME_EMPL] = LEFT(LTRIM(RTRIM(COALESCE(LTRIM(RTRIM(FM)) + ' ' + LEFT(LTRIM(RTRIM(IM)),1) + '.' + LEFT(LTRIM(RTRIM(OT)),1) + '.', 'Не заполнено'))),30),
		[TN] 		= ISNULL(TE.TAB, SPACE(10)),
		[SUBDIV_LINK] = TE.SUBDIV_LINK,
		[CODE_SUB] = ISNULL( TE.SUBDIV_CODE, SPACE(10) ),
		[SUBDIV] = ISNULL( TE.SUBDIV_NAME, SPACE(254) ),
		[POST_LINK] = WP.POST_LINK,
		[CODE_POST] = ISNULL( WP.POST_CODE, SPACE(10) ),
		[POST] 		= ISNULL( WP.POST_NAME, SPACE(120) ),

		W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, 
		W11, W12, W13, W14, W15, W16, W17, W18, W19, W20, 
		W21, W22, W23, W24, W25, W26, W27, W28, W29, W30, W31, 
		[HALF_D] = case when @nCheck5 = 1 then 0 else isnull(WD.DAYS_H1,0) END,
		--
		[NONE_DAYS] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1  AND WORK_D not IN (11,14) ),0) end,
		--Дни явок		
		[TYPE_1] = case when @nCheck5 = 1 then 0 else ISNULL(WD.DAYS_H1,0) + ISNULL(WD.DAYS_H2,0) end,
		----Часы явок
		[TYPE_2] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 2),0) + ISNULL(Y.DAYS_Y7,0) end,		-- командировка (дни)
		[TYPE_3] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 3),0) end,		-- повышение квалификации (дни)
		[TYPE_4] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 4),0) end,		-- очередной ежегодный отпуск НЕЯВКА (дни)
		[TYPE_5] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 5),0) end,		-- учебный отпуск НЕЯВКА (дни)
		[TYPE_6] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 6),0) end,		-- больничный НЕЯВКА (дни)
		[TYPE_7] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D IN (7,13)),0) end, 	-- уход за ребенком НЕЯВКА (дни)
		[TYPE_8] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 8),0) end,		-- с разрешения администрации НЕЯВКА (дни)
		[TYPE_9] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 9),0) end,		-- прогул НЕЯВКА (дни)
		[TYPE_11] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D IN (11,14)),0) end	-- выходные и праздничые НЕЯВКА (дни)
	FROM 
		DBO.TABELS T 
		INNER JOIN DBO.SA_TABELS_EMPLS TE ON T.LINK = TE.LINK
		INNER JOIN DBO.SA_TABELS_EMPLS_WP WP ON TE.LINK = WP.LINK_UP1
		INNER JOIN DBO.EMPL E ON E.LINK = TE.LINK_EMPL
		INNER JOIN DBO.PERSON P ON P.LINK = E.PERS_LINK
		LEFT JOIN #S S ON WP.LINK_EMPL = S.LINK_EMPL AND WP.LINK_SOVM = S.LINK_SOVM
		LEFT JOIN #WORK_DAYS WD ON TE.LINK = WD.LINK_UP1 AND WD.LINK_SOVM = WP.LINK_SOVM
		LEFT JOIN #WORK_DAYS1 Y ON TE.LINK = Y.LINK_UP1 AND Y.LINK_SOVM = WP.LINK_SOVM
	WHERE 
		T.LINK_DOC = @varKSnLINKDoc
	ORDER BY 
		1

IF (SELECT COUNT(DISTINCT SUBDIV_LINK) FROM #T_RES00) <> 1 BEGIN
		SELECT @varKSSUBDIV = '', @varKSSUBDIV_CODE = ''
	END
	ELSE 
		BEGIN
			SELECT TOP 1 @varKSSUBDIV = SUBDIV, @varKSSUBDIV_CODE = CODE_SUB FROM  #T_RES00
		END

	DECLARE 
		@varKSCNT1 INT, @varKSCNT2 INT, @varKSCNT3 INT
	
	SELECT TOP 1 
		@varKSCNT1 = COUNT(DISTINCT LINK_FKR_D), 
		@varKSCNT2 = COUNT(DISTINCT LINK_FKR_T), 
		@varKSCNT3 = COUNT(DISTINCT LINK_FKR_E),
		@varKSDIV_CODE = MAX(CODE_FKR_D),
		@varKSDIV_NAME = MAX(NAME_FKR_D),
		@varKSTI_CODE = MAX(CODE_FKR_T),
		@varKSTI_NAME = MAX(NAME_FKR_T),
		@varKSEXP_CODE = MAX(CODE_FKR_E),
		@varKSEXP_NAME = MAX(NAME_FKR_E)
	FROM DICTIONARY_PAYS_EMPL DPE
	INNER JOIN dbo.PAYS P ON DPE.LINK_PAYS = P.LINK
	INNER JOIN bi_diction_vkr VKR ON VKR.LINK = DPE.LINK_KBK
	INNER JOIN #T_RES00 R ON DPE.LINK_EMPL = R.LINK_EMPL
	where date_begin <= @varKSdDate2
		AND (DATE_END >= @varKSdDate1 OR DATE_END IS NULL) 


	declare @LINK_DEP int
	Set @LINK_DEP = Coalesce( (SELECT TOP 1 ZB_LINK FROM dbo.KS_OPTIONS_ZB), dbo.GetOwnDepLink())

	declare @nAVGCount numeric(18,2), @nMCount numeric(18,2)

	Select @nAVGCount = dbo.sa_ssch_empls(@varKSdDate1, @varKSdDate2, null, 0, 1, 0, DEFAULT)
	Select @nMCount = dbo.sa_sch_empls(@varKSdDate2, null, 0, 1, 0, DEFAULT)

	IF @varKSCNT1 <> 1
		SELECT @varKSDIV_CODE = '', @varKSDIV_NAME = ''
	IF @varKSCNT2 <> 1
		SELECT @varKSTI_CODE = '', @varKSTI_NAME = ''
	IF @varKSCNT3 <> 1
		SELECT @varKSEXP_CODE = '', @varKSEXP_NAME = ''

	SELECT *, @nAVGCount as AVGCount, @nMCount as MCount 
	FROM #T_RES00
	ORDER BY 
		LTRIM(RTRIM(CASE @varKSnOption1 
			WHEN 1 THEN REPLICATE ('0',10 - len(ltrim(rtrim((TN))))) + ltrim(rtrim((TN))) 
			WHEN 2 THEN REPLICATE ('0',10 - len(ltrim(rtrim((CODE_POST))))) + ltrim(rtrim((CODE_POST)))
			WHEN 3 THEN POST
			WHEN 4 THEN FIO
			WHEN 5 THEN REPLICATE ('0',10 - len(ltrim(rtrim((CODE_SUB))))) + ltrim(rtrim((CODE_SUB)))
			WHEN 6 THEN SUBDIV
			ELSE ''
		END)),

		LTRIM(RTRIM(CASE @varKSnCheck1 
			WHEN 2 THEN REPLICATE ('0',10 - len(ltrim(rtrim((TN))))) + ltrim(rtrim((TN))) 
			WHEN 3 THEN REPLICATE ('0',10 - len(ltrim(rtrim((CODE_POST))))) + ltrim(rtrim((CODE_POST)))
			WHEN 4 THEN POST
			WHEN 5 THEN FIO
			WHEN 6 THEN REPLICATE ('0',10 - len(ltrim(rtrim((CODE_SUB))))) + ltrim(rtrim((CODE_SUB)))
			WHEN 7 THEN SUBDIV
			ELSE ''
		END)),
		
		LTRIM(RTRIM(CASE @nSort3 
			WHEN 2 THEN '' + REPLICATE ('0',10 - len(ltrim(rtrim((TN))))) + ltrim(rtrim((TN))) 
			WHEN 3 THEN '' +REPLICATE ('0',10 - len(ltrim(rtrim((CODE_POST))))) + ltrim(rtrim((CODE_POST)))
			WHEN 4 THEN '' +POST
			WHEN 5 THEN '' +FIO
			WHEN 6 THEN '' +REPLICATE ('0',10 - len(ltrim(rtrim((CODE_SUB))))) + ltrim(rtrim((CODE_SUB)))
			WHEN 7 THEN '' +SUBDIV
			ELSE ''
		END))

END




GO


GRANT EXECUTE ON dbo.[SA_PRINT_TABEL_421m] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BB_EXPORT_PP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BB_EXPORT_PP]

GO

CREATE PROCEDURE dbo.BB_EXPORT_PP
	@cBuffId	varchar(30) = '',
	@cFormat	varchar(30) = ''

AS

DECLARE @iLinkedKBK	tinyint,
	@iGroupKBK	tinyint,
	
		@DATE_MAX	DATETIME,
		@COUNT_DOC	INT,
		@SUM_TOTAL	NUMERIC (28,4),
		@iCity int,
		@iCityP int
		

select @iCity = BANK_CITY from dbo.DOCUMENTS_PAY_OPTIONS
select @iCityP = BANK_CITY from dbo.DOCUMENTS_PAY_OPTIONS
	
set @iLinkedKBK = isnull(dbo.sa_get_option_by_code('NASTR_PAY_LINKED_KBK'),0)
set @iGroupKBK = isnull(dbo.sa_get_option_by_code('NASTR_PAY_GROUP_KBK'),0)

if left(@cFormat,2) = 'TX'
begin 
	DECLARE @iDepLink	int
	set @iDepLink = isnull(dbo.BK_GetDepZB(),dbo.GetOwnDepLink())

	-- Таблица 2 (FROM)
	SELECT 	BUDG_LEVEL  = case D.BUH_TYPE WHEN 1 then cast(replace(B.CODE_EL,'0','') as char(1)) else '6' end,
			KOD_UBP 	= BUDG,
			NAME_UBP	= left(rtrim(D.prefix) + rtrim(D.FULL_NAME) + case when charindex('(',D.prefix,0) > 0 then ')' else '' end,2000),
			0 as link,
			0 as link_up,
			-- Поля для приема выписки
			KOD_TOFK  = '0000',
			NAME_TOFK = space(2000)
			
	from dbo.DEPARTMENTS D
	left join dbo.KL_ADMIN_BS V WITH (NOLOCK) on V.LINK = D.VED_LINK
	left join dbo.KL_BUDG_TYPE B WITH (NOLOCK) on V.Link_Budg = B.LINK
	where D.LINK = @iDepLink


	-- Таблица 3 (TO)
	SELECT 	KOD_TOFK  = TOFK.CODE,
			NAME_TOFK = TOFK.FULL_NAME,
			0 as link,
			0 as link_up,
			-- Поля для приема выписки
			BUDG_LEVEL  = '00',
			KOD_UBP 	= '00000',
			NAME_UBP	= space(2000)
	from dbo.DEPARTMENTS D
	inner join dbo.TREASURY TOFK on D.TOFK_LINK = TOFK.LINK
	where D.LINK = @iDepLink

	-- Таблица 4 (PP)
	IF exists(select * from dbo.DEPARTMENTS where LINK = @iDepLink AND BUH_TYPE < 4)
		SELECT  LINK 	= 0,
			LINK_UP	= 0,
			LS = space(11),
			[DATE]	= MAX(G.DATE),
			GUID_OTCH = space(36),
			KOD_DOC = '  ',
			VID_OTCH = '1',
			KOL		= COUNT(*),
			SUM_TOTAL	= SUM(G.SUMMA)
		FROM dbo.G_PROV G
		inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = G.LINK
	else
		SELECT  LINK 	= 0,
			LINK_UP	= 0,
			LS = space(11),
			[DATE]	= '',
			GUID_OTCH = space(36),
			KOD_DOC = '  ',
			VID_OTCH = '1',
			KOL		= 0,
			SUM_TOTAL	= 0
		where 1>2
	
--	IF OBJECT_ID ('TEMPDB..#SMETA_EXPORT_PP') IS NOT NULL
--			EXECUTE ('DROP TABLE #SMETA_EXPORT_PP')

/*	SELECT 
		@DATE_MAX	=	MAX(G.DATE),
		@COUNT_DOC	=	COUNT(*),
		@SUM_TOTAL	=	SUM(G.SUMMA)
	FROM dbo.G_PROV G
	inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = G.LINK
*/
/*
	SELECT  LINK 	= 0,
			LINK_UP	= 0,
			LS = space(11),
			[DATE]	= MAX(G.DATE),
			GUID_OTCH = space(36),
			KOD_DOC = '  ',
			KOL		= COUNT(*),
			SUM_TOTAL	= SUM(G.SUMMA)
--	INTO #SMETA_EXPORT_PP		
	FROM dbo.G_PROV G
	inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = G.LINK
*/
/*	INNER JOIN dbo.DEPARTMENTS DEP ON (DEP.LINK = G.DEP
		AND DEP.BUH_TYPE < 4)
*/

/*
	IF @cFormat > 'TXPP120101'
		SELECT T1.*
		FROM #SMETA_EXPORT_PP	T1
		INNER JOIN dbo.DEPARTMENTS DEP ON (DEP.LINK = T.DEP
			AND DEP.BUH_TYPE < 4)
	ELSE
			SELECT T1.*
			FROM #SMETA_EXPORT_PP	T1

	DROP TABLE #SMETA_EXPORT_PP
*/
/*	END		
	ELSE
		SELECT  LINK 	= 0,
				LINK_UP	= 0,
				LS = space(11),
				[DATE]	= MAX(G.DATE),
				GUID_OTCH = space(36),
				KOD_DOC = '  ',
				KOL		= COUNT(*),
				SUM_TOTAL	= SUM(G.SUMMA)
		FROM dbo.G_PROV G
		inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = G.LINK
*/
		-- Разница в наименовании полей --
		IF OBJECT_ID ('TEMPDB..#SMETA_EXPORT_PPT') IS NOT NULL
				EXECUTE ('DROP TABLE #SMETA_EXPORT_PPT')

		SELECT  LINK 		 = PP.LINK,
				LINK_UP		 = PP.LINK,
				NOM_PP		 = PP.NUMBER,
				DATE_PP		 = PP.DATE,
				SUM_PP		 = PP.SUMMA,
				VID_PL		 = CASE	PP.KIND WHEN 'почтой'     THEN '1'
											 WHEN 'телеграфом' THEN '2'
											 WHEN 'электронно' THEN '3'
											 WHEN 'срочно' 	   THEN '4'
											 ELSE '0' END,
				VID_OPER	= '01', 
				INN_PAY		= PP.S_INN,
				KPP_PAY		= PP.S_KPP,
				--CNAME_PAY	= PP.S_FNAME,
				CNAME_PAY	= dbo.BB_DEP_NAME_FOR_SHABLON(isnull(APO.SHABLON_D,APOD.SHABLON_D), default, PP.S_ACC_LINK),
				BS_PAY		= case PP.S_ACC_TYPE when 1 then PP.S_ACC_NUM else PP.S_SCH_K end,
				BIC_PAY		= PP.S_BIK,
				NAME_BIC_PAY = PP.S_BANK + case isnull(@iCity,0) when 1 then ' ' + isnull(PP.S_BANK_CITY,'') else '' end,
				BS_KS_PAY	= PP.S_SCH_B,
				INN_RCP		= PP.D_INN,
				KPP_RCP		= PP.D_KPP,
				NAME_RCP	= dbo.BB_DEP_NAME_FOR_SHABLON(CASE WHEN PPA.DOH_CODE is not null or PPA.OKATO is not null or P_REASON is not null or PPA.PERIOD is not null or TREBNUM is not null or TREBDATE is not null or P_TYPE is not null or STATUS is not null THEN isnull

(APO.SHABLON_N, APOD.SHABLON_N) else isnull(APO.SHABLON_S, APOD.SHABLON_S) end, default, PP.D_ACC_LINK),
		
				--NAME_RCP	= PP.D_FNAME,
				BS_RCP		= replace(isnull(PP.D_ACC_NUM,PP.D_SCH_K),'00000000000000000000',''),
				BIC_RCP		= PP.D_BIK,
				NAME_BIC_RCP = PP.D_BANK + case isnull(@iCityP,0) when 1 then ' ' + isnull(PP.D_BANK_CITY,'') else '' end,
				BS_KS_RCP	 = PP.D_SCH_B,
				DATE_PAY	= PP.SROK, 
				ORDER_PAY   = PP.[Order],
				PURPOSE = case PP.BK_IN_TGT when 1 then rtrim(replace(replace(replace(replace(replace(replace(
													case isnull(ltrim(rtrim(PP.BO_NUM)),'') when '' then rtrim(dbo.BB_DDELIM_DEL(isnull(APO.LS_FMT, APOD.LS_FMT),'<БО>')) else isnull(APO.LS_FMT, APOD.LS_FMT) end, 
													'<БО>', isnull(ltrim(rtrim(PP.BO_NUM)),'')),
													'<Счет>', case PP.S_ACC_TYPE when 1 then '' else rtrim(PP.S_ACC_NUM) end),
													'<Перевод_строки>', '
	)'),												'<БК>',rtrim(dbo.BB_BK_FOR_SHABLON(PP.LINK, isnull(APO.SHABLON_BK, APOD.SHABLON_BK),isnull(APO.DELIM, APOD.DELIM),isnull(APO.DELIM5, APOD.DELIM5)))),
														--'<БК>',/*str(P.S_ACC_LINK) + '#' +*/ APO.SHABLON_BK /*+ '#' + APO.DELIM + '#' + APO.DELIM5*/),
													'<Руб>',rtrim(ltrim(str(floor(PP.SUMMA))))),
													'<Коп>', right('00' + rtrim(ltrim(str((PP.SUMMA - floor(PP.SUMMA)) * 100))),2))) + ' ' 
					else '' end + ltrim(replace(replace(PP.TARGETTEXT,char(10),''),char(13),'')) + ' ' + ltrim(dbo.PrintPlatporGetNDSString(PP.LINK,0)),

				PAYSTATUS	= PPA.[STATUS],
				KBK			= case when PPA.DOH_CODE is null and (PPA.TREBNUM is not null or PPA.ZERODATE is not null or PPA.TREBDATE is not null or PPA.OKATO is not null)  then '0' 
								else rtrim(replace(PPA.DOH_CODE,'.','')) + PPA.SGU_CODE end,
				OKATO		= PPA.OKATO,
				OSNPLAT		= PPA.P_REASON,
				NAL_PER		= PPA.[PERIOD],
				NOM_DOK		= PPA.TREBNUM,
				DATE_DOK	= case PPA.ZERODATE when 1 then /*'00.00.0000'*/ '0' else CONVERT(CHAR(10),PPA.TREBDATE,104) end,
				TYPE_PL		= PPA.P_TYPE,
				GUID_FK		= '',
				KOD_TOFK_PAY = PP.S_KAZN_CODE,
				NAME_TOFK_PAY	 = PP.S_KAZN,
				KOD_UBP_PAY	= PP.S_BUDG,
				NAME_UBP_PAY = PP.S_FNAME,
				LS_PAY	 = case PP.S_ACC_TYPE when 1 then '' else PP.S_ACC_NUM end,
				LS_PAY_RCP	 = '',
				PRINT_KPP = str(PP.PRINT_KPP),	
				PRIZ = '1',
				-- Поля для приема выписки
				DATE_PP_IN = PP.DATE,
				DATE_PP_SPS = PP.DATE,
				NOM_PL_PO = '',
				SHIFR_RD_PO = '',
				NOM_RD_PO = '',
				DATE_RD_PO = PP.DATE,
				SUM_OST_PO = '',
				OPER_PO = '',
				DATE_IN_TOFK = PP.DATE,
				[GUID] = '',
				UIN_CODE = LTRIM(RTRIM(ISNULL(ppA.UIN_CODE,'')))--CASE WHEN ISNULL(ppA.UIN_CODE,'') = '' THEN CAST('0' AS VARCHAR(20)) ELSE ppA.UIN_CODE END
				--ppA.UIN_CODE
		INTO #SMETA_EXPORT_PPT	
		FROM dbo.DOCUMENTS_PAY PP
		inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = PP.LINK
		LEFT JOIN dbo.DOCUMENTS_PAY_ADD PPA on PP.LINK = PPA.LINK
		left join dbo.BB_PAY_ACC_OPTIONS APO on APO.LINK_ACC = PP.S_ACC_LINK
		left join dbo.DOCUMENTS_PAY_ACC_OPTIONS APOD on APOD.OSN = 1
		inner join dbo.DEPARTMENT_ACCOUNTS DA on APOD.LINK_ACC = DA.LINK and PP.S_ACC_TYPE = DA.TYPE

		SELECT *,
			NAME_RCP AS CNAME_UBP_RCP,
			NOM_DOK AS NUM_DOK
		FROM #SMETA_EXPORT_PPT
--	ELSE
-- СNAME_UBP_RCP
--		SELECT * 
--		FROM #SMETA_EXPORT_PP

	DROP TABLE #SMETA_EXPORT_PPT

	if @iGroupKBK = 1
	-- Таблица 5 (PPST)
		select  LINK = GP.LINK,
				LINK_UP = GP.LINK,
				--KBK = left(replace(isnull(KBK1.CODE, KBK.CODE),'.','') + SGU.CODE ,20),
				KBK = left(replace(isnull(KBK1.CODE, KBK.CODE),'.',''),20),
				TYPE_KBK = case isnull(KBK1.[TYPE], KBK.[TYPE]) when 1 then '10'
												 when 2 then '20'
												 when 4 then '31'
												 when 8 then '32'
												 else '' end,
				ADD_KLASS = ISNULL(DCL.CODE,''),
				ADD_KLASS_RCP = '',
				[SUM] = sum(GP2.SUMMA),
				DIR_SUM	= '1',
				MES_FIN	= right('0' + rtrim(ltrim(convert(char(2), month(GP.DATE)))),2),
				REZERV	= '',
				KOD_FIN = case D.BUH_TYPE when '1' then SA.cSource else '' end,
				-- Поля для приема выписки
				NUM_BO = '',
				ОКАТО = ''

		from G_PROV GP 
		inner join dbo.BufferGetTableByID(@cBuffId) B on GP.LINK = B.LINK
		inner join G_PROV1 GP1 on GP1.LINK_UP = GP.LINK
		INNER JOIN G_PROV2 GP2 ON GP2.LINK_UP = GP1.LINK
		INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 1
		INNER JOIN dbo.DEPARTMENTS D on GP.DEP = D.LINK
		INNER JOIN dbo.S_ACCOUNTS SA on GPA1.ACCOUNT = SA.LINK
		LEFT JOIN KL_KBK KBK ON GPA1.KBK = KBK.LINK
		LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = KBK.LINK and @iLinkedKBK = 1
		LEFT JOIN KL_KBK KBK1 ON KBKL.LINK_KBK = KBK1.LINK
		LEFT JOIN KOSGU SGU ON isnull(GPA1.EKR,GPA1.SGU) = SGU.LINK
		LEFT JOIN DOP_CLASSIF DCL ON GPA1.AP2 = DCL.LINK
		group by GP.LINK, right('0' + rtrim(ltrim(convert(char(2), month(GP.DATE)))),2), left(replace(isnull(KBK1.CODE, KBK.CODE),'.',''), 20), ISNULL(DCL.CODE,''), isnull(KBK1.[TYPE], KBK.[TYPE]),  D.BUH_TYPE, SA.cSource
	else
		select  LINK = GP2.LINK,
				LINK_UP = GP.LINK,
				--KBK = left(replace(isnull(KBK1.CODE, KBK.CODE),'.','') + SGU.CODE ,30),
				KBK = left(replace(isnull(KBK1.CODE, KBK.CODE),'.',''),30),
				TYPE_KBK = case isnull(KBK1.[TYPE], KBK.[TYPE]) when 1 then '10'
												 when 2 then '20'
												 when 4 then '31'
												 when 8 then '32'
												 else '' end,
				ADD_KLASS = ISNULL(DCL.CODE,''),
				ADD_KLASS_RCP = '',
				[SUM] = GP2.SUMMA,
				DIR_SUM	= '1',
				MES_FIN	= right('0' + rtrim(ltrim(convert(char(2), month(GP.DATE)))),2),
				REZERV	= '',
				KOD_FIN = case D.BUH_TYPE when '1' then SA.cSource else '' end,
				-- Поля для приема выписки
				NUM_BO = '',
				ОКАТО = ''

		from G_PROV GP 
		inner join dbo.BufferGetTableByID(@cBuffId) B on GP.LINK = B.LINK
		inner join G_PROV1 GP1 on GP1.LINK_UP = GP.LINK
		INNER JOIN G_PROV2 GP2 ON GP2.LINK_UP = GP1.LINK
		INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 1
		INNER JOIN dbo.DEPARTMENTS D on GP.DEP = D.LINK
		INNER JOIN dbo.S_ACCOUNTS SA on GPA1.ACCOUNT = SA.LINK
		LEFT JOIN KL_KBK KBK ON GPA1.KBK = KBK.LINK
		LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = KBK.LINK and @iLinkedKBK = 1
		LEFT JOIN KL_KBK KBK1 ON KBKL.LINK_KBK = KBK1.LINK
		LEFT JOIN KOSGU SGU ON isnull(GPA1.EKR,GPA1.SGU) = SGU.LINK
		LEFT JOIN DOP_CLASSIF DCL ON GPA1.AP2 = DCL.LINK	


end
else
begin

	select
		P.link, 
		P.link as link_up,
		BK_IN_TGT,
		S_ACC_LINK,
		DATE,

		[NUM_PP] = NUMBER,
		[DATE_PP] = DATE,
		[VID_PL] = 
			CASE	
				WHEN KIND = 'почтой'     THEN '1'
				WHEN KIND = 'телеграфом' THEN '2'
				WHEN KIND = 'электронно' THEN '3'
				WHEN KIND = 'срочно' 	 THEN '4'
				ELSE '0' 
			END,
		[SUM_PP] = summa, 
		[INN_PAY] = P.S_INN,
		[KPP_PAY] = case P.PRINT_KPP when 1 then P.S_KPP else '' end,
		[KOD_BP_PAY] = P.S_BUDG,
		[NAME_BP_PAY] = convert(varchar(120), ltrim(rtrim(S_FNAME))),
		[NAME_PAY] = dbo.BB_DEP_NAME_FOR_SHABLON(isnull(APO.SHABLON_D,APOD.SHABLON_D), default, P.S_ACC_LINK), 
		[NUM_LS_PAY] = S_ACC_NUM,
		[KOD_TOFK_PAY] = P.S_KAZN_CODE,
		[INN_OK_PAY] = case P2.INN_OK_PAY when 1 THEN P.S_KAZN_INN ELSE '' END,
		[NM_OK_PAY] = CASE P2.NM_OK_PAY when 1 THEN convert(varchar(120), P.S_KAZN) ELSE '' END,
		[RS_PAY] = case P.S_ACC_TYPE when 1 then P.S_ACC_NUM else P.S_SCH_K end,
		[BIK_PAY] = P.S_BIK,
		[BANK_PAY] = P.S_BANK + case isnull(@iCity,0) when 1 then ' ' + isnull(P.S_BANK_CITY,'') else '' end,
    	[FILIAL_PAY] = case P2.FILIAL_PAY when 1 THEN P.S_BANK_FILIAL ELSE '' END,
		[KS_PAY] = P.S_SCH_B,
		[INN_RCP]=D_INN,
		[KPP_RCP]= case P.PRINT_KPP when 1 then P.D_KPP else '' end,
		[NAME_RCP]=dbo.BB_DEP_NAME_FOR_SHABLON(CASE WHEN P1.DOH_CODE is not null or P1.OKATO is not null or P_REASON is not null or P1.PERIOD is not null or TREBNUM is not null or TREBDATE is not null or P_TYPE is not null or STATUS is not null THEN isnull(APO.

SHABLON_N, APOD.SHABLON_N) else isnull(APO.SHABLON_S, APOD.SHABLON_S) end, default, P.D_ACC_LINK),
		[INN_OK_RCP]= CASE P2.INN_OK_RCP WHEN 1 THEN P.D_KAZN_INN ELSE '' END,
		[NM_OK_RCP] = CASE P2.NM_OK_RCP WHEN 1 THEN P.D_FNAME ELSE '' END,
		[RS_RCP] = case P.D_ACC_TYPE when 1 then P.D_ACC_NUM else P.D_SCH_K end,
		[LS_RCP] = case P.D_ACC_TYPE when 1 then '' else P.D_ACC_NUM end,
		[BIK_RCP] = P.D_BIK,
		[BANK_RCP]= P.D_BANK + case isnull(@iCityP,0) when 1 then ' ' + isnull(P.D_BANK_CITY,'') else '' end,
		[FILIAL_RCP]= CASE P2.FILIAL_RCP when 1 THEN P.D_BANK_FILIAL ELSE '' END,
		[KS_RCP]= P.D_SCH_B,
		[TIME_PAY] = CASE P2.TIME_PAY WHEN 1 THEN srok ELSE cast (null as datetime) END,
		[ORDER_PAY] = P.[ORDER],
		[PURPOSE] = case P.BK_IN_TGT when 1 then rtrim(replace(replace(replace(replace(replace(replace(
													case isnull(ltrim(rtrim(P.BO_NUM)),'') when '' then rtrim(dbo.BB_DDELIM_DEL(isnull(APO.LS_FMT, APOD.LS_FMT),'<БО>')) else isnull(APO.LS_FMT, APOD.LS_FMT) end, 
													'<БО>', isnull(ltrim(rtrim(P.BO_NUM)),'')),
													'<Счет>', case P.S_ACC_TYPE when 1 then '' else rtrim(P.S_ACC_NUM) end),
													'<Перевод_строки>', '
	)'),												'<БК>',rtrim(dbo.BB_BK_FOR_SHABLON(P.LINK, isnull(APO.SHABLON_BK, APOD.SHABLON_BK),isnull(APO.DELIM, APOD.DELIM),isnull(APO.DELIM5, APOD.DELIM5)))),
														--'<БК>',/*str(P.S_ACC_LINK) + '#' +*/ APO.SHABLON_BK /*+ '#' + APO.DELIM + '#' + APO.DELIM5*/),
													'<Руб>',rtrim(ltrim(str(floor(P.SUMMA))))),
													'<Коп>', right('00' + rtrim(ltrim(str((P.SUMMA - floor(P.SUMMA)) * 100))),2))) + ' ' 
					else '' end + ltrim(replace(replace(P.TARGETTEXT,char(10),''),char(13),'')) + ' ' + ltrim(dbo.PrintPlatporGetNDSString(P.LINK,0)),

		[PRINT_KPP]='0',

		[PAYSTATUS] = P1.STATUS,
		[KBKD] = rtrim(ltrim(replace(P1.doh_code,'.',''))) + ltrim(P1.sgu_code),
		[PAYOKATO] = P1.OKATO,
		[OSNPLAT] = P1.P_REASON, 
		[NAL_PER] = P1.PERIOD,
		[N_DOK] = P1.TREBNUM, 
		[D_DOK] = CASE WHEN ISNULL(ZERODATE, 0) = 1 THEN '0' ELSE CONVERT(CHAR(10), P1.TREBDATE,104) END,
		[TYPE_PL] = P1.P_TYPE,
		[Name_Budg] = --convert(char(20), (
						(select top 1 budg.name --budg.code БРАТЬ БЮДЖЕТ ОТПРАВИТЕЛЯ?
						FROM G_PROV1 GP1 INNER JOIN G_PROV2 GP2 ON (GP1.LINK_UP = P.LINK AND GP2.LINK_UP = GP1.LINK)
						INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 0
						LEFT JOIN BI_DICTION_KBK F ON GPA1.KBK = F.LINK
						LEFT JOIN kl_admin_bs adm ON adm.link = f.link_ADM 
						LEFT JOIN kl_budg_type budg ON budg.link = adm.link_budg) /* 2005.12 */

	from dbo.documents_pay P
	inner join dbo.BufferGetTableByID(@cBuffId) B on P.LINK = B.LINK
	LEFT OUTER JOIN DOCUMENTS_PAY_ADD P1 ON P.LINK = P1.LINK
	LEFT OUTER JOIN DOCUMENTS_PAY_ADD2 P2 ON P.LINK = P2.LINK
	left join dbo.BB_PAY_ACC_OPTIONS APO on APO.LINK_ACC = P.S_ACC_LINK
	left join dbo.DOCUMENTS_PAY_ACC_OPTIONS APOD on APOD.OSN = 1
	inner join dbo.DEPARTMENT_ACCOUNTS DA on APOD.LINK_ACC = DA.LINK and P.S_ACC_TYPE = DA.TYPE
		

	-- Если платежка налоговая 
	/*
	  1. Если в проводочной части указана Доходная классификация то
	   в блок PPST выгружаем код дохода = код дохода + сгу (20 символов)
	   и сумму - больше ничего !
	  2. Если в проводочной части указана Расходная классификация
	   то выгружаем поблочно раздел, подраздел и т.д. .
	   поле код дохода - пустой
	*/

	if @iGroupKBK = 1
	SELECT
		LINK = GP1.LINK_UP,
		LINK_UP = GP1.LINK_UP,	
		[MARKER] = 'PPST',
		[GLAVA] = LTRIM(RTRIM(COALESCE(F1.ADM_CODE, F.ADM_CODE, ''))),
		[RAZDEL] =LTRIM(RTRIM(COALESCE(F1.DIV_CODE, F.DIV_CODE, ''))),
		[STATIA] = LTRIM(RTRIM(COALESCE(F1.CSR_CODE, F.CSR_CODE, ''))),
		[VID] = LTRIM(RTRIM(COALESCE(F1.EXP_CODE, F.EXP_CODE, ''))),
	--	[KOD_FP] = '',
		[KOD_FP] = convert(varchar(3), isnull(DC.CODE,'')), 
		[E_KLASS] = LTRIM(RTRIM(ISNULL(KEK.CODE, ''))),
		[NUM_BO] =  LTRIM(RTRIM(ISNULL(P.bo_num,''))),
		[MON_FIN]='',
		[SUM_STR] = sum(GP2.summa),
		[FOND_P] = '',
		[KKIVNF] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 8 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,

		[KKIVF] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 4 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		[KDOH] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 2 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,

		[ADD_KLASS] = isnull(DC.CODE,''),	/* 2005.12 */
		[KOD_FIN] = (select top 1 left(code, 1) from s_accounts SA where SA.link = GPA1.Account), /* 2005.12 */
		[REZERV] = convert(varchar(40),'')	/* 2005.12 */
	FROM G_PROV1 GP1 
	inner join dbo.BufferGetTableByID(@cBuffId) B on GP1.LINK_UP = B.LINK
	inner join dbo.documents_pay P on P.LINK = B.LINK
	INNER JOIN G_PROV2 GP2 ON GP2.LINK_UP = GP1.LINK
	INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 1
	LEFT OUTER JOIN BI_DICTION_KBK_FULL F ON GPA1.KBK = F.LINK
	LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = F.LINK and @iLinkedKBK = 1
	LEFT JOIN BI_DICTION_KBK_FULL F1 ON KBKL.LINK_KBK = F1.LINK
	LEFT OUTER JOIN DICTIONARY_ITEM KEK ON GPA1.EKR = KEK.LINK
	LEFT OUTER JOIN KOSGU SGU ON GPA1.SGU = SGU.LINK
	LEFT OUTER JOIN BD_DOP_CLASSIF DC on DC.link = GPA1.AP2
	group by GP1.LINK_UP, LTRIM(RTRIM(COALESCE(F1.ADM_CODE, F.ADM_CODE, ''))),
		LTRIM(RTRIM(COALESCE(F1.DIV_CODE, F.DIV_CODE, ''))),
		LTRIM(RTRIM(COALESCE(F1.CSR_CODE, F.CSR_CODE, ''))),
		LTRIM(RTRIM(COALESCE(F1.EXP_CODE, F.EXP_CODE, ''))),
		convert(varchar(3), isnull(DC.CODE,'')), 
		LTRIM(RTRIM(ISNULL(KEK.CODE, ''))),
		LTRIM(RTRIM(ISNULL(P.bo_num,''))),
		CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 8 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 4 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 2 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		isnull(DC.CODE,''),
		GPA1.Account
else
	SELECT
		LINK = GP2.LINK,
		LINK_UP = GP1.LINK_UP,	
		[MARKER] = 'PPST',
		[GLAVA] = LTRIM(RTRIM(COALESCE(F1.ADM_CODE, F.ADM_CODE, ''))),
		[RAZDEL] =LTRIM(RTRIM(COALESCE(F1.DIV_CODE, F.DIV_CODE, ''))),
		[STATIA] = LTRIM(RTRIM(COALESCE(F1.CSR_CODE, F.CSR_CODE, ''))),
		[VID] = LTRIM(RTRIM(COALESCE(F1.EXP_CODE, F.EXP_CODE, ''))),
	--	[KOD_FP] = '',
		[KOD_FP] = convert(varchar(3), isnull(DC.CODE,'')), 
		[E_KLASS] = LTRIM(RTRIM(ISNULL(KEK.CODE, ''))),
		[NUM_BO] =  LTRIM(RTRIM(ISNULL(P.bo_num,''))),
		[MON_FIN]='',
		[SUM_STR] = GP2.summa,
		[FOND_P] = '',
		[KKIVNF] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 8 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,

		[KKIVF] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 4 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		[KDOH] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 2 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,

		[ADD_KLASS] = isnull(DC.CODE,''),	/* 2005.12 */
		[KOD_FIN] = (select top 1 left(code, 1) from s_accounts SA where SA.link = GPA1.Account), /* 2005.12 */
		[REZERV] = convert(varchar(40),'')	/* 2005.12 */
	FROM G_PROV1 GP1 
	inner join dbo.BufferGetTableByID(@cBuffId) B on GP1.LINK_UP = B.LINK
	inner join dbo.documents_pay P on P.LINK = B.LINK
	INNER JOIN G_PROV2 GP2 ON GP2.LINK_UP = GP1.LINK
	INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 1
	LEFT OUTER JOIN BI_DICTION_KBK_FULL F ON GPA1.KBK = F.LINK
	LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = F.LINK and @iLinkedKBK = 1
	LEFT JOIN BI_DICTION_KBK_FULL F1 ON KBKL.LINK_KBK = F1.LINK
	LEFT OUTER JOIN DICTIONARY_ITEM KEK ON GPA1.EKR = KEK.LINK
	LEFT OUTER JOIN KOSGU SGU ON GPA1.SGU = SGU.LINK
	LEFT OUTER JOIN BD_DOP_CLASSIF DC on DC.link = GPA1.AP2

end





GO


GRANT EXECUTE ON dbo.[BB_EXPORT_PP] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OV_F0511126]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OV_F0511126]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE      PROCEDURE dbo.BK_REPORT_OV_F0511126
	@varKSnMonth1	INT			,
	@varKScYear1		VARCHAR (4)		,
	@varKSnSel_Spr1	INT = NULL		,
	@intKBK		INT = NULL		,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScOtborAccount	VARCHAR (100),
	@intSVOD_ZB INT,
	@cVal_KAU char(1), @intOtbor_KAU int,
	@intGRP_KAU	INT
AS
BEGIN
	DECLARE	@varKSDATE_BEGIN	DATETIME,	
		@varKSDATE_END	DATETIME,	
		@varKSLINK_DEP	INT		,
		@varKScNEXT_PERIOD	VARCHAR (10),
		@varKScBEGIN_PERIOD	VARCHAR (10),
		@intPRN_KBK		INT,
	
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254)

	IF @varKSnSel_Spr1 = 0
		SET @varKSnSel_Spr1 = NULL

	IF @intKBK = 0
		SET @intKBK = NULL

	SET @intGRP_KAU = ISNULL (@intGRP_KAU, 0)

	SET @intPRN_KBK = CASE WHEN @intKBK IS NULL THEN 0 ELSE 1 END
	
	SET @varKSDATE_BEGIN = dbo.DateBeginOfMonth (dbo.ConvertDMY2Date (1, @varKSnMonth1, CONVERT (INT, @varKScYear1)))
	SET @varKSDATE_END = dbo.DateEndOfMonth (@varKSDATE_BEGIN)

	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@varKScOtborAccount, DEFAULT) T1 ON (T1.VALUE = ACCT.cSINTH)

	-- Отбор КАУ --	
	DECLARE @KAU_TAB TABLE
		(LINK INT,
		CODE	VARCHAR (20),
		[NAME]	VARCHAR (254))
	IF LEN (@cVal_KAU) > 0
		INSERT INTO @KAU_TAB
		SELECT OVK.RECORD,
			KAU.CODE,
			KAU.[NAME]
		FROM dbo.OBJECT_VAR_KAU OVK
		INNER JOIN dbo.KAU ON (KAU.LINK = OVK.RECORD)
		WHERE OVK.LINK_UP = @intOtbor_KAU
	ELSE
		INSERT INTO @KAU_TAB
		SELECT LINK_AP, 
			AP_CODE,
			AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('KAU')

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = [NAME],
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'

	DECLARE @TEMP1 TABLE (YEAR_P INT, DATE_P INT, LINK_ACCT INT, KBK INT,
			DEP INT, EMP INT, INV INT, NOMEN INT,
			KAU	INT,
			IN_SUMMA NUMERIC (28,2), IN_QTY NUMERIC (28,4),	
			D_SUMMA NUMERIC (28,2), D_QTY NUMERIC (28,4),	
			K_SUMMA NUMERIC (28,2), K_QTY NUMERIC (28,4),	
			OUT_SUMMA NUMERIC (28,2), OUT_QTY NUMERIC (28,4)	
			)	

	INSERT INTO @TEMP1
	SELECT YEAR (@varKSDATE_BEGIN),
		MONTH (@varKSDATE_END),
		OSV.ACCOUNT,
		CASE
			WHEN @intKBK IS NULL THEN 0
			ELSE OSV.KBK
		END,
		OSV.DEP,
		CASE
			WHEN @varKSnSel_Spr1 IS NULL THEN 0
			ELSE OSV.EMP
		END,
		OSV.INV,
		OSV.NOMEN,
		CASE
			WHEN @intGRP_KAU = 0 THEN 0
			ELSE OSV.KAU
		END,
		SUM (OSV.IN_SUMMA),
		SUM (OSV.IN_QTY),
		SUM (OSV.D_SUMMA),
		SUM (OSV.D_QTY),
		SUM (OSV.K_SUMMA),
		SUM (OSV.K_QTY),
		SUM (OSV.OUT_SUMMA),
		SUM (OSV.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSDATE_BEGIN, @varKSDATE_END, DEFAULT) OSV
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = OSV.ACCOUNT)
	WHERE (@varKSnSel_Spr1 IS NULL
		OR (@varKSnSel_Spr1 IS NOT NULL
			AND OSV.EMP = @varKSnSel_Spr1))
		AND (@intKBK IS NULL 
			OR (@intKBK IS NOT NULL
				AND OSV.KBK = @intKBK))
		AND (@intSVOD_ZB = 1
			OR (@intSVOD_ZB = 0 AND OSV.DEP_LINK = @varKSLINK_DEP))
	GROUP BY OSV.ACCOUNT,
		CASE
			WHEN @intKBK IS NULL THEN 0
			ELSE OSV.KBK
		END,
		OSV.DEP,
		CASE
			WHEN @varKSnSel_Spr1 IS NULL THEN 0
			ELSE OSV.EMP
		END,
		OSV.INV,
		OSV.NOMEN,
		CASE
			WHEN @intGRP_KAU = 0 THEN 0
			ELSE OSV.KAU
		END

	DECLARE @RESULT TABLE (YEAR_P INT, DATE_P INT, LINK_ACCT INT,
			DEP INT, EMP INT, INV INT, NOMEN INT,
			BEGIN_P VARCHAR (10), NEXT_P VARCHAR (10),
			MONTH_NAME VARCHAR (30),
			DEP_NAME VARCHAR (254), DEP_OKPO VARCHAR (20),
			EMP_CODE VARCHAR (20), EMP_NAME VARCHAR (254),
			ACCT_CODE VARCHAR (60), ACCT_NAME VARCHAR (254),
			INV_CODE VARCHAR (20), INV_NAME VARCHAR (254),
			UM_CODE VARCHAR (20), UM_NAME VARCHAR (254),			

			KAU_CODE VARCHAR (20), KAU_NAME VARCHAR (254),			
			
			IN_SUMMA NUMERIC (28,2), IN_QTY NUMERIC (28,4),	
			D_SUMMA NUMERIC (28,2), D_QTY NUMERIC (28,4),	
			K_SUMMA NUMERIC (28,2), K_QTY NUMERIC (28,4),	
			OUT_SUMMA NUMERIC (28,2), OUT_QTY NUMERIC (28,4),	
			REP1 TINYINT
			)

	SET @varKScNEXT_PERIOD = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSDATE_END), 104)
	SET @varKScBEGIN_PERIOD = CONVERT (VARCHAR (10), @varKSDATE_BEGIN, 104)

	SELECT @varKSEMP_CODE = TAB,
		@varKSEMP_NAME = NAME_EMPL
	FROM dbo.KU_EMPL_PLACING
	WHERE LINK = @varKSnSel_Spr1

	INSERT INTO @RESULT
	SELECT OSV.YEAR_P,
		OSV.DATE_P,
		OSV.LINK_ACCT,
		OSV.DEP,
		OSV.EMP,
		OSV.INV,
		OSV.NOMEN,
		@varKScBEGIN_PERIOD,
		@varKScNEXT_PERIOD,
		dbo.DateMonthName (@varKSnMonth1),
		@varKSDEP_NAME,
		@varKSDEP_OKPO,
		ISNULL (@varKSEMP_CODE, ''),
		ISNULL (@varKSEMP_NAME, ''),
--		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.LINK_ACCT, OSV.KBK, DEFAULT, @intPRN_KBK, 0, @varKSDATE_END),
		SA.[NAME],
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, '')),
		ISNULL (INV.[NAME], ISNULL (NOMEN.[NAME], 'Не указан')),
		ISNULL (INV.CODE_UM, ISNULL (NOMEN.CODE_UM, '')),
		ISNULL (INV.[NAME_UM], ISNULL (NOMEN.NAME_UM, '')),

		KAU.CODE,
		KAU.[NAME],

		OSV.IN_SUMMA, OSV.IN_QTY,	
		OSV.D_SUMMA, OSV.D_QTY,		
		OSV.K_SUMMA, OSV.K_QTY,		
		OSV.OUT_SUMMA, OSV.OUT_QTY,	
		1
	FROM @TEMP1 OSV
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.LINK_ACCT)
	INNER JOIN @KAU_TAB KAU ON (KAU.LINK = OSV.KAU)
	LEFT OUTER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = OSV.INV)
	LEFT OUTER JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = OSV.NOMEN)
	WHERE OSV.IN_SUMMA <> 0 OR IN_QTY <> 0
			OR D_SUMMA <> 0 OR D_QTY <> 0
			OR K_SUMMA <> 0 OR K_QTY <> 0
			OR OUT_SUMMA <> 0 OR OUT_QTY <> 0

	SELECT * 
	FROM @RESULT
	ORDER BY EMP_CODE, ACCT_CODE, KAU_CODE, INV_CODE
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OV_F0511126] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BB_EXPORT_ZKR_16]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.BB_EXPORT_ZKR_16

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BB_EXPORT_ZKR_16
	@cBuffId	varchar(30) = '',
	@cFormat	varchar(30) = ''

AS
DECLARE @iDepLink	int, 
	@cCodeOpt 	int,
	@iNoteDCL	tinyint,
	@cPrefDCL	varchar(10), 
	@cKorrName	varchar(254), 
	@iLongFio tinyint, 
	@iPostRuk tinyint, 
	@iPostGl tinyint,
	@iSguDop tinyint
	


set @iPostRuk = dbo.sa_get_option_by_code('BB_ZAYAVKA_KR_OPTIONS_POST_RUK')
set @iPostGl = dbo.sa_get_option_by_code('BB_ZAYAVKA_KR_OPTIONS_POST_GL')
set @iLongFio = dbo.sa_get_option_by_code('BB_ZAYAVKA_KR_OPTIONS_FIO')
set @iSguDop = dbo.sa_get_option_by_code('BB_ZAYAVKA_KR_OPTIONS_SGU_DOP')

set @iDepLink = isnull(dbo.BK_GetDepZB(),dbo.GetOwnDepLink())
select @cCodeOpt = KODBP,
	@iNoteDCL = isnull(T_DCL,0),
	@cPrefDCL = isnull(rtrim(PREF_DCL) + ' ',''),
	@cKorrName = isnull(rtrim(KOR_NAME),'<Наим_орг_полн>')
from dbo.BB_ZAYAVKA_KR_OPTIONS

-- Таблица 2 (FROM)
SELECT 	BUDG_LEVEL  = case D.BUH_TYPE WHEN 1 then cast(replace(B.CODE_EL,'0','') as char(1)) else '6' end,
		KOD_UBP = case cast(replace(B.CODE_EL,'0','') as char(1)) when 1 then D.CODE_UBP else BUDG end,
		NAME_UBP	= left(rtrim(D.prefix) + rtrim(D.FULL_NAME) + case when charindex('(',D.prefix,0) > 0 then ')' else '' end,254),
		0 as link,
		0 as link_up
from dbo.DEPARTMENTS D
left join dbo.KL_ADMIN_BS V WITH (NOLOCK) on V.LINK = D.VED_LINK
left join dbo.KL_BUDG_TYPE B WITH (NOLOCK) on V.Link_Budg = B.LINK
where D.LINK = @iDepLink


-- Таблица 3 (TO)
SELECT 	KOD_TOFK  = TOFK.CODE,
		NAME_TOFK = TOFK.FULL_NAME,
		0 as link,
		0 as link_up
from dbo.DEPARTMENTS D
inner join dbo.TREASURY TOFK on D.TOFK_LINK = TOFK.LINK
where D.LINK = @iDepLink



-- Таблица 4 (ZR)


	SELECT  LINK 		 = ZKR.LINK,
			LINK_UP		 = ZKR.LINK,
			GUID_FK		 = '',
			[TYPE]		 = cast(ZKR.SHORT + 1 as char(1)),
			NOM_ZR		 = ZKR.NUMBER,
			DATE_ZR		 = ZKR.DATE,
			KOD_UBP_PAY	 = case @cCodeOpt when 1 then ZKR.DEP_UBP else '' end,
			NAME_UBP_PAY = ZKR.DEP_FNAME, 
			LS_UBP_PAY	 = ZKR.ACC_CODE,
			INN_UBP		 = '',
			KPP_UBP		 = '',
			GLAVA_GRS	 = case ZKR.dep_type WHEN 1 then ZKR.GRBS_CODE else '' end,
			NAME_UBP_GRS = case ZKR.SHORT when 0 then case ZKR.dep_type WHEN 1 then ZKR.GRBS_NAME else ZKR.UCHR_NAME end  else '' end,
			NAME_BUD	 = case ZKR.dep_type WHEN 1 then ZKR.BUDG_NAME else '' end,
			NAME_FO		 = case ZKR.SHORT when 0 then case ZKR.dep_type WHEN 1 then ZKR.FO_NAME else '' end else '' end,
			OKPO_FO		 = case ZKR.SHORT when 0 then case ZKR.dep_type WHEN 1 then ZKR.FO_OKPO else '' end else '' end,
			KOD_TOFK	 = ZKR.TOFK_CODE,
			NAME_TOFK	 = ZKR.TOFK_NAME,
			DATE_ISP	 = ZKR.SROK,
			GUID_SV		 = '',
			NOM_BO		 = ZKR.BO_NUM,
			KOD_ISP		 = '',
			PR_ISP		 = '',
			FAIP_CODE	 = '',
			SUM_V		 = ZKR.SUMMA,
			KOD_V		 = '643',
			SUM_DOC		 = 0,
			TYPE_AP		 = cast(ZKR.AVANSE as char(1)),
			SUM_V_NDS	 = case ZKR.SHORT when 0 then ZKR.SUMMA_NDS else 0 end,
			ORDER_PL	 = ZKR.[ORDER],
			VID_PL		 = CASE	ZKR.KIND WHEN 'почтой'     THEN '1'
										 WHEN 'телеграфом' THEN '2'
										 WHEN 'электронно' THEN '3'
										 WHEN 'срочно' 	   THEN '4'
										 ELSE '0' END,
			PURPOSE		 = replace(replace(ZKR.TARGETTEXT,char(10),''),char(13),''),
			VID_OSN		 = ZKR.OSN_VID,
			NOM_OSN		 = ZKR.OSN_NUM,
			DATE_OSN	 = ZKR.OSN_DATE,
			OSN			 = ZKR.OSN_COM,
			NAME_RCP	 = dbo.BB_DEP_NAME_FOR_SHABLON(@cKorrName, ZKR.KOR_LINK,  ZKR.KOR_ACC_LINK), 
			INN_RCP		 = ZKR.KOR_INN,
			KPP_RCP		 = case when len(rtrim(ZKR.KOR_INN)) > 10 then '0' else ZKR.KOR_KPP end,
			LS_UBP_RCP	 = case ZKR.SHORT when 0 then ZKR.KOR_LACC else '' end,
			BS_RCP		 = replace(ZKR.KOR_RACC,'00000000000000000000',''),
			NAME_BIC_RCP = ZKR.KOR_BANK,
			BIC_RCP		 = ZKR.KOR_BIK,
			KS_BIC_RCP	 = ZKR.KOR_KS,
			PAYSTATUS	 = ZKR.STATUS,
			KDOH		 = case when ZKR.DOH_CODE_L is null and (ZKR.TREBNUM is not null or ZKR.ZERODATE is not null or ZKR.TREBDATE is not null or ZKR.OKATO is not null)  then '0' 
								else replace(ZKR.DOH_CODE_L,'.','') end,
			OKATO		 = ZKR.OKATO,
			OSN_PL		 = ZKR.P_REASON,
			NAL_PER		 = ZKR.[PERIOD],
			NOM_DOK		 = ZKR.TREBNUM,
			DATE_DOK	 = case ZKR.ZERODATE when 1 then /*'00.00.0000'*/ '0' else CONVERT(CHAR(10),ZKR.TREBDATE,104) end,
			TYPE_PL		 = ZKR.P_TYPE,
			DOL_RUK_UBP	 = case when ZKR.SHORT = 0 and @iPostRuk = 1 then B.POST_NAME else '' end,
			NAME_RUK_UBP = case @iLongFio when 1 then rtrim(B.FM) + ' ' + rtrim(B.IM) + ' ' + rtrim(B.OT) else B.SHORT_NAME end,
			DOL_BUH_UBP	 = case when ZKR.SHORT = 0 and @iPostGl = 1 then GB.POST_NAME else '' end,
			NAME_BUH_UBP = case @iLongFio when 1 then rtrim(GB.FM) + ' ' + rtrim(GB.IM) + ' ' + rtrim(GB.OT) else GB.SHORT_NAME end,
			DATE_POD_UBP = ZKR.DATE,
			NOM_ZR_FK	 = '',
			DATE_FK		 = cast(null as datetime),
			DOL_ISP_FK	 = '',
			NAME_ISP_FK	 = '',
			TEL_ISP_FK	 = ''
	FROM dbo.BB_ZAYAVKA_KR ZKR
	left join dbo.GetOtvFaceData(null, 'Руководитель') B on ZKR.DEP_LINK = B.LINK_DEP
	left join dbo.GetOtvFaceData(null, 'Главный бухгалтер') GB on ZKR.DEP_LINK = GB.LINK_DEP
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId))


if @cFormat > 'TXZR100700' --or @cFormat = ''
/*	SELECT  LINK 		 = case when ZKR.OSNOV_LINK is null then ZKR.LINK else ZKR.DOG_LINK end,
			LINK_UP		 = ZKR.LINK,
			VID_OSN		 = ZKR.DOG_VID,
			NOM_OSN		 = ZKR.DOG_NUM,
			DATE_OSN	 = ZKR.DOG_DATE,
			OSN			 = case ZKR.SHORT when 0 then ZKR.DOG_COM else '' end
	FROM dbo.BB_ZAYAVKA_KR ZKR
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId)) and ZKR.DOG_NUM is not null
	union all
	SELECT  LINK 		 = ZKR.LINK,
			LINK_UP		 = ZKR.LINK,
			VID_OSN		 = ZKR.OSN_VID,
			NOM_OSN		 = ZKR.OSN_NUM,
			DATE_OSN	 = ZKR.OSN_DATE,
			OSN			 = case ZKR.SHORT when 0 then ZKR.OSN_COM else '' end
	FROM dbo.BB_ZAYAVKA_KR ZKR
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId)) and ZKR.OSN_NUM is not null 
				
*/
	SELECT  ZO.LINK, 
			ZO.LINK_UP,
			VID_OSN		 = ZO.[TYPE],
			NOM_OSN		 = ZO.NUMBER,
			DATE_OSN	 = ZO.[DATE],
			OSN			 = case ZKR.SHORT when 0 then ZO.COMMENT else '' end,
			OSN_PLAT	=	CASE ZKR.SHORT WHEN 0 THEN '' ELSE replace(str(ZO.OSN),'0','2') END
	FROM dbo.BB_ZAYAVKA_KR_OSNOV ZO
	inner join dbo.BB_ZAYAVKA_KR ZKR on ZKR.LINK = ZO.LINK_UP
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId))
	union all
	SELECT  ZKR.LINK, 
			ZKR.LINK,
			VID_OSN		 = 'УИН',
			NOM_OSN		 = ZKR.UIN_CODE,
			DATE_OSN	 = NULL,
			OSN			 = '-',
			OSN_PLAT	 = CASE ZKR.SHORT WHEN 0 THEN '' ELSE '2' END
	FROM dbo.BB_ZAYAVKA_KR ZKR
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId)) and ZKR.UIN_CODE <>''
 	order by 2,1
	

-- Таблица 4 (ZRST)
	select  ZT.LINK,
			LINK_UP = coalesce((select top 1 LINK from( 
								select LINK from ZAYAVKA_KR_OSNOV where LINK_UP = ZT.LINK_UP 
								union all
								SELECT  FP.LINK FROM dbo.finanse_pays FP where FP.LINK = ZT.LINK_UP and FP.UIN_CODE <>'') A
								order by LINK desc)
					,ZT.LINK_UP),
			KOD_IST_KBK	  = cast(ZT.VID_SR as char(1)),
			TYPE_KBK_PAY  = case ZT.KBK_TYPE when 1 then '10'
											 when 2 then '20'
											 when 4 then '31'
											 when 8 then '32'
											 else '' end,
			KBK_PAY		  = left(replace(replace(ZT.KBK_CODE,'.',''),'00000000000000000000',''),20),
			TYPE_KBK_RCP  = case ZKR.SHORT when 0 then case ZT.KBK_TYPE_d when 1 then '10'
																		  when 2 then '20'
																		  when 4 then '31'
																		  when 8 then '32'
																		  else '' end else '' end,
			KBK_RCP		  = case ZKR.SHORT when 0 then left(replace(ZT.BKD_CODE,'.',''),30) else '' end,
			ADD_KLASS_PAY = isnull(rtrim(case when left(DA.CODE,2) = '21' or left(DA.CODE,2) = '31' then isnull(ZT.DCL_CODE, '-') else ZT.DCL_CODE end), '') + case when @iSguDop = 1 and isnull(ZT.SGU_CODE, '') <> '' then '(' + rtrim(ZT.SGU_CODE) + ')'  else '' end,
			ADD_KLASS_RCP = ZT.DCL_CODE_D,
			SUM_V_KBK	  = ZT.SUMMA,
			SUM_R_KBK	  = 0,
			PURPOSE_KBK	  = case ZKR.SHORT when 0 then ZT.TARGET else '' end,
			NOTE_KBK	  = case ZKR.SHORT when 0 then ZT.TITLE + case @iNoteDCL when 1 then @cPrefDCL + ZT.DCL_CODE else '' end else '' end 
	from dbo.BB_ZAYAVKA_KR_TABLE ZT
	inner join dbo.FINANSE_PAYS ZKR on ZKR.LINK = ZT.LINK_UP
	inner join dbo.G_PROV G on ZKR.LINK = G.LINK
	inner join dbo.DEPARTMENT_ACCOUNTS DA on DA.LINK = G.ACC
	where ZT.LINK_UP in (select LINK from dbo.BufferGetTableByID(@cBuffId))






GO


GRANT EXECUTE ON dbo.BB_EXPORT_ZKR_16 TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OV_F0511808]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OV_F0511808]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE      PROCEDURE [dbo].BK_REPORT_OV_F0511808
	@varKSDATE_BEGIN	DATETIME,	
	@varKSDATE_END	DATETIME,	
	@varKSnPRN_KBK	INT		,
	@varKSnPRN_SGU	INT		,
	@varKScVal1 char(1), @varKSnOtborLink1 int,
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT		
AS
BEGIN
	DECLARE	@varKSLINK_DEP	INT		,
		@varKScNEXT_PERIOD	VARCHAR (10),
		@varKScBEGIN_PERIOD	VARCHAR (10),
		@varKScEND_PERIOD	VARCHAR (10),

		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254)

	/* -- Отбор субсчетов -- */
	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	/*
	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = [NAME],
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
*/
	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = dbo.BK_GET_PRINT_DEP_NAME (LINK), 
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT		
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'
	
	/* -- ОСВ -- */
	DECLARE @OSV TABLE (LINK_ACCT INT,
			SA_CODE VARCHAR (20),
			KBK INT, SGU INT,
			IN_SUMMA NUMERIC (28,2),	
			D_SUMMA NUMERIC (28,2),		
			K_SUMMA NUMERIC (28,2),		
			OUT_SUMMA NUMERIC (28,2)	
			)	

	INSERT INTO @OSV
	SELECT OSV.ACCOUNT,
		OSV.SA_CODE,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN OSV.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN OSV.SGU
			ELSE 0
		END,
		SUM (OSV.IN_SUMMA),
		SUM (OSV.D_SUMMA),
		SUM (OSV.K_SUMMA),	
		SUM (OSV.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSDATE_BEGIN, @varKSDATE_END, DEFAULT) OSV
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = OSV.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = OSV.KBK)
	WHERE @intSVOD_ZB = 1
		OR (@intSVOD_ZB = 0 AND OSV.DEP_LINK = @varKSLINK_DEP)
	GROUP BY OSV.ACCOUNT,
		OSV.SA_CODE,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN OSV.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN OSV.SGU
			ELSE 0
		END

	DECLARE @RESULT TABLE (BEGIN_P VARCHAR (10), END_P VARCHAR (10), NEXT_P VARCHAR (10),
			LINK_ACCT INT, SA_CODE VARCHAR (20),
			KBK INT, SGU INT,
			DEP_NAME VARCHAR (254), DEP_OKPO VARCHAR (20),
			ACCT_CODE VARCHAR (60), ACCT_NAME VARCHAR (254),
			DIN_SUM NUMERIC (28,2), KIN_SUM NUMERIC (28,2),
			D_SUMMA NUMERIC (28,2),				
			K_SUMMA NUMERIC (28,2),				
			DOUT_SUM NUMERIC (28,2), KOUT_SUM NUMERIC (28,2), 
			REP1 TINYINT
			)

	SET @varKScNEXT_PERIOD = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSDATE_END), 104)
	SET @varKScBEGIN_PERIOD = CONVERT (VARCHAR (10), @varKSDATE_BEGIN, 104)
	SET @varKScEND_PERIOD = CONVERT (VARCHAR (10), @varKSDATE_END, 104)

	INSERT INTO @RESULT
	SELECT @varKScBEGIN_PERIOD,
		@varKScEND_PERIOD,
		@varKScNEXT_PERIOD,
		OSV.LINK_ACCT,
		OSV.SA_CODE ,
		OSV.KBK,
		OSV.SGU,
		@varKSDEP_NAME,
		@varKSDEP_OKPO,
		dbo.BK_GetAcctFullCode1 (OSV.LINK_ACCT, OSV.KBK, OSV.SGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSDATE_END),
		SA.[NAME],
		CASE 				
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,			
		OSV.D_SUMMA,			
		OSV.K_SUMMA,			
		CASE 				
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,			
		1
	FROM @OSV OSV
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.LINK_ACCT)

	SELECT * 
	FROM @RESULT
	WHERE (D_SUMMA <> 0)
		OR (K_SUMMA <> 0)
		OR (DIN_SUM <> 0)
		OR (KIN_SUM <> 0)
		OR (DOUT_SUM <> 0)
		OR (KOUT_SUM <> 0)
	ORDER BY SA_CODE, ACCT_CODE
	
END




GO


GRANT EXECUTE ON dbo.[BK_REPORT_OV_F0511808] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_OTHER_FILL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_OTHER_FILL]

GO

CREATE   PROCEDURE dbo.SD_O_OTHER_FILL
@LINK INT
AS  

DECLARE @Month int, 
		@Year int, 
		@Link1 int,
		@DEP_LINK INT,
		@Date DATETIME	

SELECT 
	@Year = YEAR(S.DATE_CALC),
	@Month = MONTH(S.DATE_CALC),
	@DEP_LINK = S.LINK_DEP,
	@Date = dbo.DATEENDOFMONTH(S.DATE_CALC)
FROM 
	dbo.SDOC S
WHERE 
	S.LINK = @LINK

IF @DEP_LINK IS NULL
	Set @DEP_LINK = Coalesce( (SELECT TOP 1 ZB_LINK FROM dbo.KS_OPTIONS_ZB), dbo.GetOwnDepLink())

---Справочник тарифов
--!!! Ставки берет от тарифа Общий и не учитывает шкалу. При необходимости требуется переделать
CREATE TABLE #RANGE(LINK_PAYS INT, PREDEL NUMERIC(18,2), [PERCENT] NUMERIC(18,2))
INSERT INTO #RANGE (LINK_PAYS, PREDEL,  [PERCENT])
SELECT 
	DR.LINK_PAYS, PREDEL, [PERCENT]
FROM 
	dbo.PAYS P
	INNER JOIN dbo.DICTIONARY_RANGE DR ON P.LINK = DR.LINK_PAYS
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5
	AND TARIF = 1
	AND DR.[DATE]= (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE DR1 
		WHERE DR1.TARIF = DR.TARIF AND LINK_PAYS = P.LINK AND [DATE] <= @Date ORDER BY [DATE] DESC) 	

DECLARE @COLUMN_REF_PAY_MROT_T3 INT
SET @COLUMN_REF_PAY_MROT_T3 = (SELECT TOP 1 LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T3')

----Инвалиды и процент по ним
CREATE TABLE #INV ([PERCENT] NUMERIC(18,2), LINK INT)
INSERT  INTO #INV ([PERCENT], LINK)
SELECT
	[PERCENT] = MP.summa, I.PERS_LINK
FROM	
	dbo.MINROT_PAYS MP
	INNER JOIN dbo.PERS_INVALID I ON 1=1
WHERE
	[OBJECT] = @COLUMN_REF_PAY_MROT_T3
	AND
	LINK_MINROT = (SELECT TOP 1 LINK FROM MINROT WHERE PERIOD<=@Date ORDER BY PERIOD DESC)
	AND
	dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@Month,@Year))
		BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')	

--===РАСЧЁТ СКИДКИ
--Информация о предельном размере скидки
CREATE TABLE #SKIDKA (LINK_INC INT, PREDEL NUMERIC(18,2))
INSERT INTO #SKIDKA (LINK_INC, PREDEL)
SELECT TI.LINK, D.PREDEL
FROM 
	dbo.Salary_deduct_esn(@Date) D	
	INNER JOIN dbo.DICTIONARY_TYP_INCOMS TI ON TI.REF_DEDUCT = D.REF_PAY
	AND dbo.SA_GET_OPTION_BY_CODE('ESNTR_OPTIONS_OPT3') = 1 -- Предоставлять скидки 
	
--База расчёта
CREATE TABLE #BASE (LINK_TAX INT, LINK_PAY INT)
INSERT INTO #BASE (LINK_TAX, LINK_PAY)
SELECT T.LINK_TAX, T.LINK_PAYS 
FROM
	dbo.PAYS P  
	INNER JOIN dbo.TAX_REF T ON T.LINK_TAX = P.LINK
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5	

--Базовые суммы по физлицам в разрезе кодов дохода и источников
DECLARE @LINK_EKR211 INT, @LINK_EKR212 INT, @LINK_EKR213 INT
SET @LINK_EKR211 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '211')
SET @LINK_EKR212 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '212')
SET @LINK_EKR213 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')

DECLARE @SALARY_PROV_OPT4 TINYINT
SET @SALARY_PROV_OPT4 = dbo.sa_get_option_by_code('SALARY_PROV_OPT4')

CREATE TABLE #SUMMA (LINK_TAX INT, LINK_PERS INT, LINK_INC INT, LINK_VKR INT, LINK_EKR INT, SUMMA_M NUMERIC(18,2),SUMMA NUMERIC(18,2), LINK_VKR2 INT)
INSERT INTO #SUMMA (LINK_TAX, LINK_PERS, LINK_INC, LINK_VKR, LINK_EKR, SUMMA_M, SUMMA, LINK_VKR2)
SELECT
	B.LINK_TAX,
	ISNULL(J.PERS_LINK,E.PERS_LINK),
	P.LINK_INC,
	LINK_VKR = ISNULL(SF.LINK_SS_SFIN,J.LINK_VKR),
	CASE WHEN @SALARY_PROV_OPT4 = 0 THEN 
		CASE WHEN COALESCE(J.LINK_EKR,@LINK_EKR213) = @LINK_EKR211 THEN @LINK_EKR213 ELSE COALESCE(J.LINK_EKR,@LINK_EKR213) END
	ELSE 
		CASE WHEN COALESCE(J.LINK_EKR,@LINK_EKR213) IN (@LINK_EKR211, @LINK_EKR212) THEN @LINK_EKR213 ELSE COALESCE(J.LINK_EKR,@LINK_EKR213) END				
	END,	
	SUMMA_M = SUM(CASE WHEN MONTH(J.PERIOD_BEGIN) = @Month THEN SUMMA ELSE 0 END),
	SUMMA  = SUM(SUMMA),
	LINK_VKR2 = J.LINK_VKR
FROM
	#BASE B 
	INNER JOIN dbo.PAYS P ON P.LINK = B.LINK_PAY
	INNER JOIN dbo.CALCULATE_JURNAL J ON J.LINK_PAYS = P.LINK
	INNER JOIN dbo.EMPL E ON E.LINK = J.LINK_EMPL
	INNER JOIN dbo.SAL_SFIN SF ON SF.LINK = J.LINK_VKR
WHERE
	J.LINK_DEP = @DEP_LINK
	AND
	P.[OBJECT] = 1 
	AND
	YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) <= @Month
	--AND
	--J.LINK_EKR <> @LINK_EKR213
GROUP BY
	B.LINK_TAX, ISNULL(J.PERS_LINK,E.PERS_LINK), P.LINK_INC, LINK_VKR, J.LINK_EKR, SF.LINK_SS_SFIN

		
-- Базовые суммы по физлицам в разрезе кодов дохода
CREATE TABLE #SUMMA2 (LINK_TAX INT, LINK_PERS INT, LINK_INC INT, SUMMA_M NUMERIC(18,2), SUMMA NUMERIC(18,2))
INSERT INTO #SUMMA2 (LINK_TAX, LINK_PERS, LINK_INC, SUMMA_M, SUMMA)
SELECT LINK_TAX, LINK_PERS, LINK_INC, SUM(SUMMA_M), SUM(SUMMA)
FROM #SUMMA
GROUP BY LINK_TAX, LINK_PERS, LINK_INC

--Удалить рассчитанную скидку по данному расчёту, чтобы рассчитать её заново
DELETE FROM dbo.SDOC_DOT_SKIDKI WHERE LINK_UP = @LINK

-- Размер уже предоставленной скидки с начала года в разрезе кодов дохода
CREATE TABLE #SKIDKA_PREV (LINK_TAX INT, LINK_PERS INT, LINK_INC INT, SUMMA NUMERIC(18,2))

INSERT INTO #SKIDKA_PREV (LINK_TAX, LINK_PERS, LINK_INC, SUMMA)
SELECT LINK_TAX, LINK_PERS, LINK_INC, SUM(SUMMA)
FROM 
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_SKIDKI S ON S.LINK_UP = D.LINK
WHERE
	D.LINK_DEP = @DEP_LINK
	AND 
	YEAR(DATE_CALC)	= @Year AND MONTH(DATE_CALC) < @Month
GROUP BY
	LINK_TAX, LINK_PERS, LINK_INC

--
DECLARE @ESNTR_OPTIONS_OPT5 INT
SET @ESNTR_OPTIONS_OPT5 = dbo.SA_GET_OPTION_BY_CODE('ESNTR_OPTIONS_OPT5')

--Предоставленные скидки с предыдущего места работы
CREATE TABLE #PREV_DED (LINK_PERS INT, LINK_INC INT, SUMMA NUMERIC(18,2))
--
INSERT INTO #PREV_DED (LINK_PERS, LINK_INC, SUMMA)
SELECT E.PERS_LINK, LINK_INC = T.LINK, SUMMA = SUM(PD.SUMMA_DED)
FROM 
	dbo.SD_EMPL_PREV_DED PD
	INNER JOIN dbo.DICTIONARY_TYP_INCOMS T with (nolock) ON T.REF_DEDUCT = PD.LINK_DED
	INNER JOIN dbo.EMPL E with (nolock) ON E.LINK = PD.LINK_EMPL
	INNER JOIN dbo.ITEM_MOVE IM with (nolock) ON IM.EMPL_LINK = E.LINK AND IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS] IN (1,3) AND IM.DATE_BEGIN <= @Date
	INNER JOIN (
		SELECT E.PERS_LINK, MAX(DATE_BEGIN) AS DATE_BEGIN
		FROM 
			dbo.EMPL E with (nolock)
			INNER JOIN dbo.ITEM_MOVE IM with (nolock) ON IM.EMPL_LINK = E.LINK AND IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS] IN (1,3) AND IM.DATE_BEGIN <= @Date
			LEFT JOIN DBO.ITEM_DIS_FACE IDF with (nolock) ON IDF.EMPL_LINK = E.LINK AND IDF.ACTIVE=1 AND COALESCE(IDF.DIS_DATE,'20990101') >= dbo.DateBeginOfMonth(@Date)	
		GROUP BY
			E.PERS_LINK	
	) A ON A.PERS_LINK = E.PERS_LINK AND A.DATE_BEGIN = IM.DATE_BEGIN
WHERE
	E.DEP_LINK = @DEP_LINK
	AND
	YEAR(IM.DATE_begin) = @Year --YEAR(dbo.kd_DateBeginWork(@linkEmpl,null)) = @Year
	AND
	@ESNTR_OPTIONS_OPT5 = 1 --Учитывать вычеты, предоставленные на предыдущем месте работы
GROUP BY
	E.PERS_LINK, T.LINK

-- Расчёт скидки за месяц по физлицам в разрезе кодов дохода и источников
INSERT INTO dbo.SDOC_DOT_SKIDKI (LINK_UP, LINK_TAX, LINK_PERS, LINK_INC, LINK_VKR, LINK_VKR2, LINK_EKR, SUMMA, [PERCENT])
SELECT 
	@LINK, S2.LINK_TAX, S2.LINK_PERS, S2.LINK_INC, S.LINK_VKR, S.LINK_VKR2, S.LINK_EKR,
	--Остаток скидки в пределах месячного дохода
	--CASE WHEN S2.SUMMA_M > CASE WHEN ISNULL(SP.SUMMA,0) < SK.PREDEL THEN (SK.PREDEL - ISNULL(SP.SUMMA,0)) * (S.SUMMA_M / S2.SUMMA_M) ELSE 0 END
	--	THEN CASE WHEN ISNULL(SP.SUMMA,0) < SK.PREDEL THEN (SK.PREDEL - ISNULL(SP.SUMMA,0)) * (S.SUMMA_M / S2.SUMMA_M) ELSE 0 END
	--	ELSE S2.SUMMA_M
	--END,
	(
		CASE WHEN
			--Всего надо скидку
			(CASE WHEN ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) > ISNULL(SK.PREDEL,0) THEN ISNULL(SK.PREDEL,0) ELSE ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) END) > 0 
		THEN
		(
			--Всего надо скидку
			(CASE WHEN ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) > ISNULL(SK.PREDEL,0) THEN ISNULL(SK.PREDEL,0) ELSE ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) END) 
			--Уже предоставили
			- ISNULL(SP.SUMMA,0) - ISNULL(PD.SUMMA,0)
		)	
			----пропорционально кодам доходов
			* (S.SUMMA_M / S2.SUMMA_M)
		ELSE
		0 
		END	
	),
	[PERCENT] = ISNULL(I.[PERCENT],DR.[PERCENT])
FROM 
	#RANGE DR --Ставка налога
	INNER JOIN #SUMMA2 S2 ON -- Базовые суммы по физлицам в разрезе кодов дохода
							S2.LINK_TAX = DR.LINK_PAYS
	INNER JOIN #SUMMA S ON --Базовые суммы по физлицам в разрезе кодов дохода и источников
							S.LINK_TAX = S2.LINK_TAX AND S.LINK_PERS = S2.LINK_PERS AND S.LINK_INC = S2.LINK_INC
	INNER JOIN #SKIDKA SK ON --Информация о предельном размере скидки
							SK.LINK_INC = S.LINK_INC
	LEFT JOIN #SKIDKA_PREV SP ON -- Размер уже предоставленной скидки с начала года в разрезе кодов дохода
							SP.LINK_TAX = S2.LINK_TAX AND SP.LINK_PERS = S2.LINK_PERS AND SP.LINK_INC = S2.LINK_INC
	LEFT JOIN #PREV_DED PD ON --Предоставленные скидки с предыдущего места работы
						PD.LINK_PERS = S2.LINK_PERS AND PD.LINK_INC = S2.LINK_INC								
	LEFT JOIN #INV I ON --Инвалиды и процент по ним
						I.LINK = S2.LINK_PERS
WHERE
	S2.SUMMA_M <> 0
	

--===РАСЧЁТ ВЫЧЕТОВ
--Информация о предельном размере ВЫЧЕТА
CREATE TABLE #VYCHET (LINK_DED INT, PREDEL NUMERIC(18,2))
INSERT INTO #VYCHET (LINK_DED, PREDEL)
SELECT TI.LINK, D.PREDEL
FROM 
	dbo.Salary_deduct_esn(@Date) D	
	INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION TI ON TI.LINK = D.REF_PAY
	LEFT JOIN dbo.DICTIONARY_TYP_INCOMS TI2 ON TI2.REF_DEDUCT = D.REF_PAY
WHERE 
	TI2.REF_DEDUCT IS NULL
	AND
	dbo.SA_GET_OPTION_BY_CODE('ESNTR_OPTIONS_OPT4') = 1 -- Предоставлять вычеты		
	
--Определение размера удержаний, дающие права на предоставление вычетов
CREATE TABLE #SUMMA_U (LINK_DED INT, LINK_PERS INT, SUMMA_M NUMERIC(18,2), SUMMA NUMERIC(18,2))
INSERT INTO #SUMMA_U (LINK_DED, LINK_PERS, SUMMA_M, SUMMA)
---Вычеты от удержаний
SELECT 
	TA.LINK_DED, ISNULL(J.PERS_LINK,E.PERS_LINK), 
	SUMMA_M = SUM(CASE WHEN MONTH(J.PERIOD_BEGIN) = @Month THEN SUMMA ELSE 0 END),
	SUMMA  = SUM(SUMMA)
FROM 
	dbo.EMPL E inner join dbo.calculate_jurnal J ON e.link = J.link_empl
	inner join dbo.TAX2_APP TA ON TA.LINK_UP = J.LINK_PAYS
WHERE 
	J.LINK_DEP = @DEP_LINK
	AND YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) <= @Month
	AND ISNULL(TA.LINK_DED,0) > 0
GROUP BY 
	TA.LINK_DED, ISNULL(J.PERS_LINK,E.PERS_LINK)

--Удалить рассчитанную скидку по данному расчёту, чтобы рассчитать её заново
DELETE FROM dbo.SDOC_DOT_VYCHET WHERE LINK_UP = @LINK	

-- Размер уже предоставленного вычета с начала года в разрезе кодов вычетов
CREATE TABLE #VYCHET_PREV (LINK_TAX INT, LINK_PERS INT, LINK_DED INT, SUMMA NUMERIC(18,2))

INSERT INTO #VYCHET_PREV (LINK_TAX, LINK_PERS, LINK_DED, SUMMA)
SELECT LINK_TAX, LINK_PERS, LINK_DED, SUM(SUMMA)
FROM 
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_VYCHET S ON S.LINK_UP = D.LINK
WHERE
	D.LINK_DEP = @DEP_LINK
	AND 
	YEAR(DATE_CALC)	= @Year AND MONTH(DATE_CALC) < @Month
GROUP BY
	LINK_TAX, LINK_PERS, LINK_DED

--==== Расчёт ВЫЧЕТА за месяц по физлицам в разрезе кодов дохода и источников

--Вычеты по сотрудникам в разрезе кодов вычетов
SELECT 
	LINK_TAX = P.LINK, S.LINK_PERS, S.LINK_DED,
	SUMMA_M = 
	--CASE WHEN S.SUMMA_M > CASE WHEN ISNULL(VP.SUMMA,0) < V.PREDEL THEN (V.PREDEL - ISNULL(VP.SUMMA,0)) * (S.SUMMA_M / S.SUMMA_M) ELSE 0 END
	--	THEN CASE WHEN ISNULL(VP.SUMMA,0) < V.PREDEL THEN (V.PREDEL - ISNULL(VP.SUMMA,0)) * (S.SUMMA_M / S.SUMMA_M) ELSE 0 END
	--	ELSE S.SUMMA_M
	--END,
	(
		--Всего надо скидку
		(CASE WHEN ISNULL(S.SUMMA,0) > ISNULL(V.PREDEL,0) THEN ISNULL(V.PREDEL,0) ELSE ISNULL(S.SUMMA,0) END) 
		--Уже предоставили
		- ISNULL(VP.SUMMA,0)
	),		
	[PERCENT] = ISNULL(I.[PERCENT],DR.[PERCENT])
INTO #TMP_VYCH
FROM
	dbo.PAYS P
	INNER JOIN #RANGE DR --Ставка налога
							ON P.LINK = DR.LINK_PAYS
	INNER JOIN #SUMMA_U S -- Вычеты по физлицам
							ON 1=1
	INNER JOIN #VYCHET V --Информация о предельном размере скидки
						ON V.LINK_DED = S.LINK_DED
	LEFT JOIN #VYCHET_PREV VP -- Размер уже предоставленного вычета с начала года
						ON VP.LINK_PERS = S.LINK_PERS AND VP.LINK_DED = S.LINK_DED
	LEFT JOIN #INV I --Инвалиды и процент по ним
					ON I.LINK = S.LINK_PERS
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5
	AND S.SUMMA_M <> 0

--Доход по сотрудникам в разрезе источников
SELECT LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR, SUMMA_M = SUM(SUMMA_M)
INTO #TMP_DOH FROM #SUMMA GROUP BY LINK_TAX, LINK_PERS, LINK_VKR, LINK_EKR, LINK_VKR2

--Доход по сотрудникам
SELECT LINK_TAX, LINK_PERS, SUMMA_M = SUM(SUMMA_M)
INTO #TMP_DOH2 FROM #SUMMA GROUP BY LINK_TAX, LINK_PERS

--Вычеты по сотрудникам в разрезе источников и кодов вычетов
INSERT INTO dbo.SDOC_DOT_VYCHET (LINK_UP, LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR, LINK_DED, SUMMA, [PERCENT])
SELECT 
	@LINK, D2.LINK_TAX, D2.LINK_PERS, D.LINK_VKR, D.LINK_VKR2, D.LINK_EKR, V.LINK_DED, ISNULL(V.SUMMA_M,0) * ISNULL(D.SUMMA_M,0) / D2.SUMMA_M, V.[PERCENT]
FROM
	#TMP_DOH2 D2 
	INNER JOIN #TMP_DOH D ON D.LINK_TAX = D2.LINK_TAX AND D.LINK_PERS = D2.LINK_PERS
	INNER JOIN #TMP_VYCH V ON D2.LINK_TAX = V.LINK_TAX AND D2.LINK_PERS = V.LINK_PERS
WHERE
	ISNULL(D2.SUMMA_M,0) <> 0	

SELECT 
	[PERCENT] = ISNULL(I.[PERCENT],DR.[PERCENT]),
	DR.LINK_PAYS,
	CODE_PAYS = P.CODE,
	NAME_PAYS = P.NAME,
	S.LINK_VKR,
	[NAME_VKR] = F.CODE,
	S.LINK_EKR,
	[NAME_EKR] = G.CODE,	
	SUMMA = SUM(S.SUMMA_M),
	SKIDKA = SUM(ISNULL(SK.SUMMA,0)),
	VYCHET = SUM(ISNULL(V.SUMMA,0)),
	S.LINK_VKR2,
	[NAME_VKR2] = F2.CODE	
FROM 
	#RANGE DR
	INNER JOIN dbo.PAYS P ON P.LINK = DR.LINK_PAYS
	INNER JOIN #TMP_DOH S ON S.LINK_TAX = DR.LINK_PAYS
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = S.LINK_VKR
	INNER JOIN dbo.SAL_SFIN F2 ON F2.LINK = S.LINK_VKR2
	INNER JOIN dbo.KOSGU G ON G.LINK = S.LINK_EKR
	LEFT JOIN dbo.SDOC_DOT_SKIDKI SK ON  SK.LINK_UP = @LINK AND SK.LINK_TAX = DR.LINK_PAYS AND SK.LINK_PERS = S.LINK_PERS 
					AND SK.LINK_VKR = S.LINK_VKR AND SK.LINK_VKR2 = S.LINK_VKR2 and SK.LINK_EKR = S.LINK_EKR
	LEFT JOIN 
	(
		SELECT LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR, SUMMA = SUM(SUMMA) FROM dbo.SDOC_DOT_VYCHET 
		WHERE LINK_UP = @LINK GROUP BY LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR
	) V
	ON V.LINK_TAX = DR.LINK_PAYS AND V.LINK_PERS = S.LINK_PERS AND V.LINK_VKR = S.LINK_VKR AND V.LINK_VKR2 = S.LINK_VKR2 AND V.LINK_EKR = S.LINK_EKR
	LEFT JOIN #INV I ON I.LINK = S.LINK_PERS
GROUP BY
	ISNULL(I.[PERCENT],DR.[PERCENT]),
	DR.LINK_PAYS,
	P.CODE,
	P.NAME,
	S.LINK_VKR,
	F.CODE,
	S.LINK_EKR,
	G.CODE,
	S.LINK_VKR2,
	F2.CODE

DROP TABLE #SKIDKA
DROP TABLE #BASE
DROP TABLE #SUMMA
DROP TABLE #SUMMA2
DROP TABLE #SKIDKA_PREV
DROP TABLE #INV
DROP TABLE #TMP_VYCH
DROP TABLE #TMP_DOH
DROP TABLE #RANGE

GO


GRANT EXECUTE ON dbo.[SD_O_OTHER_FILL] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_6NDFL_16_PREPARE_R2]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_6NDFL_16_PREPARE_R2]

GO
CREATE PROCEDURE dbo.SA_6NDFL_16_PREPARE_R2 @LSF INT
AS

DECLARE
	@START_DATE DATETIME, @END_DATE DATETIME, @DEP_LINK INT, @BYearDate DATETIME,
	@nYEAR INT, @nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT

SELECT
	@DEP_LINK = Link_Organization,
	@START_DATE = BEGIN_DATE
FROM
	report_saved_forms
WHERE
	link_saved_form = @LSF
	

SET @BYearDate = dbo.DateBeginOfYear (@START_DATE)


SELECT
	@nYEAR = YEAR(@START_DATE),
	@nMONTH1 = MONTH(@START_DATE)-2,
	@nMONTH2 = MONTH(@START_DATE)-1,
	@nMONTH3 = MONTH(@START_DATE)
DECLARE @BDATE DATETIME , @EDATE DATETIME

SET @BDATE = dbo.ConvertDMY2Date(1,@nMONTH1,@nYEAR)
SET @EDATE = @START_DATE

DECLARE @varKSname VARCHAR(100), @varKSSQL VARCHAR(8000)
SET @varKSname = (SELECT ID FROM BUFFER WHERE LINK = -116 AND SID = SUSER_SID() )



--------------------------------------------
--------------------------------------------
--------------------------------------------


	create table #S_J_C_SHORT (link int,LINK_FACE int,PERS_LINK int, link_empl int, link_doc int, link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), link_inc int, period_begin datetime,period_end datetime, date1 datetime, date2 datetime, link_dep int)

	Insert into #S_J_C_SHORT (LINK_FACE, PERS_LINK, link_empl,link_doc, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, period_end, date1, date2, link_dep)
	Select  E.PERS_LINK, JC.PERS_LINK, JC.LINK_EMPL, JC.link_doc, P.LINK, link_vkr, ISNULL(JC.LINK_EKR,P.LINK_EKR), P.TYP_PER, P.OBJECT, summa, P.LINK_INC,
		period_begin = (Case 
						when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code = 'DOCUMENTS_ADD_TABEL'
						then JC.DATE_BEGIN else JC.period_begin 
					end) ,
		JC.PERIOD_END,
		JC.DATE_BEGIN,
		JC.DATE_END,
		JC.LINK_DEP  
	from 
		dbo.CALCULATE_JURNAL JC 
		INNER JOIN dbo.NDFL_GroupTax() T ON JC.LINK_PAYS=T.LINK_PAYS
		LEFT JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
		LEFT JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
		LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
	where
		(
				(ISNULL(d.code,'') <> 'DOCUMENTS_ADD_TABEL') and  (JC.PERIOD_BEGIN between @BDATE AND @EDATE)
				or 
				ISNULL(d.code,'') = 'DOCUMENTS_ADD_TABEL'
				and (JC.DATE_BEGIN between @BDATE AND @EDATE or  JC.PERIOD_BEGIN between @BDATE AND @EDATE )
				

			)
		AND  
			(	-->>NEW
			E.PERS_LINK in (select LINK from dbo.BufferGetTableById('REP2NDFL') )
			or
			JC.PERS_LINK in (select LINK from dbo.BufferGetTableById('REP2NDFL') )
			)	
		AND JC.LINK_DEP = @DEP_LINK 
	
	union all --Удержания
	SELECT   LINK_FACE, PERS_LINK, link_empl, link_doc, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, period_end, date1, date2, link_dep
	from dbo.S_J_C_SHORT SJC 
		LEFT JOIN DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC 
	where 
		SJC.LINK_DEP = @DEP_LINK
		and SJC.PERIOD_BEGIN between @BDATE AND @EDATE
		and TYP_OPER = 2


-----  для фактически полученного дохода
		CREATE TABLE #PAYS1_TMP ( [month] INT , PERIOD DATETIME,  pers_link INT , SM NUMERIC(18,2) ) 
		INSERT INTO #PAYS1_TMP ([month] , PERIOD , pers_link , SM) 
			
		SELECT  
			SJ.month_end,
			SJ.PERIOD_END /*CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END*/ ,
			EP.pers_link,
			ISNULL(SUM(SJ.summa), 0) 
				
		FROM dbo.SALARY_JURNAL_CALCULAT_SHORT SJ 
		INNER JOIN dbo.NDFL_GroupTax() T ON SJ.link_PAYS=T.LINK_PAYS
		INNER JOIN KU_EMPL_PLACING EP ON EP.LINK = SJ.LINK_EMPL
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.dictionary_typ_incoms dti ON dti.link = SJ.LINK_INC
		WHERE 
			SJ.PERIOD_BEGIN >=@BDATE AND SJ.PERIOD_END <= @EDATE
--			(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_BEGIN WHEN SJ.TYP_PER = 2 THEN SJ.DATE1 END) >= @varKSdDate1 
--			AND (CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END)<=@varKSdDate2
			AND EP.DEP_LINK = @DEP_LINK
	GROUP BY SJ.PERIOD_END /*CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END*/  , SJ.month_end, EP.pers_link


	---<< Добавление информации по внештатникам
	insert into #PAYS1_TMP


---<< Добавление информации по внештатникам
	SELECT 
		month(SJC.PERIOD_END),
		SJC.PERIOD_END,
		SJC.PERS_LINK,
		SUM(SUMMA) AS SUMMA_INC
	FROM 
		#S_J_C_SHORT SJC 
		INNER JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE 
		SJC.PERIOD_BEGIN between @BDATE AND @EDATE
		AND ISNULL(SJC.LINK_FACE,0) = 0
		AND SJC.LINK_DEP = @DEP_LINK 
	GROUP BY  SJC.PERIOD_END, DTI.FLAG, SJC.PERS_LINK



	CREATE TABLE #PAYS1( [MONTH] INT ,   DATE_DOH DATETIME , pers_link INT, SM_D NUMERIC(11,2), DATE_NDFL DATETIME , DATE_SP DATETIME, SM_N NUMERIC(11,2) )
	INSERT INTO #PAYS1
	SELECT [MONTH] , period, pers_link,SM , null,null,0
	FROM #PAYS1_TMP ORDER BY  period
	DROP TABLE #PAYS1_TMP


---    для фактически удержанного налога
--
--
    CREATE TABLE #NDFL_TAX(LINK_TAX INT)
	INSERT INTO #NDFL_TAX
	SELECT LINK	FROM PAYS P WHERE P.OBJECT = 2 AND P.WAY_CALC IN (4,5,6)
	
	
	 
/*
	EXEC SA_6NDFL_16_PREPARE_R2  2833
	exec dbo.RI_REPORT_FORMULA_ALL_CALCULATE '2016-01-01 00:00:00','2016-03-31 00:00:00',2,1,2833

*/	

	CREATE TABLE #NDLF_tmp( MONTH_BASE INT, DATE_NDFL DATETIME ,PERS_LINK int, SUMMA_NDFL NUMERIC(18,2))
	insert into  #NDLF_tmp (MONTH_BASE, DATE_NDFL, PERS_LINK , SUMMA_NDFL)
	SELECT  DI.MONTH_BASE, dbo.DateEndOfMonth(DI.[PERIOD])/*дата удержания налога (период) - раньше была дата документа*/ , SJC.link_face , SUM(ISNULL(sjc.SUMMA,0)) AS SUMMA_NDFL
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX
		left JOIN dbo.DOCUMENTS_INCTAX DI ON SJC.LINK_doc = di.link AND sjc.link_pays = DI.REF_PAY
	WHERE 
		PERIOD_BEGIN between @BDATE AND @EDATE
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		  DI.MONTH_BASE,DI.[PERIOD], SJC.link_face
	---<< Добавление информации по внештатникам
	union all
	SELECT  MONTH(SJC.date2), SJC.PERIOD_END, SJC.PERS_LINK, SUM(ISNULL(SUMMA,0)) AS SUMMA 
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE PERIOD_BEGIN between @BDATE AND @EDATE
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY    SJC.PERIOD_END,MONTH(SJC.date2), SJC.PERS_LINK



UPDATE p
SET  DATE_NDFL = CASE WHEN b.DATE_NDFL IS NULL THEN isnull((SELECT top 1 dbo.DateEndOfMonth(D.[PERIOD]) AS DATE_NDFL  
														FROM 
															dbo.DOCUMENTS_INCTAX D 
															INNER JOIN DBO.DOCUMENTS_INCTAX_TABLE D2 ON D2.LINK = D.LINK
															INNER JOIN DBO.SD_EMPL E ON E.LINK = D2.REF_EMPL
														WHERE 
															YEAR(D.PERIOD) = YEAR(p.DATE_DOH)
															and D.MONTH_BASE = P.[MONTH]
															and D.LINK_DEP = @DEP_LINK
															AND E.PERS_LINK = p.PERS_LINK	
														/*GROUP BY 
															  DI.MONTH_BASE,DI.[date], E.PERS_LINK*/),p.DATE_DOH) else b.DATE_NDFL END ,

	DATE_SP =CASE WHEN b.DATE_NDFL IS NULL THEN isnull((SELECT top 1 dbo.DateEndOfMonth(D.[date]) AS DATE_NDFL  
														FROM 
															dbo.DOCUMENTS_INCTAX D 
															INNER JOIN DBO.DOCUMENTS_INCTAX_TABLE D2 ON D2.LINK = D.LINK
															INNER JOIN DBO.SD_EMPL E ON E.LINK = D2.REF_EMPL
														WHERE 
															YEAR(D.PERIOD) = YEAR(p.DATE_DOH)
															and D.MONTH_BASE = P.[MONTH]
															and D.LINK_DEP = @DEP_LINK
															AND E.PERS_LINK = p.PERS_LINK	
														/*GROUP BY 
															  DI.MONTH_BASE,DI.[date], E.PERS_LINK*/),p.DATE_DOH) else b.DATE_NDFL END , 
	SM_N = CASE WHEN b.SUMMA_NDFL IS NULL THEN ISNULL((SELECT top 1 sum(D2.[total_TAX]) 
														FROM 
															dbo.DOCUMENTS_INCTAX D 
															INNER JOIN DBO.DOCUMENTS_INCTAX_TABLE D2 ON D2.LINK = D.LINK
															INNER JOIN DBO.SD_EMPL E ON E.LINK = D2.REF_EMPL
														WHERE 
															YEAR(D.PERIOD) = YEAR(p.DATE_DOH)
															and D.MONTH_BASE = P.[MONTH]
															and D.LINK_DEP = @DEP_LINK
															AND E.PERS_LINK = p.PERS_LINK	
														/*GROUP BY 
															  DI.MONTH_BASE,DI.[date], E.PERS_LINK*/),0) else b.SUMMA_NDFL END
FROM 	#PAYS1 p 
LEFT JOIN 	 
	 (	SELECT  * from #NDLF_tmp ) b ON b.PERS_LINK = p.PERS_LINK  AND  b.MONTH_base = p.[MONTH]


CREATE TABLE #RAZD2 (LINK INT IDENTITY (1,1), COL2 VARCHAR(10),COL3 VARCHAR(10), COL4 VARCHAR(10), COL5 NUMERIC(18,2), COL6 NUMERIC(18,2))
SET @varKSSQL = '
	INSERT INTO #RAZD2 ( COL2, COL3, COL4, COL5, COL6)
	SELECT
		CONVERT(VARCHAR (10), A.DATE_DOH,104),
		CONVERT(VARCHAR (10), A.DATE_NDFL,104),
		CONVERT(VARCHAR (10), A.DATE_SP,104),
		sum(A.SM_D),
		SUM(A.SM_N)
	FROM 
		#pays1  A
	GROUP BY A.[month],A.DATE_DOH, A.DATE_NDFL,A.DATE_SP /*, B.PERIOD_ndfl*/
	ORDER BY
		A.DATE_DOH'

EXEC (@varKSSQL)


SELECT
	CODE = CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)),
	COL1 = CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)),
	COL2,
	COL3,
	COL4,
	COL5,
	COL6
FROM
	#RAZD2 E
ORDER BY
	month(convert(datetime,COL2,104))


DROP TABLE #RAZD2


	

RETURN 0




GO


GRANT EXECUTE ON dbo.[SA_6NDFL_16_PREPARE_R2] TO PUBLIC

GO


GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BK_REPORT_RECALC_VED_NA1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BK_REPORT_RECALC_VED_NA1]
GO

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

/* -- Ведомость переоценки НА -- */
CREATE PROCEDURE BK_REPORT_RECALC_VED_NA1
	@dDateRECALC	DATETIME,	-- ДАТА, НА КОТОРУЮ ПРОВЕДЕНА ПЕРЕОЦЕНКА
	@intGROUP_NA	INT = NULL,	-- ГРУППА АКТИВА
	@cSOURCE	CHAR (1),	-- ИСТОЧНИК ФИНАНСИРОВАНИЯ
	@intTYPE_SUM	INT,		-- 1 - ПО БАЛАНСОВОЙ СТОИМОСТИ, 2 - ПО АМОРТИЗАЦИИ
	@intPRN_GROUP	INT,		-- ГРУППИРОВАТЬ ПО ГРУППАМ МАШИН И ОБОРУДОВАНИЯ
	@iAllZB		int,		-- По всем организациям ЦБ
	@cVal_INV	CHAR (1), @intOtborINV	INT	-- Фильтр по инв. номерам
AS
BEGIN
	DECLARE
		@intDEP_LINK	INT,
		@ORGNAME VARCHAR (254),
		@OKPO	VARCHAR (20),
		@intVal_INV	INT

	if @iAllZB = 0
	begin
		SET @intDEP_LINK = ISNULL (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())
		SELECT @ORGNAME = [NAME], 
			@OKPO = OKPO
		FROM dbo.DICTIONARY_DEPARTMENT
		WHERE LINK = @intDEP_LINK
	end
	else
	begin
		SET @intDEP_LINK = NULL
		SELECT top 1 @ORGNAME = rtrim([NAME]) +  ' (ЦБ)', 
				@OKPO = OKPO
		FROM dbo.DICTIONARY_DEPARTMENT
		WHERE LINK = dbo.GetOwnDepLink ()
	end

	SET @intGROUP_NA = ISNULL (@intGROUP_NA, 0)
	SET @intPRN_GROUP = ISNULL (@intPRN_GROUP, 0)

	SET @intVal_INV = LEN (@cVal_INV)

	DECLARE @RET_TABLE TABLE (INV INT, INV_CODE VARCHAR (20), INV_NAME VARCHAR (254),
			CODE_OKOF VARCHAR (20), TYPE_NA VARCHAR (254),
			GR_CODE VARCHAR (10), GR_NAME VARCHAR (254),
			ACCT_CODE VARCHAR (60), ACCT_GR VARCHAR (20),
			KOEF1 NUMERIC (5,2), KOEF2 NUMERIC (5,2), YBEGIN INT,
			SUMBEFORE NUMERIC (28,4),
			SUMAFTER NUMERIC (28,4),
			SUMRECALC NUMERIC (28,4),
			DEP_NAME VARCHAR (254),
			OKPO VARCHAR (20))

	INSERT INTO @RET_TABLE
	SELECT CASE WHEN T1.INV = 0 THEN T1.NOMEN ELSE T1.INV END,
		ISNULL (I1.CODE, ''),
		ISNULL (I1.[NAME], N1.[NAME]),
		ISNULL (AS2.CODE, ''),
		CASE WHEN @intGROUP_NA = 0 THEN '' ELSE GR_ASS.[NAME] END,
		ISNULL (AS3.CODE, ''),
		ISNULL (AS3.[NAME], ''),
		dbo.BK_GetAcctFullCode1 (T1.ACCOUNT, T1.KBK, DEFAULT, 1, 1, DATEADD (DAY, -1, @dDateRECALC)),
		SA.CODE,
		CASE WHEN T1.KOEF < 1 THEN 0 ELSE T1.KOEF END,
		CASE WHEN T1.KOEF < 1 THEN T1.KOEF ELSE 0 END,
		YEAR (AS1.DATE_BEGIN),
		T1.SUMBEFORE,
		T1.SUMAFTER,
		T1.SUMRECALC,
		@ORGNAME, @OKPO
	FROM dbo.BK_GetRecalcResult (@dDateRECALC, @intTYPE_SUM, @intDEP_LINK) T1
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT OUTER JOIN dbo.INVENTORY I1 ON (I1.LINK = T1.INV)
	LEFT OUTER JOIN dbo.ASSETS AS1 ON (AS1.LINK_UP = I1.LINK)
	LEFT OUTER JOIN dbo.NOMENCLATURE ASN ON (ASN.LINK = I1.NOMENCLATURE)
	LEFT OUTER JOIN dbo.ASSETS_GROUP_OKOF AS2 ON (AS2.LINK = AS1.OKOF)
	LEFT OUTER JOIN dbo.GROUP_OS AS3 ON (AS3.LINK = AS2.GROUP_OS)
	LEFT OUTER JOIN dbo.GROUP_INV GR_ASS ON (GR_ASS.LINK = ASN.GROUP_INV)
	LEFT OUTER JOIN dbo.NOMENCLATURE N1 ON (N1.LINK = T1.NOMEN)
	WHERE (@intGROUP_NA = 0 OR ASN.GROUP_INV = @intGROUP_NA)
		AND (@cSOURCE = '' OR SA.cSOURCE = @cSOURCE)
		AND (@cVal_INV = 0 OR
			(@cVal_INV <> 0 AND T1.INV IN (SELECT OVI.RECORD
						FROM dbo.OBJECT_VAR_INVENTORY OVI WHERE OVI.LINK_UP = @intOtborINV)))

	/* ИТОГИ 1 */
	DECLARE @TAB_TOTAL1 TABLE (RECNO INT IDENTITY,
			HEADER1 VARCHAR (100) DEFAULT (''),
			ACCT_CODE VARCHAR (60),
			SUMB1 NUMERIC (28,4),
			SUMAF1 NUMERIC (28,4),
			SUMR1 NUMERIC (28,4))

	INSERT INTO @TAB_TOTAL1 (ACCT_CODE, SUMB1, 
			SUMAF1, SUMR1)
	SELECT ACCT_CODE,
		SUM (SUMBEFORE),
		SUM (SUMAFTER),
		SUM (SUMRECALC)
	FROM @RET_TABLE
	GROUP BY ACCT_CODE
	ORDER BY ACCT_CODE

	UPDATE @TAB_TOTAL1 SET HEADER1 = 'Итого  по номеру счета'
	WHERE RECNO = 1

	/* ИТОГИ 2 */
	DECLARE @TAB_TOTAL2 TABLE (RECNO INT IDENTITY,
			HEADER2 VARCHAR (100) DEFAULT (''),
			ACCT_GR VARCHAR (20),
			SUMB2 NUMERIC (28,4),
			SUMAF2 NUMERIC (28,4),
			SUMR2 NUMERIC (28,4))

	INSERT INTO @TAB_TOTAL2 (ACCT_GR, SUMB2, 
			SUMAF2, SUMR2)
	SELECT ACCT_GR,
		SUM (SUMBEFORE),
		SUM (SUMAFTER),
		SUM (SUMRECALC)
	FROM @RET_TABLE
	GROUP BY ACCT_GR
	ORDER BY ACCT_GR

	UPDATE @TAB_TOTAL2 SET HEADER2 = 'Итого  по коду счета'
	WHERE RECNO = 1

	IF @intPRN_GROUP = 1
		SELECT *,
			CASE
				WHEN GR_CODE IN ('М1', 'М2', 'М3', 'М4') THEN 'Машины и оборудование, включая оборудование'
				WHEN GR_CODE IN ('Т1', 'Т2', 'Т3', 'Т4') THEN 'Транспорные средства'
				WHEN GR_CODE IN ('И1', 'И2', 'И3', 'И4') THEN 'Производственный и хозяйственный инвентарь'
				ELSE GR_NAME
			END AS GROUP1
		FROM @RET_TABLE ORDER BY GR_CODE, ACCT_CODE, INV_CODE
	ELSE
		SELECT * FROM @RET_TABLE ORDER BY ACCT_CODE, INV_CODE
	
	SELECT * FROM @TAB_TOTAL1 
	SELECT * FROM @TAB_TOTAL2 
END

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SALARY_FILL_DED_ESN_VKR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SALARY_FILL_DED_ESN_VKR]

GO

CREATE PROCEDURE [dbo].SALARY_FILL_DED_ESN_VKR
--Начисление страховых взносов
@RefPay int, 
@LinkVKR int,
@LINK_EKR INT, 
@linkPers int, 
@Month int, 
@Year int, 
@FlagMS  tinyint,
@FlagShow int = 0,
@DEP_LINK INT  = NULL,
@LinkVKR2 INT = NULL 
AS

SET NOCOUNT ON



IF @LinkVKR2 IS NULL
	SET @LinkVKR2 = @LinkVKR

DECLARE 
	@DATE1 datetime, 
	@linkFace int,
	@LINK_213EKR INT,
	@LINK_211EKR INT,
	@TARIF TINYINT,
	@SHOW_212 TINYINT,
	@LINK_EKR_ADD INT
		  
SET @TARIF = ISNULL((SELECT TOP 1 ENVD FROM dbo.SAL_SFIN WHERE LINK = @LinkVKR),0) + 1	
		  
SET @LINK_211EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '211')
SET @LINK_EKR_ADD = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '212')
SET @LINK_213EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')
SET @FlagMS = 1
SET @SHOW_212 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_3')

IF @SHOW_212 = 1 OR @LINK_EKR <> @LINK_211EKR
	SET @LINK_EKR_ADD = @LINK_EKR
	
DECLARE @ESN_OPTIONS_7 INT --Начислять доп. тариф только для полной ставки
--При включенной опции программа будет начислять страховые взносы по доп. тарифам только если у сотрудника по основной должности полная ставка. 
--Если ставка не полная, то доп. тариф не начисляется.
SET @ESN_OPTIONS_7 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_7')

DECLARE @ESN_OPTIONS_8 INT --Начислять доп. тариф внутренним совместителям
--При включенной опции программа будет начислять страховые взносы по доп. тарифам на доходы внутренних совместителей.
SET @ESN_OPTIONS_8 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_8')

DECLARE @DATE_BEG DATETIME
SET @DATE_BEG = dbo.convertDMY2Date(1,@Month,@Year)
SET @DATE1 = dbo.DateEndOfMonth(@DATE_BEG)

DECLARE @DATE_YEAR_BEG DATETIME
SET @DATE_YEAR_BEG = dbo.convertDMY2Date(1,1,@Year)

SELECT @linkFace = @linkPers 

DECLARE @T1 TABLE
([NUM]			[int],
 [SUMMA]		[numeric](19,2),
 [SUMMA_VKR]		[numeric](19,2),
 [SUMMA_M]		[numeric](19,2),
 [SUMMA_M_VKR]		[numeric](19,2))


IF @DEP_LINK IS NULL
	exec dbo.xd_whats_zb @DEP_LINK output

declare @linkEmpl int,  @Pred_Mesto_Rab numeric(15,2), 	  @FlagD int

SET @linkEmpl = 
	(SELECT TOP 1 IM.EMPL_LINK
	FROM
		DBO.EMPL E with (nolock)
		LEFT JOIN DBO.ITEM_MOVE IM with (nolock) ON IM.EMPL_LINK = E.LINK AND IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS] IN (1,3) AND IM.DATE_BEGIN <= @DATE1
		LEFT JOIN DBO.ITEM_DIS_FACE IDF with (nolock) ON IDF.EMPL_LINK = E.LINK AND IDF.ACTIVE=1 AND COALESCE(IDF.DIS_DATE,'20990101') >= dbo.DateBeginOfMonth(@DATE1)
	WHERE
		E.DEP_LINK = @DEP_LINK
		AND
		E.PERS_LINK = @linkPers
	ORDER BY
		DATE_BEGIN DESC	
	)	

---------------------------------------------------
DECLARE @item_move TABLE (LINK INT, EMPL_LINK INT, STAFF_LINK INT, DATE_BEGIN DATETIME, DATE_END DATETIME, NUM_STAKE NUMERIC(5,3), active TINYINT, NEW_FACE TINYINT, [STATUS] TINYINT)
INSERT INTO @item_move (LINK, EMPL_LINK, STAFF_LINK, DATE_BEGIN, DATE_END, NUM_STAKE, active, NEW_FACE, [STATUS])
Select 
	P1.LINK, P1.EMPL_LINK, P1.STAFF_LINK, P1.DATE_BEGIN, P1.DATE_END, P1.NUM_STAKE, P1.active, P1.NEW_FACE, P1.[STATUS]
from 
	dbo.empl e INNER JOIN dbo.item_move P1 ON P1.EMPL_LINK = e.link
WHERE
	E.DEP_LINK = @DEP_LINK AND E.PERS_LINK	= @linkPers
---------------------------------------------------

--Информация о размере ставок по каждому табельному номеру
DECLARE @NUM_STAKE TABLE (LINK_EMPL INT, NUM_STAKE NUMERIC(18,4), DATE_BEG DATETIME, DATE_END DATETIME)
INSERT INTO @NUM_STAKE (LINK_EMPL, NUM_STAKE, DATE_BEG, DATE_END)
SELECT DISTINCT
	EMPL_LINK, NUM_STAKE, DATE_BEGIN, DATE_END 
FROM @item_move
WHERE active = 1 AND NEW_FACE <> 3 AND @DATE1 BETWEEN DATE_BEGIN AND DATE_END

if @FlagShow = 1 
	select 'Сотрудник:  '+ LTRIM(RTRIM(P.FM)) + ' ' + SUBSTRING(LTRIM(RTRIM(P.IM)),1,1) + '.' + SUBSTRING(LTRIM(RTRIM(P.OT)),1,1)
		+  ', месяц ' + convert(varchar(2),@Month)+ ', год ' +convert(varchar(4),@Year) as [Исходные данные],
		[Отчисление] = (select rtrim(name) from pays where link =@RefPay)  FROM dbo.PERSON P where link = @linkFace


DECLARE @NASTR TABLE
([LINK_MINROT] 	[int],
 [REF_PAY]			[int],
 [CODE]				[varchar](5),
 [NAME]				[varchar](254),
 [PREDEL]			[numeric](19, 2))

INSERT INTO @NASTR([LINK_MINROT],[REF_PAY],[CODE],[NAME],[PREDEL])
SELECT [LINK_MINROT],[REF_PAY],[CODE],[NAME],[PREDEL] FROM dbo.Salary_deduct_esn(@DATE1)

SELECT @Pred_Mesto_Rab = 0, @FlagD = 0

IF dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_6 ') = 1
BEGIN
	IF YEAR(dbo.kd_DateBeginWork(@linkEmpl,null)) = @Year
	BEGIN
		SET @Pred_Mesto_Rab = (SELECT ISNULL(SUM(SUMMA_DED),0) FROM dbo.SD_EMPL_PREV_DED WHERE LINK_EMPL = @linkEmpl and LINK_DED in (select REF_PAY from @NASTR))
		IF @Pred_Mesto_Rab IS null or @Pred_Mesto_Rab < 0
			SET @Pred_Mesto_Rab = 0
		SET @FlagD = 1
		
		IF  @FlagShow = 1 
			SELECT 'Совокупный доход: '+ rtrim(isnull(convert(varchar(100),(select sum(summa_TYP_INCOMS) from dbo.SD_EMPL_PREV_DOHOD where link_empl =@linkEmpl)),'0')) + ' , вычеты: '+
			 rtrim( isnull( convert(varchar(100),(select sum(summa_ded) from dbo.SD_EMPL_PREV_DED where link_empl =@linkEmpl and LINK_DED in (select REF_PAY from @NASTR) )),'0'))  as 'Данные с предыдущего места работы'
	END
END	

---Учитываются доходы по договорам ГПХ в данной организации, чтобы правильно применить регрессионную шкалу---
DECLARE @SUM_DGH numeric(15,2)
SET @SUM_DGH = 
	ISNULL(
	(
	SELECT SUM(GT.SUMMA_BASE)
	FROM dbo.DOCUMENTS_DGH G INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
	WHERE FLAG_JC = 1
			AND YEAR(G.[DATE]) = @Year
			AND MONTH(G.[DATE]) <= @Month
			AND G.LINK_DEP = @DEP_LINK
			AND GT.LINK_PAY = @RefPay
			AND GT.PERS_LINK = @linkFace
	),0)

IF @SUM_DGH <> 0 AND @FlagShow = 1 
	SELECT 'Совокупный доход: '+ rtrim(isnull(convert(varchar(100),@SUM_DGH),'0')) as 'Доход по договорам ГПХ'


CREATE TABLE #PERIODY (LINK_EMPL INT, LINK_PERSON INT, TAB VARCHAR(10), NUM_STAKE NUMERIC(18,4), POSTNAME VARCHAR(50), st_date1 datetime, st_date2 datetime, im_date1 datetime, im_date2 datetime, [COD_SPO_USL_TRUD] int)

---------------------------------------------------------------------------------------------------------------
IF EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC IN (10,11) AND LINK = @RefPay)
BEGIN

	--sa_item_move
	--	
	DECLARE @sa_item_move TABLE (EMPL_LINK INT, STAFF_LINK INT, DATE_BEGIN DATETIME, DATE_END3 DATETIME, NUM_STAKE NUMERIC(5,3), [STATUS] TINYINT )

	INSERT INTO @sa_item_move (EMPL_LINK, STAFF_LINK, DATE_BEGIN, DATE_END3, NUM_STAKE, [STATUS])
	Select 
		P1.EMPL_LINK, P1.STAFF_LINK, P1.DATE_BEGIN, date_end3 = min(P2.date_begin) - 1, P1.NUM_STAKE, P1.[STATUS]
	from 
		dbo.empl e
		INNER JOIN @item_move P1 ON P1.EMPL_LINK = e.link
		INNER JOIN @item_move P2 on P1.EMPL_LINK = P2.EMPL_LINK
	where
		E.PERS_LINK	= @linkPers 
		AND P1.active = 1 AND P2.active = 1 AND P1.NEW_FACE <> 3 AND P2.NEW_FACE <> 3
		AND P1.[date_begin] < P2.[date_begin] 
	group by 
		P1.EMPL_LINK, P1.STAFF_LINK, P1.DATE_BEGIN, P1.NUM_STAKE, P1.[STATUS]

	INSERT INTO @sa_item_move (EMPL_LINK, STAFF_LINK, DATE_BEGIN, DATE_END3, NUM_STAKE, [STATUS])
	Select 
		P3.EMPL_LINK, P3.STAFF_LINK, P3.DATE_BEGIN, date_end3 = '99991231', P3.NUM_STAKE, P3.[STATUS]
	from
		dbo.empl e 
		INNER JOIN @item_move P3 ON P3.EMPL_LINK = e.link
	where
		E.PERS_LINK	= @linkPers  
		AND
		P3.active = 1 AND P3.NEW_FACE <> 3
		AND
		NOT EXISTS (
					Select *
					from 
						@item_move P1 inner join @item_move P2 on P1.EMPL_LINK = P2.EMPL_LINK
					where
						P1.LINK = P3.link
						AND P1.active = 1 and P2.active = 1 AND P1.NEW_FACE <> 3 AND P2.NEW_FACE <> 3
						and P1.[date_begin] < P2.[date_begin] 
					)
	-----------------------------------------------------------------------------------------------------

	CREATE TABLE #ADD_TYPE (
		[type] INT IDENTITY(1,1),
		[TERR_USL_TRUD] int NULL ,
		[TERR_RK] numeric(3, 2) NULL ,
		[OSOB_USL_TRUD] int NULL ,
		[COD_POS_SPISOK] int NULL ,
		[COD_POS_SPISOK2] int NULL ,
		[USL_DOSROCH_PENS] int NULL ,
		[STAVKA_PED_MED] numeric(3, 2) NULL,
		[COD_SPO_USL_TRUD] int NULL
	)

	INSERT INTO #ADD_TYPE 
	SELECT DISTINCT ISNULL(TERR_USL_TRUD,0), ISNULL(TERR_RK,0), ISNULL(OSOB_USL_TRUD,0), ISNULL(COD_POS_SPISOK,0), ISNULL(COD_POS_SPISOK2,0), ISNULL(USL_DOSROCH_PENS,0), ISNULL(STAVKA_PED_MED,0), ISNULL([COD_SPO_USL_TRUD],0)
	FROM dbo.staff
	WHERE ISNULL(COD_POS_SPISOK,0) <> 0 OR ISNULL(COD_POS_SPISOK2,0) <> 0

	INSERT INTO 
		#PERIODY (LINK_EMPL, LINK_PERSON, TAB, NUM_STAKE, POSTNAME, st_date1, st_date2, im_date1, im_date2, [COD_SPO_USL_TRUD])
	SELECT DISTINCT
		E.LINK,
		E.PERS_LINK,
		TAB,
		IM.NUM_STAKE,
		LEFT(PT.NAME,50),
		st_date1 = dbo.DateBeginOfMonth((case when st.DATE_BEGIN >= @DATE_YEAR_BEG then st.DATE_BEGIN else @DATE_YEAR_BEG end)),
		st_date2 = dbo.DateEndOfMonth((case when coalesce(st.DATE_END,@DATE1) <= @DATE1 then coalesce(st.DATE_END,@DATE1) else @DATE1 end)	),
		im_date1 = dbo.DateBeginOfMonth((case when im.DATE_BEGIN >= @DATE_YEAR_BEG then im.DATE_BEGIN else @DATE_YEAR_BEG end)),
		im_date2 = dbo.DateEndOfMonth( 
							CASE WHEN COALESCE(U.DIS_DATE,'20990101') <= (case when ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) <= @DATE1 then ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) else @DATE1 end)
								THEN COALESCE(U.DIS_DATE,'20990101')
								ELSE (case when ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) <= @DATE1 then ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) else @DATE1 end)
							END	),
		T.[COD_SPO_USL_TRUD]							
	FROM 
		dbo.empl e
		INNER JOIN @sa_item_move im ON im.EMPL_LINK = e.link
		inner join dbo.staff_head sh on sh.link = STAFF_LINK
		inner join dbo.staff st on st.link_up = sh.link
		INNER JOIN dbo.POST PT ON PT.LINK = st.post_link
		INNER join #ADD_TYPE T on ISNULL(st.TERR_USL_TRUD,0) = ISNULL(T.TERR_USL_TRUD,0) 
								AND ISNULL(st.TERR_RK,0) = ISNULL(T.TERR_RK,0) 
								AND ISNULL(st.OSOB_USL_TRUD,0) = ISNULL(T.OSOB_USL_TRUD,0) 
								AND ISNULL(st.COD_POS_SPISOK,0) = ISNULL(T.COD_POS_SPISOK,0) 
								AND ISNULL(st.COD_POS_SPISOK2,0) = ISNULL(T.COD_POS_SPISOK2,0) 
								AND ISNULL(st.USL_DOSROCH_PENS,0) = ISNULL(T.USL_DOSROCH_PENS,0) 
								AND ISNULL(st.STAVKA_PED_MED,0) = ISNULL(T.STAVKA_PED_MED,0)
								AND ISNULL(st.COD_SPO_USL_TRUD,0) = ISNULL(T.COD_SPO_USL_TRUD,0)
		LEFT JOIN dbo.ITEM_DIS_FACE U on E.link = U.empl_link AND U.ACTIVE=1	
	where
		E.PERS_LINK	= @linkPers
		and  
		im.DATE_BEGIN <= @DATE1 and im.DATE_END3 >= @DATE_YEAR_BEG
		AND
		IM.[STATUS] <> 2 --Вредность у внутренних совместителей не учитываем (НЕ ДОЛЖНО БЫТЬ)
		AND
		st.DATE_BEGIN <= @DATE1 and st.DATE_END >= @DATE_YEAR_BEG
		AND
		T.[TYPE] IS NOT NULL
		AND
		(
			ISNULL(T.[COD_POS_SPISOK],0) <> 0 AND EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC = 10 AND LINK = @RefPay)
			OR
			ISNULL(T.[COD_POS_SPISOK2],0) <> 0 AND EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC = 11 AND LINK = @RefPay)	
		)	

	if @FlagShow = 1 
		SELECT DISTINCT TAB AS [Таб_номер],  LEFT(dbo.ku_GetEmplSubdivName(LINK_EMPL,@DATE1),50) AS [Отдел], POSTNAME AS [Должность], CONVERT(VARCHAR(10), ST_DATE1, 104) AS 'Нач_пер_с_вредн_ШР', CONVERT(VARCHAR(10),ST_DATE2,104) AS 'Оконч_пер_с_вредн_ШР' FROM #PERIODY
			
	if @FlagShow = 1 
		SELECT DISTINCT TAB AS [Таб_номер],  NUM_STAKE AS [Кол-во ставок], LEFT(dbo.ku_GetEmplSubdivName(LINK_EMPL,@DATE1),50) AS [Отдел], POSTNAME AS [Должность], CONVERT(VARCHAR(10), IM_DATE1, 104) AS 'Нач_пер_с_вредн_должность', CONVERT(VARCHAR(10),IM_DATE2,104) AS 'Оконч_пер_с_вредн_должность', CASE WHEN NUM_STAKE < 1 THEN 'Доп. тариф не начисляется, т.к. не полный день' ELSE '' END AS [Примечание]
		FROM #PERIODY
	
	INSERT INTO @T1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
	SELECT M.NUM,SUM(SJ.SUMMA) AS SUMMA, 			
			 [SUMMA_VKR]	= SUM(CASE WHEN SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M] 		= SUM(CASE WHEN MONTH(SJ.PERIOD_BEGIN) = M.NUM THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M_VKR] = SUM(CASE WHEN (MONTH(SJ.PERIOD_BEGIN) = M.NUM) 
								AND (SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) THEN SJ.SUMMA ELSE 0 END)
	FROM 
		dbo.MONTHS M
		INNER JOIN dbo.EMPL E ON 1=1
		INNER JOIN dbo.CALCULATE_JURNAL SJ ON SJ.LINK_EMPL = E.LINK
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
	WHERE 
		E.PERS_LINK = @linkFace
		AND (M.NUM <= @Month) 
		AND (MONTH(SJ.PERIOD_BEGIN) <= M.NUM) 
		AND (YEAR(SJ.PERIOD_BEGIN) = @Year)
		AND TR.LINK_TAX = @RefPay 
		AND EXISTS (SELECT * FROM #PERIODY P WHERE 
												(@ESN_OPTIONS_7 = 0 OR @ESN_OPTIONS_7 = 1 AND P.NUM_STAKE >=1)
												AND 
												(
													@ESN_OPTIONS_8 = 0 AND P.LINK_EMPL = SJ.LINK_EMPL 
													OR
													@ESN_OPTIONS_8 = 1 AND P.LINK_PERSON = E.PERS_LINK
												)	
												AND SJ.PERIOD_BEGIN <= P.ST_DATE2 
												AND SJ.PERIOD_END >= P.ST_DATE1 
												AND SJ.PERIOD_BEGIN <= P.IM_DATE2 
												AND SJ.PERIOD_END >= P.IM_DATE1)
	GROUP BY  M.NUM	

	
END
---------------------------------------------------------------------------------------------------------------
ELSE
	INSERT INTO @T1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
	SELECT M.NUM,SUM(SJ.SUMMA) AS SUMMA, 			
			 [SUMMA_VKR]	= SUM(CASE WHEN SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M] 		= SUM(CASE WHEN MONTH(SJ.PERIOD_BEGIN) = M.NUM THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M_VKR] = SUM(CASE WHEN (MONTH(SJ.PERIOD_BEGIN) = M.NUM) AND (SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) THEN SJ.SUMMA ELSE 0 END)
	FROM 
		dbo.MONTHS M
		INNER JOIN dbo.CALCULATE_JURNAL SJ ON 1=1 
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
		INNER JOIN dbo.EMPL E ON SJ.LINK_EMPL = E.LINK
	WHERE 
		(TR.LINK_TAX = @RefPay) 
		AND (E.PERS_LINK = @linkFace) 
		AND (MONTH(SJ.PERIOD_BEGIN) <= M.NUM) AND (M.NUM <= @Month) AND (YEAR(SJ.PERIOD_BEGIN)=@Year)
		AND sj.LINK_DEP = @DEP_LINK
	GROUP BY  M.NUM

if @FlagShow = 1 
	SELECT [num] as [Месяц], [summa] as [Сумма с нач года],summa_vkr as [Сумма с нач года по ВКР/ЕКР], summa_m as [Сумма за месяц], 
	summa_m_vkr as [Сумма за месяц по ВКР/ЕКР]  FROM @T1

--Если суммы, которые раньше были в базе убрали из базы, теперь базовой суммы вообще нет
IF NOT EXISTS(SELECT * FROM @T1)
	INSERT INTO @T1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
	VALUES(@Month, 0, 0, 0, 0)

DECLARE @Temp1_1 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [MP]				[numeric](19,2),
 [MP_M]			[numeric](19,2),
 [MP_M_VKR]		[numeric](19,2))

--------------------------------------------------
CREATE TABLE #DICTIONARY_TYP_INCOMS (LINK INT)
INSERT INTO #DICTIONARY_TYP_INCOMS (LINK)
SELECT LINK FROM dbo.DICTIONARY_TYP_INCOMS WHERE EXISTS (SELECT * FROM @NASTR WHERE REF_PAY = REF_DEDUCT)
CREATE INDEX #DICTIONARY_TYP_INCOMS_IDX1 ON #DICTIONARY_TYP_INCOMS (LINK)

-------------------------------------------------
CREATE TABLE #PAYS (LINK INT)
INSERT INTO #PAYS (LINK)
SELECT P.LINK FROM dbo.PAYS P INNER JOIN #DICTIONARY_TYP_INCOMS I ON I.LINK = P.LINK_INC
CREATE INDEX #PAYS_IDX1 ON #PAYS (LINK)


--------------------------------------------------------------------------------------------------
IF EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC IN (10,11) AND LINK = @RefPay)
	
	INSERT INTO @Temp1_1 ([NUM],[LINK_PAYS],[MP],[MP_M],[MP_M_VKR])
	SELECT M.NUM,
			 [LINK_PAYS]= (SELECT LINK_INC  from pays where link = sj.LINK_PAYS),
			 [MP] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end), 
			 [MP_M] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)=m.num then (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end),
			 [MP_M_VKR] = SUM(CASE WHEN ( month(SJ.PERIOD_BEGIN)=m.num)AND(sj.link_vkr = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) 
								THEN (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end)
	FROM 
		dbo.MONTHS M 
		INNER JOIN dbo.S_J_C_Short SJ ON 1=1
		INNER JOIN #PAYS P ON P.LINK = SJ.LINK_PAYS
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
	WHERE 
		TR.LINK_TAX = @RefPay 
		AND (SJ.LINK_FACE = @linkFace)
		AND YEAR(SJ.PERIOD_BEGIN)=@Year AND M.NUM <= @Month 
		AND sj.LINK_DEP = @DEP_LINK
		AND EXISTS (SELECT * FROM #PERIODY P WHERE 
									(
										@ESN_OPTIONS_8 = 0 AND P.LINK_EMPL = SJ.LINK_EMPL
										OR
										@ESN_OPTIONS_8 = 1 AND P.LINK_PERSON = SJ.LINK_FACE
									)									
									AND SJ.PERIOD_BEGIN <= P.ST_DATE2 AND SJ.PERIOD_END >= P.ST_DATE1)		
		AND EXISTS (SELECT * FROM #PERIODY P WHERE 
									(
										@ESN_OPTIONS_8 = 0 AND P.LINK_EMPL = SJ.LINK_EMPL
										OR
										@ESN_OPTIONS_8 = 1 AND P.LINK_PERSON = SJ.LINK_FACE
									)	
									AND (@ESN_OPTIONS_7 = 0 OR @ESN_OPTIONS_7 = 1 AND P.NUM_STAKE >=1)
									AND SJ.PERIOD_BEGIN <= P.IM_DATE2 AND SJ.PERIOD_END >= P.IM_DATE1)		
	GROUP BY 
		M.NUM,SJ.LINK_PAYS
ELSE
	INSERT INTO @Temp1_1 ([NUM],[LINK_PAYS],[MP],[MP_M],[MP_M_VKR])
	SELECT M.NUM,
			 [LINK_PAYS]= (SELECT LINK_INC  from pays where link = sj.LINK_PAYS),
			 [MP] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end), 
			 [MP_M] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)=m.num then (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end),
			 [MP_M_VKR] = SUM(CASE WHEN ( month(SJ.PERIOD_BEGIN)=m.num)AND(sj.link_vkr = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) 
								THEN (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end)
	FROM 
		dbo.MONTHS M 
		INNER JOIN dbo.S_J_C_Short SJ ON 1=1
		INNER JOIN #PAYS P ON P.LINK = SJ.LINK_PAYS
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
	WHERE 
		TR.LINK_TAX = @RefPay 
		AND (SJ.LINK_FACE = @linkFace)
		AND YEAR(SJ.PERIOD_BEGIN)=@Year AND M.NUM <= @Month 
		AND sj.LINK_DEP = @DEP_LINK
	GROUP BY 
		M.NUM,SJ.LINK_PAYS
	

/*if @FlagShow = 1  
	select *  from @Temp1_1*/

DECLARE @Temp1 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [PREDEL]		[numeric](19,2),
 [MP]				[numeric](19,2),
 [MP_M]			[numeric](19,2),
 [MP_M_VKR]		[numeric](19,2))

INSERT INTO @Temp1 ([NUM],[LINK_PAYS],[PREDEL],[MP],[MP_M],[MP_M_VKR])
SELECT NUM,LINK_PAYS,
		[PREDEL] =  ISNULL((SELECT TOP 1 PREDEL FROM @NASTR 
								WHERE REF_PAY = (SELECT TOP 1 REF_DEDUCT FROM dbo.DICTIONARY_TYP_INCOMS WHERE LINK = LINK_PAYS)),0),
		SUM(MP) AS MP,
		SUM(MP_M) AS MP_M, 
		SUM(MP_M_VKR) AS MP_M_VKR
FROM @Temp1_1
GROUP BY NUM,LINK_PAYS

DECLARE @Temp2 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [PREDEL]		[numeric](19,2),
 [MP]				[numeric](19,2),
 [MP_M]			[numeric](19,2),
 [MP_M_VKR]		[numeric](19,2),
 [SALDO]			[numeric](19,2),
 [KOEF]			[numeric](19,10))

---


INSERT INTO @Temp2 ([NUM],[LINK_PAYS],[PREDEL],[MP],[MP_M],[MP_M_VKR],[SALDO],[KOEF]) 
SELECT T1.[NUM],T1.[LINK_PAYS],T1.[PREDEL],T1.[MP],T1.[MP_M],T1.[MP_M_VKR],
		 [SALDO] = (CASE WHEN @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM <= T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0) > PREDEL
				THEN PREDEL
				ELSE @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM <= T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0)
				END)
				- (CASE WHEN @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM < T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0) > PREDEL
				THEN PREDEL
				ELSE @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM < T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0)
				END),
		 [KOEF] 	= (CASE WHEN (SELECT SUM(MP_M) FROM @Temp1 T3 WHERE T3.NUM = T1.NUM AND T3.LINK_PAYS = T1.LINK_PAYS) = 0 
						THEN 0 ELSE (CASE WHEN (SELECT SUM(MP_M) 
				                         FROM @Temp1 T3 WHERE T3.NUM = T1.NUM AND T3.LINK_PAYS = T1.LINK_PAYS)= 0 
										  THEN 0 ELSE 										
											MP_M_VKR/(SELECT SUM(MP_M) 
                    				     FROM @Temp1 T3 WHERE T3.NUM = T1.NUM AND T3.LINK_PAYS = T1.LINK_PAYS) END) END)
FROM @Temp1 T1

declare @predel numeric(18,2)
Set @predel = COALESCE((SELECT TOP 1 PREDEL FROM @Temp1),0)


DECLARE @Temp3 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [SUMMA]			[numeric](19,2),
 [SUMMA_ALL]	[numeric](19,2),
 [SUMMA_M]		[numeric](19,2),
 [SUMMA_M_VKR]		[numeric](19,2)
)

INSERT INTO @Temp3 ([NUM],[LINK_PAYS],[SUMMA],[SUMMA_ALL],[SUMMA_M], SUMMA_M_VKR)
SELECT  T.[NUM], T.[LINK_PAYS],
		  [SUMMA] 	= dbo.IS_MIN((SELECT SUM(T3.SALDO * KOEF) FROM @Temp2 T3 WHERE  T3.NUM <= T.NUM AND T3.LINK_PAYS = T.LINK_PAYS),T.PREDEL), 
		  [SUMMA_ALL] 	= dbo.IS_MIN((SELECT SUM(T3.SALDO) FROM @Temp2 T3 WHERE  T3.NUM <= T.NUM AND T3.LINK_PAYS = T.LINK_PAYS),T.PREDEL),
		  [SUMMA_M] 	= CASE WHEN ABS(SUM(MP_M)) < ABS(T.SALDO) THEN ABS(T.SALDO) ELSE T.SALDO END,
		SUMMA_M_VKR 	= CASE WHEN ABS(SUM(MP_M)) < ABS(T.SALDO) THEN ABS(T.SALDO) ELSE T.SALDO END * KOEF
FROM @Temp2 T --WHERE SALDO > 0
GROUP BY T.NUM,T.PREDEL,T.SALDO,T.LINK_PAYS, KOEF 
ORDER BY T.NUM

if @FlagShow = 1  
	select num as [Месяц], LINK_PAYS as [Вычет], summa as [Скидка по ВКР/ЕКР], summa_all as [Скидка с начала года], summa_m as [Скидка за месяц]  from @Temp3


DECLARE @PREDEL_INV [numeric](15, 2)
SET @PREDEL_INV = ISNULL((SELECT TOP 1 PREDEL FROM dbo.DICTIONARY_MROT_TABLE3 DMT 
									WHERE LINK_MINROT = (SELECT TOP 1 LINK FROM dbo.DICTIONARY_MROT 
									WHERE PERIOD <=@DATE1 ORDER BY PERIOD DESC) AND (REF_PAY = @RefPay)),0)

DECLARE @T2_1 TABLE
([NUM]			[int],
 [SUMMA]			[numeric](19, 2),
 [SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_VKR]	[numeric](19, 2),
 [MP]				[numeric](19, 2),
 [MP_VKR]		[numeric](19, 2),
 [MP_M]			[numeric](19, 2),
 [MP_M_VKR]		[numeric](19, 2),
 [STATUS]		[int],
 [INV]			[numeric](19, 2))


INSERT INTO @T2_1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[MP],[MP_VKR],[MP_M],[MP_M_VKR],[STATUS],[INV])
SELECT T1.[NUM],T1.[SUMMA],T1.[SUMMA_VKR],T1.[SUMMA_M],T1.[SUMMA_M_VKR],
--		 [MP] 		= ISNULL((SELECT SUM(SUMMA) FROM @Temp3 T WHERE T.NUM <= T1.NUM),0),  
		 [MP] 		= ISNULL((SELECT SUM(SUMMA_ALL) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [MP_VKR]	= ISNULL((SELECT SUM(SUMMA) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [MP_M] 	= ISNULL((SELECT SUM(SUMMA_M) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [MP_M_VKR] = ISNULL((SELECT SUM(SUMMA_M_VKR) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
--		 [MP_M_VKR] = ISNULL((SELECT SUM(SUMMA) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [STATUS] 	= dbo.is_invalid(@linkFace,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,T1.NUM,@Year))), 
		 [INV] 		= cast(0 as numeric(15,2))
FROM @T1 T1 
GROUP BY T1.NUM,T1.SUMMA,T1.SUMMA_VKR,T1.SUMMA_M,T1.SUMMA_M_VKR
ORDER BY T1.NUM


DECLARE @summa_m 	[numeric](15, 2), 
		  @mp_m 		[numeric](15, 2),
		  @num 		[int], 
		  @Flag 		[bit], 
		  @itog 		[numeric](15, 2)

SET @itog = 0
DECLARE TMP_CUR CURSOR
FOR SELECT SUMMA_M, MP_M,NUM FROM @T2_1 WHERE STATUS = 2
OPEN TMP_CUR
FETCH TMP_CUR INTO @summa_m,@mp_m,@num
WHILE (@@FETCH_STATUS  = 0) AND (@PREDEL_INV - @itog) > 0 BEGIN
	IF @PREDEL_INV < (@itog+ @summa_m - @mp_m)
		UPDATE @T2_1 SET INV =(@PREDEL_INV-@itog) WHERE NUM = @num
	ELSE
		UPDATE @T2_1 SET INV =(@summa_m - @mp_m) WHERE NUM = @num
	
	SET @itog = @itog + @summa_m - @mp_m
	FETCH TMP_CUR INTO @summa_m,@mp_m,@num
END
CLOSE TMP_CUR
DEALLOCATE TMP_CUR

-- Другие льготы за месяц помимо инвалидов
---Вычеты от удержаний
select 
	TA.LINK_DED, MON = MONTH(CJ.PERIOD_BEGIN),
	SUMMA_G = CAST(0 AS NUMERIC(18,2)),
	SUMMA_M = SUM(SUMMA),
	LIMIT = ISNULL((SELECT TOP 1 PREDEL FROM @NASTR WHERE REF_PAY = TA.LINK_DED),0)
INTO #DED_U
from 
	dbo.EMPL E inner join dbo.calculate_jurnal cj on e.link = cj.link_empl
	inner join dbo.TAX2_APP TA on TA.LINK_UP = CJ.LINK_PAYS
where 
	cj.LINK_DEP = @DEP_LINK
	AND
	year(period_begin) = @Year
	and
	E.PERS_LINK = @linkPers	
	and 
	MONTH(cj.PERIOD_BEGIN) <= @Month
	and
	ISNULL(TA.LINK_DED,0) > 0
GROUP BY 
	TA.LINK_DED, MONTH(CJ.PERIOD_BEGIN)


UPDATE A
SET SUMMA_G = (SELECT SUM(SUMMA_M) FROM #DED_U B WHERE B.MON <= A.MON )
FROM #DED_U A

UPDATE #DED_U
SET 
	SUMMA_G = CASE WHEN ISNULL(SUMMA_G,0) < ISNULL(LIMIT,0) THEN ISNULL(SUMMA_G,0) ELSE ISNULL(LIMIT,0) END,
	SUMMA_M = CASE WHEN ISNULL(SUMMA_G,0) < ISNULL(LIMIT,0) THEN ISNULL(SUMMA_M,0)
				ELSE 
					CASE WHEN ISNULL(LIMIT,0) - (ISNULL(SUMMA_G,0) - ISNULL(SUMMA_M,0)) > 0 THEN 
						ISNULL(LIMIT,0) - (ISNULL(SUMMA_G,0) - ISNULL(SUMMA_M,0))
					ELSE 0
					END
			  END

UPDATE @T2_1 SET INV = ISNULL(INV,0) + ISNULL((SELECT SUM(SUMMA_M) FROM #DED_U WHERE MON = NUM),0)

--Расчет налога
--
DECLARE @T2 TABLE 
([NUM]				[int],
 [SUMMA]			[numeric](19, 2),
 [SUMMA_VKR]		[numeric](19, 2),
 [SUMMA_M]			[numeric](19, 2),
 [SUMMA_M_VKR]		[numeric](19, 2),
 [MP]				[numeric](19, 2),
 [MP_VKR]			[numeric](19, 2),
 [MP_M]				[numeric](19, 2),
 [MP_M_VKR]			[numeric](19, 2),
 [STATUS]			[int],
 [INV]				[numeric](19, 2),
 [INV_VKR]			[numeric](19, 2),
 [TARIF]			[TINYINT],
 [SPECO] [INT]
  ) -- Категория тарифа

INSERT INTO @T2 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[MP],[MP_VKR],[MP_M],[MP_M_VKR],[STATUS],[INV],[INV_VKR],[TARIF],[SPECO])
SELECT [NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[MP],[MP_VKR],[MP_M],[MP_M_VKR],[STATUS],[INV],
		 [INV_VKR] = (CASE WHEN (SUMMA_M - MP_M) = 0 THEN 0 ELSE (SUMMA_M_VKR - MP_M_VKR)*INV/(SUMMA_M - MP_M) END),
		 TARIF = CASE WHEN dbo.is_invalid(@linkFace,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,NUM,@Year))) = 2 THEN 3 ELSE @TARIF END,
		 [SPECO] = (SELECT TOP 1 [COD_SPO_USL_TRUD] FROM #PERIODY 
						WHERE dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,NUM,@Year)) BETWEEN st_date1 AND st_date2
						AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,NUM,@Year)) BETWEEN im_date1 AND im_date2)
FROM 
	@T2_1

if @FlagShow = 1 
	select [num] as [Месяц], [summa] as [Сумма с Н/Г],summa_vkr as [Сумма с Н/Г по ВКР/ЕКР], summa_m as [За мес], 
	summa_m_vkr as [За мес.по ВКР/ЕКР], mp as [Ск.всего], mp_vkr as [Ск.всего по ВКР/ЕКР],mp_m as [Ск. за мес],
	mp_m_vkr as [Ск.за мес.по ВКР/ЕКР], inv as [Льготы], inv_vkr as [Льготы по ВКР/ЕКР], TARIF as [ТАРИФ], [SPECO]  from @T2


DECLARE @WAY_CALC [int]
SELECT @WAY_CALC = WAY_CALC FROM dbo.PAYS WHERE LINK = @RefPay

DECLARE @Pred table  
(
 TARIF TINYINT,	
 [PREDEL]  [numeric](15, 2), 
 [PERCENT] [numeric](8, 2),
 WAY_CALC TINYINT,
 SPECO INT,
 NSPECO VARCHAR(254) )

IF @WAY_CALC<5
	
	IF @FlagMS = 1
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],SPECO,NSPECO)
		SELECT TARIF, [PREDEL],[PERCENT],SPECO=0,NSPECO='' FROM dbo.DICTIONARY_RANGE D
		WHERE
			(LINK_PAYS = @RefPay) 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE D1 WHERE D1.TARIF = D.TARIF AND (LINK_PAYS = @RefPay) AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
	ELSE 
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],SPECO,NSPECO)
		SELECT TOP 1 TARIF, [PREDEL] = 999999999999, [PERCENT],SPECO=0,NSPECO='' 
		FROM dbo.DICTIONARY_RANGE D
		WHERE 
			(LINK_PAYS = @RefPay) 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE D1 WHERE D1.TARIF = D.TARIF AND (LINK_PAYS = @RefPay) AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
ELSE 
BEGIN	
		
	DECLARE @Sex 		[int], 
			  @YearB 	[int], 
			  @Type 		[int]

	SELECT @Sex = SEX, @YearB = CASE WHEN RESIDENT = 1 THEN ISNULL(YEAR(BIRTHDATE),0) 
												ELSE 1966 END -- иностранцы по тарифам как для 66 года и страрше
											FROM dbo.PERSON WHERE LINK =@linkFace
	SET 	@Type = (CASE WHEN (@Sex = 1 AND @YearB < 1953) OR (@Sex = 2 AND @YearB<1957) THEN 1
						WHEN (@Sex = 1 AND @YearB BETWEEN 1953 AND 1966) OR (@Sex = 2 AND  @YearB BETWEEN 1957 AND 1966) THEN 2 
						ELSE 3 END)

	IF @FlagMS = 1 
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],WAY_CALC,SPECO,NSPECO)
		SELECT 
			TARIF,  
			[PREDEL],
			[PERCENT] = (CASE WHEN @Type = 1 THEN PERCENT1 WHEN @Type = 2 THEN PERCENT2 ELSE PERCENT3 END),
			WAY_CALC,
			SPECO,
			NSPECO
		FROM 
			dbo.DICTIONARY_RANGE_PF D
		WHERE
			LINK_PAYS = @RefPay 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE_PF D1 WHERE D1.TARIF = D.TARIF AND ISNULL(D1.SPECO,0) = ISNULL(D.SPECO,0) AND LINK_PAYS = @RefPay AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
	ELSE 
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],WAY_CALC,SPECO,NSPECO)
		SELECT TOP 1 
			TARIF, 
			[PREDEL] = 999999999999,
			[PERCENT] = (CASE WHEN @Type = 1 THEN PERCENT1 WHEN @Type = 2 THEN PERCENT2 ELSE PERCENT3 END),
			WAY_CALC,
			SPECO,NSPECO
		FROM 
			dbo.DICTIONARY_RANGE_PF D
		WHERE
			LINK_PAYS = @RefPay 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE_PF D1 WHERE D1.TARIF = D.TARIF AND ISNULL(D1.SPECO,0) = ISNULL(D.SPECO,0) AND LINK_PAYS = @RefPay AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
	END

IF @FlagShow = 1 
	select TARIF as [Тариф], Predel as [Предел], [Percent] as [Процент], NSPECO AS [Спецоценка] from @Pred P
	WHERE EXISTS (SELECT * FROM @T2 B WHERE B.TARIF = P.TARIF AND ISNULL(B.[SPECO],0) = ISNULL(P.[SPECO],0))

DECLARE @res TABLE
([NUM]			[int],
 [SUMMA]		[numeric] (19, 2),
 [SUMMA_M_VKR]	[numeric] (19, 2),
 [PERC]			[numeric] (19, 2),
 [SUM_MON]		[numeric] (19, 2),
 [TARIF]		INT,
 [SPECO]		INT)

INSERT INTO @res([NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],[TARIF],[SPECO])
SELECT T7.[NUM],T7.[SUMMA],T7.[SUMMA_M_VKR],T7.[PERC], CAST(0 as numeric(15,2)) AS SUM_MON, [TARIF], [SPECO]
FROM  
	(
	SELECT 
		[NUM], 
		[SUMMA] 		 = SUMMA - MP, 
		[SUMMA_M_VKR] = SUMMA_M_VKR - MP_M_VKR,	
		[PERC] 		 = ISNULL((SELECT TOP 1 T.[PERCENT] FROM (SELECT TOP 1 * FROM @Pred P WHERE B.TARIF = P.TARIF AND ISNULL(B.SPECO,0) = ISNULL(P.[SPECO],0) AND PREDEL > (SUMMA - MP + @SUM_DGH) ORDER BY PREDEL) T),0),
		B.[TARIF],
		B.[SPECO]
	 FROM @T2	B
	 UNION
	 SELECT DISTINCT
		[NUM] 			= ISNULL((SELECT MIN(NUM) FROM @T2 B1 WHERE B1.TARIF = B.TARIF AND ISNULL(B1.[SPECO],0) = ISNULL(B.[SPECO],0) AND (SUMMA-MP+@SUM_DGH) > PREDEL),12), 
		[SUMMA] 		= PREDEL - @SUM_DGH, 
		[SUMMA_M_VKR]= 0, 
		[PERC] 		= [PERCENT],  
		B.[TARIF],
		B.[SPECO]		
 	 FROM 
 		@T2 B INNER JOIN @Pred T ON B.TARIF = T.TARIF AND ISNULL(B.[SPECO],0) = ISNULL(T.[SPECO],0)
 	 WHERE 
 		PREDEL < (SELECT TOP 1 (SUMMA - MP + @SUM_DGH) FROM @T2 B1 WHERE B1.TARIF = B.TARIF AND ISNULL(B1.[SPECO],0) = ISNULL(B.[SPECO],0) ORDER BY 1 DESC)
 	) T7


DECLARE Curs CURSOR FAST_FORWARD FOR
SELECT NUM,SUMMA FROM @res ORDER BY [NUM]  

DECLARE @Summa [numeric] (19, 2), 
	@summa_prev [numeric] (19, 2), 
	@num1 [int]


SET @summa_prev = 0
OPEN Curs
FETCH NEXT FROM Curs INTO @num1, @Summa
WHILE @@FETCH_STATUS = 0 BEGIN
	UPDATE @res SET SUM_MON = @Summa - @summa_prev WHERE NUM = @num1 AND SUMMA = @Summa
	SET @summa_prev = @Summa
  	FETCH NEXT FROM Curs INTO @num1, @Summa
END
CLOSE Curs
DEALLOCATE Curs

DECLARE @Result1 TABLE
([NUM]			[int],
 [SUMMA]			[numeric] (19, 2),
 [SUMMA_M_VKR]	[numeric] (19, 2),
 [PERC]			[numeric] (19, 2),
 [SUM_MON]		[numeric] (19, 2),
 [SKIDKA]		[numeric] (19, 2),
 [KOEF]			[numeric] (19, 10), 
 [TARIF]		INT,
 [SPECO]		INT)


INSERT INTO @Result1 ([NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],[SKIDKA],[KOEF], [TARIF], [SPECO])
SELECT [NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],
		 [SKIDKA] = dbo.is_min(T1.SUM_MON, ISNULL((SELECT INV FROM @T2 T4  WHERE T4.NUM = T1.NUM),0)  
						- ISNULL((SELECT SUM(T3.SUM_MON) FROM @res T3 WHERE T3.NUM = T1.NUM AND T3.SUMMA < T1.SUMMA), 0)),
		 [KOEF] = (SELECT (CASE WHEN (SUMMA_M - MP_M) = 0 THEN 0 ELSE (SUMMA_M_VKR - MP_M_VKR)/(SUMMA_M - MP_M) END) FROM @T2 T2 WHERE T2.NUM = T1.NUM),
		 [TARIF], [SPECO]
FROM @res T1

DECLARE @RESULT TABLE
([NUM]			[int],
 [SUMMA]			[numeric] (19, 2),
 [SUMMA_M_VKR]	[numeric] (19, 2),
 [PERC]			[numeric] (19, 2),
 [SUM_MON]		[numeric] (19, 2),
 [SKIDKA]		[numeric] (19, 2),
 [KOEF]			[numeric] (19, 10),
 [VYCH] 		[numeric] (19, 2),
 [TARIF]		INT,
 [SPECO]		INT)

INSERT INTO @RESULT ([NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],[SKIDKA],[KOEF], [TARIF], [SPECO])
SELECT [NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],
		 [SKIDKA] = (CASE WHEN SKIDKA < 0 THEN 0 ELSE SKIDKA END),
		 [KOEF], [TARIF], [SPECO]
FROM @Result1

DECLARE @Razn 			[numeric](15, 2), 
	  @NalCurr 	[numeric](15, 2),
	  @Sum1 		[numeric](15, 2)

--Расчет с копейками
SET @NalCurr = (SELECT sum(ROUND((PERC * (COALESCE(SUM_MON,0) - COALESCE(SKIDKA,0))* COALESCE(KOEF,0)/100) * 100, 2) / 100) FROM @RESULT )

--Сумма ранее начисленного взноса
SET @Sum1 = ISNULL((SELECT SUM(SJ.SUMMA) FROM dbo.S_J_C_Short SJ 
WHERE 
	SJ.LINK_VKR = @LinkVKR 
	AND SJ.LINK_VKR2 = @LinkVKR2
	--AND ( (SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) AND @LINK_EKR <> @LINK_211EKR) OR (@LINK_EKR = @LINK_211EKR AND SJ.LINK_EKR IN (@LINK_211EKR,@LINK_213EKR)) )
	AND ( (SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) AND @LINK_EKR <> @LINK_211EKR) OR (@LINK_EKR = @LINK_211EKR AND SJ.LINK_EKR = @LINK_EKR) )
	AND SJ.LINK_PAYS = @RefPay 
	AND (SJ.LINK_FACE = @linkFace) 
	AND MONTH_BEGIN <= @Month 
	AND YEAR_BEGIN=@Year 
	AND sj.LINK_DEP = @DEP_LINK),0)

--IF --ЕСЛИ ГОДОВОЙ ДОХОД ПО ВСЕМ ИСТОЧНИКАМ < 0
--	(SELECT SUM(SUMMA) FROM @RESULT) < 0 
--		--AND @Sum1 = 0 
--		-- И ЕСЛИ ТЕКУЩИЙ НАЛОГ ПОЛУЧАЕТСЯ < 0
--		AND @NalCurr < 0
--	SET @NalCurr = 0
	
SET @Razn = @NalCurr - @Sum1

DECLARE @FLG INT
SELECT TOP 1 @FLG = ISNULL(CONVERT(INT,VALUE),0) 
FROM S_OPTIONS WHERE OBJECT = (SELECT TOP 1 LINK FROM S_OBJECTS WHERE CODE = 'ESN_OPTIONS_FLG') AND SID IS NULL

IF @Razn <0 AND @FLG = 0
	SET @Razn=0

SELECT [SUMMA] 		= ISNULL(SUMMA_VKR,0), 
	 [SUMMA_VKR] 	= ISNULL(SUMMA_M_VKR, 0),
	 [SUM_DED] 		=	CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT TOP 1 MP_VKR FROM @T2 WHERE NUM = @Month), 0)
						ELSE 0 END,	
	 [INV_M] 		= CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT SUM(SKIDKA*KOEF) FROM @RESULT WHERE NUM = @Month),0)
						ELSE 0 END,
	 [INV] 			= CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT SUM(SKIDKA*KOEF) FROM @RESULT WHERE NUM <= @Month),0)
						ELSE 0 END,
	 [DED_M] 		= CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT TOP 1 MP_M_VKR FROM @T2 WHERE NUM = @Month), 0)
						ELSE 0 END,
	 [PERC]			= ISNULL((SELECT MIN(PERC) FROM @RESULT WHERE NUM = @Month),0),
	 [NALOG] 		= @NalCurr, 
	 [NAL_DED] 		= @Sum1, 
	 [NAL_CUR] 		= @Razn,
	 [TARIF]		= ISNULL((SELECT MIN([TARIF]) FROM @RESULT WHERE NUM = @Month),0), 
	 [SPECO]		= ISNULL((SELECT MIN([SPECO]) FROM @RESULT WHERE NUM = @Month),0),
	 [NSPECO]		= (SELECT TOP 1 CODE FROM dbo.SZV4_SPR WHERE LINK = ISNULL((SELECT MIN([SPECO]) FROM @RESULT WHERE NUM = @Month),0) )
FROM 
	@T1 
WHERE 
	NUM = @Month

SET NOCOUNT OFF





GO


GRANT EXECUTE ON dbo.[SALARY_FILL_DED_ESN_VKR] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_SV_EMPL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_SV_EMPL]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_SV_EMPL
	@varKSdDate1	DATETIME			,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal2 char(1), @varKSnOtborLink2 int	,
	@varKScVal3 char(1), @varKSnOtborLink3 int	,
	@varKSnPRN_KBK INT				,
	@varKSnPRN_SGU INT				,
	@intREPORT_EMPL INT				,
	@varKScOtborAccount	VARCHAR (100),
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT,
	@intPRN_INV_PLACE	INT = 0
AS
BEGIN
	DECLARE	@varKSDIC_EMP	INT,
		@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254),
		@strREP_NAME	VARCHAR (254),
		@dDATE_REST	DATETIME

	SET @intPRN_INV_PLACE = ISNULL (@intPRN_INV_PLACE, 0)

	DECLARE @DEP TABLE (DEP [INT], DEP_CODE  [VARCHAR] (20), DEP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal1)>0 BEGIN
		INSERT INTO @DEP
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM OBJECT_VAR_DEPARTMENT OVR, DICTIONARY_DEPARTMENT D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink1
	END
	ELSE
	BEGIN
		INSERT INTO @DEP
			SELECT D.LINK, D.CODE, D.[NAME] FROM DICTIONARY_DEPARTMENT D
		INSERT INTO @DEP VALUES (0, '', 'Не указан')
	END

	DECLARE @EMP TABLE (LINK_EMP [INT], EMP_CODE  [VARCHAR] (20), EMP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @EMP
			SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
			FROM OBJECT_VAR_EMPL OVR, KU_EMPL_PLACING D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
			SELECT D.LINK, D.TAB, D.[NAME_EMPL] FROM KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', 'Не указан')
	END

	DECLARE @ACCT TABLE (LINK_ACCT [INT])
	IF LEN (@varKScVal3) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink3
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@varKScOtborAccount, DEFAULT) T1 ON (T1.VALUE = ACCT.cSINTH)
		UNION ALL
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('201', '05', DEFAULT, DEFAULT) ACCT
		UNION ALL
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('201', '35', DEFAULT, DEFAULT) ACCT

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSDEP_LINK = LINK,
		@varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

--	SET @dDATE_REST = DATEADD (DAY, 1, @varKSdDate1)
	SET @dDATE_REST = @varKSdDate1

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], INV [INT], NOMEN [INT], EMP [INT],
			KBK [INT], KOSGU [INT],
			PRICE NUMERIC (28,6), PRICE_TYPE TINYINT,
			SUMMA [NUMERIC] (20,4), QTY [NUMERIC] (20,4))  

	INSERT INTO @TABLE1
	SELECT ISNULL (T1.DEP, 0),
		T1.ACCOUNT,
		ISNULL (T1.INV, 0),
		ISNULL (T1.NOMEN, 0),
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE WHEN PRICE_TYPE = 1 THEN PRICE ELSE 0 END,
		PRICE_TYPE,
		SUM (T1.D_SUMMA), SUM (T1.D_QuantiTY)
--	FROM dbo.ARestTableByDate (@varKSdDate1, DEFAULT) T1
	FROM dbo.ARestTableByDate (@dDATE_REST, DEFAULT) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = ISNULL (T1.KBK, 0))
--	WHERE @intSVOD_ZB = 1 
	WHERE (@intSVOD_ZB = 1
			AND T1.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4))
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  ISNULL (T1.DEP, 0),
		T1.ACCOUNT,
		ISNULL (T1.INV, 0),
		ISNULL (T1.NOMEN, 0),
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE WHEN PRICE_TYPE = 1 THEN PRICE ELSE 0 END,
		PRICE_TYPE

	SET @strREP_NAME = ''
	IF EXISTS (SELECT * FROM dbo.S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '101')
		SET @strREP_NAME = 'ОСНОВНЫХ СРЕДСТВ'

	IF EXISTS (SELECT * FROM dbo.S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '105')
		SET @strREP_NAME = @strREP_NAME + CASE
							WHEN @strREP_NAME = '' THEN ''
							ELSE ', '
						END 
			+ 'МАТЕРИАЛЬНЫХ ЗАПАСОВ'
	
	IF EXISTS (SELECT * FROM dbo.S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '201')
		SET @strREP_NAME = @strREP_NAME + CASE
							WHEN @strREP_NAME = '' THEN ''
							ELSE ', '
						END 
			+ 'ДЕНЕЖНЫХ ДОКУМЕНТОВ'

	DECLARE @RESULT TABLE (DEP [INT], ACCOUNT [INT], INV [INT], EMP [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (20), ACCT_CODE [VARCHAR] (60), 
			INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
			UM_CODE [VARCHAR] (20), UM_NAME [VARCHAR] (254),
			PRICE [NUMERIC] (20,4),	PRICE_TYPE TINYINT,
			EMP_CODE [VARCHAR] (20), EMP_NAME [VARCHAR] (254),
			SUMMA [NUMERIC] (20,4), QTY [NUMERIC] (20,4),
			PLACE_CODE VARCHAR (10), PLACE_NAME VARCHAR (254), 
			ORGNAME [VARCHAR] (254),
			REP_NAME [VARCHAR] (254),
			SORT1 VARCHAR (30),
			PRN_PLACE INT)

	INSERT INTO @RESULT
	SELECT T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.EMP,
		DEP.DEP_CODE,
		DEP.DEP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (T1.ACCOUNT, T1.KBK, T1.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate1),
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, '')),	
		ISNULL (INV.[NAME], ISNULL (NOMEN.NAME, '')),	
		'',	
		ISNULL (INV.[NAME_UM], ISNULL (NOMEN.[NAME_UM], '')),
--		ISNULL (INV.BALANCE, 0),
		T1.PRICE, T1.PRICE_TYPE,
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		T1.SUMMA, T1.QTY,
		ISNULL (INV_DOP.PLACE_CODE, ''),		
		ISNULL (INV_DOP.LOCATION, ''),
		@varKSORGNAME,
		@strREP_NAME,
		'',
		@intPRN_INV_PLACE
	FROM @TABLE1 T1
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = T1.EMP)
	INNER JOIN @DEP DEP ON (DEP.DEP = T1.DEP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = T1.NOMEN)
	LEFT JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = T1.INV)
	LEFT JOIN dbo.BV_INVENTORY_CARD_DOP INV_DOP ON (INV_DOP.LINK_UP = INV.LINK)
	WHERE (T1.SUMMA <> 0) OR (T1.QTY <> 0)


	UPDATE @RESULT SET PRICE = SUMMA / QTY
	WHERE PRICE = 0 AND QTY <> 0 AND PRICE_TYPE = 0

/*
	UPDATE @RESULT SET SORT1 = RIGHT ('00000000000000000000000000000000' + RTRIM (INV_CODE), 30),
		PRICE = CASE
				WHEN PRICE = 0 AND QTY <> 0 AND PRICE_TYPE = 0 THEN SUMMA / QTY
				ELSE PRICE
			END
*/
	SELECT * 
	FROM @RESULT
	ORDER BY DEP_CODE, EMP_CODE, ACCT_GR, ACCT_CODE,
		RIGHT ('00000000000000000000000000000000' + RTRIM (INV_CODE), 30)
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_SV_EMPL] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_EMPL_INCOM_VKR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_EMPL_INCOM_VKR]

GO
CREATE   PROCEDURE [dbo].SD_EMPL_INCOM_VKR
	@VARKSNMODE	SMALLINT	= 0, 
	@VARKSNMONTH INT		= 0,
	@VARKSNYEAR	INT		= 0,
	@DEP_LINK INT = NULL,
	@DO_EKR TINYINT = 0 -- вразрезе ЭКР
AS

IF @DEP_LINK IS NULL
	EXEC DBO.XD_WHATS_ZB @DEP_LINK OUTPUT
	
DECLARE @LINK_211EKR INT, @LINK_R211EKR INT, @LINK_212EKR INT, @SHOW_212 TINYINT, @LINK_213EKR INT
		  
SET @LINK_211EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '211')
SET @LINK_R211EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = 'R211')
SET @LINK_212EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '212')
SET @LINK_213EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')
SET @SHOW_212 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_3')

DECLARE @ESN_213 INT --Начислять страховые взносы на доходы с 213 ЭКР                                                    
SET @ESN_213 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_5')


/*выбор последних линков сотрудников для статусов основной и внешний совместитель
берется последний табельный, если увольнялся, затем заново принимался*/
	
IF OBJECT_ID('TEMPDB..#EMPLS1','U') IS NOT NULL
DROP TABLE #EMPLS1

CREATE TABLE #EMPLS1 (DEP_LINK INT, PERS_LINK INT, LINK INT, TAB VARCHAR(254), NUM INT, LINK_EMPL2 INT)

INSERT INTO #EMPLS1 (DEP_LINK, PERS_LINK, LINK, TAB, NUM)
SELECT E.DEP_LINK, E.PERS_LINK, E.LINK, E.TAB, NUM = ROW_NUMBER () OVER (PARTITION BY E.DEP_LINK, E.PERS_LINK ORDER BY DATE_BEGIN DESC)
	FROM dbo.EMPL E INNER JOIN dbo.ITEM_MOVE IM ON E.LINK = IM.EMPL_LINK
		WHERE IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND (IM.[STATUS]=1 OR IM.[STATUS]=3) AND DATE_BEGIN <= dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@VARKSNMONTH,@VARKSNYEAR))
		--AND PERS_LINK = 17896

UPDATE A SET A.LINK_EMPL2 = B.LINK
FROM #EMPLS1 A INNER JOIN #EMPLS1 B ON A.DEP_LINK = B.DEP_LINK AND A.PERS_LINK = B.PERS_LINK
WHERE B.NUM = 1
		
/*выбор линков сотрудников для статусов внутренний совместитель*/

IF OBJECT_ID('TEMPDB..#EMPLS2','U') IS NOT NULL
DROP TABLE #EMPLS2

CREATE TABLE #EMPLS2 (DEP_LINK INT, PERS_LINK INT, LINK INT, TAB VARCHAR(254), NUM INT, LINK_EMPL2 INT)

INSERT INTO #EMPLS2 (DEP_LINK, PERS_LINK, LINK, TAB, NUM)
SELECT E.DEP_LINK, E.PERS_LINK, E.LINK, E.TAB, NUM = 1
	FROM dbo.EMPL E INNER JOIN dbo.ITEM_MOVE IM ON E.LINK = IM.EMPL_LINK
		WHERE IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS]=2 AND DATE_BEGIN <= dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@VARKSNMONTH,@VARKSNYEAR))
		--AND PERS_LINK = 17896

UPDATE A SET A.LINK_EMPL2 = B.LINK
FROM #EMPLS2 A INNER JOIN #EMPLS2 B ON A.DEP_LINK = B.DEP_LINK AND A.PERS_LINK = B.PERS_LINK
WHERE B.NUM = 1

SELECT 
	T.LINK,
	T.LINK_EMPL,
	T.TAB_NUM,
	T.[NAME_EMPL], 
	T.[STATUS],
	T.NUM_STAKE,	
	LINK_VKR = ISNULL(SF.LINK_SS_SFIN, T.LINK_VKR),
	NAME_VKR = ISNULL(SF2.CODE, T.NAME_VKR),
	T.LINK_EKR,
	T.CODE_EKR,
	LINK_VKR2 = T.LINK_VKR,
	NAME_VKR2 = T.NAME_VKR
FROM
(			
SELECT DISTINCT
	LINK= E.PERS_LINK,
	LINK_EMPL= E.LINK,
	TAB_NUM= E.TAB,
	[NAME_EMPL]= RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.', 
	[STATUS] = 1,
	NUM_STAKE = 1,	
	JC.LINK_VKR, 
	NAME_VKR = KBK.CODE,
	LINK_EKR = EKR.LINK,
	CODE_EKR = EKR.CODE
FROM
	DBO.PERSON P with (nolock)
	INNER JOIN DBO.EMPL E with (nolock) ON E.PERS_LINK = P.LINK AND E.DEP_LINK = COALESCE(@DEP_LINK,E.DEP_LINK)
	--Заполняем сотрудником с последним приказом о приеме
	INNER JOIN (
		/*выбор последних линков сотрудников для статусов основной и внешний совместитель
		берется последний табельный, если увольнялся, затем заново принимался*/
		SELECT DEP_LINK, LINK, LINK_EMPL2 FROM #EMPLS1
		/*выбор линков сотрудников для статусов внутренний совместитель*/
		UNION
		SELECT DEP_LINK, LINK, LINK_EMPL2 FROM #EMPLS2
			) T ON T.DEP_LINK = E.DEP_LINK AND T.LINK_EMPL2 = E.LINK
	INNER JOIN dbo.CALCULATE_JURNAL JC ON JC.LINK_EMPL = T.LINK
	INNER JOIN dbo.PAYS PS ON JC.LINK_PAYS = PS.LINK
	INNER JOIN DBO.SAL_SFIN KBK ON JC.LINK_VKR = KBK.LINK
	INNER JOIN DBO.KOSGU EKR ON 
		@SHOW_212 = 1 AND (EKR.LINK = JC.LINK_EKR OR (JC.LINK_EKR = @LINK_212EKR AND EKR.LINK = @LINK_211EKR)) --Источники с 212 ЭКР дублируем с 211 ЭКР --Временно до конца года
		OR 
		@SHOW_212 = 0 AND EKR.LINK = (CASE WHEN JC.LINK_EKR <> @LINK_212EKR THEN JC.LINK_EKR ELSE @LINK_211EKR END)	
		OR 
		@DO_EKR = 1 AND EKR.LINK = JC.LINK_EKR
WHERE
	EXISTS ( SELECT * FROM dbo.TAX_REF TR INNER JOIN dbo.PAYS P1 ON P1.LINK = TR.LINK_TAX WHERE P1.[OBJECT] = 3 AND TR.LINK_PAYS = JC.LINK_PAYS)
	AND
	E.DEP_LINK = @DEP_LINK
	AND
	PS.[OBJECT] = 1
	AND
	YEAR(JC.PERIOD_BEGIN) = @VARKSNYEAR
	AND
	JC.SUMMA<>0
	AND
	(
		(MONTH(JC.PERIOD_BEGIN) <= @VARKSNMONTH AND @VARKSNMODE <> 0)
		OR
		(MONTH(JC.PERIOD_BEGIN) = @VARKSNMONTH AND @VARKSNMODE = 0)
	)
	AND
	(@ESN_213 = 1 OR @ESN_213 = 0 AND EKR.LINK <> @LINK_213EKR)
) T
INNER JOIN dbo.SAL_SFIN SF ON SF.LINK = T.LINK_VKR
LEFT JOIN dbo.SAL_SFIN SF2 ON SF2.LINK = SF.LINK_SS_SFIN
--WHERE LINK_EMPL = 123	
ORDER BY
	4,6,8


GO


GRANT EXECUTE ON dbo.[SD_EMPL_INCOM_VKR] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_SV_EMPL_Z]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_SV_EMPL_Z]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE [dbo].BK_REPORT_SV_EMPL_Z
	@varKSdDate1	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal2 char(1), @varKSnOtborLink2 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSnPRN_KBK INT				,
	@varKSnPRN_SGU INT				,
	@intREPORT_EMPL INT,
        @intSVOD_ZB     int     -- Сводный отчет (ЦБ) --				
AS
BEGIN
	DECLARE	@varKSDIC_EMP	INT,
		@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254),
		@dDATE_REST	DATETIME	

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSDEP_LINK = LINK,
		@varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

	DECLARE @ACCT TABLE (LINK_ACCT [INT])
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, 1) ACCT

	DECLARE @EMP TABLE (LINK_EMP [INT], EMP_CODE  [VARCHAR] (20), EMP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @EMP
			SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
			FROM OBJECT_VAR_EMPL OVR, KU_EMPL_PLACING D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
			SELECT D.LINK, D.TAB, D.[NAME_EMPL] FROM KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', 'Не указан')
	END

		--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	SET @dDATE_REST = DATEADD (DAY, 1, @varKSdDate1)

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], INV [INT], NOMEN [INT], TMC [INT], EMP [INT],
			KBK [INT], KOSGU [INT],
			SUMMA [NUMERIC] (20,2), QTY [NUMERIC] (20,2))  

	INSERT INTO @TABLE1
	SELECT ISNULL (T1.DEP, 0),
		T1.ACCOUNT,
		ISNULL (T1.INV, 0),
		ISNULL (T1.NOMEN, 0),
		ISNULL (T1.TMC, 0),
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QuantiTY)
	FROM dbo.ARestTableByDate (@dDATE_REST, DEFAULT) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = ISNULL (T1.KBK, 0))
--	WHERE T1.DEP_LINK = @varKSDEP_LINK
	WHERE (@intSVOD_ZB = 1
			AND T1.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4))
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  ISNULL (T1.DEP, 0),
		T1.ACCOUNT,
		ISNULL (T1.INV, 0),
		ISNULL (T1.NOMEN, 0),
		ISNULL (T1.TMC, 0),
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE (DEP [INT], ACCOUNT [INT], INV [INT], EMP [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (20), ACCT_CODE [VARCHAR] (60), 
			INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
			UM_CODE [VARCHAR] (20), UM_NAME [VARCHAR] (254),
			PRICE [NUMERIC] (20,3),		
			EMP_CODE [VARCHAR] (20), EMP_NAME [VARCHAR] (254),
			SUMMA [NUMERIC] (20,2), QTY [NUMERIC] (20,2),
			PLACE_CODE VARCHAR (10), PLACE_NAME VARCHAR (254), 
			ORGNAME [VARCHAR] (254),
			REP_NAME [VARCHAR] (254),
			SORT1 VARCHAR (30),
			PRN_PLACE INT)

	INSERT INTO @RESULT
	SELECT 
--		T1.DEP,
		0,
		T1.ACCOUNT,
		T1.INV,
		T1.EMP,
--		DEP.DEP_CODE,
--		DEP.DEP_NAME,
		'', '',
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (T1.ACCOUNT, T1.KBK, T1.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate1),
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, ISNULL (TMC.CODE, ''))),	
		ISNULL (INV.[NAME], ISNULL (NOMEN.[NAME], ISNULL (TMC.[NAME], ''))),	
		'',	
		ISNULL (INV.[NAME_UM], ISNULL (NOMEN.[NAME_UM], ISNULL (TMC.[REF_NAME_D], ''))),
		ISNULL (INV.BALANCE, 0),
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		T1.SUMMA, T1.QTY,
		'', '',
		@varKSORGNAME,
		'МАТЕРИАЛЬНЫХ ЦЕННОСТЕЙ НА ЗАБАЛАНСОВЫХ СЧЕТАХ',
		'',
		0
	FROM @TABLE1 T1
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = T1.EMP)
--	INNER JOIN @DEP DEP ON (DEP.DEP = T1.DEP)
	INNER JOIN S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT OUTER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = T1.INV)
	LEFT OUTER JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = T1.NOMEN)
	LEFT OUTER JOIN dbo.DICTIONARY_TMC TMC ON (TMC.LINK = T1.TMC)
	WHERE (T1.SUMMA <> 0) OR (T1.QTY <> 0)

	UPDATE @RESULT SET PRICE = SUMMA / QTY
	WHERE PRICE = 0 AND QTY <> 0

	SELECT * FROM @RESULT
	ORDER BY DEP_CODE, EMP_CODE, ACCT_GR, ACCT_CODE,
		RIGHT ('00000000000000000000' + INV_CODE, 20)
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_SV_EMPL_Z] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_SVOD_PROV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_SVOD_PROV]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_SVOD_PROV
	@varKSdDate1	DATETIME,
	@varKSdDate2	DATETIME,
	@varKSnPRN_KBK	INT,
	@varKSnPRN_SGU	INT,
	@intSVOD_PROV	INT,
	@varKScVal1 char(1), @varKSnOtborLink1 int /* -- Отбор субсчетов -- */,
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSLINK_DEP	INT,
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSDEP_OKPO	VARCHAR (20)

	--- ОТБОР СУБСЧЕТОВ --- 
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT LINK
		FROM dbo.AccountsTableWithNoChild()

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = dbo.BK_GET_PRINT_DEP_NAME (LINK),
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'
		SET @varKSLINK_DEP = NULL
	END

	--- Список  операций ---
	DECLARE @TABLE_OPER TABLE (LINK_DOC INT,
				LINK_G2 INT,
				XOZ_OPER INT
				)
	
	INSERT INTO @TABLE_OPER
	SELECT
		LINK_DOC,
		LINK_G2,
		XOZ_OPER
	FROM dbo.BK_GetTableOborotByDate1
		(@varKSdDate1, @varKSdDate2,
		DEFAULT, DEFAULT,
		@varKSLINK_DEP)
	GROUP BY
		LINK_DOC,
		LINK_G2,
		XOZ_OPER

-- select * from @TABLE_OPER

	--- Проводки ---
	DECLARE @TABLE_PROV TABLE ([DOC_NUM] VARCHAR (60),
				[dDOC_DATE] DATETIME,
				[DOC_DATE] VARCHAR (10),
				[DOC_NAME] VARCHAR (254),
				[JO_CODE] VARCHAR (254),
				[DT_ACCT] VARCHAR (60),
				[KT_ACCT] VARCHAR (60),
				[SUMMA] NUMERIC (28,4))

	INSERT INTO @TABLE_PROV
	SELECT
		G.NUMBER,
		G.[DATE], 
		CONVERT (VARCHAR (10), G.[DATE], 104),
		dbo.JurnalProvGetDocKind (G.LINK, G.[OBJECT]),
		dbo.BX_XOZ_OPER_EnumJurnals (T_OP.XOZ_OPER),
		[DT_ACCT] = dbo.BK_GetAcctFullCode1 (GAP_D.ACCOUNT, GAP_D.KBK, GAP_D.SGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		[KT_ACCT] = dbo.BK_GetAcctFullCode1 (GAP_K.ACCOUNT, GAP_K.KBK, GAP_K.SGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		G2.SUMMA
	FROM @TABLE_OPER T_OP
	INNER JOIN dbo.G_PROV G ON (G.LINK = T_OP.LINK_DOC)
	INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK = T_OP.LINK_G2)
	LEFT JOIN dbo.G_PROV_AP GAP_D ON (GAP_D.LINK_UP = T_OP.LINK_G2
		AND GAP_D.DB_KR = 0)
	LEFT JOIN dbo.G_PROV_AP GAP_K ON (GAP_K.LINK_UP = T_OP.LINK_G2
		AND GAP_K.DB_KR = 1)
	LEFT JOIN @ACCT AC_D ON (AC_D.LINK_ACCT = GAP_D.ACCOUNT)
	LEFT JOIN @ACCT AC_K ON (AC_K.LINK_ACCT = GAP_K.ACCOUNT)

	LEFT JOIN @TAB_KBK KBK_D ON (KBK_D.LINK_KBK = ISNULL (GAP_D.KBK, 0))
	LEFT JOIN @TAB_KBK KBK_K ON (KBK_K.LINK_KBK = ISNULL (GAP_K.KBK, 0))

	WHERE (AC_D.LINK_ACCT = GAP_D.ACCOUNT
		OR AC_K.LINK_ACCT = GAP_K.ACCOUNT)
		AND (KBK_D.LINK_KBK IS NOT NULL
			OR KBK_K.LINK_KBK IS NOT NULL)

	IF @intSVOD_PROV = 1
		SELECT @varKSDEP_NAME AS ORGNAME, DT_ACCT, KT_ACCT, JO_CODE, SUM (SUMMA) AS SUMMA
		FROM @TABLE_PROV 
		GROUP BY DT_ACCT, KT_ACCT, JO_CODE
	ELSE
		SELECT @varKSDEP_NAME AS ORGNAME, * FROM @TABLE_PROV ORDER BY dDOC_DATE, DOC_NAME, DOC_NUM
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_SVOD_PROV] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_ESN_TABLE_SAVE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_ESN_TABLE_SAVE]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.SD_O_ESN_TABLE_SAVE
	@intLINK				int,
	@intORDERS			int,
	@intLINK_EMPL		int,
	@numSUMMA_BASE 	numeric(18,2)=0.0,
	@numCALC_TAX		numeric(18,2)=0.0,
	@numDED_M			numeric(18,2)=0.0,
	@numINV_M			numeric(18,2)=0.0,
	@numSUM_DED 		numeric(18,2)=0.0,
	@numSUMMA			numeric(18,2)=0.0,
	@numTOTAL_DED		numeric(18,2)=0.0,
	@numTOTAL_SUM		numeric(18,2)=0.0,
	@numTOTAL_TAX		numeric(18,2)=0.0, 
	@intLINK_PAY		int,
	@intLINK_VKR 		int,
	@LINK_EKR			INT,
	@DEL				TINYINT = 0,
	@PERC				numeric(18,2)=0.0,
	@TARIF				INT=null,	
	@SPECO				INT = null,
	@intLINK_VKR2 		int = NULL

AS
DECLARE @SQLError			tinyint,
		  @trancount	int,		
		  @strVALUE		varchar(7000),
		  @tintSTATUS	int,
		  @RowCount		int,
		  @linkFace 	int	

SET @trancount = @@TRANCOUNT

SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

IF @intLINK_VKR2 IS NULL
	SET @intLINK_VKR2 = @intLINK_VKR

SELECT @linkFace = PERS_LINK FROM dbo.EMPL WHERE LINK = @intLINK_EMPL
SELECT @tintSTATUS = dbo.IS_INVALID(@linkFace,dbo.SalaryPeriodCalcBegin())

IF @intLINK_EMPL IS NULL OR @intLINK_PAY IS NULL OR @intLINK_VKR IS NULL OR @LINK_EKR IS NULL
BEGIN
	ROLLBACK
	RETURN 8
END

IF ISNULL(@DEL,0) = 0

	IF NOT EXISTS (SELECT LINK_UP FROM DBO.SDOC_ESN_TABLE 
							WHERE LINK_UP = @intLINK AND LINK_EMPL = @intLINK_EMPL 
								AND LINK_PAY = @intLINK_PAY AND LINK_VKR = @intLINK_VKR AND LINK_VKR2 = @intLINK_VKR2
								AND LINK_EKR = @LINK_EKR)
								
		INSERT INTO SDOC_ESN_TABLE WITH (ROWLOCK) (LINK_UP,ORDERS,LINK_EMPL,SUMMA_BASE,CALC_TAX,DED_M,INV_M,SUM_DED,SUMMA, TOTAL_DED,TOTAL_SUM,TOTAL_TAX,LINK_PAY,LINK_VKR,[STATUS],LINK_EKR, PERC, TARIF, SPECO, LINK_VKR2)
		VALUES (@intLINK,@intORDERS,@intLINK_EMPL,@numSUMMA_BASE,@numCALC_TAX,@numDED_M,@numINV_M,@numSUM_DED,@numSUMMA,
				@numTOTAL_DED,@numTOTAL_SUM,@numTOTAL_TAX,@intLINK_PAY,@intLINK_VKR,@tintSTATUS,@LINK_EKR, @PERC, @TARIF, @SPECO, @intLINK_VKR2)

	ELSE
		UPDATE 
			DBO.SDOC_ESN_TABLE
		SET
			ORDERS = @intORDERS,
			SUMMA_BASE = @numSUMMA_BASE,
			CALC_TAX = @numCALC_TAX,
			DED_M = @numDED_M,
			INV_M = @numINV_M,
			SUM_DED = @numSUM_DED,
			SUMMA = @numSUMMA, 
			TOTAL_DED = @numTOTAL_DED,
			TOTAL_SUM = @numTOTAL_SUM,
			TOTAL_TAX = @numTOTAL_TAX,
			[STATUS] = @tintSTATUS,
			PERC = @PERC,
			TARIF = @TARIF,
			SPECO = @SPECO
		WHERE 
			LINK_UP = @intLINK AND LINK_EMPL = @intLINK_EMPL AND LINK_PAY = @intLINK_PAY AND LINK_VKR = @intLINK_VKR AND LINK_VKR2 = @intLINK_VKR2 AND LINK_EKR = @LINK_EKR
ELSE
		DELETE FROM DBO.SDOC_ESN_TABLE
		WHERE LINK_UP = @intLINK AND LINK_EMPL = @intLINK_EMPL AND LINK_PAY = @intLINK_PAY AND LINK_VKR = @intLINK_VKR AND LINK_EKR = @LINK_EKR

SELECT @SQLError = @@ERROR, @intLINK = @@IDENTITY
IF @SQLError <> 0
BEGIN
	ROLLBACK
	RETURN 7
END

WHILE @@TRANCOUNT > @trancount
	COMMIT TRAN
RETURN 0




GO


GRANT EXECUTE ON dbo.[SD_O_ESN_TABLE_SAVE] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZV4_PACHKA_CALC_Buffer]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZV4_PACHKA_CALC_Buffer]

GO

CREATE   PROCEDURE [dbo].SA_SZV4_PACHKA_CALC_Buffer (@BufferCode varchar(10), @link int, @Year int, @Month tinyint) 
AS

IF @Year < 2010
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer1 @BufferCode, @link, @Year, @Month

IF @Year >= 2010 AND @Year <= 2012	
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer2 @BufferCode, @link, @Year, @Month	

IF @Year >= 2013 AND @Year <= 2014	
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer3 @BufferCode, @link, @Year, @Month	

IF dbo.DateEndOfMonth(dbo.ConvertDMY2Date('01',@Month,@Year)) <='20150331'
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer4 @BufferCode, @link, @Year, @Month		

IF dbo.DateEndOfMonth(dbo.ConvertDMY2Date('01',@Month,@Year)) >='20150401'
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer_2015_6 @BufferCode, @link, @Year, @Month		


GO


GRANT EXECUTE ON dbo.[SA_SZV4_PACHKA_CALC_Buffer] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_VM_OS1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_VM_OS1]

GO

/* ВЕДОМОСТЬ ДВИЖЕНИЯ ПО НА */
CREATE PROCEDURE [dbo].BK_REPORT_VM_OS1
	@dDateB1 datetime,	-- Начало расч. периода --
	@dDateE1 datetime,	-- Конец расч. периода --
	@cVal1 char(1), @nOtborLink1 int,	-- Отбор субсчетов  "Основные средства" --
	@cVal2 char(1), @nOtborLink2 int,	-- Отбор "Материальные ценности" --
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@intPRINT_KBK	int,	-- Отображать КБК --
	@intPRINT_SGU	int,	-- Отображать СГУ --
	@strSINTH_ACCT_CODE	VARCHAR (300),
	@cCODE_AP VARCHAR (30),	-- --
        @intSVOD_ZB     int     -- Сводный отчет (ЦБ) --
AS
BEGIN
	DECLARE @intLINK_DEP	INT,
		@cDEP_CODE	VARCHAR (20),
		@cDEP_NAME	VARCHAR (254)

	DECLARE @ACCT_TABLE TABLE (LINK_ACCT INT)
	IF LEN (@cVal1) > 0
		INSERT INTO @ACCT_TABLE
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @nOtborLink1
	ELSE
		INSERT INTO @ACCT_TABLE
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@strSINTH_ACCT_CODE, DEFAULT) T1
			ON (T1.VALUE = ACCT.cSINTH)

	DECLARE @AP_TABLE TABLE (LINK_AP INT, AP_CODE VARCHAR (20), AP_NAME VARCHAR (254))
	IF LEN (@cVal2) > 0
	BEGIN
		IF @cCODE_AP = 'INVENTORY'
			INSERT INTO @AP_TABLE
			SELECT OV.RECORD,
				INV.CODE,
				INV.[NAME]
			FROM dbo.OBJECT_VAR_INVENTORY OV, dbo.INVENTORY_CARD INV
			WHERE OV.LINK_UP = @nOtborLink2
				AND INV.LINK = OV.RECORD

		IF @cCODE_AP = 'NOMENCLATURE'
			INSERT INTO @AP_TABLE
			SELECT OV.RECORD,
				INV.CODE,
				INV.[NAME]
			FROM dbo.OBJECT_VAR_NOMENCLATURE OV, dbo.BV_NOMENCLATURE INV
			WHERE OV.LINK_UP = @nOtborLink2
				AND INV.LINK = OV.RECORD
	END
	ELSE
	BEGIN
		IF @cCODE_AP = 'INVENTORY'
			INSERT INTO @AP_TABLE
			SELECT INV.LINK,
				INV.CODE,
				INV.[NAME]
			FROM dbo.INVENTORY_CARD INV

		IF @cCODE_AP = 'NOMENCLATURE'
			INSERT INTO @AP_TABLE
			SELECT INV.LINK,
				INV.CODE,
				INV.[NAME]
			FROM dbo.BV_NOMENCLATURE INV
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

/*
	SELECT @intLINK_DEP = LINK,
		@cDEP_CODE = CODE,
		@cDEP_NAME = [NAME]
	FROM DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
*/

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @intLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @intLINK_DEP IS NULL
		SET @intLINK_DEP = dbo.GetOwnDepLink()

	SELECT @intLINK_DEP = LINK,
		@cDEP_CODE = CODE,
		@cDEP_NAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @intLINK_DEP

	IF @intSVOD_ZB = 1
		SET @cDEP_NAME = RTRIM (@cDEP_NAME) + ' (ЦБ)'

	DECLARE @TABLE_RES TABLE (LINK_DOC INT, DATE_DOC DATETIME, cDATE_DOC VARCHAR (10),
		DOC_NUM VARCHAR (30), DOC_NAME VARCHAR (254),
		ACCT_CODE VARCHAR (20),
		ACCT_CD_D VARCHAR (60), ACCT_CD_K VARCHAR (60),
		AP_CODE VARCHAR (20), AP_NAME VARCHAR (254),
		QTY NUMERIC (28,4), SUMMA NUMERIC (28,4),
		DEP_NAME VARCHAR (254))
 
	INSERT INTO @TABLE_RES
	SELECT G.LINK,
		G.DATE,
		CONVERT (VARCHAR (10), G.DATE, 104),
		G.NUMBER,
		dbo.JurnalProvGetDocKind (G.LINK, G.OBJECT),
		SA1.CODE, 
		dbo.BK_GetAcctFullCode1 (GAP_D.ACCOUNT, GAP_D.KBK, GAP_D.SGU, @intPRINT_KBK, @intPRINT_SGU, @dDateE1),
		dbo.BK_GetAcctFullCode1 (GAP_K.ACCOUNT, GAP_K.KBK, GAP_K.SGU, @intPRINT_KBK, @intPRINT_SGU, @dDateE1),
		AP.AP_CODE,
		AP.AP_NAME,
		G2.QUANTITY,
		G2.SUMMA,
		@cDEP_NAME
	FROM dbo.G_PROV G
	INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = G.LINK)
	INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
	INNER JOIN dbo.G_PROV_AP GAP_D ON (GAP_D.LINK_UP = G2.LINK
		AND GAP_D.DB_KR = 0)
	INNER JOIN dbo.G_PROV_AP GAP_K ON (GAP_K.LINK_UP = G2.LINK
		AND GAP_K.DB_KR = 1)
	INNER JOIN @ACCT_TABLE SA ON (SA.LINK_ACCT = GAP_D.ACCOUNT
		OR SA.LINK_ACCT = GAP_K.ACCOUNT)
/*	INNER JOIN @TAB_KBK K1 ON (K1.LINK_KBK = ISNULL (GAP_D.KBK, 0)
		OR K1.LINK_KBK = ISNULL (GAP_K.KBK, 0))
*/	INNER JOIN @AP_TABLE AP ON (AP.LINK_AP = CASE 
							WHEN @cCODE_AP = 'NOMENCLATURE' THEN GAP_D.NOMEN
							WHEN @cCODE_AP = 'INVENTORY' THEN GAP_D.INV
						END
		OR AP.LINK_AP = CASE 
							WHEN @cCODE_AP = 'NOMENCLATURE' THEN GAP_K.NOMEN
							WHEN @cCODE_AP = 'INVENTORY' THEN GAP_K.INV
						END
		)
	INNER JOIN dbo.S_ACCOUNTS SA1 ON (SA1.LINK = SA.LINK_ACCT)
--	WHERE G.DEP = @intLINK_DEP
	WHERE ((@intSVOD_ZB = 1 AND G.DEP IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4))
			OR (@intSVOD_ZB = 0 AND G.DEP = @intLINK_DEP))
		AND G.DATE_PROV BETWEEN @dDateB1 AND @dDateE1
		AND (ISNULL (GAP_D.KBK, 0) IN (SELECT LINK_KBK FROM @TAB_KBK)
			OR ISNULL (GAP_K.KBK, 0) IN (SELECT LINK_KBK FROM @TAB_KBK))

	SELECT * FROM @TABLE_RES
		ORDER BY AP_CODE, ACCT_CODE, DATE_DOC
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_VM_OS1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_ESN_PROV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_ESN_PROV]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.SD_O_ESN_PROV

@varKSparLINK int
AS

IF (SELECT SO.CODE FROM S_OBJECTS SO,SDOC DOC WHERE DOC.LINK = @varKSparLINK AND
		 DOC.OBJECT = SO.LINK) <> 'DOCUMENTS_DEDUCT_ESN_G'
	RETURN 5

IF EXISTS (SELECT * FROM DBO.CALCULATE_JURNAL WHERE LINK_DOC = @varKSparLINK)
BEGIN
		RAISERROR('Документ уже проведен!', 11, 1)
		RETURN 0
END	

Declare @varKStrancount int

SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN


DECLARE @LinkEKR213 int
SELECT @LinkEKR213 = LINK FROM dbo.DICTIONARY_ITEM WHERE CODE = '213'

EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,0

INSERT INTO dbo.CALCULATE_JURNAL (LINK_EMPL,LINK_PAYS,LINK_DOC,PERIOD_BEGIN,PERIOD_END,DAYS,HOURS,SUMMA_BASE,SUMMA,ORDERS,DATE_BEGIN,DATE_END,LINK_DEP,LINK_ORG,LINK_VKR,LINK_EKR,TARIF,SPECO,PROCENT,LINK_VKR2)
SELECT 
		[LINK_EMPL] = T.LINK_EMPL,
		[LINK_PAYS] = T.LINK_PAY,
		[LINK_DOC] = s.LINK,
	  	[PERIOD_BEGIN] = dbo.DateBeginOfMonth(s.DATE),	
		[PERIOD_END] = dbo.DateEndOfMonth(s.DATE),	
		[DAYS] =0,
		[HOURS] = 0,
		[SUMMA_BASE] = T.SUMMA_BASE,
		[SUMMA] = T.SUMMA,
		[ORDERS] = T.ORDERS,
		[DATE_BEGIN] = dbo.DateBeginOfMonth(S.DATE_CALC), 
		[DATE_END] = dbo.DateEndOfMonth(S.DATE_CALC), 
		[LINK_DEP] = S.LINK_DEP,
		[LINK_ORG] = NULL,
		[LINK_VKR] = T.LINK_VKR,
		T.LINK_EKR,--CASE WHEN E.CODE IN ('211') THEN @LinkEKR213 ELSE T.LINK_EKR END
		T.TARIF,
		T.SPECO,
		T.PERC,
		ISNULL(T.[LINK_VKR2],T.[LINK_VKR])
FROM 
	dbo.SDOC S
	inner join dbo.SDOC_ESN_TABLE T on S.link = T.LINK_UP
	inner join dbo.USER_INFO UI on 1=1
	INNER JOIN dbo.KOSGU E ON E.LINK = T.LINK_EKR
WHERE 
	UI.SID = SUSER_SID() 
	and s.LINK = @varKSparLINK 
	and T.SUMMA<>0


EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,1


IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN
RETURN 0

GO


GRANT EXECUTE ON dbo.[SD_O_ESN_PROV] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_VM1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_VM1]

GO

--	ВЕДОМОСТЬ ДВИЖЕНИЯ ПО СУБСЧЕТУ --
CREATE PROCEDURE dbo.BK_REPORT_VM1
	@dDateB1 datetime,	-- Начало расч. периода --
	@dDateE1 datetime,	-- Конец расч. периода --
	@intLink_Acct	INT,	-- СУБСЧЕТ --
	@intPRINT_KBK	int,	-- Отображать КБК --
	@intPRINT_SGU	int,	-- Отображать СГУ --
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@intSVOD_ZB INT,
	@cVal_Dep char(1), @nOtborLinkDEP int,	-- Отбор учреждений --
	@cVal_Emp char(1), @nOtborLinkEMP int,	-- Отбор сотрудников --
	@cVal_KAU char(1), @nOtborLinkKAU int,	-- Отбор КАУ --
	@cVal_DOP_CL char(1), @nOtborLinkDOP_CL int,	-- Отбор доп. кл-ции --
	@strAP_CODE	VARCHAR (60) = '',
	@grpAP	INT = 0,
	@grpKBK	INT = 0,
	@grpREST INT = 0
AS
BEGIN
	DECLARE
		@intLINK_DEP	INT,
		@cDEP_CODE	VARCHAR (20),
		@cDEP_NAME	VARCHAR (254),
		@strTITLE	VARCHAR (20),
		@dDATE_NEXT	DATETIME,
		@iKBK_REST	TINYINT,
		@iAP_REST	TINYINT

	SELECT @grpKBK = ISNULL (@grpKBK, 0)
	SELECT @grpAP = ISNULL (@grpAP, 0)

	--- ОТБОР КБК --- 
	DECLARE @T_KBK TABLE (LINK	INT)
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @T_KBK
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_KBK OVR 
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		SET @nOtborLinkKBK = 0

	--- ОТБОР ДОП. КЛ-ЦИИ --- 
	DECLARE @T_AP2 TABLE (LINK	INT)
	IF LEN (@cVal_DOP_CL) > 0
		INSERT INTO @T_AP2
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_DOP_CLASSIF OVR 
		WHERE OVR.LINK_UP = @nOtborLinkDOP_CL
	ELSE
		SET @nOtborLinkDOP_CL = 0

	--- ОТБОР ПОКАЗАТЕЛЕЙ ---
	DECLARE @T_AP0 TABLE
		(LINK [INT],
		CODE  [VARCHAR] (20),
		NAME [VARCHAR] (254))
		
	INSERT INTO @T_AP0
	SELECT
		T1.LINK_AP,
		T1.AP_CODE,
		T1.AP_NAME
	FROM dbo.BK_GetTableDictionByAP (@strAP_CODE) T1

--	SELECT * FROM @T_AP0

	--- Отбор учреждений --- 
	DECLARE @T_DEP TABLE (LINK	INT)
	
	IF LEN(@cVal_Dep)>0
		INSERT INTO @T_DEP
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_DEPARTMENT OVR
		WHERE OVR.LINK_UP = @nOtborLinkDEP
	ELSE
		SET @nOtborLinkDEP = 0

	--- Отбор сотрудников --- 
	DECLARE @T_EMP TABLE (LINK	INT)

	IF LEN (@cVal_Emp) > 0 
		INSERT INTO @T_EMP
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_EMPL OVR
		WHERE OVR.LINK_UP = @nOtborLinkEMP
	ELSE
		SET @nOtborLinkEMP = 0

	--- Отбор КАУ --- 
	DECLARE @T_KAU TABLE (LINK	INT)

	IF LEN (@cVal_KAU) > 0 
		INSERT INTO @T_KAU
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_KAU OVR
		WHERE OVR.LINK_UP = @nOtborLinkKAU
	ELSE
		SET @nOtborLinkKAU = 0

	--- Заглушка, если не выбран показатель --- 
	SET @strAP_CODE = ISNULL (@strAP_CODE, '')
	IF @strAP_CODE = '' AND NOT EXISTS (SELECT * FROM @T_AP0)
		INSERT INTO @T_AP0
		VALUES (0, '', '')

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @intLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @intLINK_DEP IS NULL
		SET @intLINK_DEP = dbo.GetOwnDepLink()

	SELECT
		@intLINK_DEP = LINK,
		@cDEP_CODE = CODE,
		@cDEP_NAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @intLINK_DEP

	IF @intSVOD_ZB = 1
		SET @cDEP_NAME = RTRIM (@cDEP_NAME) + ' (ЦБ)'

	-- Документы --
	DECLARE @T_DOCUMENTS TABLE
		(LINK	INT IDENTITY (1, 1),
		LINK_DOC INT,
		DOC_DATE DATETIME,
		DOC_NUM VARCHAR (30), DOC_NAME VARCHAR (254),
		ACCOUNT	INT,
		AP0 INT,
		KBK	INT, 
		AP2	INT, 
		ACCT_KOR VARCHAR (60),
		D_QTY NUMERIC (28,4) DEFAULT (0), D_SUMMA NUMERIC (28,4) DEFAULT (0),
		K_QTY NUMERIC (28,4) DEFAULT (0), K_SUMMA NUMERIC (28,4) DEFAULT (0),
		DIN_QTY NUMERIC (28,4) DEFAULT (0), DIN_SUM NUMERIC (28,4) DEFAULT (0),
		KIN_QTY NUMERIC (28,4) DEFAULT (0), KIN_SUM NUMERIC (28,4) DEFAULT (0),
		DOUT_QTY NUMERIC (28,4) DEFAULT (0), DOUT_SUM NUMERIC (28,4) DEFAULT (0),
		KOUT_QTY NUMERIC (28,4) DEFAULT (0), KOUT_SUM NUMERIC (28,4) DEFAULT (0),
		DEP_LINK INT
		)

	--SELECT * FROM dbo.BK_GetTableOborotByDate1 (@dDateB1, @dDateE1, DEFAULT, @intLink_Acct, DEFAULT) T1

	INSERT INTO @T_DOCUMENTS
		(
		LINK_DOC,
		DOC_DATE,
		DOC_NUM,
		DOC_NAME,
		ACCOUNT,
		AP0,
		KBK, 
		AP2, 
		ACCT_KOR,
		D_QTY, D_SUMMA,
		K_QTY, K_SUMMA,
		DEP_LINK
		)

	SELECT
		T1.LINK_DOC,
		G.[DATE],
		G.NUMBER,
		dbo.JurnalProvGetDocKind (G.LINK, G.[OBJECT]),
		T1.ACCOUNT,
		CASE
			WHEN @strAP_CODE = 'DEP' THEN ISNULL (T1.DEP, 0)
			WHEN @strAP_CODE = 'EMP' THEN ISNULL (T1.EMP, 0)
			WHEN @strAP_CODE = 'KAU' THEN ISNULL (T1.KAU, 0)
			ELSE 0
		END,
		T1.KBK,
		T1.AP2,
		dbo.BK_GetAcctFullCode1 (GAP1.ACCOUNT, GAP1.KBK, GAP1.SGU, @intPRINT_KBK, @intPRINT_SGU, @dDateE1),
		CASE 
			WHEN T1.DB_KR = 0 AND SA1.KSU = 1 THEN T1.QTY
			ELSE 0
		END,
		CASE 
			WHEN T1.DB_KR = 0 THEN T1.SUMMA
			ELSE 0
		END,
		CASE 
			WHEN T1.DB_KR = 1 AND SA1.KSU = 1 THEN T1.QTY
			ELSE 0
		END,
		CASE 
			WHEN T1.DB_KR = 1 THEN T1.SUMMA
			ELSE 0
		END,
		T1.DEP_LINK	
	FROM dbo.BK_GetTableOborotByDate1 (@dDateB1, @dDateE1, DEFAULT, @intLink_Acct, DEFAULT) T1
	INNER JOIN dbo.G_PROV G ON (G.LINK = T1.LINK_DOC)
	LEFT JOIN dbo.G_PROV_AP GAP1 ON (GAP1.LINK_UP = T1.LINK_G2
		AND (T1.DB_KR = 0 AND GAP1.DB_KR = 1
			OR T1.DB_KR = 1 AND GAP1.DB_KR = 0))
	INNER JOIN dbo.S_ACCOUNTS SA1 ON (SA1.LINK = T1.ACCOUNT)
	WHERE (@intSVOD_ZB = 1 
			OR @intSVOD_ZB = 0 AND T1.DEP_LINK = @intLINK_DEP)
		AND (@nOtborLinkKBK = 0
			OR @nOtborLinkKBK > 0 AND EXISTS (SELECT * FROM @T_KBK TTT WHERE TTT.LINK = T1.KBK))
		AND (@nOtborLinkDOP_CL = 0
			OR @nOtborLinkDOP_CL > 0 AND EXISTS (SELECT * FROM @T_AP2 TTT WHERE TTT.LINK = T1.AP2))
		AND (@nOtborLinkDEP = 0
			OR @nOtborLinkDEP > 0 AND EXISTS (SELECT * FROM @T_DEP TTT WHERE TTT.LINK = T1.DEP))
		AND (@nOtborLinkEMP = 0
			OR @nOtborLinkEMP > 0 AND EXISTS (SELECT * FROM @T_EMP TTT WHERE TTT.LINK = T1.EMP))
		AND (@nOtborLinkKAU = 0
			OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = T1.KAU))

	SELECT @strTITLE = CASE
							WHEN @strAP_CODE = 'EMP' THEN 'Сотрудник: '
							WHEN @strAP_CODE = 'DEP' THEN 'Учр.: '
							WHEN @strAP_CODE = 'KAU' THEN 'КАУ: '
							ELSE ''
						END

	-- Остатки --
	SET @dDATE_NEXT = DATEADD (DAY, 1, @dDateE1)
	
--select '@dDateB1', * from dbo.ARestTableByDate (@dDateB1, 4660) 
--select '@dDATE_NEXT', * from dbo.ARestTableByDate (@dDATE_NEXT, 4660) 
	
	INSERT INTO @T_DOCUMENTS
		(LINK_DOC,
		ACCOUNT,
		AP0,
		KBK,
		AP2,
		DEP_LINK,
		DIN_QTY, DIN_SUM,
		KIN_QTY, KIN_SUM,
		DOUT_QTY, DOUT_SUM,
		KOUT_QTY, KOUT_SUM
		)
	
	SELECT
		0,
		T1.ACCOUNT,
		T1.AP0,
		T1.KBK,
		T1.AP2,
		T1.DEP_LINK,
		SUM (R1.DIN_QTY), SUM (R1.DIN_SUM),
		SUM (R1.KIN_QTY), SUM (R1.KIN_SUM),
		SUM (R1.DOUT_QTY), SUM (R1.DOUT_SUM),
		SUM (R1.KOUT_QTY), SUM (R1.KOUT_SUM)
	FROM (
		SELECT 
			TTT.ACCOUNT,
			TTT.AP0,
			TTT.KBK,
			TTT.AP2,
			TTT.DEP_LINK
		FROM @T_DOCUMENTS TTT
		GROUP BY
			TTT.ACCOUNT,
			TTT.AP0,
			TTT.KBK,
			TTT.AP2,
			TTT.DEP_LINK
		)	AS T1
	LEFT JOIN (
		SELECT
			R.ACCOUNT,
			CASE
				WHEN @strAP_CODE = 'DEP' THEN ISNULL (R.DEP, 0)
				WHEN @strAP_CODE = 'EMP' THEN ISNULL (R.EMP, 0)
				WHEN @strAP_CODE = 'KAU' THEN ISNULL (R.KAU, 0)
				ELSE 0
			END AS AP0,
			ISNULL (R.KBK, 0) AS KBK,
			ISNULL (R.AP2, 0) AS AP2,
			R.D_QUANTITY AS DIN_QTY,
			R.D_SUMMA AS DIN_SUM,
			R.K_QUANTITY AS KIN_QTY,
			R.K_SUMMA AS KIN_SUM,
			DOUT_QTY = 0.00,
			DOUT_SUM = 0.00,
			KOUT_QTY = 0.00,
			KOUT_SUM = 0.00,
			R.DEP_LINK
		FROM dbo.ARestTableByDate (@dDateB1, @intLink_Acct) R
		
		UNION ALL
		
		SELECT
			R.ACCOUNT,
			CASE
				WHEN @strAP_CODE = 'DEP' THEN ISNULL (R.DEP, 0)
				WHEN @strAP_CODE = 'EMP' THEN ISNULL (R.EMP, 0)
				WHEN @strAP_CODE = 'KAU' THEN ISNULL (R.KAU, 0)
				ELSE 0
			END AS AP0,
			ISNULL (R.KBK, 0) AS KBK,
			ISNULL (R.AP2, 0) AS AP2,
			DIN_QTY = 0.00,
			KIN_QTY = 0.00,
			DIN_SUM = 0.00,
			KIN_SUM = 0.00,
			R.D_QUANTITY AS DOUT_QTY,
			R.D_SUMMA AS DOUT_SUM,
			R.K_QUANTITY AS KOUT_QTY,
			R.K_SUMMA AS KOUT_SUM,
			R.DEP_LINK
		FROM dbo.ARestTableByDate (@dDATE_NEXT, @intLink_Acct) R) AS R1 ON
				(
				R1.ACCOUNT = T1.ACCOUNT
				AND R1.AP0 = T1.AP0
				AND R1.KBK = T1.KBK
				AND R1.AP2 = T1.AP2
				AND R1.DEP_LINK = T1.DEP_LINK
				)
	GROUP BY
		T1.ACCOUNT,
		T1.AP0,
		T1.KBK,
		T1.AP2,
		T1.DEP_LINK
	HAVING
		SUM (R1.DIN_QTY) <> 0 OR SUM (R1.DIN_SUM) <> 0
		OR SUM (R1.KIN_QTY) <> 0 OR SUM (R1.KIN_SUM) <> 0
		OR SUM (R1.DOUT_QTY) <> 0 OR SUM (R1.DOUT_SUM) <> 0
		OR SUM (R1.KOUT_QTY) <> 0 OR SUM (R1.KOUT_SUM) <> 0
			
--  SELECT '@T_DOCUMENTS1', * FROM @T_DOCUMENTS
  
	SELECT
		@iKBK_REST	=	CASE
							WHEN ISNULL (@grpKBK, 0) = 1 AND ISNULL (@grpREST, 0) = 1 THEN 1
							ELSE 0
						END,	
		@iAP_REST	=	CASE
							WHEN ISNULL (@grpAP, 0) = 1 AND ISNULL (@grpREST, 0) = 1 THEN 1
							ELSE 0
						END	

	SELECT
		T1.*,
		@strTITLE AS AP_TITLE,
		@dDATE_NEXT AS DATE_NEXT,
		@cDEP_NAME AS DEP_NAME,
		SA.CODE AS ACCT_CODE,
		KBK.CODE AS KBK_CODE,
		AP0.CODE AS AP_CODE,
		AP0.NAME AS AP_NAME,
		ISNULL (RTRIM (AP0.NAME), '') + '(' + ISNULL (RTRIM (AP0.CODE), '') + ')' AS AP_NAME1,	
		AP2.CODE AS DOP_CODE,
		@iKBK_REST AS KBK_REST,
		@iAP_REST AS AP_REST
	FROM @T_DOCUMENTS T1
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT JOIN dbo.KL_KBK KBK ON (KBK.LINK = T1.KBK)
	LEFT JOIN dbo.DOP_CLASSIF AP2 ON (AP2.LINK = T1.AP2)
	LEFT JOIN @T_AP0 AP0 ON (AP0.LINK = T1.AP0)
	ORDER BY
		SA.CODE,
		KBK.CODE,
		T1.KBK,
		AP0.NAME,
		T1.AP0,
		T1.DOC_DATE,
		T1.DOC_NAME,
		T1.DOC_NUM

END

GO

GRANT EXECUTE ON dbo.[BK_REPORT_VM1] TO PUBLIC

GO

--Расширенные свойства--

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BM_CARD_LBO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BM_CARD_LBO]

GO




CREATE     PROCEDURE dbo.BM_CARD_LBO
		@dDate1		datetime,
		@intVid		int,
		@intLinkAccDep	varchar(5),
		@intAccShortCode int
AS 

declare	@dDateBM	datetime,
		@dDateBY	datetime,
		@strOrgOur	varchar(254),
		@intPRN_KBK	INT,
		@intPRN_SGU	INT,
		@strOrgCode	varchar(254)
		
declare  @varKStRestSum table  (account 	int,
				kbk	int,
				sgu	int,
				summa	numeric(18,2))		

declare @varKStOborotSum table (account 	int,
				kbk	int,
				sgu	int,
				summa	numeric(18,2))		

set 		@dDateBY		= dbo.DateBeginOfYear(@dDate1)
set 		@dDateBM		= dbo.DateBeginOfMonth(@dDate1)
select	@strOrgOur = rtrim(t.[name]), @strOrgCode = rtrim(t.[code])
from 	treasury t inner join
	departments d on d.tofk_link = t.link
			 and t.link = dbo.GetOwnDepLink()
--select * from buffer
exec BufferClear 'ACCOUNT_FOR_LBO'

IF ISNULL (@intAccShortCode, 0) = 0
BEGIN
	SET	@intPRN_KBK	=	0
	SET	@intPRN_SGU	=	0
END
ELSE
BEGIN
	SET	@intPRN_KBK	=	1
	SET	@intPRN_SGU	=	1
END

insert into buffer (link, [id])
select link,'ACCOUNT_FOR_LBO'
from s_accounts 
where @intVid = 1 and CODE = '1.501.15' or
	@intVid = 2 and CODE = '1.501.14' or
	@intVid = 3 and CODE = '1.503.15'or
	@intVid = 4 and CODE = '1.503.14'

if ISNULL (@intAccShortCode, 0) = 0
begin
	insert into @varKStRestSum
	select	[account]	= account,
		[kbk]		= null,
		[sgu]		= null,
		[summa]		= case	when @intVid = 1 or @intVid = 3 then sum(summa)
					when @intVid = 2 or @intVid = 4 then sum(-summa) end
	FROM (select ACCOUNT = DT_ACCOUNT, DEP_ACC = KT_DEP_ACC, summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBY,@dDate1, 'ACCOUNT_FOR_LBO', null) union all
			select KT_ACCOUNT, DT_DEP_ACC, -summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBY,@dDate1, null, 'ACCOUNT_FOR_LBO')) S
	where S.DEP_ACC = @intLinkAccDep and 
			S.DEP_LINK = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
	group by account
	
	insert into @varKStOborotSum
	select	[account]	= account,
		[kbk]		= null,
		[sgu]		= null,
		[summa]		= case	when @intVid = 1 or @intVid = 3 then sum(summa)
					when @intVid = 2 or @intVid = 4 then sum(-summa) end
	FROM (select ACCOUNT = DT_ACCOUNT, DEP_ACC = KT_DEP_ACC, summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBM,@dDate1, 'ACCOUNT_FOR_LBO', null) union all
			select KT_ACCOUNT, DT_DEP_ACC,  -summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBM,@dDate1, null, 'ACCOUNT_FOR_LBO')) S
	where S.DEP_ACC = @intLinkAccDep and 
			S.DEP_LINK = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
	group by account
end
else
begin
	insert into @varKStRestSum
	select	[account]	= account,
		[kbk]		= kbk,
		[sgu]		= sgu,
		[summa]		= case	when @intVid = 1 or @intVid = 3 then sum(summa)
					when @intVid = 2 or @intVid = 4 then sum(-summa) end
	FROM (select ACCOUNT = DT_ACCOUNT, DEP_ACC = KT_DEP_ACC, KBK = DT_VKR, SGU = DT_SGU,  summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBY,@dDate1, 'ACCOUNT_FOR_LBO', null) union all
			select KT_ACCOUNT, DT_DEP_ACC, KT_VKR, KT_SGU,  -summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBY,@dDate1, null, 'ACCOUNT_FOR_LBO')) S
	where S.DEP_ACC = @intLinkAccDep and 
			S.DEP_LINK = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
	group by account, kbk, /*ekr, */sgu
	
	insert into @varKStOborotSum
	select	[account]	= account,
		[kbk]		= kbk,
		[sgu]		= sgu,
		[summa]		= case	when @intVid = 1 or @intVid = 3 then sum(summa)
					when @intVid = 2 or @intVid = 4 then sum(-summa) end
	FROM (select ACCOUNT = DT_ACCOUNT, DEP_ACC = KT_DEP_ACC, KBK = DT_VKR, SGU = DT_SGU,  summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBM,@dDate1, 'ACCOUNT_FOR_LBO', null) union all 
			select KT_ACCOUNT, DT_DEP_ACC, KT_VKR, KT_SGU,  -summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBM,@dDate1, null, 'ACCOUNT_FOR_LBO')) S
	where S.DEP_ACC = @intLinkAccDep and 
			S.DEP_LINK = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
	group by account, kbk, /*ekr, */sgu
end

select 	[acct2]	=	dbo.BK_GetAcctFullCode1 (rs.ACCOUNT, rs.KBK, rs.SGU, @intPRN_KBK, @intPRN_SGU, @dDate1),
	[sum1]	= 	rs.summa,
	[sum2]	= 	os.summa,
	[org_name]=	@strOrgOur,
	[org_code]=	@strOrgCode
from	@varKStRestSum rs	
left join @varKStOborotSum os	on	rs.account = os.account
					and	(rs.kbk = os.kbk or (rs.kbk is null and os.kbk is null))
					and	(rs.sgu = os.sgu or (rs.sgu is null and os.sgu is null))
	
				



GO


GRANT EXECUTE ON dbo.[BM_CARD_LBO] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_PRINT_769_2016]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RO_PRINT_769_2016]

GO

/*
© Кейсистемс (Keysystems), 2012
*/

CREATE PROCEDURE dbo.[RO_PRINT_769_2016]
	@namesTables varchar(8000),        -- имена глобальных временных таблиц через запятую, где хранятся таблицы
									-- нужно самим сделать select, первый select отностится к c_data2
									-- после работы, нужно удалить!
	@LSF int
AS
	declare @table1 varchar(100),
@table2 varchar(100),
@table3 varchar(100),
@table4 varchar(100),
@table5 varchar(100),
@table6 varchar(100),
@table7 varchar(100),
@table8 varchar(100),
@RunStr varchar(8000),
@DelRows tinyint


	exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table1 output, ','
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table2 output, ','
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table3 output, ','
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table4 output, ','
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table5 output, ','

	set @RunStr = 'SELECT CASE WHEN COL1 IN (''30402000'',''30403000'',''30404000'') THEN COL1 ELSE LEFT(COL1,3)+ ''00000'' END AS COL15,  CASE WHEN SUBSTRING(COL1, 4,2) = ''00'' THEN ''99'' ELSE SUBSTRING(COL1, 4,2) END AS COL16, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, CODE, 0 as DEL, 0, Orders from ' + @table1
+ ' union all'
+ ' SELECT CASE WHEN COL1 IN (''30402000'',''30403000'',''30404000'') THEN COL1 ELSE LEFT(COL1,3)+ ''00000'' END  AS COL15, CASE WHEN SUBSTRING(COL1, 4,2) = ''00'' THEN ''99'' ELSE SUBSTRING(COL1, 4,2) END AS COL16, COL1, COL2, COL3, COL4, COL5,COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14,  CODE, 0 as DEL, 0, 1 as Orders from ' + @table2
+ ' union all'
+ ' SELECT CASE WHEN COL1 IN (''30402000'',''30403000'',''30404000'') THEN COL1 ELSE LEFT(COL1,3)+ ''00000'' END  AS COL15, CASE WHEN SUBSTRING(COL1, 4,2) = ''00'' THEN ''99'' ELSE SUBSTRING(COL1, 4,2) END AS COL16, COL1, COL2, COL3, COL4, COL5,COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14,  CODE, 0 as DEL, 0, 2 as Orders from ' + @table3
+ ' union all'
+ ' SELECT DISTINCT LEFT(COL1,3)+ ''00000'' AS COL15,  ''99'' , LEFT(COL1,3) + ''00000'', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  LEFT(COL1,3) + ''00000'', 0 as DEL, 0, 1 Orders from ' + @table1 + ' T '
+ ' WHERE LEFT(COL1,3) <> ''888'' AND NOT EXISTS(SELECT * FROM ' + @table2 + ' T1 WHERE  T1.COL1 = LEFT(T.COL1,3) + ''00000'') '
+ ' union all'
+ ' SELECT DISTINCT LEFT(COL1,3)+ ''00000'' AS COL15,  ''99'', LEFT(COL1,3) + ''00000'', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  LEFT(COL1,3) + ''00000'', 0 as DEL, 0, 2 Orders from ' + @table1 + ' T '
+ ' WHERE LEFT(COL1,3) <> ''888'' AND NOT EXISTS(SELECT * FROM ' + @table3 + ' T1 WHERE  T1.COL1 = LEFT(T.COL1,3) + ''00000'') '
+ ' union all'
+ ' SELECT DISTINCT COL1 AS COL15,  ''99'' , COL1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  COL1, 0 as DEL, 0, 1 Orders from ' + @table1 + ' T '
+ ' WHERE COL1 IN (''30402000'',''30403000'',''30404000'') AND NOT EXISTS(SELECT * FROM ' + @table2 + ' T1 WHERE  T1.COL1 = T.COL1) '
+ ' union all'
+ ' SELECT DISTINCT COL1 AS COL15,  ''99'', COL1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  COL1, 0 as DEL, 0, 2 Orders from ' + @table1 + ' T '
+ ' WHERE COL1 IN (''30402000'',''30403000'',''30404000'') AND NOT EXISTS(SELECT * FROM ' + @table3 + ' T1 WHERE  T1.COL1 = T.COL1) '
+ ' union all'
+ ' SELECT DISTINCT ''888''+ ''00000'',  ''99'' , ''88888888'', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  ''88888888'', 0 as DEL, 0, 1 Orders from ' + @table1 + ' T '
+ ' WHERE LEFT(COL1,3) <> ''888'' AND NOT EXISTS(SELECT * FROM ' + @table2 + ' T1 WHERE  T1.COL1 = ''88888888'') '
+ ' union all'
+ ' SELECT DISTINCT ''888''+ ''00000'',  ''99'' , ''88888888'', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  ''88888888'', 0 as DEL, 0, 2 Orders from ' + @table1 + ' T '
+ ' WHERE LEFT(COL1,3) <> ''888'' AND NOT EXISTS(SELECT * FROM ' + @table3 + ' T1 WHERE  T1.COL1 = ''88888888'') '


+ ' ORDER BY 1, 2, 11, 3'
+ ' drop table ' + @table1
+ ' drop table ' + @table2
+ ' drop table ' + @table3


PRINT @RunStr
	execute(@RunStr)

	set @RunStr = 'SELECT COL1, COL2, COL3, COL4, COL5, COL6, COL7,COL8, CODE, 0 as DEL, 0, Orders from ' + @table4

+ ' ORDER BY 1, 3'
+ ' drop table ' + @table4
	execute(@RunStr)
	
	set @RunStr = 'SELECT COL1, COL2, COL3, COL4, COL5, CODE, 0 as DEL, 0, Orders from ' + @table5

+ ' ORDER BY 1, 2'
+ ' drop table ' + @table5
	execute(@RunStr)



GO


GRANT EXECUTE ON dbo.[RO_PRINT_769_2016] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_OTHER_PROV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_OTHER_PROV]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE  PROCEDURE dbo.SD_O_OTHER_PROV
@varKSparLINK int
AS

IF (SELECT SO.CODE FROM S_OBJECTS SO,SDOC DOC WHERE DOC.LINK = @varKSparLINK AND
		 DOC.OBJECT = SO.LINK) <> 'DOCUMENTS_CLOSE_MONTH'
	RETURN 5

IF EXISTS (SELECT * FROM DBO.CALCULATE_JURNAL WHERE LINK_DOC = @varKSparLINK)
BEGIN
		RAISERROR('Документ уже проведен!', 11, 1)
		RETURN 0
END

Declare @varKStrancount int

SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,0

DECLARE @LinkEKR213 int
SELECT @LinkEKR213 = LINK FROM dbo.DICTIONARY_ITEM WHERE CODE = '213'

INSERT INTO dbo.CALCULATE_JURNAL (LINK_EMPL,LINK_PAYS,LINK_DOC,PERIOD_BEGIN,PERIOD_END,DAYS,HOURS,SUMMA_BASE,PROCENT,SUMMA,ORDERS,DATE_BEGIN,DATE_END,LINK_DEP,LINK_ORG,LINK_VKR,LINK_EKR,LINK_VKR2)
SELECT [LINK_EMPL] =NULL,
		[LINK_PAYS] = TAB.REF_DED,
		[LINK_DOC] = DOC.LINK,
	  	[PERIOD_BEGIN] = dbo.DateBeginOfMonth(DOC.DATE),	
		[PERIOD_END] = dbo.DateEndOfMonth(DOC.DATE),	
		[DAYS] =0,
		[HOURS] = 0,
		[SUMMA_BASE] = TAB.SUMMA_BASE,
		[PERCENT],
		[SUMMA] = TAB.SUMMA,
		[ORDERS] = TAB.ORDERS,
		[DATE_BEGIN] = dbo.DateBeginOfMonth(CONVERT(DATETIME,('01/'+ RTRIM(DOC.MONTH)+'/'+RTRIM(DOC.YEAR)))), 
		[DATE_END] = dbo.DateEndOfMonth(CONVERT(DATETIME,('01/'+ RTRIM(DOC.MONTH)+'/'+RTRIM(DOC.YEAR)))), 
		[LINK_DEP] = LINK_DEP,
		[LINK_ORG] = NULL,
		[LINK_VKR] = TAB.LINK_VKR,
		[LINK_EKR] = TAB.LINK_EKR,
		[LINK_VKR2] = TAB.LINK_VKR2		
FROM dbo.DOCUMENTS_DED_OTHER DOC, dbo.DOCUMENTS_DED_OTHER_TABLE TAB, dbo.USER_INFO UI
WHERE UI.SID = SUSER_SID() AND DOC.LINK = TAB.LINK  AND  DOC.LINK = @varKSparLINK and TAB.SUMMA<>0


EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,1


IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN
RETURN 0

GO


GRANT EXECUTE ON dbo.[SD_O_OTHER_PROV] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RA_IMPORT_FORM_769_16]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RA_IMPORT_FORM_769_16]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 2013

*******************************************************************************/
CREATE PROCEDURE dbo.[RA_IMPORT_FORM_769_16]
	@lbSvodWEB	     BIT     = 1,    -- 1 - Вызов с тонкого клиента, 0 - иначе.
	@liRepeatRequest INT     = NULL, -- Если IS NOT NULL - повторный вызов из Свод-WEB, если >0 - то подтверждение загрузки, <0 - импорт отклонен.
   @tIsAppend       TINYINT = 0,    -- 1 - Импорт отчета в режиме добавления, 0 - обычный импорт.
	@bDinamicRows    BIT     = 0,    -- Строки даже для статических таблиц хранятся динамически (для 14-х форм)
   @iLINK_SELF      INT     = NULL,
   @tMode           TINYINT = 0 -- Режим работы 0 - обычный, 1 - демо.
AS
SET NOCOUNT ON

DECLARE @iOrder   INT,
        @liReturn INT,
        @iTB_01   INT,
        @iTB_02   INT

DECLARE @tabImport TABLE ([TXT]   VARCHAR(8000),
                          [ORDER] INT IDENTITY(1,1))
                          
DECLARE @tabImportRD TABLE ([TXT]   VARCHAR(8000),
                            [RD]    TINYINT)
                                   
                        
                           

IF ISNULL(@liRepeatRequest,0) > 0 
BEGIN
   EXEC @liReturn = dbo.[RA_IMPORT_FORM_STANDART] @lbSvodWEB,
                                                  @liRepeatRequest,
                                                  @tIsAppend,
                                                  @bDinamicRows,
                                                  @iLINK_SELF,
                                                  @tMode

   RETURN @liReturn
END

IF EXISTS (SELECT *
           FROM #IMPORT_TABLE
           WHERE [TXT] IN ('ВФ=0','ВФ=1'))
BEGIN
   EXEC @liReturn = dbo.[RA_IMPORT_FORM_STANDART] @lbSvodWEB,
                                                  @liRepeatRequest,
                                                  @tIsAppend,
                                                  @bDinamicRows,
                                                  @iLINK_SELF,
                                                  @tMode

   RETURN @liReturn
END

IF NOT EXISTS (SELECT *
               FROM #IMPORT_TABLE
               WHERE [TXT] IN ('ВФ=0','ВФ=1'))
BEGIN
   
      SELECT @iTB_01 = [ORDER]
      FROM #IMPORT_TABLE
      WHERE [TXT] = 'ТБ=01'
      
      SELECT @iTB_02 = [ORDER]
      FROM #IMPORT_TABLE
      WHERE [TXT] = 'ТБ=02'
   
      INSERT @tabImportRD([RD],
                          [TXT])
      SELECT [RD] = CASE
                       WHEN [ORDER] > @iTB_02 THEN 4
                       WHEN LEFT([TXT],3) IN ('10|','20|','50|') THEN 1
                       WHEN LEFT([TXT],3) IN ('30|','60|') THEN 2
                       WHEN LEFT([TXT],3) IN ('40|','70|') THEN 3
                    END,
             [TXT] = CASE 
                        WHEN [ORDER] > @iTB_02 THEN dbo.[RA_GETWORDNUM]([TXT],4,'|')+dbo.[RA_GETWORDNUM]([TXT],5,'|') +dbo.[RA_GETWORDNUM]([TXT],6,'|')++dbo.[RA_GETWORDNUM]([TXT],7,'|')+'|'+
                                                     dbo.[RA_GETWORDNUM]([TXT],8,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],6,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],7,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],9,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],10,'|')+'|' 
                           
                        ELSE REPLACE(dbo.[RA_GETWORDNUM]([TXT],5,'|')+dbo.[RA_GETWORDNUM]([TXT],6,'|'),'********','88888888')+'|'+dbo.[RA_GETWORDNUM]([TXT],7,'|')+'|'+
                             dbo.[RA_GETWORDNUM]([TXT],8,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],9,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],10,'|')+'|'
                     END
      FROM #IMPORT_TABLE
      WHERE [TXT] LIKE '%|%|%|%'
            
      INSERT @tabImport([TXT])
      SELECT [TXT]
      FROM #IMPORT_TABLE
      WHERE [ORDER] < @iTB_01 + 2
      ORDER BY [ORDER]
      
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 1

      INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=02')
      INSERT @tabImport(TXT) VALUES ('#$')

      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 2
      
      INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=03')
      INSERT @tabImport(TXT) VALUES ('#$')
      
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 3
      
      INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=04')
      INSERT @tabImport(TXT) VALUES ('#$')
      
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 4

      TRUNCATE TABLE #IMPORT_TABLE
      
      INSERT #IMPORT_TABLE ([TXT])
      SELECT [TXT]
      FROM @tabImport
      ORDER BY [ORDER]
              
      EXEC @liReturn = dbo.[RA_IMPORT_FORM_STANDART] @lbSvodWEB,
                                                     @liRepeatRequest,
                                                     @tIsAppend,
                                                     @bDinamicRows,
                                                     @iLINK_SELF,
                                                     @tMode

END

RETURN @liReturn


GO


GRANT EXECUTE ON dbo.[RA_IMPORT_FORM_769_16] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[XK_PRINT_PROTOCOL_25N]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[XK_PRINT_PROTOCOL_25N]

GO

CREATE PROCEDURE dbo.XK_PRINT_PROTOCOL_25N
	@tDATE_BEGIN	DATETIME,
	@tDATE_END	DATETIME,
	@tTYPE_PRN	INT,
	@tSEP_DOC	INT,
	@tPRN_KBK	INT,
	@tPRN_KOSGU	INT
AS
BEGIN
	DECLARE @intDEP_LINK	INT,
		@intMAIN_DEP_LINK INT,
		@cMAIN_DEP_NAME VARCHAR (254),
		@cMAIN_OKPO	VARCHAR (254),
		@cMAIN_RUK	VARCHAR (100),
		@cMAIN_BUH	VARCHAR (100)

	SELECT @intDEP_LINK = dbo.BK_GetDepZB ()

	SELECT @intMAIN_DEP_LINK = LINK,
		@cMAIN_DEP_NAME = [NAME],
		@cMAIN_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = dbo.GetOwnDepLink ()

	SELECT @cMAIN_RUK = SHORT_NAME FROM dbo.GetOtvFaceData (@intMAIN_DEP_LINK, 'Руководитель')
	SELECT @cMAIN_BUH = SHORT_NAME FROM dbo.GetOtvFaceData (@intMAIN_DEP_LINK, 'Главный бухгалтер')

	DECLARE @TMP_TABLE TABLE (EVENT_TXT VARCHAR (254), LINK_DOC INT, LINK_G2 INT,
			SUMMA NUMERIC (28,4), ACCT25N INT, ACCT70N INT,
			KBK_25N INT, SGU_25N INT,
			KBK_70N INT, SGU_70N INT,
			DEP_LINK INT)

	SET @tDATE_BEGIN = ISNULL (@tDATE_BEGIN, '20060101')
	SET @tDATE_END = ISNULL (@tDATE_END, '20061231')

	IF @tTYPE_PRN = 0
		INSERT INTO @TMP_TABLE
		SELECT EVENT_TEXT, LINK_DOC, LINK_G2,
			SUMMA, ACCT_25N, ACCT_70N,
			KBK_25N, KOSGU_25N,
			KBK_70N, KOSGU_70N,
			DEP_LINK
		FROM dbo.XK_GET_TABLE_OBOROT_TO_25N (@tDATE_BEGIN, @tDATE_END, @intDEP_LINK)
	ELSE
		INSERT INTO @TMP_TABLE
		SELECT EVENT_TEXT,
			CASE 
				WHEN @tSEP_DOC = 1 THEN LINK_DOC ELSE 0
			END, 0,
			SUM (SUMMA), ACCT_25N, ACCT_70N,
			CASE
				WHEN @tPRN_KBK = 1 THEN KBK_25N ELSE 0
			END,
			CASE
				WHEN @tPRN_KOSGU = 1 THEN KOSGU_25N ELSE 0
			END,
			CASE
				WHEN @tPRN_KBK = 1 THEN KBK_70N ELSE 0
			END,
			CASE
				WHEN @tPRN_KOSGU = 1 THEN KOSGU_70N ELSE 0
			END,
			DEP_LINK
		FROM dbo.XK_GET_TABLE_OBOROT_TO_25N (@tDATE_BEGIN, @tDATE_END, @intDEP_LINK)
		GROUP BY
			EVENT_TEXT, 
			CASE 
				WHEN @tSEP_DOC = 1 THEN LINK_DOC ELSE 0
			END,
			ACCT_25N, ACCT_70N,
			CASE
				WHEN @tPRN_KBK = 1 THEN KBK_25N ELSE 0
			END,
			CASE
				WHEN @tPRN_KOSGU = 1 THEN KOSGU_25N ELSE 0
			END,
			CASE
				WHEN @tPRN_KBK = 1 THEN KBK_70N ELSE 0
			END,
			CASE
				WHEN @tPRN_KOSGU = 1 THEN KOSGU_70N ELSE 0
			END,
			DEP_LINK

	DECLARE @TAB_RES TABLE (LINK_DOC INT, DOC_NAME VARCHAR (254), NUMBER VARCHAR (8),
			DOC_DATE VARCHAR (10), dDOC_DATE DATETIME, DOC_NUM VARCHAR (8),
			DEP_NAME VARCHAR (254), DEP_OKPO VARCHAR (30),
			NAME_OPER VARCHAR (254),
			SUMMA NUMERIC (28,4),
			CODE_70N VARCHAR (60), CODE_25N VARCHAR (60),
			RUK VARCHAR (100), GL_BUH VARCHAR (100))

	INSERT INTO @TAB_RES
	SELECT CASE WHEN @tSEP_DOC = 0 THEN 0 ELSE LINK_DOC END,
		CASE WHEN @tSEP_DOC = 0 THEN 'Переход на приказ 25н'
			ELSE dbo.JurnalProvGetDocKind (G.LINK, G.OBJECT) END,
		CASE WHEN @tSEP_DOC = 0 THEN '1' ELSE G.NUMBER END, 
		ISNULL (CONVERT (VARCHAR (10), G.DATE, 104), ''),
		G.DATE,
		ISNULL (G.NUMBER, ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		CASE
			WHEN @tSEP_DOC = 0 THEN T1.EVENT_TXT
						+ ISNULL (' (' 	+ dbo.JurnalProvGetDocKind (G.LINK, G.OBJECT) + ')', '')
			ELSE T1.EVENT_TXT
		END,
		T1.SUMMA,
		CASE
			WHEN @tPRN_KBK = 1 THEN ISNULL (RTRIM (K1.CODE), '00000000000000000') + '.'
			ELSE ''
		END
			+ SA_70N.CODE
			+
		CASE
			WHEN @tPRN_KOSGU = 1 THEN '.' + ISNULL (K2.CODE, '000')
			ELSE ''
		END,
		dbo.BK_GetAcctFullCode1 (T1.ACCT25N, T1.KBK_25N, T1.SGU_25N, @tPRN_KBK, @tPRN_KOSGU, @tDATE_END),
		ISNULL (F1.FACE_NAME, @cMAIN_RUK),
		ISNULL (F2.FACE_NAME, @cMAIN_BUH)
	FROM @TMP_TABLE T1
	INNER JOIN dbo.S_ACCOUNTS_OLD70N SA_70N ON (SA_70N.LINK = T1.ACCT70N)
	LEFT OUTER JOIN dbo.KL_KBK K1 ON (K1.LINK = T1.KBK_70N)
	LEFT OUTER JOIN dbo.KOSGU K2 ON (K2.LINK = T1.SGU_70N)
	LEFT OUTER JOIN dbo.G_PROV G ON (G.LINK = T1.LINK_DOC)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT D1 ON (D1.LINK = T1.DEP_LINK)
	LEFT OUTER JOIN dbo.DICTIONARY_OTV_FACE F1 ON (F1.DEP_LINK = T1.DEP_LINK
							AND F1.NAME = 'Руководитель')
	LEFT OUTER JOIN dbo.DICTIONARY_OTV_FACE F2 ON (F2.DEP_LINK = T1.DEP_LINK
							AND F2.NAME = 'Главный бухгалтер')

	SELECT * FROM @TAB_RES ORDER BY DEP_NAME, dDOC_DATE, LINK_DOC
END


GO


GRANT EXECUTE ON dbo.[XK_PRINT_PROTOCOL_25N] TO PUBLIC

GO


--Расширенные свойства--


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BV_SELECT_ANALITS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BV_SELECT_ANALITS]

GO




/*
© Кейсистемс (Keysystems), 2005
*/
CREATE	PROCEDURE dbo.BV_SELECT_ANALITS
		@varKSpNA INT,
		@varKSpDATE DATETIME = NULL

AS
BEGIN
	DECLARE @varKSRES1 TABLE 
		(ACCOUNT int NOT NULL,
		 CNTS INT NOT NULL,
		 DIC_LINK int,
		 DIC_CODE varchar(30),
		 DIC_NAME varchar(254),
		 NAME_AP varchar(20) NOT NULL,
		 ORDERS int,
		 LENGTH tinyint)
	DECLARE @varKSI INT

	IF @varKSpDATE IS NULL
		SELECT @varKSpDATE = ENDDATE + 1 from ADMIN_INFO
	


	SELECT CONVERT(INT,1) AS CNTS, ART.ACCOUNT, SUM(ART.D_SUMMA) AS D_SUMMA, SUM(ART.K_SUMMA) AS K_SUMMA, SUM(ART.D_QUANTITY) AS D_QUANTITY, ART.KBK, ART.EKR, ART.DEP, ART.SUB, ART.EMP, ART.NOMEN, ART.INV, ART.KAU,
		ART.DEP_ACC, ART.TMC, /*ART.SGU,*/ ART.INDATE, ART.AP1, ART.AP2, ART.AP3
	INTO  #TMP_REST_OS
	FROM dbo.ARestTableByDate(@varKSpDATE,DEFAULT) ART
	WHERE ART.INV = @varKSpNA
	GROUP BY ART.ACCOUNT, ART.KBK, ART.EKR, ART.DEP, ART.SUB, ART.EMP, ART.NOMEN, ART.INV, ART.KAU,
		ART.DEP_ACC, ART.TMC, /*ART.SGU,*/ ART.INDATE, ART.AP1, ART.AP2, ART.AP3

	DELETE FROM #TMP_REST_OS WHERE ISNULL(D_SUMMA,0) = 0 AND ISNULL(K_SUMMA,0) = 0 AND ISNULL(D_QUANTITY,0) = 0

	SET @varKSI = 0
	UPDATE #TMP_REST_OS
	SET CNTS = @varKSI, @varKSI = @varKSI + 1



	SELECT T.ACCOUNT, T.CNTS,
		ERR = CASE WHEN (SELECT COUNT(*) FROM #TMP_REST_OS T1 WHERE T1.ACCOUNT = T.ACCOUNT)>1 THEN CONVERT(TINYINT,1) ELSE CONVERT(TINYINT,0) END,
		[SUMMA] = (ISNULL(T.D_SUMMA,0) - ISNULL(T.K_SUMMA,0)),
		[QUANTITY] = T.D_QUANTITY,
		[INDATE] = T.INDATE
	INTO #TMP_ACC_REST
	FROM #TMP_REST_OS T


	
	INSERT INTO @varKSRES1 (ACCOUNT, CNTS, DIC_LINK, DIC_CODE, DIC_NAME, NAME_AP, ORDERS, LENGTH)
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.EKR,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_EKR = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'EKR')
		INNER JOIN dbo.KOSGU D ON D.LINK = EKR
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.SUB,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_SUB = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'SUB')
		INNER JOIN dbo.SUBDIV D ON D.LINK = SUB
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.KAU,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_KAU = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'KAU')
		INNER JOIN dbo.KAU D ON D.LINK = KAU
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.DEP,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_DEP = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'DEP')
		INNER JOIN dbo.DEPARTMENTS D ON D.LINK = DEP
	UNION ALL
	SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.INV,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[ANAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_DEP_ACC = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'DEP_ACC')
		INNER JOIN dbo.DICTIONARY_ACCOUNTS D ON D.LINK = DEP_ACC
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.EMP,
		[DIC_CODE] = D.TAB,
		[DIC_NAME] = dbo.sd_GetEmplName(D.LINK),
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_EMP = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'EMP')
		INNER JOIN dbo.EMPL D ON D.LINK = EMP
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.TMC,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_TMC = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'TMC')
		INNER JOIN dbo.DICTION D ON D.LINK = TMC
	UNION ALL
	SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.INV,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_INV = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'INV')
		INNER JOIN dbo.INVENTORY D ON D.LINK = INV
	UNION ALL
	SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.INV,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_NOMEN = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'NOMEN')
		INNER JOIN dbo.NOMENCLATURE D ON D.LINK = NOMEN
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.KBK,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_KBK = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'KBK')
		INNER JOIN dbo.KL_KBK D ON D.LINK = KBK
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.KBK,
		[DIC_CODE] = D.NUMBER,
		[DIC_NAME] = D.[INFO],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_AP1 = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'AP1')
		INNER JOIN dbo.BD_OSNOV D ON D.LINK = AP1
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.KBK,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_AP2 = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'AP2')
		INNER JOIN dbo.DOP_CLASSIF D ON D.LINK = AP2
--	UNION ALL
	
	
	SELECT [CHECKED] = CONVERT(TINYINT,0),* 
	FROM @varKSRES1 ORDER BY ACCOUNT, ORDERS
	
	SELECT	[DATE] = @varKSpDATE,
		[ACC_LINK] = TAR.ACCOUNT,
		[ACC_CODE] = (SELECT CODE FROM S_ACCOUNTS WHERE LINK = TAR.ACCOUNT),
		[ACC_NAME] = (SELECT CONVERT(CHAR(30),NAME) FROM S_ACCOUNTS WHERE LINK = TAR.ACCOUNT),
		[CNTS] = TAR.CNTS,
		[ERR] = TAR.ERR,
		[SUMMA] = CASE WHEN (SELECT ISNULL(S_PASSIVE,0) FROM S_ACCOUNTS WHERE LINK = TAR.ACCOUNT)=1 THEN -TAR.SUMMA ELSE TAR.SUMMA END,
		[QUANTITY] = CASE WHEN (SELECT ISNULL(KSU,0) FROM S_ACCOUNTS WHERE LINK = TAR.ACCOUNT)=1 THEN TAR.QUANTITY ELSE NULL END,
		[INDATE] = TAR.INDATE
	FROM #TMP_ACC_REST TAR
	
	DROP TABLE #TMP_ACC_REST
	DROP TABLE #TMP_REST_OS
	
END














GO


GRANT EXECUTE ON dbo.[BV_SELECT_ANALITS] TO PUBLIC

GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RSA_RSV_1_PERS_UCH_SZV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RSA_RSV_1_PERS_UCH_SZV]

GO

-- Пример вызова exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20150401', '20150630', 74578 ,1,  20017
CREATE PROCEDURE dbo.RSA_RSV_1_PERS_UCH_SZV
	@dDate1 DATETIME,
	@dDate2 DATETIME,
	@LINK_DEP int = NULL,
	@REP TINYINT = 0, 
	@VARILSF INT = null
AS BEGIN


	declare @DEP_LINK int
	exec dbo.xd_whats_zb @DEP_LINK output

	SET @DEP_LINK = COALESCE(@LINK_DEP,@DEP_LINK)

   DECLARE @nYEAR INT, @nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT
	
	SELECT 
		@nYEAR = YEAR(@dDATE1),
		@nMONTH1 = MONTH(@dDATE1),
		@nMONTH2 = MONTH(@dDATE1)+1,
		@nMONTH3 = MONTH(@dDATE1)+2

	DECLARE @ATR_PERS_UCH INT
	SET @ATR_PERS_UCH  = (SELECT DBO.RN_GET_ATR_VALUE(@VARILSF, 'REPORTS_ATR_PERS_UCH'))

	SELECT * into #docs FROM   dbo.SA_SZV4_PACHKA P 
	WHERE
	p.link_dep = @DEP_LINK and p.link = @ATR_PERS_UCH 
	
	INSERT INTO #docs
	SELECT * 
	FROM   dbo.SA_SZV4_PACHKA P 
	WHERE
	p.link_dep = @DEP_LINK and p.year_begin = year(@dDate1) and month_end <= month(@dDate2) and p.type = 1 and vid_kor <> 1
	/*AND p.[per_edt] < p.[per] *//*AND p.YEAR_EDT >= 2014*/ AND P.LINK_ISHOD = @ATR_PERS_UCH


	--Округление каждой строчки таблицы
	DECLARE @ROUND_TYPE tinyint, @ROUND_LEN tinyint
	Set @ROUND_TYPE = dbo.sa_get_option_by_code('SA_SZV4_OPT2')
	Set @ROUND_LEN = (case when @ROUND_TYPE <= 1 then 2 else 0 end)
	Set @ROUND_TYPE = (case when @ROUND_TYPE = 3 then 1 else 0 end)

	--Округление только итогов
	DECLARE @IT_ROUND_TYPE tinyint
	Set @IT_ROUND_TYPE = dbo.sa_get_option_by_code('SA_SZV4_OPT5')
	
	----- общие сведения
	Select
		[YEAR] = ISNULL(CASE WHEN year_begin >= 2013 THEN year_begin ELSE NULL END ,0),
		[CODE] = CASE WHEN K.CODE = 'ООИ' then 'НР' else K.CODE end ,
		[PER] = ISNULL(CASE WHEN year_begin >= 2013 THEN PER ELSE NULL END ,0),
		[PER10] = ISNULL(CASE WHEN year_begin = 2013 THEN PER ELSE NULL END ,0),
		[TYPE] = P.vid_kor,
		[PER_EDT] = ISNULL(PER_EDT,0),
		[YEAR_EDT] = ISNULL(YEAR_EDT,0),
		[NGROUP] = S.pachka,
		[PFNUMBER] = PF_NUM,
		[T_DOG] = s.forma,
		LINK_FACE,
		NUM = ROW_NUMBER() OVER (PARTITION BY LINK_FACE ORDER BY s.forma),
		[FM],
		[IM],
		[OT],
		[ADDRESS] = [ADDRESS],
		[INC_M1] = s1.INCOME_M1,
		[B_BEF_M1] = s1.BASE_BEFORE_M1,
		[B_AFT_M1] = s1.BASE_AFTER_M1, 
		[INC_M2] = s1.INCOME_M2,
		[B_BEF_M2] = s1.BASE_BEFORE_M2,
		[B_AFT_M2] = s1.BASE_AFTER_M2,	
		[INC_M3] = s1.INCOME_M3,
		[B_BEF_M3] = s1.BASE_BEFORE_M3,
		[B_AFT_M3] = s1.BASE_AFTER_M3,
		[INC_T1M1] = s1.INCOME_T1_M1,
		[INC_T2M1] = s1.INCOME_T2_M1,
		[INC_T1M2] = s1.INCOME_T1_M2,
		[INC_T2M2] = s1.INCOME_T2_M2,
		[INC_T1M3] = s1.INCOME_T1_M3,
		[INC_T2M3] = s1.INCOME_T2_M3, 
		[INSUR] = COALESCE(S.sum_doh,0), --Это сумма начисленных взносов на страхов. часть
		[INSUR1] = COALESCE(S.INSUR,0), --Это сумма уплаченных взносов на страхов. часть
		[GAIN] = COALESCE(S.GAIN,0), --Это сумма начисленных взносов на накопит. часть
		[GAIN1] = COALESCE(S.DOP,0), --Это сумма уплаченных взносов на накопит. часть
		[DOP] = COALESCE(S.DOP,0),
		[ID_EX] = ST.orders,
		[DATE_BEGIN] = date1,
		[DATE_END] = date2,
		dper_vn_m = coalesce(s.dper_vn_m,0),
		dper_vn_d = coalesce(s.dper_vn_d,0),
		dper_oz_m = coalesce(s.dper_oz_m,0),
		dper_oz_d = coalesce(s.dper_oz_d,0),
		[TU_CODE] = f_ter_usl,
		[OS_CODE] = f_osob_usl,
		osob_usl,
		OSOB_SPO = LTRIM(RTRIM(ST.OSOB_SPO)),
		[EX_CODE] = is_osnov,
		f_is_dop,
		[P_CODE] = ud_osnov,
		f_ud_dop,
		DATE_DOC = [date],
		dep_PFNUM = d.PFNUMBER,
		FNAME = 'PFR-700-Y-' + CONVERT(VARCHAR(4),year_begin) + '-ORG-' + LTRIM(RTRIM(d.PFNUMBER)) + '-DCK-' + REPLACE(str(S.pachka,5),' ','0') + '-DPT-000000-DCK-00000.XML',	
		link_doc =p.link
	INTO #SZV_ALL
	FROM
		dbo.SA_SZV4_PACHKA P INNER JOIN dbo.SA_SZV4_SVEDENIA S ON P.link = S.link
		inner join SZV4_SVEDENIA s1 on s1.link = s.link1
		INNER JOIN dbo.SA_PFR_KATEG K ON K.LINK = S.LINK_KATEG AND year_begin BETWEEN YBEG AND YEND	
		LEFT JOIN dbo.SA_SZV4_STAZH ST ON S.link1 = ST.link
		inner join departments d on d.link = p.link_dep 
	WHERE
		P.link in (select link from #DOCS)
		and P.proverka = 1
		and p.link_dep = @DEP_LINK
	ORDER BY
		[TYPE], K.CODE, s.forma, S.pachka, S.orders, ST.orders
	


	UPDATE T
		SET	FNAME = REPLACE( FNAME, REPLACE(str(((SELECT MAX(nGROUP) FROM #SZV_ALL  where link_face =t.link_face )),5)+'-',' ','0'),REPLACE(str(((SELECT MIN(nGROUP) FROM #SZV_ALL  where link_face =t.link_face )),5)+'-',' ','0')), 
		nGROUP = (SELECT MIN(nGROUP) FROM #SZV_ALL  where link_face =t.link_face )
	FROM  #SZV_ALL t 
	where link_face in (select  a.link_face   
						from #SZV_ALL a 
						where link_face in ( select link_face from #SZV_ALL where link_face = a.link_face and  link_doc = a.link_doc and code <> a.code and [TYPE] = 1 ) and [TYPE] = 1 ) 
				and [TYPE] = 1
			
--- нумирация пачек исходных и корректирующих сведений
declare @MAX_PACHKA_ISHOD  int,@MIN_PACHKA_ISHOD int,  @MIN_PACHKA_KORR int,  
		@ID int

select @MAX_PACHKA_ISHOD = max(NGROUP),
		@MIN_PACHKA_ISHOD = min(NGROUP),
		@MIN_PACHKA_KORR = (select min(NGROUP) FROM #SZV_ALL WHERE TYPE <> 1)
		FROM #SZV_ALL WHERE TYPE = 1

IF @MIN_PACHKA_ISHOD = @MIN_PACHKA_KORR

BEGIN 
	declare @Cur cursor , @GR int , @FNAME varchar(100)
	set @ID = 1
	SET @Cur = CURSOR FORWARD_ONLY
	FOR 
		select ngroup,FNAME  from #SZV_ALL WHERE TYPE <> 1 group by ngroup,FNAME
	OPEN @Cur
	FETCH NEXT FROM @Cur INTO @GR, @FNAME
	
	WHILE (@@fetch_status <> -1)
	BEGIN
		
		IF (@@fetch_status <> -2)
		BEGIN	

			UPDATE #SZV_ALL
				set NGROUP = @MAX_PACHKA_ISHOD+@ID --, t.[cGRP] =  '00'+ (@MAX_PACHKA_ISHOD+@ID)
			where ngroup = @GR AND FNAME = @FNAME and TYPE <> 1
				
			set @ID = @ID+1	
		end
		FETCH NEXT FROM @Cur INTO @GR , @FNAME
	end

CLOSE @Cur
DEALLOCATE @Cur

END 

UPDATE t
	SET  FNAME=  'PFR-700-Y-' + CONVERT(VARCHAR(4),[year]) + '-ORG-' + LTRIM(RTRIM(dep_PFNUM)) + '-DCK-' + REPLACE(str(NGROUP,5),' ','0') + '-DPT-000000-DCK-00000.XML'	
	from #SZV_ALL t  WHERE TYPE <> 1

----------------------------
SELECT * INTO #SZV_SUM FROM
(SELECT 
	RN = ROW_NUMBER() OVER (PARTITION BY LINK_FACE, CODE, T_DOG, [TYPE], PER_EDT, NGROUP/*, ID_EX*/ ORDER BY T_DOG),
	CODE,
	LINK_FACE,
	[PFNUMBER],
	T_DOG,
	sum(INC_M1) AS INC_M1,
	sum(B_BEF_M1) AS B_BEF_M1,
	sum(B_AFT_M1) AS B_AFT_M1,
	sum(INC_M2) AS INC_M2,
	sum(B_BEF_M2) AS B_BEF_M2,
	sum(B_AFT_M2) AS B_AFT_M2,
	sum(INC_M3) AS INC_M3,
	sum(B_BEF_M3) AS B_BEF_M3,
	sum(B_AFT_M3) AS B_AFT_M3,		
	per,
	[year],
	[TYPE],
	per_edt,
	year_edt,
	sum(INSUR) AS INSUR	
FROM 
	#SZV_ALL 
	GROUP BY CODE ,LINK_FACE,[PFNUMBER],T_DOG,per,[year],[TYPE],per_edt,year_edt,NGROUP,ID_EX
) T WHERE RN = 1	

-- exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20150401', '20150630', 13488 ,1,  269	
-----------
DECLARE @PREDEL NUMERIC(18,2)
SET @PREDEL = ISNULL((SELECT MIN(PREDEL) FROM dbo.DICTIONARY_RANGE_PF WHERE WAY_CALC = 6 AND TARIF = 1 AND [DATE] >= dbo.ConvertDMY2Date(1,1,YEAR(@dDate1))),0)
-----------
SELECT 
	LINK_FACE, [PFNUMBER], CODE, per, [year], [TYPE], per_edt, year_edt, INSUR = SUM(INSUR)
INTO 
	#SZV_PC 		
FROM 
	(
	SELECT 
		A.LINK_FACE, A.[PFNUMBER], A.CODE, A.T_DOG, A.per, A.[year], A.[TYPE], A.per_edt, A.year_edt, 
		INSUR = CASE WHEN MIN(B_AFT_M1) + MIN(B_AFT_M2) + MIN(B_AFT_M3) <> 0 THEN
					MIN(B_BEF_M1 * PERCENT1 / 100) + MIN(B_BEF_M2 * PERCENT1 / 100) + MIN(B_BEF_M3 * PERCENT1 / 100)
				ELSE
					MIN(INSUR)
				END				
	FROM 
		#SZV_SUM A INNER JOIN dbo.SA_PFR_KATEG B ON A.CODE = B.CODE AND [year] BETWEEN YBEG AND YEND
			INNER JOIN 
			(
				SELECT 
					TARIF, PERCENT1
				FROM 
					dbo.DICTIONARY_RANGE_PF D
				WHERE
					WAY_CALC = 6 AND PREDEL = @PREDEL
					AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE_PF D1 WHERE D1.TARIF = D.TARIF AND ISNULL(D1.SPECO,0) = ISNULL(D.SPECO,0) AND WAY_CALC = 6 AND DATE <= @dDate1 ORDER BY [DATE] DESC) 
			) C ON C.TARIF = B.LINK2 
	GROUP BY
		A.LINK_FACE, A.[PFNUMBER], A.CODE, A.T_DOG, A.per, A.[year], A.[TYPE], A.per_edt, A.year_edt
	) T
GROUP BY
	LINK_FACE, [PFNUMBER], CODE, per, [year], [TYPE], per_edt, year_edt


-----------------------------------------------------

	IF @REP = 0 
	BEGIN 
	
	
		SELECT
			CODE = CONVERT(VARCHAR(14), [PFNUMBER]),
			COL1 = CONVERT(VARCHAR(14),[PFNUMBER]),
			COL2 = CONVERT(varchar(100),[FM]),
			COL3 = CONVERT(varchar(100),[IM]),
			COL4 = CONVERT(varchar(100),[OT]),
			COL5 = CONVERT(varchar(14),[PFNUMBER]),
			COL6 = [TYPE],
			COL7 = [NGROUP],
			COL8 = [FNAME],
			COL9 = CONVERT(VARCHAR(10), DATE_DOC, 104),
			col10 = per_EDT
		FROM
			#SZV_ALL
		GROUP BY [TYPE],[T_DOG],[FM],[IM],[OT],[PFNUMBER], [NGROUP], [FNAME],DATE_DOC,per_EDT
		ORDER BY
			[TYPE],[T_DOG],[FM],[IM],[OT],per_EDT
		
	END

-- exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20150401', '20150630', 13488 ,0,  269	
	IF @REP = 1 
	BEGIN 	

	/*****************************************************/
	-- Собираем информацию по Исходным пачками
	/*****************************************************/
		create table #TMP1(CODE int,col1 int,   COL2 varchar(14), COL3 varchar(100), COL4 varchar (4), COL5 varchar (4), COL6 numeric(18,2), COL7 numeric(18,2), 
						   COL8 numeric(18,2), COL9 numeric(18,2), COL10 varchar(1), COL11 varchar(4), COL12 varchar(15), COL13 varchar(1), COL14 varchar(4),
						   COL15 int, COL16 varchar(100), COL17 varchar(100), COL18 varchar(100), COL19 int, COL20 int, COL21 numeric(18,2), COL22 numeric(18,2), COL23 numeric(18,2),
						   COL24 int, COL25 int, COL26 numeric(18,2), COL27 numeric(18,2), COL28 numeric(18,2),
						   COL29 int, COL30 int, COL31 numeric(18,2), COL32 numeric(18,2), COL33 numeric(18,2),
						   COL34 int, COL35 int, COL36 numeric(18,2), COL37 numeric(18,2), COL38 numeric(18,2),
						   COL39 int, COL40 int, COL41 numeric(18,2), COL42 numeric(18,2), COL43 numeric(18,2), COL44 numeric(18,2), COL45 char(1) DEFAULT '' )
		
		
		/***************************************/
		-- для подсчета суммы с начала года по конец отчетного периода  
			
			
			------
	
			--- Обьявляем даты
			DECLARE @BYearDate	datetime
			SET @BYearDate = dbo.DateBeginOfYear (@dDate1)

			DECLARE @nYEAR1 INT, @nMONTH_1 INT, @nMONTH_2 INT, @nMONTH_3 INT
			SELECT 
				@nYEAR1 = YEAR(@dDate1),
				@nMONTH_1 = MONTH(@dDate1),
				@nMONTH_2 = MONTH(@dDate1)+1,
				@nMONTH_3 = MONTH(@dDate1)+2
			
			DECLARE @BDate datetime, @EndDate datetime, @EDate DATETIME, @EndYear datetime
			Set @EndYear = dbo.DateEndOfYear(@dDate1)
			SELECT @BDate = @dDate1, @EndDate = @dDate2
			SET @EDate = dateadd(year,1,convert(varchar, YEAR(@BDate))+'0101')
	
			--Фактическая база для договорников
			SELECT 
				GT.PERS_LINK, MONTH(G.[DATE]) AS MONTH_BASE, F.ENVD, SUMMA_BASE = sum(GT.SUMMA_BASE)
			INTO #DGH_FAKT_BASE
			FROM 
				dbo.DOCUMENTS_DGH G INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
				INNER JOIN dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
			WHERE 
				FLAG_JC = 1
				AND GT.WAY_CALC  = 6
				AND YEAR(G.[DATE]) = @nYEAR1
				AND MONTH(G.[DATE]) <= @nMONTH_3
				--AND LINK_DEP = @DEP_LINK 
			GROUP BY 
				GT.PERS_LINK, MONTH(G.[DATE]), F.ENVD

			SELECT  PERS_LINK, MONTH_BASE, SUMMA_BASE = SUM(SUMMA_BASE)
			INTO #DGH_FAKT_BASE1
			FROM #DGH_FAKT_BASE
			GROUP BY PERS_LINK, MONTH_BASE


			-- Журнал операций 
			CREATE TABLE #CALCULATE_JURNAL (LINK_PAYS INT, PERIOD_BEGIN DATETIME, LINK_DOC INT, PERS_LINK INT, LINK_VKR INT, LINK_EKR INT, LINK_EMPL INT, SUMMA NUMERIC(18,2), WAY_CALC TINYINT , SPECO int)
			INSERT INTO #CALCULATE_JURNAL (LINK_PAYS, PERIOD_BEGIN, LINK_DOC, PERS_LINK, LINK_VKR, LINK_EKR, LINK_EMPL, SUMMA,way_calc , SPECO)
			SELECT CJ.LINK_PAYS, CJ.PERIOD_BEGIN, CJ.LINK_DOC, CJ.PERS_LINK, CJ.LINK_VKR, cj.LINK_EKR, CJ.LINK_EMPL, SUMMA = SUM(CJ.SUMMA), p.way_calc , SPECO
			FROM dbo.CALCULATE_JURNAL CJ INNER JOIN dbo.PAYS P ON  CJ.LINK_PAYS = p.link
			WHERE
				Year(period_begin) = @nYEAR1 
				and Month(period_begin) <= @nMONTH_3 
				and CJ.LINK_DEP = @DEP_LINK
			GROUP BY
				cj.LINK_PAYS, cj.PERIOD_BEGIN, cj.LINK_DOC, cj.PERS_LINK, cj.LINK_VKR, cj.LINK_EKR, cj.LINK_EMPL, P.WAY_CALC,cj.SPECO
						
			--
			Declare @StBase2 table (link int)
			Insert into @StBase2 (link)
			select distinct link_pays from tax_ref where link_tax = (select top 1 link from pays where object = 3 and way_calc = 6)
			
			DECLARE @LINK_EKR213 INT
			SET @LINK_EKR213 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')

			DECLARE @ESN_213 INT --Начислять страховые взносы на доходы с 213 ЭКР                                                    
			SET @ESN_213 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_5')
			
				
			------	у кого была инвалидность в заданном периоде
			SELECT DISTINCT PERS_LINK 
			INTO #PERS_INV
			FROM dbo.PERS_INVALID I
			WHERE COALESCE(I.DATE_BEGIN,@BYearDate) <= @EndYear AND COALESCE(I.DATE_END,@EndYear) >= @BYearDate
			
			delete from #PERS_INV
			
			
			------	у кого есть расчеты по доп тарифам со спец оценками в заданном периоде 
			SELECT DISTINCT sd.LINK, DOP = (CASE when S.COD_POS_SPISOK is NOT NULL then 1 else 2 end) , SPO = isnull(s4.code,'')
			INTO #EMPL_DT
			FROM DBO.KU_EMPL_PLACING SD
				left JOIN (select * from STAFF WHERE dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH_3,@nYEAR1)) BETWEEN DATE_BEGIN AND DATE_END  ) S ON S.LINK_up = SD.STAFF_HEAD AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH_3,@nYEAR1 )) BETWEEN S.DATE_BEGIN AND S.DATE_END
				LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = s.COD_SPO_USL_TRUD AND s4.spr_code = 'SPO_USL_TRUDA'
				WHERE 
					(S.COD_POS_SPISOK is NOT NULL OR S.COD_POS_SPISOK2 is NOT NULL) 

			--Заготовка для #SALARY_SUM2
			CREATE TABLE #SALARY_SUM_DATA (PERS_LINK INT,t_dog TINYINT, PERIOD_BEGIN DATETIME, SUMMA_ALL NUMERIC(18,2), SUMMA_NO NUMERIC(18,2), SUMMA_ALL_I NUMERIC(18,2), SUMMA_NO_I NUMERIC(18,2), SUMMA_ALL_E NUMERIC(18,2), SUMMA_NO_E NUMERIC(18,2), INV TINYINT 
					, SUMMA_NO_D1 NUMERIC(18,2), SUMMA_NO_D2 NUMERIC(18,2),    
				SUM_NO_D1_O4 NUMERIC(18,2) ,SUM_NO_D1_B34 NUMERIC(18,2) ,SUM_NO_D1_B33 NUMERIC(18,2),SUM_NO_D1_B32 NUMERIC(18,2), SUM_NO_D1_B31 NUMERIC(18,2),
					SUM_NO_D2_O4 NUMERIC(18,2) ,SUM_NO_D2_B34 NUMERIC(18,2) ,SUM_NO_D2_B33 NUMERIC(18,2),SUM_NO_D2_B32 NUMERIC(18,2), SUM_NO_D2_B31 NUMERIC(18,2) , sack CHAR(1) DEFAULT ''
					)

			--Сотрудники
			INSERT INTO #SALARY_SUM_DATA (PERS_LINK, t_dog, PERIOD_BEGIN, SUMMA_ALL, SUMMA_NO, SUMMA_ALL_I, SUMMA_NO_I, SUMMA_ALL_E, SUMMA_NO_E, INV 
					, SUMMA_NO_D1, SUMMA_NO_D2,SUM_NO_D1_O4,SUM_NO_D1_B34,SUM_NO_D1_B33, SUM_NO_D1_B32, SUM_NO_D1_B31,
					SUM_NO_D2_O4,SUM_NO_D2_B34,SUM_NO_D2_B33, SUM_NO_D2_B32, SUM_NO_D2_B31 , sack 
					)
			select
				E.PERS_LINK, 
				TDOG = 1,
				CJ.PERIOD_BEGIN,
				SUMMA_ALL = SUM(SUMMA),
				SUMMA_NO = SUM(CASE WHEN B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0 THEN SUMMA ELSE 0 END), --на которые не начисляются страховые взносы
				SUMMA_ALL_I = 0,
				SUMMA_NO_I = 0,
				SUMMA_ALL_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END),
				SUMMA_NO_E = SUM(CASE WHEN F.ENVD = 1 AND (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) THEN SUMMA ELSE 0 END),
				INV = 1, --dbo.is_invalid(e.PERS_LINK,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) ,
				SUMMA_NO_D1 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and ED.DOP = 1 AND isnull(SPO,'') ='' THEN SUMMA ELSE 0 END),
				SUMMA_NO_D2 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and ED.DOP = 2 and  isnull(SPO,'') ='' THEN SUMMA ELSE 0 END),
				SUM_NO_D1_O4 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='О4'  THEN SUMMA ELSE 0 END),
				SUM_NO_D1_B34 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.4' THEN SUMMA ELSE 0 END),
				SUM_NO_D1_B33 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.3' THEN SUMMA ELSE 0 END), 
				SUM_NO_D1_B32 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.2' THEN SUMMA ELSE 0 END), 
				SUM_NO_D1_B31 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.1' THEN SUMMA ELSE 0 END),	
				SUM_NO_D2_O4 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='О4' THEN SUMMA ELSE 0 END),
				SUM_NO_D2_B34 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.4' THEN SUMMA ELSE 0 END),
				SUM_NO_D2_B33 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.3' THEN SUMMA ELSE 0 END), 
				SUM_NO_D2_B32 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.2' THEN SUMMA ELSE 0 END), 
				SUM_NO_D2_B31 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.1' THEN SUMMA ELSE 0 END),
				sack = CASE WHEN isnull(e.DATE_END,'') BETWEEN @dDate1 AND @dDate2 THEN (case when isnull(e.sack,0) = 0 THEN '' ELSE CONVERT( char(1),e.sack ) end ) ELSE '' END 
			from 
			#CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
			INNER JOIN dbo.SAL_SFIN F on F.LINK = CJ.LINK_VKR
			INNER JOIN DBO.sd_EMPL E ON E.LINK = CJ.LINK_EMPL
			LEFT JOIN @StBase2 B ON B.LINK = cj.LINK_PAYS
			/*LEFT JOIN #PERS_INV I ON I.PERS_LINK = E.PERS_LINK*/
			LEFT JOIN #EMPL_DT ED ON ED.link = CJ.LINK_EMPL 
			where 	
				P.[OBJECT] = 1
				AND EXISTS(SELECT LINK_FACE FROM #SZV_all WHERE link_face = E.PERS_LINK )
			GROUP BY
				E.PERS_LINK/*, I.PERS_LINK*/, CJ.PERIOD_BEGIN, e.DATE_END, e.sack

			--Договрники
			INSERT INTO #SALARY_SUM_DATA (PERS_LINK, t_dog, PERIOD_BEGIN, SUMMA_ALL, SUMMA_NO, SUMMA_ALL_I, SUMMA_NO_I, SUMMA_ALL_E, SUMMA_NO_E, INV 
					)
			select
				CJ.PERS_LINK, 
				T_DOG = 2,
				CJ.PERIOD_BEGIN,
				SUMMA_ALL = SUM(SUMMA),
				SUMMA_NO = SUM(SUMMA) - ISNULL((SELECT SUM(B1.SUMMA_BASE) FROM #DGH_FAKT_BASE1 B1 WHERE B1.PERS_LINK = CJ.PERS_LINK AND B1.MONTH_BASE = Month(CJ.PERIOD_BEGIN)),0), --на которые не начисляются страховые взносы
				SUMMA_ALL_I = 0,
				SUMMA_NO_I = 0,
				SUMMA_ALL_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END),
				SUMMA_NO_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END)  - ISNULL((SELECT SUM(B.SUMMA_BASE) FROM #DGH_FAKT_BASE B WHERE B.PERS_LINK = CJ.PERS_LINK AND B.MONTH_BASE = Month(CJ.PERIOD_BEGIN) AND B.ENVD = 1),0),
				INV =  1-- dbo.is_invalid(CJ.PERS_LINK,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN))
					
			from 
				#CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
				INNER JOIN dbo.SAL_SFIN F on F.LINK = CJ.LINK_VKR
				INNER JOIN DBO.PERSON P1 ON P1.LINK = CJ.PERS_LINK
				--LEFT JOIN #PERS_INV I ON I.PERS_LINK = CJ.PERS_LINK
			where 	
				P.[OBJECT] = 1
			GROUP BY
				CJ.PERS_LINK,/* I.PERS_LINK,*/ CJ.PERIOD_BEGIN, P1.RESIDENT, p1.birthdate

				--корректировка в соотвествие с тем, в каком месяце кто был инвалидом
			UPDATE D SET 
				SUMMA_ALL_I = (CASE WHEN EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_ALL ELSE 0 END), 
				SUMMA_NO_I = (CASE WHEN EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_NO ELSE 0 END), 
				SUMMA_ALL_E = (CASE WHEN NOT EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_ALL_E ELSE 0 END), 
				SUMMA_NO_E = (CASE WHEN NOT EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_NO_E ELSE 0 END)

			FROM #SALARY_SUM_DATA D
			WHERE INV =2 --которые имели инвалидность в каком-то месяце периода	


----------<<<<<<<<< #SPR_ESN для определения скидочной части (кусок ИЗ РСВ)
		create table #SPR_ESN1 ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0 , PF_NUM VARCHAR (14), FACE_GROUP TINYINT, I TINYINT, E TINYINT , SP VARCHAR(4))

		Insert InTo #SPR_ESN1 ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS , PF_NUM, FACE_GROUP, I, E, SP)
		Select [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0 THEN 3 
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END ) AS FACE_GROUP, 
			1 ,--dbo.is_invalid(REF_PHYS_PERS,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH_BASE,@nYEAR1))),
			F.ENVD,
			SP = isnull(s4.code,'')
		from dbo.SA_ESN_VIEW(@nYEAR1, @nMONTH_3, @LINK_DEP, 0) S
			inner join PERSON P on S.REF_PHYS_PERS = P.link
			inner join dbo.SAL_SFIN F on F.LINK = S.LINK_VKR
			LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = S.SPECO AND s4.spr_code = 'SPO_USL_TRUDA'
		WHERE  WAY_CALC not in (5)

		--Суммы по договорникам
		INSERT INTO #SPR_ESN1 
			([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, PF_NUM, FACE_GROUP, I, E)
		SELECT 
			MONTH(G.[DATE]) AS MONTH_BASE, GT.SUMMA_BASE, 0, 0, GT.SUMMA, GT.WAY_CALC, GT.PERS_LINK, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0  THEN 3
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END) AS FACE_GROUP , 
			1,--dbo.is_invalid(GT.PERS_LINK,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,G.[MONTH],@nYEAR1))),
			F.ENVD
		FROM 
			DOCUMENTS_DGH G INNER JOIN DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
			inner join PERSON P on GT.PERS_LINK = P.link
			inner join dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
		WHERE 
			FLAG_JC = 1
			AND GT.WAY_CALC  not in (5)
			AND YEAR(G.[DATE]) = @nYEAR1
			AND MONTH(G.[DATE]) <= @nMONTH_3
			AND LINK_DEP = @DEP_LINK


		DELETE FROM #SPR_ESN1
		WHERE  EXISTS (SELECT * FROM dbo.KJ_PERS_PENSION K WHERE K.PERS_LINK = REF_PHYS_PERS AND K.CHECK_SZV = 0)
---------->>>>>>>>>>

		--DECLARE @PREDEL NUMERIC(18,2)
		--SET @PREDEL = (SELECT TOP 1 PREDEL FROM DICTIONARY_RANGE WHERE TARIF = 1 AND YEAR([DATE]) =  @nYEAR1)

		--Данные о начисленной зарплате
		SELECT 
			PERS_LINK,
			T_DOG = MIN(T_DOG),
			SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO), 
			SUMMA_ALL_I = SUM(SUMMA_ALL_I), SUMMA_NO_I = SUM(SUMMA_NO_I),
			SUMMA_ALL_E = SUM(SUMMA_ALL_E), SUMMA_NO_E = SUM(SUMMA_NO_E),
			SUMMA_ALL_DO_I = (CASE WHEN SUM(SUMMA_ALL_I) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL_I) - SUM(SUMMA_NO_I)) END ),
			SUMMA_ALL_DO = (CASE WHEN SUM(SUMMA_ALL) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL) - SUM(SUMMA_NO)) END ),
			SUMMA_ALL_AFTER = (CASE WHEN SUM(SUMMA_ALL - SUMMA_ALL_I - SUMMA_NO - SUMMA_NO_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END ),
			SUMMA_ALL_AFTER_I = (CASE WHEN SUM(SUMMA_ALL_I) > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END )
			,BASE_DOG = SUM(CASE WHEN T_DOG = 2 THEN SUMMA_ALL - SUMMA_NO ELSE 0 END),
			SACK = MAX(SACK)
		INTO #SALARY_SUM2
		FROM #SALARY_SUM_DATA s 
		GROUP BY
			PERS_LINK/*,SACK*/



-----------<<<<<<<<</*СВЕДЕНИЯ ЗА ПЕРИОД , ПО КОРРЕКТИРУЮЩИМ*/
		
		DECLARE @nYEAR1_K INT, @nMONTH_1_K INT, @nMONTH_2_K INT, @nMONTH_3_K INT	
		select 
   		@nYEAR1_K = YEAR_EDT,
   		@nMONTH_1_K = /*case when YEAR_EDT  between '2011' and '2013' then (*/case  PER_EDT when 1 then  1 when 2 then  4 when 3 then  7 when 4 then  10 else 10 end/*)
					when  YEAR_EDT >= '2014'  then (case  PER_EDT when 3 then  1 when 6 then  4 when 9 then  7 else  10 end)
					else null end */
		from #SZV_ALL	
		where [TYPE] = 2
		and YEAR_EDT >=2014
							 
		select @nMONTH_2_K = @nMONTH_1_K+1,
				@nMONTH_3_K = @nMONTH_1_K +2	

		DECLARE @BYearDate_K	datetime , @EndYear_K datetime
		SET @BYearDate_K = dbo.DateBeginOfYear (@nYEAR1_K+'0101')
		Set @EndYear_K = dbo.DateEndOfYear(@BYearDate_K)

		--Фактическая база для договорников
		SELECT 
			GT.PERS_LINK, MONTH(G.[DATE]) AS MONTH_BASE, F.ENVD, SUMMA_BASE = sum(GT.SUMMA_BASE)
		INTO #DGH_FAKT_BASE_K
		FROM 
			dbo.DOCUMENTS_DGH G INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
			INNER JOIN dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
		WHERE 
			FLAG_JC = 1
			AND GT.WAY_CALC  = 6
			AND YEAR(G.[DATE]) = @nYEAR1_K
			AND MONTH(G.[DATE]) <= @nMONTH_3_K
			--AND LINK_DEP = @DEP_LINK 
		GROUP BY 
			GT.PERS_LINK, MONTH(G.[DATE]), F.ENVD

			SELECT  PERS_LINK, MONTH_BASE, SUMMA_BASE = SUM(SUMMA_BASE)
			INTO #DGH_FAKT_BASE1_K
			FROM #DGH_FAKT_BASE_K
			GROUP BY PERS_LINK, MONTH_BASE


			-- Журнал операций 
			CREATE TABLE #CALCULATE_JURNAL_K (LINK_PAYS INT, PERIOD_BEGIN DATETIME, LINK_DOC INT, PERS_LINK INT, LINK_VKR INT, LINK_EKR INT, LINK_EMPL INT, SUMMA NUMERIC(18,2), WAY_CALC TINYINT , SPECO int)
			INSERT INTO #CALCULATE_JURNAL_K (LINK_PAYS, PERIOD_BEGIN, LINK_DOC, PERS_LINK, LINK_VKR, LINK_EKR, LINK_EMPL, SUMMA,way_calc , SPECO)
			SELECT CJ.LINK_PAYS, CJ.PERIOD_BEGIN, CJ.LINK_DOC, CJ.PERS_LINK, CJ.LINK_VKR, cj.LINK_EKR, CJ.LINK_EMPL, SUMMA = SUM(CJ.SUMMA), p.way_calc , SPECO
			FROM dbo.CALCULATE_JURNAL CJ INNER JOIN dbo.PAYS P ON  CJ.LINK_PAYS = p.link
			WHERE
				Year(period_begin) = @nYEAR1_K 
				and Month(period_begin) <= @nMONTH_3_K
				and CJ.LINK_DEP = @DEP_LINK
			GROUP BY
				cj.LINK_PAYS, cj.PERIOD_BEGIN, cj.LINK_DOC, cj.PERS_LINK, cj.LINK_VKR, cj.LINK_EKR, cj.LINK_EMPL, P.WAY_CALC,cj.SPECO
						
						
			------	у кого была инвалидность в заданном периоде
			SELECT DISTINCT PERS_LINK 
			INTO #PERS_INV_K
			FROM dbo.PERS_INVALID I
			WHERE COALESCE(I.DATE_BEGIN,@BYearDate_K) <= @EndYear_K AND COALESCE(I.DATE_END,@EndYear_K) >= @BYearDate_K

			------	у кого есть расчеты по доп тарифам со спец оценками в заданном периоде 
			SELECT DISTINCT sd.LINK, DOP = (CASE when S.COD_POS_SPISOK is NOT NULL then 1 else 2 end) , SPO = isnull(s4.code,'')
			INTO #EMPL_DT_K
			FROM DBO.KU_EMPL_PLACING SD
				left JOIN (select * from STAFF WHERE dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH_3_K,@nYEAR1_K)) BETWEEN DATE_BEGIN AND DATE_END  ) S ON S.LINK_up = SD.STAFF_HEAD AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH_3_K,@nYEAR1_K )) BETWEEN S.DATE_BEGIN AND S.DATE_END
				LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = s.COD_SPO_USL_TRUD AND s4.spr_code = 'SPO_USL_TRUDA'
				WHERE 
					(S.COD_POS_SPISOK is NOT NULL OR S.COD_POS_SPISOK2 is NOT NULL) 

			--Заготовка для #SALARY_SUM2
			CREATE TABLE #SALARY_SUM_DATA_K (PERS_LINK INT,t_dog TINYINT, PERIOD_BEGIN DATETIME , Per_Q TINYINT, SUMMA_ALL NUMERIC(18,2), SUMMA_NO NUMERIC(18,2), SUMMA_ALL_I NUMERIC(18,2), SUMMA_NO_I NUMERIC(18,2), SUMMA_ALL_E NUMERIC(18,2), SUMMA_NO_E NUMERIC(18,2), INV TINYINT 
					, SUMMA_NO_D1 NUMERIC(18,2), SUMMA_NO_D2 NUMERIC(18,2),    
				SUM_NO_D1_O4 NUMERIC(18,2) ,SUM_NO_D1_B34 NUMERIC(18,2) ,SUM_NO_D1_B33 NUMERIC(18,2),SUM_NO_D1_B32 NUMERIC(18,2), SUM_NO_D1_B31 NUMERIC(18,2),
					SUM_NO_D2_O4 NUMERIC(18,2) ,SUM_NO_D2_B34 NUMERIC(18,2) ,SUM_NO_D2_B33 NUMERIC(18,2),SUM_NO_D2_B32 NUMERIC(18,2), SUM_NO_D2_B31 NUMERIC(18,2) , sack CHAR(1) DEFAULT '' 
					)

			--Сотрудники
			INSERT INTO #SALARY_SUM_DATA_K (PERS_LINK, t_dog, PERIOD_BEGIN,Per_Q, SUMMA_ALL, SUMMA_NO, SUMMA_ALL_I, SUMMA_NO_I, SUMMA_ALL_E, SUMMA_NO_E, INV 
					, SUMMA_NO_D1, SUMMA_NO_D2,SUM_NO_D1_O4,SUM_NO_D1_B34,SUM_NO_D1_B33, SUM_NO_D1_B32, SUM_NO_D1_B31,
					SUM_NO_D2_O4,SUM_NO_D2_B34,SUM_NO_D2_B33, SUM_NO_D2_B32, SUM_NO_D2_B31,sack
					)
			select
				E.PERS_LINK, 
				TDOG = 1,
				CJ.PERIOD_BEGIN,
				CASE  WHEN month(CJ.PERIOD_BEGIN) BETWEEN 1 AND 3 THEN 1 WHEN  month(CJ.PERIOD_BEGIN) BETWEEN 4 AND 6 THEN 2 WHEN month(CJ.PERIOD_BEGIN) BETWEEN 7 AND 9 THEN 3 ELSE 4 END ,
				SUMMA_ALL = SUM(SUMMA),
				SUMMA_NO = SUM(CASE WHEN B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0 THEN SUMMA ELSE 0 END), --на которые не начисляются страховые взносы
				SUMMA_ALL_I = 0,
				SUMMA_NO_I = 0,
				SUMMA_ALL_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END),
				SUMMA_NO_E = SUM(CASE WHEN F.ENVD = 1 AND (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) THEN SUMMA ELSE 0 END),
				INV =  dbo.is_invalid(e.PERS_LINK,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) ,
				SUMMA_NO_D1 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and ED.DOP = 1 AND isnull(SPO,'') ='' THEN SUMMA ELSE 0 END),
				SUMMA_NO_D2 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and ED.DOP = 2 and  isnull(SPO,'') ='' THEN SUMMA ELSE 0 END),
				SUM_NO_D1_O4 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='О4'  THEN SUMMA ELSE 0 END),
				SUM_NO_D1_B34 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.4' THEN SUMMA ELSE 0 END),
				SUM_NO_D1_B33 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.3' THEN SUMMA ELSE 0 END), 
				SUM_NO_D1_B32 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.2' THEN SUMMA ELSE 0 END), 
				SUM_NO_D1_B31 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.1' THEN SUMMA ELSE 0 END),	
				SUM_NO_D2_O4 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='О4' THEN SUMMA ELSE 0 END),
				SUM_NO_D2_B34 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.4' THEN SUMMA ELSE 0 END),
				SUM_NO_D2_B33 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.3' THEN SUMMA ELSE 0 END), 
				SUM_NO_D2_B32 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.2' THEN SUMMA ELSE 0 END), 
				SUM_NO_D2_B31 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.1' THEN SUMMA ELSE 0 END),
				sack = CASE WHEN isnull(e.DATE_END,'') BETWEEN @dDate1 AND @dDate2 THEN (case when isnull(e.sack,0) = 0 THEN '' ELSE CONVERT( char(1),e.sack ) end ) ELSE '' END 
			from 
			#CALCULATE_JURNAL_K CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
			INNER JOIN dbo.SAL_SFIN F on F.LINK = CJ.LINK_VKR
			INNER JOIN DBO.SD_EMPL E ON E.LINK = CJ.LINK_EMPL
			LEFT JOIN @StBase2 B ON B.LINK = cj.LINK_PAYS
			/*LEFT JOIN #PERS_INV I ON I.PERS_LINK = E.PERS_LINK*/
			LEFT JOIN #EMPL_DT_K ED ON ED.link = CJ.LINK_EMPL
			
			where 	
				P.[OBJECT] = 1
				AND EXISTS(SELECT LINK_FACE FROM #SZV_all WHERE link_face = E.PERS_LINK )
			GROUP BY
				E.PERS_LINK/*, I.PERS_LINK*/, CJ.PERIOD_BEGIN,e.DATE_END,e.sack

			--Договрники
			INSERT INTO #SALARY_SUM_DATA (PERS_LINK, t_dog, PERIOD_BEGIN, SUMMA_ALL, SUMMA_NO, SUMMA_ALL_I, SUMMA_NO_I, SUMMA_ALL_E, SUMMA_NO_E, INV 
					)
			select
				CJ.PERS_LINK, 
				T_DOG = 2,
				CJ.PERIOD_BEGIN,
				SUMMA_ALL = SUM(SUMMA),
				SUMMA_NO = SUM(SUMMA) - ISNULL((SELECT SUM(B1.SUMMA_BASE) FROM #DGH_FAKT_BASE1 B1 WHERE B1.PERS_LINK = CJ.PERS_LINK AND B1.MONTH_BASE = Month(CJ.PERIOD_BEGIN)),0), --на которые не начисляются страховые взносы
				SUMMA_ALL_I = 0,
				SUMMA_NO_I = 0,
				SUMMA_ALL_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END),
				SUMMA_NO_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END)  - ISNULL((SELECT SUM(B.SUMMA_BASE) FROM #DGH_FAKT_BASE B WHERE B.PERS_LINK = CJ.PERS_LINK AND B.MONTH_BASE = Month(CJ.PERIOD_BEGIN) AND B.ENVD = 1),0),
				INV =  dbo.is_invalid(CJ.PERS_LINK,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN))
					
			from 
				#CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
				INNER JOIN dbo.SAL_SFIN F on F.LINK = CJ.LINK_VKR
				INNER JOIN DBO.PERSON P1 ON P1.LINK = CJ.PERS_LINK
				--LEFT JOIN #PERS_INV I ON I.PERS_LINK = CJ.PERS_LINK
			where 	
				P.[OBJECT] = 1
			GROUP BY
				CJ.PERS_LINK,/* I.PERS_LINK,*/ CJ.PERIOD_BEGIN, P1.RESIDENT, p1.birthdate

				--корректировка в соотвествие с тем, в каком месяце кто был инвалидом
			UPDATE D SET 
				SUMMA_ALL_I = (CASE WHEN EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_ALL ELSE 0 END), 
				SUMMA_NO_I = (CASE WHEN EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_NO ELSE 0 END), 
				SUMMA_ALL_E = (CASE WHEN NOT EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_ALL_E ELSE 0 END), 
				SUMMA_NO_E = (CASE WHEN NOT EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_NO_E ELSE 0 END)

			FROM #SALARY_SUM_DATA D
			WHERE INV =2 --которые имели инвалидность в каком-то месяце периода	

---------<<<<<<<<< #SPR_ESN_K (корректирующие) для определения скидочной части (кусок ИЗ РСВ)
		create table #SPR_ESN1_K ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0 , PF_NUM VARCHAR (14), FACE_GROUP TINYINT, I TINYINT, E TINYINT , SP VARCHAR(4))

		Insert InTo #SPR_ESN1_K ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS , PF_NUM, FACE_GROUP, I, E, SP)
		Select [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0 THEN 3 
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END ) AS FACE_GROUP, 
			dbo.is_invalid(REF_PHYS_PERS,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH_BASE,@nYEAR1_K))),
			F.ENVD,
			SP = isnull(s4.code,'')
		from dbo.SA_ESN_VIEW(@nYEAR1_K, @nMONTH_3_K, @LINK_DEP, 0) S
			inner join PERSON P on S.REF_PHYS_PERS = P.link
			inner join dbo.SAL_SFIN F on F.LINK = S.LINK_VKR
			LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = S.SPECO AND s4.spr_code = 'SPO_USL_TRUDA'
		WHERE  WAY_CALC not in (5)

		--Суммы по договорникам
		INSERT INTO #SPR_ESN1_K 
			([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, PF_NUM, FACE_GROUP, I, E)
		SELECT 
			MONTH(G.[DATE]) AS MONTH_BASE, GT.SUMMA_BASE, 0, 0, GT.SUMMA, GT.WAY_CALC, GT.PERS_LINK, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0  THEN 3
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END) AS FACE_GROUP , 
			dbo.is_invalid(GT.PERS_LINK,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,G.[MONTH],@nYEAR1_K))),
			F.ENVD
		FROM 
			DOCUMENTS_DGH G INNER JOIN DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
			inner join PERSON P on GT.PERS_LINK = P.link
			inner join dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
		WHERE 
			FLAG_JC = 1
			AND GT.WAY_CALC  not in (5)
			AND YEAR(G.[DATE]) = @nYEAR1_K
			AND MONTH(G.[DATE]) <= @nMONTH_3_K
			AND LINK_DEP = @DEP_LINK


		DELETE FROM #SPR_ESN1_K
		WHERE  EXISTS (SELECT * FROM dbo.KJ_PERS_PENSION K WHERE K.PERS_LINK = REF_PHYS_PERS AND K.CHECK_SZV = 0)
---------->>>>>>>>>>

		DECLARE @PREDEL_K NUMERIC(18,2)
		SET @PREDEL_K = (SELECT TOP 1 PREDEL FROM DICTIONARY_RANGE WHERE TARIF = 1 AND YEAR([DATE]) =  @nYEAR1_K)
		
		--Данные о начисленной зарплате
		SELECT 
			PERS_LINK,
			T_DOG = MIN(T_DOG),
			/*MON = Month(PERIOD_BEGIN),*/ 
			SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO), 
			SUMMA_ALL_I = SUM(SUMMA_ALL_I), SUMMA_NO_I = SUM(SUMMA_NO_I),
			SUMMA_ALL_E = SUM(SUMMA_ALL_E), SUMMA_NO_E = SUM(SUMMA_NO_E),
			SUMMA_ALL_D =  ISNULL((select SUM(SUMMA_ALL) FROM  #SALARY_SUM_DATA WHERE PERS_LINK = s.PERS_LINK AND t_dog=2 ),0) ,
			SUMMA_ALL_DO_I = (CASE WHEN SUM(SUMMA_ALL_I) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL_I) - SUM(SUMMA_NO_I)) END ),
			SUMMA_ALL_DO = (CASE WHEN SUM(SUMMA_ALL) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL) - SUM(SUMMA_NO)) END ),
			SUMMA_ALL_AFTER = (CASE WHEN SUM(SUMMA_ALL - SUMMA_ALL_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END ),
			SUMMA_ALL_AFTER_I = (CASE WHEN SUM(SUMMA_ALL_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END )
			,BASE_DOG = SUM(CASE WHEN T_DOG = 2 THEN SUMMA_ALL - SUMMA_NO ELSE 0 END),					
			SACK = MAX(SACK)								
		INTO #SALARY_SUM2_K
		FROM #SALARY_SUM_DATA_K s 
		GROUP BY
			pers_link--,SACK--, T_DOG--,Month(PERIOD_BEGIN)
		
		--Данные о начисленной зарплате с периодами (по кварталам)
		SELECT 
			PERS_LINK,
			T_DOG = MIN(T_DOG),
			PER_Q = PER_Q,
			SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO), 
			SUMMA_ALL_I = SUM(SUMMA_ALL_I), SUMMA_NO_I = SUM(SUMMA_NO_I),
			SUMMA_ALL_E = SUM(SUMMA_ALL_E), SUMMA_NO_E = SUM(SUMMA_NO_E),
			SUMMA_ALL_D =  ISNULL((select SUM(SUMMA_ALL) FROM  #SALARY_SUM_DATA WHERE PERS_LINK = s.PERS_LINK AND t_dog=2 ),0) ,
			SUMMA_ALL_DO_I = (CASE WHEN SUM(SUMMA_ALL_I) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL_I) - SUM(SUMMA_NO_I)) END ),
			SUMMA_ALL_DO = (CASE WHEN SUM(SUMMA_ALL) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL) - SUM(SUMMA_NO)) END ),
			SUMMA_ALL_AFTER = (CASE WHEN SUM(SUMMA_ALL - SUMMA_ALL_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END ),
			SUMMA_ALL_AFTER_I = (CASE WHEN SUM(SUMMA_ALL_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END )
			,BASE_DOG = SUM(CASE WHEN T_DOG = 2 THEN SUMMA_ALL - SUMMA_NO ELSE 0 END)					
											
		INTO #SALARY_SUM_PER_K
		FROM #SALARY_SUM_DATA_K s 
		GROUP BY
			pers_link , per_q--, T_DOG--,Month(PERIOD_BEGIN)	
			


		DROP TABLE #SALARY_SUM_DATA	
		DROP TABLE #DGH_FAKT_BASE
		DROP TABLE #DGH_FAKT_BASE1
		DROP TABLE #PERS_INV
		DROP TABLE #CALCULATE_JURNAL
		DROP TABLE #EMPL_DT		

		DROP TABLE #SALARY_SUM_DATA_K	
		DROP TABLE #DGH_FAKT_BASE_K
		DROP TABLE #DGH_FAKT_BASE1_K
		DROP TABLE #PERS_INV_K
		DROP TABLE #CALCULATE_JURNAL_K
		DROP TABLE #EMPL_DT_K				

		
		/*Корректирующие сведения по физ лицам для печати раздела 6.6*/
		SELECT year_edt = p.YEAR_EDT, 
				PER_EDT = p.PER_EDT, 
				link_dep = p.link_dep,
				link_pers = s.link_pers,
				Link_kateg = S.Link_kateg,
				pachka = s.pachka
		INTO #tmp_pers_r1
		FROM 	dbo.SA_SZV4_PACHKA P 
				INNER JOIN dbo.SZV4_SVEDENIA S ON P.link = S.link_up 															
		where
			P.link in (select link from #DOCS WHERE vid_kor = 2)
			and P.proverka = 1
			and P.vid_kor > 1
			and p.link_dep = @DEP_LINK


		CREATE TABLE #tmp_pers_kor_sum_R1 (link INT  , [date] DATETIME, YEAR_degin INT , per INT , vid_kor int, link_dep INT , proverka INT  , CODE VARCHAR(5), link_pers INT , 
										sum_doh NUMERIC(18,2), sum_str NUMERIC(18,2), sum_nak NUMERIC(18,2),sum_dop NUMERIC(18,2) , pachka int) 
	
		DECLARE @Cur_R1 CURSOR, @link_R1 int ,@LINK_pers_R1 INT, @year_edt_R1 INT , @per_edt_R1 INT , @Link_kateg_R1 INT ,@pachka_R1 int
		SET @Cur_R1 = CURSOR FORWARD_ONLY

		FOR SELECT LINK_pers, year_edt, per_edt, Link_kateg ,pachka FROM #tmp_pers_r1 ORDER by link_pers

		OPEN @Cur_R1
		FETCH NEXT FROM @Cur_R1 INTO @LINK_pers_R1, @year_edt_R1, @per_edt_R1 , @link_kateg_R1, @pachka_R1
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				
				
					SET @link_R1 = 0
					
					SELECT @link_R1 =max(pp.link)
					FROM SA_SZV4_PACHKA pp 
					INNER JOIN dbo.SZV4_SVEDENIA Ss ON ss.link_up = pp.link  
					WHERE  pp.proverka = 1 AND pp.vid_kor = 1 
										  AND pp.link_dep = @DEP_LINK 
										  AND pp.year_begin =@year_edt_R1  
										  AND pp.PER =@per_edt_R1 
										  AND @LINK_pers_R1 = ss.link_pers
										 /* AND @link_kateg_R1 = ss.link_kateg  */
										  AND pp.date = (SELECT MAX(p1.[date]) FROM SA_SZV4_PACHKA p1 
																INNER JOIN dbo.SZV4_SVEDENIA S1 ON s1.link_up = p1.link  
																WHERE  pp.proverka = 1 AND p1.vid_kor = 1 
																					  AND p1.link_dep = @DEP_LINK 
																					  AND p1.year_begin =@year_edt_R1  
																					  AND p1.PER =@per_edt_R1 
																					  AND @LINK_pers_R1 = s1.link_pers
																					  /*AND @link_kateg_R1 = s1.link_kateg*/ )
					
					INSERT INTO #tmp_pers_kor_sum_R1  (link, [date], YEAR_degin, per, vid_kor, link_dep, proverka , CODE, link_pers, 
										sum_doh, sum_str, sum_nak,sum_dop, pachka) 
					SELECT pp.link, pp.[date], pp.YEAR_begin, pp.per, pp.vid_kor, pp.link_dep, pp.proverka, CODE = k.code, ss.link_pers, 
										ss.sum_doh, ss.sum_str, ss.sum_nak,ss.sum_dop , pachka = @pachka_R1
					FROM SA_SZV4_PACHKA pp 
					INNER JOIN dbo.SZV4_SVEDENIA Ss ON ss.link_up = pp.link  
					INNER JOIN dbo.SA_PFR_KATEG K ON K.LINK = ss.LINK_KATEG AND pp.YEAR_begin BETWEEN YBEG AND YEND		
					WHERE pp.link = @link_R1 and pp.proverka = 1 
										 AND pp.vid_kor = 1 
										 AND pp.link_dep = @DEP_LINK 
										 AND pp.year_begin =@year_edt_R1  
										 AND pp.PER =@per_edt_R1 
										 AND ss.link_pers = @LINK_pers_R1
										 /*AND ss.link_kateg = @link_kateg_R1*/
										  

			END

			FETCH NEXT FROM @Cur_R1 INTO @LINK_pers_R1, @year_edt_R1, @per_edt_R1, @link_kateg_R1, @pachka_R1
		END

		CLOSE @Cur_R1
		DEALLOCATE @Cur_R1


		/******************* ИСХОДНЫЕ СВЕДЕНИЯ ********************/
		DECLARE @Cur1 CURSOR, @CODE varchar(4), @TYPE tinyint , @T_DOG tinyint, @PFNUMBER VARCHAR (14) , @FM VARCHAR(100),@IM VARCHAR(100),@OT VARCHAR(100),
		@pf_num1 VARCHAR(14) , @CODE_old VARCHAR(4), @TYPE_OLD TINYINT, @nom_pp INT, @DATE DATETIME
		set @pf_num1 = ''
		set @CODE_old = '' 
		set @TYPE_OLD = 0
		set @nom_pp = 1

		SET @Cur1 = CURSOR FORWARD_ONLY
		FOR SELECT  [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], MIN(DATE_BEGIN) AS DATE_BEGIN  
			FROM #SZV_ALL where [TYPE] = 1 
			GROUP BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE
			ORDER BY [FM],[IM],[OT],[PFNUMBER],DATE_BEGIN
		OPEN @Cur1
		FETCH NEXT FROM @Cur1 INTO  @CODE,@TYPE/*,@T_DOG*/,@PFNUMBER,@FM,@IM,@OT, @DATE
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				--- Заполнение информации по первому коду категории сотрудника (нр , оои, пнэд)
				IF (/*@T_DOG = 1 and */ @PFNUMBER <> @pf_num1 ) 
				BEGIN

					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44, COL45)
					SELECT CODE =  @nom_pp,
						   COL1 =  @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'400'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = CASE WHEN @CODE = 'ООИ' THEN ISNULL(SS.SUMMA_ALL_I,0) ELSE ISNULL(SS.SUMMA_ALL - SS.SUMMA_ALL_I ,0) END,
						   COL7 = 
								CASE WHEN @CODE = 'ООИ' THEN
										(CASE WHEN
											(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
											) > @PREDEL 
										THEN @PREDEL
										ELSE 
											(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
											)
										END)	
									ELSE
										(CASE WHEN 
											( ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
											) > @PREDEL 
										THEN @PREDEL
										ELSE 
											( ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0)  - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
											) 
										END) 
								 END,
						   COL8 = ISNULL(SS.BASE_DOG,0),
						   COL9 = CASE WHEN @CODE = 'ООИ' THEN
										(CASE WHEN
											(ISNULL(SS.SUMMA_ALL_I,0) - ISNULL(SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
											) > @PREDEL 
										THEN 
											(ISNULL(SS.SUMMA_ALL_I,0) - ISNULL(SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
											) - @PREDEL 
										ELSE 
											0
										END)	
									ELSE
										(CASE WHEN 
											(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
											) > @PREDEL
										THEN 
											(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
											) - @PREDEL
										ELSE 
											0
										END) 
								 END,
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT), 
						   COL44 = isnull([INSUR],0),
						   COL45 = ISNULL([sack],'')
					FROM #SZV_PC s LEFT JOIN #SALARY_SUM2 ss ON ss.pers_link = s.link_face
					WHERE 
						code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					
					select row_number() over (order by PER_EDT) as ID , 
							[PER_EDT] as k_PER_EDT, 
							YEAR_EDT as k_YEAR_EDT, 
							INSUR - (SELECT SUM(SUM_doh) FROM #tmp_pers_kor_sum_r1 WHERE CODE = 'НР' AND LINK_pers = s.link_face AND  per = s.[PER_EDT]  )  as k_INSUR, 
							GAIN - (SELECT SUM(SUM_NAK) FROM #tmp_pers_kor_sum_r1 WHERE CODE = 'НР' AND LINK_pers = s.link_face AND  per = s.[PER_EDT] ) as k_GAIN, 
							PFNUMBER as k_PFNUMBER , 
							FM as k_FM 
					INTO #TMP01
					from  #SZV_ALL s
					WHERE  [TYPE] = 2 AND id_ex =1 and FM = @FM AND PFNUMBER = @PFNUMBER

					UPDATE #TMP1
					SET COL19 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=1),
						COL20 = (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=1),
						COL21 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=1) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=1)  ELSE 0 END ),
						COL22 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=1) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=1) ELSE 0 END ),
						COL23 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=1) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=1) ELSE 0 END ), 
						COL24 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=2),
					    COL25 = (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=2), 
					    COL26 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=2) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=2)  ELSE 0 END ), 
					    COL27 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=2) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=2) ELSE 0 END ), 
					    COL28 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=2) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=2) ELSE 0 END ),
					    COL29 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=3),
					    COL30 = (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=3), 
					    COL31 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=3) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=3)  ELSE 0 END ), 
					    COL32 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=3) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=3) ELSE 0 END ), 
					    COL33 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=3) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=3) ELSE 0 END ),
					    COL34 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=4),
					    COL35 = (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=4), 
					    COL36 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=4) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=4)  ELSE 0 END ), 
					    COL37 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=4) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=4) ELSE 0 END ), 
					    COL38 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=4) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=4) ELSE 0 END ),
					    COL39 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=5),
					    COL40 = (SELECT TOP 1 k_YEAR_EDT FROM #TMP01 where ID=5), 
					    COL41 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=5) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=5)  ELSE 0 END ), 
					    COL42 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=5) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=5) ELSE 0 END ), 
					    COL43 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=5) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=5) ELSE 0 END )--,
					FROM #TMP1
					WHERE #TMP1.COL5 = @CODE 
						AND #TMP1.COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), '') 
						AND #TMP1.COL2 = @PFNUMBER and #TMP1.COL16 = @FM and #TMP1.COL17 = @IM and #TMP1.COL18 = @OT


					drop table #TMP01

					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14,COL15, COL16,COL17, COL18 , COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'401'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M1]),
						   COL7 = SUM([B_BEF_M1]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M1] ELSE 0 END),
						   COL9 = SUM([B_AFT_M1]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year],''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'402'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M2]),
						   COL7 = SUM([B_BEF_M2]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M2] ELSE 0 END),
						   COL9 = SUM([B_AFT_M2]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'403'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M3]),
						   COL7 = SUM([B_BEF_M3]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M3] ELSE 0 END),
						   COL9 = SUM([B_AFT_M3]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
				END
		
				--- Заполнение информации по следующему коду категории сотрудника (если за расчетный период у сотрудника была не одна категория)
				IF /*@T_DOG = 1 and*/  @PFNUMBER = @pf_num1 and @CODE <> @CODE_old	and  @TYPE = @TYPE_OLD
				BEGIN 

					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44,COL45)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'410'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = CASE WHEN @CODE = 'ООИ' then ISNULL(SS.SUMMA_ALL_I,0) ELSE ISNULL(SS.SUMMA_ALL- SS.SUMMA_ALL_I,0) end,
						   COL7 = 
								CASE WHEN @CODE = 'ООИ' THEN
									--база по ООИ
									(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
									- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
									)
								ELSE
									--база по НР
									( (ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0)) - (ISNULL(SS.SUMMA_NO,0) -  ISNULL(SS.SUMMA_NO_I,0))
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
									)
								END
								- --сумма превышения
								CASE WHEN 
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) > @PREDEL
								THEN
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) - @PREDEL
								ELSE
									0
								END,	
														
						   COL8 = ISNULL(SS.BASE_DOG,0),

						   COL9 = 
								--сумма превышения
								CASE WHEN 
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) > @PREDEL
								THEN
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) - @PREDEL
								ELSE
									0
								END,
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   COL44 =  isnull([INSUR],0),
						   COL45 = ISNULL(SACK,'')
					FROM 
						#SZV_PC s LEFT JOIN #SALARY_SUM2 ss ON ss.pers_link = s.link_face
					WHERE 
						code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'411'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M1]),
						   COL7 = SUM([B_BEF_M1]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M1] ELSE 0 END),
						   COL9 = SUM([B_AFT_M1]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
						   
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'412'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M2]),
						   COL7 = SUM([B_BEF_M2]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M2] ELSE 0 END),
						   COL9 = SUM([B_AFT_M2]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'413'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M3]),
						   COL7 = SUM([B_BEF_M3]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M3] ELSE 0 END),
						   COL9 = SUM([B_AFT_M3]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
				END						

				--- заполняем пустые строки '410','411','412','413' 
			
				if not exists (select * from #tmp1 
								where COl2 = @PFNUMBER 
								and COL12 = (case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end)
								and COL4 = '410' ) AND NOT EXISTS (SELECT * FROM #SZV_ALL WHERE PFNUMBER = @PFNUMBER AND CODE != @CODE AND [TYPE] = 1) 
				begin 
						
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL(@PFNUMBER,''), 
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'410'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((SELECT TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = '', 
						   COL14 = '',
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL(@PFNUMBER,''),
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'411'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),'') , 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = '', 
						   COL14 = '',
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL(@PFNUMBER,''), 
						 COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'412'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),'') , 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = '', 		
						   COL14 = '',
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1		
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp, 
						   COL2 = ISNULL(@PFNUMBER,''),
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'413'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),'') , 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = '', 
						   COL14 = '',
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1	
				
				end 

					set @pf_num1 = @PFNUMBER
					set @CODE_old = @CODE
					set @TYPE_OLD = @TYPE
			END

			FETCH NEXT FROM @Cur1 INTO @CODE,@TYPE/*,@T_DOG*/,@PFNUMBER,@FM,@IM,@OT, @DATE
		END

		CLOSE @Cur1
		DEALLOCATE @Cur1

		/*****************************************************/
		-- Собираем информацию по Кореектирующим/Отменяющим
		/*****************************************************/
		DECLARE @Cur2 CURSOR , @PER_EDT1 INT, @PER_OLD INT
		set @pf_num1 = ''
		
		set @CODE_old = '' 
		set @TYPE_OLD = 0
		set @nom_pp = (SELECT MAX(CODE) FROM #TMP1 WHERE COL12= 'Исходная') + 1 
		
		SET @Cur2 = CURSOR FORWARD_ONLY
		FOR SELECT  [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], PER_EDT  FROM #SZV_ALL where /*T_DOG = 1 and*/ [TYPE] != 1 /*AND YEAR_EDT >=2014*/ GROUP BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE/*, [T_DOG]*/, PER_EDT ORDER BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE/*, [T_DOG]*/, PER_EDT
		OPEN @Cur2
		FETCH NEXT FROM @Cur2 INTO  @CODE,@TYPE,@PFNUMBER,@FM,@IM,@OT,@PER_EDT1
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				  
				--- Заполнение информации по первому коду категории сотрудника (нр , оои, пнэд)
				IF (/*@T_DOG = 1 and */ @PFNUMBER <> @pf_num1  OR ( @PFNUMBER = @pf_num1 AND  @PER_EDT1 <> @PER_OLD)) 
				BEGIN
					
				 					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44, COL45)
					SELECT CODE =  @nom_pp,
						   COL1 =  @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'400'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = CASE WHEN @CODE = 'ООИ' THEN ISNULL(SS.SUMMA_ALL_I,0) ELSE ISNULL(SS.SUMMA_ALL - SS.SUMMA_ALL_I,0) END,
						   COL7 = 
								CASE WHEN @CODE = 'ООИ' THEN
										(CASE WHEN
											(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) > @PREDEL_K 
										THEN @PREDEL_K
										ELSE 
											(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											)
										END)	
									ELSE
										(CASE WHEN 
											( ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) > @PREDEL_K 
										THEN @PREDEL_K
										ELSE 
											( ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) 
										END) 
								 END,								 

						   COL8 = ISNULL(SS.BASE_DOG,0),

						   COL9 = CASE WHEN @CODE = 'ООИ' THEN
										(CASE WHEN
											(ISNULL(SS.SUMMA_ALL_I,0) - ISNULL(SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) > @PREDEL_K 
										THEN 
											(ISNULL(SS.SUMMA_ALL_I,0) - ISNULL(SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) - @PREDEL_K 
										ELSE 
											0
										END)	
									ELSE
										(CASE WHEN 
											(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) > @PREDEL_K
										THEN 
											(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) - @PREDEL_K
										ELSE 
											0
										END) 
								 END,
																			
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   COL44 = isnull([INSUR],0),
						   COL45 = ISNULL([SACK],'')
					FROM 
						#SZV_PC s LEFT JOIN #SALARY_SUM2_K ss ON ss.pers_link = s.link_face
					WHERE 
						code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER  AND PER_EDT = @PER_EDT1 
						
					

					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14,COL15, COL16,COL17, COL18 , COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'401'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M1]),
						   COL7 = SUM([B_BEF_M1]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M1] ELSE 0 END),
						   COL9 = SUM([B_AFT_M1]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE  code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER AND per_edt = @per_edt1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]

			
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'402'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M2]),
						   COL7 = SUM([B_BEF_M2]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M2] ELSE 0 END),
						   COL9 = SUM([B_AFT_M2]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER AND per_edt = @per_edt1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]

										
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'403'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M3]),
						   COL7 = SUM([B_BEF_M3]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M3] ELSE 0 END),
						   COL9 = SUM([B_AFT_M3]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER AND per_edt = @per_edt1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
				END
					

		
				--- Заполнение информации по следующему коду категории сотрудника (если за расчетный период у сотрудника была не одна категория)
				IF /*@T_DOG = 1 and*/  @PFNUMBER = @pf_num1 and @CODE <> @CODE_old	and  @TYPE = @TYPE_OLD
				BEGIN 
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'410'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = CASE WHEN @CODE = 'ООИ' then ISNULL(SS.SUMMA_ALL_I,0) ELSE ISNULL(SS.SUMMA_ALL - SS.SUMMA_ALL_I,0) end,
						   COL7 = 
								CASE WHEN @CODE = 'ООИ' THEN
									--база по ООИ
									(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
									- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
									)
								ELSE
									--база по НР
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
									)
								END
								- --сумма превышения
								CASE WHEN 
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) > @PREDEL_K
								THEN
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) - @PREDEL_K
								ELSE
									0
								END,
													
						   COL8 = ISNULL(SS.BASE_DOG,0),
						   
						   COL9 = 
								--сумма превышения
								CASE WHEN 
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) > @PREDEL_K
								THEN
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) - @PREDEL_K
								ELSE
									0
								END,										
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM 
						#SZV_ALL s LEFT JOIN #SALARY_SUM2_K ss ON ss.pers_link = s.link_face
					WHERE 
						S.NUM = 1 AND code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER and FM = @FM					
					GROUP BY 
						[TYPE],CODE, [T_DOG],[FM],[IM],[OT],[PFNUMBER],[per],[year],[per_edt],[year_edt],[INSUR],[INC_M1],[INC_M2],[INC_M3],[B_BEF_M1],[B_BEF_M2],[B_BEF_M3], [B_AFT_M1],[B_AFT_M2],[B_AFT_M3],SS.SUMMA_ALL_I, SS.SUMMA_NO, SS.SUMMA_NO_I, SS.SUMMA_NO_E
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'411'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M1]),
						   COL7 = SUM([B_BEF_M1]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M1] ELSE 0 END),
						   COL9 = SUM([B_AFT_M1]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM 
						#SZV_ALL WHERE  code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER and per_edt = @per_edt1
					GROUP BY 
						[TYPE],CODE, [T_DOG],[FM],[IM],[OT],[PFNUMBER],[per],[year],[per_edt],[year_edt],[INSUR],[INC_M1],[INC_M2],[INC_M3],[B_BEF_M1],[B_BEF_M2],[B_BEF_M3], [B_AFT_M1],[B_AFT_M2],[B_AFT_M3]
					
					set @nom_pp = @nom_pp + 1
			
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'412'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M2]),
						   COL7 = SUM([B_BEF_M2]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M2] ELSE 0 END),
						   COL9 = SUM([B_AFT_M2]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						  COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_ALL WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER AND per_edt = @per_edt1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
										
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'413'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M3]),
						   COL7 = SUM([B_BEF_M3]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M3] ELSE 0 END),
						   COL9 = SUM([B_AFT_M3]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_ALL WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER AND  per_edt = @PER_EDT1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
										
					set @nom_pp = @nom_pp + 1
				END						

				--- заполняем пустые строки '410','411','412','413' 
			
				if not exists (select * from #tmp1 
								where COL2 = @PFNUMBER 
								and COL12 = (case WHEN @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end)
								and COL4 = '410' ) AND NOT EXISTS (SELECT * FROM #SZV_ALL WHERE PFNUMBER = @PFNUMBER AND CODE != @CODE AND [TYPE] = 1) 
				begin 
						
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL(@PFNUMBER,''), 
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'410'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL((select TOP 1 COL13 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL14 = ISNULL((select TOP 1 COL14 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						 COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL(@PFNUMBER,''),
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'411'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL((select TOP 1 COL13 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL14 = ISNULL((select TOP 1 COL14 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL(@PFNUMBER,''), 
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'412'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL((select TOP 1 COL13 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 		
						   COL14 = ISNULL((select TOP 1 COL14 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1		
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp, 
						   COL2 = ISNULL(@PFNUMBER,''),
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'413'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL((select TOP 1 COL13 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL14 = ISNULL((select TOP 1 COL14 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
						   
					set @nom_pp = @nom_pp + 1	
					--exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20141001', '20141231', 74578 ,1,  2190
		
				end 
			
					set @pf_num1 = @PFNUMBER
					set @CODE_old = @CODE
					set @TYPE_OLD = @TYPE
					SET @PER_OLD = @PER_EDT1
			END

			FETCH NEXT FROM @Cur2 INTO @CODE,@TYPE/*,@T_DOG*/,@PFNUMBER,@FM,@IM,@OT, @PER_EDT1
		END

		CLOSE @Cur2
		DEALLOCATE @Cur2
       
		SELECT DISTINCT 
			CODE = ROW_NUMBER() OVER (ORDER BY CODE),
			COL1 = ROW_NUMBER() OVER (ORDER BY COL1),
			COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, 
			COL11, COL12, COL13, COL14, COL15, COL16, COL17, COL18, COL19, COL20, 
			COL21, COL22, COL23, COL24, COL25, COL26, COL27, COL28, COL29, COL30, 
			COL31, COL32, COL33, COL34, COL35, COL36, COL37, COL38, COL39, COL40, 
			COL41, COL42, COL43, COL44, COL45	
		FROM #TMP1 where col5 <> '' ORDER BY  CODE, COL15
		
	drop table #SALARY_SUM2_K
	drop table #SPR_ESN1_K			
	drop table #SPR_ESN1
	drop table #SALARY_SUM2
	drop table #TMP1

	END  


	IF @REP = 2 
	BEGIN 	
		/*Информация по раздеру 6.6 Информация о корректирующих сведениях*/
		/*К Исходным  заполняется в формах  с типом сведений «исходная» в случае, если в последние три месяца отчетного периода плательщиком страховых взносов 
		* корректируются данные, представленные в предыдущие отчетные периоды.При наличии данных в подразделе 6.6 дополнительно, 
		* в обязательном порядке предоставляются корректирующие (отменяющие)  разделы 6 и (или)  формы СЗВ-6-1, и (или) СЗВ-6-2, и (или) СЗВ-6-4.
		*/
		/*Заполняются в исходных , если есть по ним корректирующие */
	
		--- Обьявляем даты корректирующих сведений
			DECLARE @BYDateK	datetime , @nYEAR_K INT, @nMON1 INT, @nMON2 INT, @nMON3 INT
	

			select top 1 
			@BYDateK = (convert(varchar(4),YEAR_EDT)+'0101'),
			@nYEAR_K = YEAR_EDT,
			@nMON1 = (case  PER_EDT when 1 then  1 when 2 then  4 when 3 then  7 when 4 then  10 else 10 end)
			from #SZV_ALL WHERE [TYPE] = 2
			
			SELECT  @nMON2 = @nMON1 +1 , 	
					@nMON3 = @nMON1 +2 	
					
----------<<<<<<<<< #SPR_ESN для определения скидочной части (кусок ИЗ РСВ)

		/*Корректирующие сведения по физ лицам*/
		SELECT year_edt = p.YEAR_EDT, 
				PER_EDT = p.PER_EDT, 
				link_dep = p.link_dep,
				link_pers = s.link_pers,
				Link_kateg = case when S.Link_kateg = 3 then 1 else S.Link_kateg  end ,
				pachka = s.pachka
		INTO #tmp_pers
		FROM 	dbo.SA_SZV4_PACHKA P 
				INNER JOIN dbo.SZV4_SVEDENIA S ON P.link = S.link_up 															
		where
			P.link in (select link from #DOCS WHERE vid_kor = 2)
			and P.proverka = 1
			and P.vid_kor > 1
			and p.link_dep = @DEP_LINK


		CREATE TABLE #tmp_pers_kor_sum (link INT  , [date] DATETIME, YEAR_degin INT , per INT , vid_kor int, link_dep INT , proverka INT  , CODE VARCHAR(5), link_pers INT , 
										sum_doh NUMERIC(18,2), sum_str NUMERIC(18,2), sum_nak NUMERIC(18,2),sum_dop NUMERIC(18,2) , pachka int) 
	
		DECLARE @Cur_R2 CURSOR, @link int ,@LINK_pers INT, @year_edt INT , @per_edt INT , @Link_kateg INT ,@pachka int
		SET @Cur_R2 = CURSOR FORWARD_ONLY

		FOR SELECT LINK_pers, year_edt, per_edt, Link_kateg ,pachka FROM #tmp_pers ORDER by link_pers

		OPEN @Cur_R2
		FETCH NEXT FROM @Cur_R2 INTO @LINK_pers, @year_edt, @per_edt , @link_kateg, @pachka
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				
				
					SET @link = 0
					
					SELECT @link =max(pp.link)
					FROM SA_SZV4_PACHKA pp 
					INNER JOIN dbo.SZV4_SVEDENIA Ss ON ss.link_up = pp.link  
					WHERE  pp.proverka = 1 AND pp.vid_kor = 1 
										  AND pp.link_dep = @DEP_LINK 
										  AND pp.year_begin =@year_edt  
										  AND pp.PER =@per_edt 
										  AND @LINK_pers = ss.link_pers
										  --AND @link_kateg = ss.link_kateg  
										  AND pp.date = (SELECT MAX(p1.[date]) FROM SA_SZV4_PACHKA p1 
																INNER JOIN dbo.SZV4_SVEDENIA S1 ON s1.link_up = p1.link  
																WHERE  pp.proverka = 1 AND p1.vid_kor = 1 
																					  AND p1.link_dep = @DEP_LINK 
																					  AND p1.year_begin =@year_edt  
																					  AND p1.PER =@per_edt 
																					  AND @LINK_pers = s1.link_pers
																					  /*AND @link_kateg = s1.link_kateg*/ )
					
					INSERT INTO #tmp_pers_kor_sum (link, [date], YEAR_degin, per, vid_kor, link_dep, proverka , CODE, link_pers, 
										sum_doh, sum_str, sum_nak,sum_dop, pachka) 
					SELECT pp.link, pp.[date], pp.YEAR_begin, pp.per, pp.vid_kor, pp.link_dep, pp.proverka, CODE = k.code, ss.link_pers, 
										ss.sum_doh, ss.sum_str, ss.sum_nak,ss.sum_dop , pachka = @pachka
					FROM SA_SZV4_PACHKA pp 
					INNER JOIN dbo.SZV4_SVEDENIA Ss ON ss.link_up = pp.link  
					INNER JOIN dbo.SA_PFR_KATEG K ON K.LINK = ss.LINK_KATEG AND pp.YEAR_begin BETWEEN YBEG AND YEND		
					WHERE pp.link = @link and pp.proverka = 1 
										 AND pp.vid_kor = 1 
										 AND pp.link_dep = @DEP_LINK 
										 AND pp.year_begin =@year_edt  
										 AND pp.PER =@per_edt 
										 AND ss.link_pers = @LINK_pers
										/* AND ss.link_kateg = @link_kateg*/
										  

			END

			FETCH NEXT FROM @Cur_R2 INTO @LINK_pers, @year_edt, @per_edt, @link_kateg, @pachka
		END

		CLOSE @Cur_R2
		DEALLOCATE @Cur_R2
--exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20141001', '20141231', 74578 ,1,  2191


---------->>>>>>>>>>
		create table #TMP2(CODE int identity(1,1) ,col1 int,   COL2 tinyint, COL3 varchar(4), COL4 numeric(18,2), COL5 numeric(18,2), COL6 numeric(18,2), COL7 VARCHAR(14), COL8 INT)

		INSERT INTO #TMP2 (COL2, COL3, COL4, COL5, COL6, COL7)
		SELECT 
			   COL2 = /*case when YEAR_EDT between '2011' and '2013'  then (case*/ [PER_EDT]/* when 1 then 1 when 2 then 2 when 3 then 3 when 4 then 4 else 0 end)
							when YEAR_EDT = '2014' then (case [PER_EDT] when 1 then 3 when 2 then 6 when 3 then 9 when 4 then 0 else null end) end */, 
			   COL3 = CONVERT(VARCHAR(4),YEAR_EDT),
			   COL4 = (CASE WHEN YEAR_EDT = '2014' THEN INSUR - (SELECT SUM(SUM_doh) FROM #tmp_pers_kor_sum WHERE CODE = 'НР' AND LINK_pers = s.link_face AND  per = s.per_edt )  ELSE 0 END ),
			   COL5 = (CASE WHEN YEAR_EDT < '2014' THEN INSUR - (SELECT SUM(SUM_doh) FROM #tmp_pers_kor_sum WHERE CODE = 'НР' AND LINK_pers = s.link_face  AND  per = s.per_edt )  ELSE 0 END ),
			   COL6 = (CASE WHEN YEAR_EDT < '2014' THEN GAIN - (SELECT SUM(SUM_NAK) FROM #tmp_pers_kor_sum WHERE CODE = 'НР' AND LINK_pers = s.link_face AND  per = s.per_edt )   ELSE 0 END ),
			   COL7 = CONVERT(VARCHAR(14),PFNUMBER)
		FROM #SZV_ALL s WHERE  [TYPE] = 2 AND id_ex =1 
		GROUP BY link_face, YEAR_EDT,  [PER_EDT] , INSUR , GAIN ,[FM],[IM],[OT], PFNUMBER 
		ORDER BY [FM],[IM],[OT],[PFNUMBER]
		
		UPDATE #TMP2 
			SET col1 = CODE , COL8 = CODE 

		
		SELECT * FROM #TMP2 ORDER BY CODE


		drop table #tmp_pers
		drop table #tmp_pers_kor_sum
		--DROP TABLE #SPR_ESN_K
		drop table #TMP2
		--GROUP BY [TYPE],CODE, [T_DOG],[FM],[IM],[OT],[PFNUMBER],[per],[year],[per_edt],[year_edt]	
	

	
	END	
	
	IF @REP = 3 
	BEGIN 	
		/*Информация по раздеру 6.7 Сведения о сумме выплат и иных вознаграждений в пользу физического лица, занятого на соответствующих видах работ, 
		* с которых начислены страховые взносы по дополнительному тарифу для отдельных категорий плательщиков страховых взносов, указанных в частях 1, 2 и 2.1 статьи 58.3 
		* Федерального закона от 24 июля 2009 г. № 212-ФЗ */

	/*****************************************************/
	-- Собираем информацию по Исходным пачками
	/*****************************************************/

		DECLARE @BYear_Date	datetime
			SET @BYear_Date = dbo.DateBeginOfYear (@dDate1)

		create table #SPR_ESN ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0 , PF_NUM VARCHAR (14), FACE_GROUP TINYINT, I TINYINT, E TINYINT , SP VARCHAR(4))

		Insert InTo #SPR_ESN ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS , PF_NUM, FACE_GROUP, I, E, SP)
		Select [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0 THEN 3 
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END ) AS FACE_GROUP, 
			dbo.is_invalid(REF_PHYS_PERS,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH_BASE,@nYEAR))),
			F.ENVD,
			SP = isnull(s4.code,'')
		from dbo.SA_ESN_VIEW(@nYEAR, @nMONTH3, @LINK_DEP, 0) S
			inner join PERSON P on S.REF_PHYS_PERS = P.link
			inner join dbo.SAL_SFIN F on F.LINK = S.LINK_VKR
			LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = S.SPECO AND s4.spr_code = 'SPO_USL_TRUDA'
		WHERE  WAY_CALC not in (5)

		--Суммы по договорникам
		INSERT INTO #SPR_ESN 
			([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, PF_NUM, FACE_GROUP, I, E)
		SELECT 
			MONTH(G.[DATE]) AS MONTH_BASE, GT.SUMMA_BASE, 0, 0, GT.SUMMA, GT.WAY_CALC, GT.PERS_LINK, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0  THEN 3
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END) AS FACE_GROUP , 
			dbo.is_invalid(GT.PERS_LINK,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,G.[MONTH],@nYEAR))),
			F.ENVD
			
		FROM 
			DOCUMENTS_DGH G INNER JOIN DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
			inner join PERSON P on GT.PERS_LINK = P.link
			inner join dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
		WHERE 
			FLAG_JC = 1
			AND GT.WAY_CALC  not in (5)
			AND YEAR(G.[DATE]) = @nYEAR
			AND MONTH(G.[DATE]) <= @nMONTH3
			AND LINK_DEP = @DEP_LINK


		DELETE FROM #SPR_ESN
		WHERE  EXISTS (SELECT * FROM dbo.KJ_PERS_PENSION K WHERE K.PERS_LINK = REF_PHYS_PERS AND K.CHECK_SZV = 0)


		/*UPDATE #SZV_ALL 
			SET [OSOB_SPO] =  SP 
			FROM #SPR_ESN   WHERE pf_num = #SZV_ALL.[PFNUMBER] AND WAY_CALC IN (10,11) AND MONTH_BASE = @nMONTH3  AND SUMMA_BASE <> 0 */    

		create table #TMP3(CODE int,col1 int,   COL2 varchar(100), COL3 varchar(4), COL4 varchar (4), COL5 numeric(18,2), COL6 numeric(18,2), COL7 VARCHAR(14), COL8 int, COL9 int, 
							COL10 VARCHAR(10), COL11 VARCHAR(10), COL12 VARCHAR(10),COL13 VARCHAR(30), COL14 VARCHAR(10), COL15 VARCHAR(100), COL16 VARCHAR(10),COL17 VARCHAR(100),
							COL18 VARCHAR(10), COL19 VARCHAR(10), COL20 VARCHAR(10),COL21 VARCHAR(30), COL22 VARCHAR(10), COL23 VARCHAR(100), COL24 VARCHAR(10), COL25 VARCHAR(100), 
							COL26 VARCHAR(10), COL27 VARCHAR(10), COL28 VARCHAR(10),COL29 VARCHAR(30), COL30 VARCHAR(10), COL31 VARCHAR(100), COL32 VARCHAR(10), COL33 VARCHAR(100),
							COL34 VARCHAR(10), COL35 VARCHAR(10), COL36 VARCHAR(10), COL37 VARCHAR(30), COL38 VARCHAR(10), COL39 VARCHAR(100), COL40 VARCHAR(10), COL41 VARCHAR(100), COL42 varchar(100), COL43 varchar(100), COL44 varchar(100),
							COL45 VARCHAR(300), COL46 VARCHAR(300))


		
		DECLARE @Cur3 CURSOR, @CODE1 varchar(4), @TYPE1 tinyint , @PFNUMBER1 VARCHAR (14) , @FM1 VARCHAR(100),@IM1 VARCHAR(100),@OT1 VARCHAR(100),
		@pf_num11 VARCHAR(14) ,@TYPE_OLD1 TINYINT, @nom_pp1 INT, @OSOB_SPO VARCHAR(4), @OSOB_SPO_old VARCHAR(4),
		@DateM1B DATETIME, @DateM2B DATETIME, @DateM3B DATETIME, @DateM1E DATETIME, @dateM2E DATETIME, @dateM3E DATETIME
		set @pf_num11 = ''
		set @OSOB_SPO_old = NULL 
		set @TYPE_OLD1 = 0
		set @nom_pp1 = 1
		
		SELECT @DateM1B = @dDate1,
			   @DateM2B =  dbo.ConvertDMY2Date(1,month(@dDate1)+1,YEAR(@dDate1)), 	
			   @DateM3B =  dbo.ConvertDMY2Date(1,month(@dDate1)+2,YEAR(@dDate1)), 
			   @DateM1E =  dbo.DateEndOfMonth(@DateM1B),
			   @DateM2E =  dbo.DateEndOfMonth(@DateM2B), 	
			   @DateM3E =  @dDate2

	--exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20150401', '20150630', 74578 ,3,  2811
	
		SET @Cur3 = CURSOR FORWARD_ONLY
		FOR SELECT  [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], [OSOB_SPO]  
			FROM #SZV_ALL 
			where [TYPE] = 1  --AND ISNULL([OSOB_SPO],'') <> '' 
			GROUP BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE,id_ex, [OSOB_SPO] 
			ORDER BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE,id_ex, [OSOB_SPO]
		OPEN @Cur3
		FETCH NEXT FROM @Cur3 INTO  @CODE1,@TYPE1,@PFNUMBER1,@FM1,@IM1,@OT1, @OSOB_SPO
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				
				SELECT @OSOB_SPO = ISNULL(@OSOB_SPO, '')
				select @OSOB_SPO_old = ISNULL(@OSOB_SPO_old, '')
				--- Заполнение информации по первому коду категории сотрудника (нр , оои, пнэд)
				IF (ltrim(rtrim(@PFNUMBER1)) <> ltrim(rtrim(@pf_num11)) ) 
				BEGIN

					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42, COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'700'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = CASE WHEN PER = 1 THEN  ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) ,0)
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																+ (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0)
									END ,
						   COL6 = CASE WHEN PER = 1 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)) 
															   + (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
								  END,
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE], 
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
						   
					FROM 
						#SZV_ALL s
						left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)					
					WHERE  
						s.code = @CODE1 and s.[TYPE] = @TYPE1 AND s.PFNUMBER = @PFNUMBER1 AND ISNULL(s.OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY 
						[TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3 ,s.OSOB_SPO,E.SP, e.PF_NUM 


					SELECT  @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'701'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL( (sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   ,0),
						   COL6 = ISNULL( (sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)		
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,s.OSOB_SPO,E.SP, e.PF_NUM 
					
		
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'702'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL( (sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   ,0),
						   COL6 = ISNULL( (sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,s.OSOB_SPO,E.SP, e.PF_NUM 
			
					set @nom_pp1 = @nom_pp1 + 1

					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'703'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@dateM3E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3	,s.OSOB_SPO,E.SP, e.PF_NUM 
					
					set @nom_pp1 = @nom_pp1 + 1
				
				END
				
					
				--- Заполнение информации по следующему коду категории сотрудника (если за расчетный период у сотрудника была не одна категория)
				IF @PFNUMBER1 = @pf_num11 and @OSOB_SPO <> @OSOB_SPO_old
				BEGIN 
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT distinct CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'710'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = CASE WHEN PER = 1 THEN  ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) ,0)
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																+ (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0)
									END ,
						   COL6 = CASE WHEN PER = 1 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)) 
															   + (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
								  END,
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO /*AND s.ID_EX = 2*/
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 
					
					set @nom_pp1 = @nom_pp1 + 1
				
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT distinct CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'711'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO /*AND s.ID_EX = 2*/
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 
				
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT distinct CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'712'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL  s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO /*AND s.ID_EX = 2*/
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end	,s.OSOB_SPO,E.SP, e.PF_NUM 	
				
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT distinct CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'713'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO /*AND s.ID_EX = 2*/
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 
				
					set @nom_pp1 = @nom_pp1 + 1
				END						
				--- заполняем пустые строки '410','411','412','413' 
 	
				if not exists (select * from #tmp3 
								where COL7 = @PFNUMBER1 
								and COL9 = @TYPE1
								and COL4 = '710' ) 
					AND NOT EXISTS (
						SELECT * FROM #SZV_ALL 
						WHERE PFNUMBER = @PFNUMBER1 
							AND ISNULL(OSOB_SPO,'') != ISNULL(@OSOB_SPO,'') 
							AND [TYPE] = 1
						) 
				begin 
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT 
						   CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'710'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
			
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'711'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
			
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'712'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)

					set @nom_pp1 = @nom_pp1 + 1		
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'713'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
	
					set @nom_pp1 = @nom_pp1 + 1	
				end 

					select	row_number() over (order by DATE_BEGIN) as ID ,
							FM1 = [FM]  ,
							IM1 = [IM],
							OT1 = [OT],
							PFNUMBER1 = [PFNUMBER], 
							T_DOG1= T_DOG,
							TYPE1 = [TYPE], 
							DATE_BEGIN1 = [DATE_BEGIN], 
							DATE_END1 = (CASE WHEN [DATE_END]> @dDate2 THEN @dDate2 ELSE [DATE_END] end) , 
							TU_CODE1 = [TU_CODE], 
							OS_CODE1 = [OS_CODE], 
							EX_CODE1 = [EX_CODE], 
							f_is_dop1 = [f_is_dop], 
							P_CODE1 = [P_CODE], 
							f_ud_dop1 = [f_ud_dop] 
					into #TMP03
					FROM #SZV_ALL  WHERE  id_ex IS NOT NULL AND YEAR(@dDate1)<=YEAR(Date_END) and MONTH(@dDate2) >= MONTH(Date_END) and MONTH(@dDate2) >= MONTH(Date_BEGIN) and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 and fm = @FM1 and T_DOG = 1
					GROUP BY [FM],[IM],[OT],[PFNUMBER], T_DOG,[TYPE], [DATE_BEGIN], [DATE_END] , [TU_CODE], [OS_CODE], [EX_CODE], [f_is_dop], [P_CODE], [f_ud_dop]
					ORDER BY  [FM],[IM],[OT],[PFNUMBER], T_DOG,[TYPE]
			
	
					UPDATE #TMP3
					set COL10 = (SELECT distinct convert(varchar(10),DATE_BEGIN1,104 ) FROM #TMP03 where ID=1 and FM1= @FM1),
						COL11 = (SELECT distinct convert(varchar(10),DATE_END1,104 ) FROM #TMP03 where ID=1 and FM1= @FM1),
						COL12 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP03 where ID=1 and FM1= @FM1) ,
						COL13 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP03 where ID=1 and FM1= @FM1),
						COL14 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP03 where ID=1 and FM1= @FM1), 
						COL15 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP03 where ID=1 and FM1= @FM1),
					    COL16 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP03 where ID=1 and FM1= @FM1), 
					    COL17 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP03 where ID=1 and FM1= @FM1), 
					    COL18 = (SELECT distinct convert(varchar(10),DATE_BEGIN1,104 ) FROM #TMP03 where ID=2 and FM1= @FM1), 
					    COL19 = (SELECT distinct convert(varchar(10),DATE_END1,104 ) FROM #TMP03 where ID=2 and FM1= @FM1),
					    COL20 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP03 where ID=2 and FM1= @FM1),
					    COL21 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP03 where ID=2 and FM1= @FM1),
						COL22 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP03 where ID=2 and FM1= @FM1), 
						COL23 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP03 where ID=2 and FM1= @FM1),
					    COL24 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP03 where ID=2 and FM1= @FM1), 
					    COL25 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP03 where ID=2 and FM1= @FM1),
					    COL26 = (SELECT distinct convert(varchar(10),DATE_BEGIN1,104 ) FROM #TMP03 where ID=3 and FM1= @FM1), 
					    COL27 = (SELECT distinct convert(varchar(10),DATE_END1,104 ) FROM #TMP03 where ID=3 and FM1= @FM1),
					    COL28 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP03 where ID=3 and FM1= @FM1),
					    COL29 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP03 where ID=3 and FM1= @FM1),
						COL30 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP03 where ID=3 and FM1= @FM1), 
						COL31 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP03 where ID=3 and FM1= @FM1),
					    COL32 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP03 where ID=3 and FM1= @FM1), 
					    COL33 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP03 where ID=3 and FM1= @FM1),
					    COL34 = (SELECT distinct convert(varchar(10),DATE_BEGIN1,104 ) FROM #TMP03 where ID=4 and FM1= @FM1), 
					    COL35 = (SELECT distinct convert(varchar(10),DATE_END1,104 ) FROM #TMP03 where ID=4 and FM1= @FM1),
					    COL36 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP03 where ID=4 and FM1= @FM1),
					    COL37 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP03 where ID=4 and FM1= @FM1),
						COL38 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP03 where ID=4 and FM1= @FM1), 
						COL39 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP03 where ID=4 and FM1= @FM1),
					    COL40 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP03 where ID=4 and FM1= @FM1), 
					    COL41 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP03 where ID=4 and FM1= @FM1),
					    
					    COL45 = CONVERT(VARCHAR(300),ISNULL((SELECT distinct isnull(convert(varchar(10),DATE_BEGIN1,104 ),' ') 
																	  + ',' + isnull(convert(varchar(10),DATE_END1,104 ),' ')
																	  + ',' + isnull(convert(varchar(10),TU_CODE1 ),' ') 
																	  + ',' + isnull(convert(varchar(30),OS_CODE1 ),' ') 
																	  + ','  + isnull(convert(varchar(10),EX_CODE1 ),' ')
																	 + ','  + isnull(convert(varchar(100),f_is_dop1 ),' ')
																	 + ','  + isnull(convert(varchar(10),P_CODE1) ,' ')
																	 + ','  + isnull(convert(varchar(100),f_ud_dop1),' ')			
																	 + ','  
					                                         FROM #TMP03 where ID=5 and FM1= @FM1),' ')), 
					    COL46 = CONVERT(VARCHAR(300),ISNULL((SELECT distinct isnull(convert(varchar(10),DATE_BEGIN1,104 ),' ') 
																	  + ',' + isnull(convert(varchar(10),DATE_END1,104 ),' ')
																	  + ',' + isnull(convert(varchar(10),TU_CODE1 ),' ') 
																	  + ',' + isnull(convert(varchar(30),OS_CODE1 ),' ') 
																	  + ','  + isnull(convert(varchar(10),EX_CODE1 ),' ')
																	 + ','  + isnull(convert(varchar(100),f_is_dop1 ),' ')
																	 + ','  + isnull(convert(varchar(10),P_CODE1) ,' ')
																	 + ','  + isnull(convert(varchar(100),f_ud_dop1),' ')			
																	 + ','  
					                                         FROM #TMP03 where ID=6 and FM1= @FM1),' '))
					    

					from #TMP3	
					WHERE #TMP3.COL9 = @TYPE1 
					and #TMP3.COL7 = @PFNUMBER1 AND #TMP3.COL3 = '700' /*and #TMP3.CODE =  @nom_pp1*/


					drop table #TMP03				


				
				 
					set @pf_num11 = @PFNUMBER1
					set @OSOB_SPO_old = @OSOB_SPO
					set @TYPE_OLD1 = @TYPE1
					
			
			END

			FETCH NEXT FROM @Cur3 INTO @CODE1,@TYPE1,@PFNUMBER1,@FM1,@IM1,@OT1, @OSOB_SPO
		END

		CLOSE @Cur3
		DEALLOCATE @Cur3
		
		
		
		
		/*****************************************************/
		-- Собираем информацию по Кореектирующим/Отменяющим
		/*****************************************************/
		--create table #TMP1(CODE int,col1 int,   COL2 varchar(14), COL3 varchar(100), COL4 varchar (4), COL5 varchar (4), COL6 numeric(18,2), COL7 numeric(18,2), COL8 numeric(18,2), COL9 numeric(18,2), COL10 varchar(1), COL11 varchar(4), COL12 varchar(15), COL13 varchar(1), COL14 varchar(4),COL15 int)
	

		DECLARE @Cur4 CURSOR
		set @pf_num11 = ''
		set @OSOB_SPO_old = ''  
		set @TYPE_OLD1 = 0
		set @nom_pp1 = (SELECT MAX(CODE) FROM #TMP3 WHERE COL9 = 1) + 1 
		
			
		SET @Cur4 = CURSOR FORWARD_ONLY
		FOR SELECT  [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], [OSOB_SPO]  FROM #SZV_ALL where /*T_DOG = 1 and */[TYPE] != 1 /*and year_edt >=2014*/  GROUP BY [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], [OSOB_SPO]ORDER BY [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], [OSOB_SPO]
		OPEN @Cur4
		FETCH NEXT FROM @Cur4 INTO  @CODE1,@TYPE1,@PFNUMBER1,@FM1,@IM1,@OT1, @OSOB_SPO
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				
				
				SELECT @OSOB_SPO = ISNULL(@OSOB_SPO, '')
				select @OSOB_SPO_old = ISNULL(@OSOB_SPO_old, '')	
				--- Заполнение информации по первому коду категории сотрудника (нр , оои, пнэд)
				IF (@PFNUMBER1 <> @pf_num11 ) 
				BEGIN
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'700'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = CASE WHEN PER = 1 THEN  ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) ,0)
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																+ (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0)
									END ,
						   COL6 = CASE WHEN PER = 1 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)) 
															   + (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
								  END,

						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3 , date_end,s.OSOB_SPO,E.SP, e.PF_NUM 
					

					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'701'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end ,s.OSOB_SPO,E.SP, e.PF_NUM 	
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'702'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end	,s.OSOB_SPO,E.SP, e.PF_NUM 
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'703'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]	,INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 		
					
					set @nom_pp1 = @nom_pp1 + 1
				END
					
				
				--- Заполнение информации по следующему коду категории сотрудника (если за расчетный период у сотрудника была не одна категория)
				IF @PFNUMBER1 = @pf_num11 and @OSOB_SPO <> @OSOB_SPO_old
				BEGIN 
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'710'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = CASE WHEN PER = 1 THEN  ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) ,0)
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																+ (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0)
									END ,
						   COL6 = CASE WHEN PER = 1 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)) 
															   + (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
								  END,						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)		
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end	,s.OSOB_SPO,E.SP, e.PF_NUM 	
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'711'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 		
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'712'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)		
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 			
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'713'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end	,s.OSOB_SPO,E.SP, e.PF_NUM  		
					
					set @nom_pp1 = @nom_pp1 + 1
				END						

				--- заполняем пустые строки '710','711','712','713' 
			
				if not exists (select * from #tmp3 
								where COL7 = @PFNUMBER1 
								and COL9 = @TYPE1
								and COL4 = '710' ) AND NOT EXISTS (SELECT * FROM #SZV_ALL WHERE PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') != @OSOB_SPO AND [TYPE] = 2) 
				begin 
						
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'710'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'711'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'712'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
					set @nom_pp1 = @nom_pp1 + 1		
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'713'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
					set @nom_pp1 = @nom_pp1 + 1	
				
				end 


					select	row_number() over (order by DATE_BEGIN) as ID ,
							FM1 = [FM]  ,
							IM1 = [IM],
							OT1 = [OT],
							PFNUMBER1 = [PFNUMBER], 
							T_DOG1= T_DOG,
							TYPE1 = [TYPE], 
							DATE_BEGIN1 = [DATE_BEGIN], 
							DATE_END1 = (CASE WHEN [DATE_END] > @dDate2 THEN @dDate2 ELSE  [DATE_END] END )  , 
							TU_CODE1 = [TU_CODE], 
							OS_CODE1 = [OS_CODE], 
							EX_CODE1 = [EX_CODE], 
							f_is_dop1 = [f_is_dop], 
							P_CODE1 = [P_CODE], 
							f_ud_dop1 = [f_ud_dop] 
					into #TMP04
					FROM #SZV_ALL  WHERE  id_ex IS NOT NULL /*AND YEAR(@dDate1)<=YEAR(Date_END) and MONTH(@dDate2) >= MONTH(Date_END) and MONTH(@dDate2) >= MONTH(Date_BEGIN)*/ and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 and fm = @FM1 --and T_DOG = 1
					GROUP BY [FM],[IM],[OT],[PFNUMBER], T_DOG,[TYPE], [DATE_BEGIN], [DATE_END] , [TU_CODE], [OS_CODE], [EX_CODE], [f_is_dop], [P_CODE], [f_ud_dop]
					ORDER BY  [FM],[IM],[OT],[PFNUMBER], T_DOG,[TYPE]
				
				

					UPDATE #TMP3
					set COL10 = (SELECT distinct convert(varchar(10),DATE_BEGIN1, 104 ) FROM #TMP04 where ID=1 and FM1= @FM1),
						COL11 = (SELECT distinct convert(varchar(10),DATE_END1, 104 ) FROM #TMP04 where ID=1 and FM1= @FM1),
						COL12 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP04 where ID=1 and FM1= @FM1) ,
						COL13 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP04 where ID=1 and FM1= @FM1),
						COL14 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP04 where ID=1 and FM1= @FM1), 
						COL15 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP04 where ID=1 and FM1= @FM1),
					    COL16 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP04 where ID=1 and FM1= @FM1), 
					    COL17 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP04 where ID=1 and FM1= @FM1), 
					    COL18 = (SELECT distinct convert(varchar(10),DATE_BEGIN1 , 104 ) FROM #TMP04 where ID=2 and FM1= @FM1), 
					    COL19 = (SELECT distinct convert(varchar(10),DATE_END1, 104 ) FROM #TMP04 where ID=2 and FM1= @FM1),
					    COL20 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP04 where ID=2 and FM1= @FM1),
					    COL21 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP04 where ID=2 and FM1= @FM1),
						COL22 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP04 where ID=2 and FM1= @FM1), 
						COL23 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP04 where ID=2 and FM1= @FM1),
					    COL24 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP04 where ID=2 and FM1= @FM1), 
					    COL25 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP04 where ID=2 and FM1= @FM1),
					    COL26 = (SELECT distinct convert(varchar(10),DATE_BEGIN1, 104 ) FROM #TMP04 where ID=3 and FM1= @FM1), 
					    COL27 = (SELECT distinct convert(varchar(10),DATE_END1, 104 ) FROM #TMP04 where ID=3 and FM1= @FM1),
					    COL28 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP04 where ID=3 and FM1= @FM1),
					    COL29 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP04 where ID=3 and FM1= @FM1),
						COL30 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP04 where ID=3 and FM1= @FM1), 
						COL31 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP04 where ID=3 and FM1= @FM1),
					    COL32 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP04 where ID=3 and FM1= @FM1), 
					    COL33 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP04 where ID=3 and FM1= @FM1),
					    COL34 = (SELECT distinct convert(varchar(10),DATE_BEGIN1, 104 ) FROM #TMP04 where ID=4 and FM1= @FM1), 
					    COL35 = (SELECT distinct convert(varchar(10),DATE_END1, 104 ) FROM #TMP04 where ID=4 and FM1= @FM1),
					    COL36 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP04 where ID=4 and FM1= @FM1),
					    COL37 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP04 where ID=4 and FM1= @FM1),
						COL38 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP04 where ID=4 and FM1= @FM1), 
						COL39 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP04 where ID=4 and FM1= @FM1),
					    COL40 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP04 where ID=4 and FM1= @FM1), 
					    COL41 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP04 where ID=4 and FM1= @FM1),
						
					    COL45 = CONVERT(VARCHAR(300),ISNULL((SELECT distinct isnull(convert(varchar(10),DATE_BEGIN1,104 ),' ') 
																	  + ',' + isnull(convert(varchar(10),DATE_END1,104 ),' ')
																	  + ',' + isnull(convert(varchar(10),TU_CODE1 ),' ') 
																	  + ',' + isnull(convert(varchar(30),OS_CODE1 ),' ') 
																		+ ','  + isnull(convert(varchar(10),EX_CODE1 ),' ')
																	 + ','  + isnull(convert(varchar(100),f_is_dop1 ),' ')
																	 + ','  + isnull(convert(varchar(10),P_CODE1) ,' ')
																	 + ','  + isnull(convert(varchar(100),f_ud_dop1),' ')			
																	 + ','  
					                                         FROM #TMP04 where ID=5 and FM1= @FM1),' ')), 
					    COL46 = CONVERT(VARCHAR(300),ISNULL((SELECT distinct isnull(convert(varchar(10),DATE_BEGIN1,104 ),' ') 
																	  + ',' + isnull(convert(varchar(10),DATE_END1,104 ),' ')
																	  + ',' + isnull(convert(varchar(10),TU_CODE1 ), ' ') 
																	  + ',' + isnull(convert(varchar(30),OS_CODE1 ),' ') 
																		+ ','  + isnull(convert(varchar(10),EX_CODE1 ),' ')
																	 + ','  + isnull(convert(varchar(100),f_is_dop1 ),' ')
																	 + ','  + isnull(convert(varchar(10),P_CODE1) ,' ')
																	 + ','  + isnull(convert(varchar(100),f_ud_dop1),' ')
																	 + ','  			
															 FROM #TMP04 where ID=6 and FM1= @FM1),' '))
				
					
					from #TMP3	
					WHERE #TMP3.COL9 = @TYPE1 
					and #TMP3.COL7 = @PFNUMBER1 and  #TMP3.COL3 = '700'

				
					drop table #TMP04	


					set @pf_num11 = @PFNUMBER1
					set @OSOB_SPO_old = @OSOB_SPO
					set @TYPE_OLD1 = @TYPE1
					
			END

			FETCH NEXT FROM @Cur4 INTO @CODE1,@TYPE1,@PFNUMBER1,@FM1,@IM1,@OT1, @OSOB_SPO
		END

		CLOSE @Cur4
		DEALLOCATE @Cur4
		
		SELECT DISTINCT 
			CODE = ROW_NUMBER() OVER (ORDER BY CODE),
			COL1 = ROW_NUMBER() OVER (ORDER BY COL1),
			COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, 
			COL11, COL12, COL13, COL14, COL15, COL16, COL17, COL18, COL19, COL20, 
			COL21, COL22, COL23, COL24, COL25, COL26, COL27, COL28, COL29, COL30, 
			COL31, COL32, COL33, COL34, COL35, COL36, COL37, COL38, COL39, COL40, 
			COL41, COL42, COL43, COL44, COL45, COL46
		FROM #TMP3 where col5 <> 0 or col6 <> 0 or ISNULL(COL10,'') <> '' ORDER BY CODE, COL8

--RSA_RSV_1_PERS_UCH_szv '20140401', '20140630', 13488 , 3, 2786
		drop table #TMP3
	
	END		

	IF @REP = 4 
	BEGIN 	
		/*Заполнение подраздела 6.8 «Период работы за последние три месяца отчетного периода» раздела 6 Расчета*/
		create table #TMP4(CODE int identity(1,1) ,col1 int,   COL2 VARCHAR(10), COL3 VARCHAR(10), COL4 VARCHAR(10), COL5 VARCHAR(30), COL6 VARCHAR(10), COL7 varchar(100), COL8 VARCHAR(10), COL9 varchar(100), COL10 VARCHAR(14), COL11 INT , COL12 INT, COL13 VARCHAR(100), COL14 varchar(100), COL15 VARCHAR(100) )

		INSERT INTO #TMP4 (COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL12, COL13, COL14, COL15 )
		SELECT 
			   COL2 = convert(varchar(10),(CASE WHEN [DATE_BEGIN] > @dDate2 THEN @dDate2 ELSE [DATE_BEGIN] END) , 104), 
			   COL3 = CONVERT(varchar(10),[DATE_END] , 104),
			   COL4 = CONVERT(VARCHAR(10),ISNULL([TU_CODE],'')),
			   COL5 = CONVERT(VARCHAR(30),ISNULL([OS_CODE],'')),
			   COL6 = CONVERT(VARCHAR(10),ISNULL([EX_CODE],'')),
			   COL7 = CONVERT(VARCHAR(100),ISNULL([f_is_dop],'')),
			   COL8 = CONVERT(VARCHAR(10),ISNULL([P_CODE],'')),
			   COL9 = CONVERT(VARCHAR(100),ISNULL([f_ud_dop],'')),
			   COL10 = CONVERT(VARCHAR(100),ISNULL([PFNUMBER],'')),
			   COL12 = ISNULL([TYPE],0),
			   COL13 = CONVERT(varchar(100),FM),
			   COL14 = CONVERT(varchar(100),IM),
			   COL15 = CONVERT(varchar(100),OT)
		FROM #SZV_ALL 
		WHERE 
			id_ex IS NOT NULL AND YEAR(@dDate1)<=YEAR(Date_END) and MONTH(@dDate2) >= MONTH(Date_END) and MONTH(@dDate2) >= MONTH(Date_BEGIN)
		GROUP BY 
			[FM],[IM],[OT],[PFNUMBER],[TYPE], [DATE_BEGIN], [DATE_END] , [TU_CODE], [OS_CODE], [EX_CODE], [f_is_dop], [P_CODE], [f_ud_dop]
		ORDER BY
			[FM],[IM],[OT],[PFNUMBER],[TYPE]

		UPDATE #TMP4 
			SET col1 = CODE , COL11 = CODE 

		SELECT * FROM #TMP4 ORDER BY CODE
		
		drop table #TMP4
		--GROUP BY [TYPE],CODE, [T_DOG],[FM],[IM],[OT],[PFNUMBER],[per],[year],[per_edt],[year_edt]	
		
	END	
	
	
		
		drop table #SZV_ALL
		--drop table #docs_kor_otm
		drop table #docs

END






GO


GRANT EXECUTE ON dbo.[RSA_RSV_1_PERS_UCH_SZV] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_NDFL_NACHISL30]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_NDFL_NACHISL30]

GO
CREATE PROCEDURE DBO.SA_NDFL_NACHISL30 (@PERIOD_BEG DATETIME, @PERIOD_END DATETIME, @DEP_LINK INT, @SUMMA NUMERIC(18,2) OUTPUT)
--Начисленная сумма НДФЛ по организации за период с учётом остатка на начало года
AS
BEGIN

	IF @PERIOD_BEG IS NOT NULL AND @PERIOD_END IS NOT NULL BEGIN

		SET @SUMMA = ISNULL(
			(SELECT sum(summa) 
			FROM
				dbo.PAYS P 
				INNER JOIN dbo.DICTIONARY_TAX_SALARY T ON T.LINK = P.LINK AND T.WAY_CALC=5
				INNER JOIN dbo.CALCULATE_JURNAL SJ ON P.LINK = SJ.LINK_PAYS
			WHERE
				SJ.PERIOD_BEGIN BETWEEN @PERIOD_BEG AND @PERIOD_END
				AND SJ.LINK_DEP = @DEP_LINK 
			),0)	
			
		SET @SUMMA = @SUMMA + ISNULL( 
			(
				SELECT SUM(SR.NDFL) 
				FROM 
					dbo.SAL_REMAIN SR
					INNER JOIN dbo.EMPL E ON E.LINK = SR.LINK_EMPL
				WHERE 
					E.DEP_LINK = @DEP_LINK AND SR.YEAR_SAL = YEAR(@PERIOD_BEG)
			), 0)
	

	END
	
END
RETURN 0	



GO


GRANT EXECUTE ON dbo.[SA_NDFL_NACHISL30] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_NDFL_NACHISL35]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_NDFL_NACHISL35]

GO
CREATE PROCEDURE DBO.SA_NDFL_NACHISL35 (@PERIOD_BEG DATETIME, @PERIOD_END DATETIME, @DEP_LINK INT, @SUMMA NUMERIC(18,2) OUTPUT)
--Начисленная сумма НДФЛ по организации за период с учётом остатка на начало года
AS
BEGIN

	IF @PERIOD_BEG IS NOT NULL AND @PERIOD_END IS NOT NULL BEGIN

		SET @SUMMA = ISNULL(
			(SELECT sum(summa) 
			FROM
				dbo.PAYS P 
				INNER JOIN dbo.DICTIONARY_TAX_SALARY T ON T.LINK = P.LINK AND T.WAY_CALC=6
				INNER JOIN dbo.CALCULATE_JURNAL SJ ON P.LINK = SJ.LINK_PAYS
			WHERE
				SJ.PERIOD_BEGIN BETWEEN @PERIOD_BEG AND @PERIOD_END
				AND SJ.LINK_DEP = @DEP_LINK 
			),0)	
			
		SET @SUMMA = @SUMMA + ISNULL( 
			(
				SELECT SUM(SR.NDFL) 
				FROM 
					dbo.SAL_REMAIN SR
					INNER JOIN dbo.EMPL E ON E.LINK = SR.LINK_EMPL
				WHERE 
					E.DEP_LINK = @DEP_LINK AND SR.YEAR_SAL = YEAR(@PERIOD_BEG)
			), 0)
	

	END
	
END
RETURN 0	



GO


GRANT EXECUTE ON dbo.[SA_NDFL_NACHISL35] TO PUBLIC

GO


--Расширенные свойства--


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[I_REPORT_FORMULA_6_NDFL_RAZD1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[I_REPORT_FORMULA_6_NDFL_RAZD1]

GO

CREATE procedure dbo.I_REPORT_FORMULA_6_NDFL_RAZD1
	@varKSOUT_VAL varchar(50) OUTPUT,
	@varKScCode	char(10) = '',
	@varKSiCol	smallint = '0'
AS
DECLARE @varKSname VARCHAR(100), 
	@varKSSQL VARCHAR(8000)
	SET @varKSname = (SELECT ID FROM BUFFER WHERE LINK = -116 AND SID = SUSER_SID() )

	CREATE     TABLE #TMP(
		SUMM NUMERIC(18,2))
	SET @varKSSQL = '

		INSERT INTO #TMP
		SELECT  COL3
		FROM ' + @varKSname + ' 
		WHERE CODE_STR=' + ltrim(@varKScCode)

	EXEC (@varKSSQL)

	IF @varKSiCol = 3
		SET @varKSOUT_VAL = (SELECT  SUMM FROM #TMP)
	DROP TABLE #TMP
	SELECT @varKSOUT_VAL = ISNULL(@varKSOUT_VAL, '')



GO


GRANT EXECUTE ON dbo.[I_REPORT_FORMULA_6_NDFL_RAZD1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RI_REPORT_FORMULA_6_NDFL_RAZD1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RI_REPORT_FORMULA_6_NDFL_RAZD1]

GO


/*
c Кейсистемс (Keysystems), 2005
*/
CREATE               PROCEDURE dbo.RI_REPORT_FORMULA_6_NDFL_RAZD1
	@res varchar(50) output, @varcStr varchar(250), @vardBegin datetime = '20150101', @vardEnd datetime = '20151231', @variCol int, @variRow int, @variLSF int
AS
	declare @tmp int, @cStr varchar(250), @cSubStr1 varchar(250)
	set @cStr = @varcStr
	set @res = ''
	
	exec dbo.RO_FORMULA_FUNCTIONS 1, @cStr output, @cSubStr1 output, ','

	if LEN(@cStr) = 0
	begin
		set @cStr = @cSubStr1
		set @cSubStr1 = ''
	end
	if @cStr = ''
		return 0
	set @tmp = CONVERT(int, @cStr)

	exec dbo.I_REPORT_FORMULA_6_NDFL_RAZD1 @res output, @cSubStr1, @tmp








GO


GRANT EXECUTE ON dbo.[RI_REPORT_FORMULA_6_NDFL_RAZD1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZVM_16_PREPARE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZVM_16_PREPARE]

GO
CREATE PROCEDURE dbo.SA_SZVM_16_PREPARE @LSF INT
AS

DECLARE
	@START_DATE DATETIME, @EndOfMonth DATETIME, @BeginOfMonth DATETIME, @DEP_LINK INT , @PERIOD_NUM INT, 
	@BYearDate DATETIME, @nYEAR INT, @nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT

SELECT
	@DEP_LINK = Link_Organization,
	@START_DATE = BEGIN_DATE,
	@PERIOD_NUM = PERIOD_NUMBER
FROM
	report_saved_forms
WHERE
	link_saved_form = @LSF
	
--exec dbo.RI_REPORT_FORMULA_ALL_CALCULATE '2016-02-01 00:00:00','2016-02-29 00:00:00',4,2,42451

SET @EndOfMonth = dbo.DateENDOfMONTH(@START_DATE)
SET @BeginOfMonth = dbo.DateBeginOfMonth(@START_DATE)


SELECT
	@nYEAR = YEAR(@START_DATE),
	@nMONTH1 = MONTH(@START_DATE)-2,
	@nMONTH2 = MONTH(@START_DATE)-1,
	@nMONTH3 = MONTH(@START_DATE)

DECLARE @varKSname VARCHAR(100), @varKSSQL VARCHAR(8000)
SET @varKSname = (SELECT ID FROM BUFFER WHERE LINK = -116 AND SID = SUSER_SID() )

--------------------------------------------
/********СРЕДНЕСПИСОЧНАЯ ЧИСЛЕННОСТЬ**********/
DECLARE @NAvgCount NUMERIC(18,0)

/* Среднесписочная численность мужчин и женщин */
Set @NAvgCount = convert(numeric(18,0), dbo.sa_ssch_empls(@BeginOfMonth, @EndOfMonth, @DEP_LINK, 0, 1, 0, DEFAULT))


--- Выбор работавших в отчетный период , как в персучете
CREATE TABLE #PERS_IN_PERIOD (CHECKED tinyint, PERS_LINK INT , NAME_PERS VARCHAR(150))
INSERT INTO #PERS_IN_PERIOD  (CHECKED , PERS_LINK , NAME_PERS) 


SELECT 0 as CHECKED, E.pers_link, NAME_PERS = dbo.ku_getPersFio(E.pers_link)
FROM 
	dbo.EMPL E inner join dbo.ITEM_MOVE P on E.link = P.empl_link and P.NEW_FACE = 1 AND P.ACTIVE=1
	left join dbo.ITEM_DIS_FACE U on E.link = U.empl_link AND U.ACTIVE=1
WHERE 
	P.DATE_BEGIN <= @EndOfMonth
	and
	coalesce(U.DIS_DATE,'20990101') >= @BeginOfMonth
	And 
	E.DEP_LINK = @DEP_LINK
UNION 
Select 
	0 as CHECKED, pers_link = DFG.link, NAME_PERS = dbo.ku_getPersFio(DFG.link)
FROM PERSON DFG inner join SALARY_REESTR_DGH DGH on DFG.link = DGH.PERS_LINK
WHERE 
	DGH.DATE1 = (
		Select max(DATE1)  from SALARY_REESTR_DGH as DGH0 
				where DGH.PERS_LINK = DGH0.PERS_LINK AND DGH0.DEP_LINK = DGH.DEP_LINK
					AND
					(
						ISNULL(DATE1, '19000101') between  @BeginOfMonth and @EndOfMonth
						or ISNULL(DATE2, '20990101') between @BeginOfMonth and @EndOfMonth
					)
				)
	And 
	DGH.DEP_LINK = @DEP_LINK

CREATE  table #PERS_INFO( PERS_LINK INT, FULL_FIO VARCHAR(150), INSUR_NUM VARCHAR(14), INN varchar(12) )

INSERT INTO #PERS_INFO
SELECT pip.PERS_LINK, pip.NAME_PERS, p.INSUR_NUM, p.INN  
FROM #PERS_IN_PERIOD pip
	INNER JOIN dbo.person p ON p.link =  pip.PERS_LINK  


/*
** Пока оставляем этот коммент ... в данных запросах выбираются сотрудники и наемные рабочие как в титуле по РСВ-1
Select e.pers_link, p.fm , p.im , p.ot, ei.period_beg, ei.period_end, p.insur_num , p.INN 

FROM 
dbo.empl e
inner join dbo.person p on p.link = e.pers_link					
inner join (select * from dbo.ku_EmplsInPeriod0(@BeginOfMonth,@EndOfMonth, @DEP_LINK, 0, 0) group by date, empl_link,status, sch,ssch,comment) s on  e.link = s.empl_link                                  
INNER JOIN dbo.SA_EMPLS_INFO_PERIOD(@BeginOfMonth,@EndOfMonth, DEFAULT, @DEP_LINK) EI ON S.EMPL_LINK = EI.EMPL_LINK AND S.[DATE] BETWEEN EI.PERIOD_BEG AND EI.PERIOD_END
where
	(0 = 0 or (0 <> 0 and sex = 0))
	and
	((1 = 0 and S.[status] <> 2) or (1 in (1,3) and S.[status] = 1))
	and
	e.dep_link = @DEP_LINK
group by
	e.pers_link, p.fm , p.im , p.ot, ei.period_beg, ei.period_end, ei.NOTwork, p.insur_num , p.INN 
UNION ALL 
-- exec  SA_SZVM_16_PREPARE 42451
SELECT distinct rd.pers_link, pe.fm , pe.im , pe.ot, rd.date1 as period_beg, rd.date2 AS period_end, pe.insur_num , pe.INN 
FROM
	/*dbo.SDOC G
	INNER JOIN dbo.SDOC_DGH_TABLE GT ON G.LINK = GT.LINK_UP*/
dbo.SALARY_REESTR_DGH rd 
left JOIN DBO.PERSON Pe on Pe.LINK = RD.PERS_LINK
WHERE
	rd.DEP_LINK = @DEP_LINK
	AND @EndOfMonth BETWEEN rd.DATE1 AND COALESCE(rd.DATE2,'29990101')
	OR @BeginOfMonth BETWEEN rd.DATE1 AND COALESCE(rd.DATE2,'29990101')
 

*/

--
CREATE TABLE #RES (LINK INT IDENTITY (1,1), COL2 VARCHAR(150),COL3 VARCHAR(14), COL4 VARCHAR(12))
SET @varKSSQL = '
	INSERT INTO #RES ( COL2, COL3, COL4)
	SELECT
		FULL_FIO,
		INSUR_NUM,
		INN
	FROM 
		#PERS_INFO
	ORDER BY
		FULL_FIO'

EXEC (@varKSSQL)

SELECT
	CODE = CONVERT(int,RANK() OVER (ORDER BY COL2)),
	COL1 = CONVERT(int,RANK() OVER (ORDER BY COL2)),
	COL2,
	COL3,
	COL4
FROM
	#RES E
ORDER BY
	COL2

DROP TABLE #PERS_IN_PERIOD
DROP TABLE #PERS_INFO
DROP TABLE #RES
--------------------------------------------
--------------------------------------------



	

RETURN 0



GO


GRANT EXECUTE ON dbo.[SA_SZVM_16_PREPARE] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BI_SAVE_KBK_IVF]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BI_SAVE_KBK_IVF]

GO



/*
© Кейсистемс (Keysystems), 2005
*/

CREATE	PROCEDURE dbo.BI_SAVE_KBK_IVF
	@varKSparLINK	int	OUTPUT,
	@varKSparNAME	VARCHAR(250) = '',
	@varKSLink_Adm	int = null,
	@varKSLink_IVF	int,
	@iProgLink		int,
	@varKSLink_SGU  INT,
	@iUsed			tinyint,
	@iType			tinyint,
	@cDelim			char(1)
AS
DECLARE @varKSERROR	tinyint,
	@varKSRowCount	INT,
	@varKSstrVALUE	varchar(7000),
	@varKStrancount	int,
	@varKSEventText	varchar(254),
	@varKSintObj	int,
	@varKSCode	char(30)
SET LOCK_TIMEOUT 30000
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

	IF @varKSparNAME IS NULL OR @varKSparNAME = ''
	BEGIN
		ROLLBACK
		RETURN 5
	END
	IF @varKSLink_IVF IS NULL OR @varKSLink_IVF = 0
	BEGIN
		ROLLBACK
		RETURN 5
	END
	IF @iProgLink IS NULL OR @iProgLink = 0
	BEGIN
		ROLLBACK
		RETURN 5
	END
	IF @varKSLink_Adm IS NULL OR @varKSLink_Adm = 0
	BEGIN
		ROLLBACK
		RETURN 5
	END
/*	IF @varKSLink_SGU IS NULL OR @varKSLink_SGU = 0
	BEGIN
		ROLLBACK
		RETURN 5
	END*/

	if (select count(*) from KL_IVF where link = @varKSLink_IVF)<>1
	OR (select count(*) from KL_ADMIN_BS where link = @varKSLink_Adm)<>1
	OR (select count(*) from KL_PROG where link = @iProgLink)<>1
	BEGIN
		ROLLBACK
		RETURN 5
	END
	
	SET @varKSCode = coalesce ((SELECT code FROM KL_ADMIN_BS WHERE link = @varKSLink_Adm),'000') + @cDelim +
			coalesce ((SELECT code FROM KL_IVF WHERE link = @varKSLink_IVF),'0000000000') + --@cDelim +
			coalesce ((SELECT code FROM KL_PROG WHERE link = @iProgLink),'0000') +
			coalesce ((SELECT code FROM KOSGU WHERE link = @varKSLink_SGU),'')
	
	If (select count(*) from KL_KBK WHERE LINK <> @varKSparLINK and CODE = @varKSCode
		and TYPE = @iType) <> 0 
	BEGIN
		ROLLBACK
		RETURN 4
	END
	
	If (Select count(*) from KL_KBK where link = @varKSparLINK) > 0
	BEGIN
		UPDATE KL_KBK
		SET	TYPE = @iType,
			CODE = @varKSCode,
			NAME = @varKSparNAME,
			Link_Adm = @varKSLink_Adm,
			USED = @iUsed	 
		WHERE LINK = @varKSparLINK
		IF @varKSERROR <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
		DELETE FROM KL_KBK_KD WHERE LINK_KBK = @varKSparLINK
		DELETE FROM KL_VKR WHERE LINK_KBK = @varKSparLINK
	END
	ELSE
	BEGIN
		INSERT INTO KL_KBK(Type, code, name, link_adm, USED)
			VALUES(@iType, @varKSCode, @varKSparNAME, @varKSLink_Adm, @iUsed)
		SELECT @varKSERROR = @@ERROR, @varKSparLINK = @@IDENTITY
		IF @varKSERROR <> 0 or coalesce(@varKSparLINK,0) <= 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
	END

	IF (select count(*) from KL_KBK_IVF where link_kbk = @varKSparLINK) = 1
	BEGIN
		UPDATE KL_KBK_IVF
			SET LINK_IVF = @varKSLink_IVF,
				LINK_PROG = @iProgLink,
				LINK_SGU = @varKSLink_SGU
			WHERE LINK_KBK = @varKSparLINK
		
		SELECT @varKSERROR = @@ERROR
		IF @varKSERROR <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
	END
	ELSE
	BEGIN
		INSERT INTO KL_KBK_IVF 
			(Link_KBK, Link_IVF, LINK_PROG,LINK_SGU)
		VALUES (@varKSparLINK, @varKSLink_IVF, @iProgLink,@varKSLink_SGU)
		SELECT @varKSERROR = @@ERROR
		IF @varKSERROR <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
	END
	
	SELECT @varKSEventText = 'КБК. Источник финанс. ' + @varKSCode + ' ' + @varKSparNAME, @varKSintObj = LINK FROM S_OBJECTS WHERE CODE = 'BI_DICTION_KBK'
	EXECUTE WF_GENERATEEVENT 'Сохранение строки справочника', @varKSEventText, @varKSintObj, 'KL_KBK', @varKSparLINK
IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN
RETURN 0





GO


GRANT EXECUTE ON dbo.[BI_SAVE_KBK_IVF] TO PUBLIC

GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_RSV1_EXPORT_0700_2014]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_RSV1_EXPORT_0700_2014]

GO

CREATE   PROCEDURE [dbo].SA_RSV1_EXPORT_0700_2014 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))

INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254), @WORK_END VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------
-- Проставлять ОКАТО или ОКТМО по настройке
DECLARE @OKATO_OR_OKTMO int
SET @OKATO_OR_OKTMO = dbo.SA_GET_OPTION_BY_CODE('NASTR_USE_OKATO_OKTMO')

DECLARE @ATR_TYPE_KOR INT
SET @ATR_TYPE_KOR  = (SELECT DBO.RN_GET_ATR_VALUE(@Link, 'REPORTS_ATR_TYPE_KOR'))	

--Атрибут "Прекращение деятельности"
SET @WORK_END = (SELECT DBO.RN_GET_ATR_VALUE(@Link, 'REPORTS_ATR_LIKVID'))
SET @WORK_END = CASE WHEN @WORK_END LIKE 'ДА' THEN 'Л' ELSE '' END
	
DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT, @Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,Period_Number*3,YEAR(Begin_Date))),
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS WHERE LINK_SAVED_FORM = @link

SELECT top 1
	DD1.OKPO AS OKPO1,
	RIGHT(REPLICATE('0',12) + LTRIM(RTRIM(DD1.INN)), 12) AS INN1,
	DD1.KPP AS KPP1,
	FULL_NAME = CONVERT(VARCHAR(160),UPPER(DD1.FULL_NAME)),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	RIGHT(REPLICATE('0',15) + LTRIM(RTRIM(DD1.OGRN)), 15) AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	OGRN = RIGHT(REPLICATE('0',15) + LTRIM(RTRIM(DD1.OGRN)), 15),
	DD1.OKATO,
	DD1.OKTMO,
	OKVED = (CASE WHEN LEN(ltrim(rtrim(DD1.OKVED)))<8 AND RIGHT(DD1.OKVED,1) = '.' THEN STUFF(DD1.OKVED,LEN(ltrim(rtrim(DD1.OKVED))),1,'') ELSE DD1.OKVED end) ,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TFOMS_KTI = '03',
	WORK_END = '1'
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP


/*Узнаем с какого номера начинаются пачки ондивидуальных сведений, для того чтобы вычислить номер пачки описи*/
IF OBJECT_ID('tempdb..#t_osn') IS NOT NULL DROP TABLE #t_osn
CREATE table #t_osn (code CHAR(10), COL1 INT , COL2 VARCHAR(10) , COL3 NUMERIC(18,2), COL4 NUMERIC(18,2), COL5 INT, COL6 VARCHAR(100), COL7 VARCHAR(10), col8 int , col9 int, col10 int, col11 int)
IF OBJECT_ID('tempdb..#t_kor') IS NOT NULL DROP TABLE #t_kor
CREATE table #t_kor (code CHAR(10), COL1 INT , COL2 CHAR(4) , COL3 NUMERIC(18,2), COL4 NUMERIC(18,2), COL5 VARCHAR(50), COL6 VARCHAR(50), COL7 VARCHAR(50), col8 int , col9 VARCHAR(100), col10 VARCHAR(10), col11 int, col12 int , col13 int, col14 VARCHAR(50), col15 VARCHAR(50), col16 VARCHAR(10))


INSERT INTO #t_osn /*(code, COL1, COL2, COL3, COL4, COL5, COL6, COL7, col8, col9, col10, col11)*/
exec [dbo].RSA_RSV_1_PERS_UCH @Begin_Date, @End_Date, @LINK_DEP ,0,  @link   

INSERT INTO #t_kor
exec [dbo].RSA_RSV_1_PERS_UCH @Begin_Date, @End_Date, @LINK_DEP ,1,  @link   

INSERT INTO #t_osn (code, COL1 , COL2 , COL4)
SELECT code, COL1 , COL2 , COL4
FROM #t_kor

DECLARE @NUM_P INT 
IF COALESCE(dbo.sa_get_option_by_code('SA_SZV4_OPT3'),0) = 1
	SET @NUM_P = (SELECT MIN(COALESCE(COL1,0))-1 FROM #t_osn) 
ELSE 
	SET @NUM_P = (SELECT MAX(COALESCE(COL1,0))+1 FROM #t_osn) 

drop table #t_osn 
drop table #t_kor

/**/





DECLARE @Cur0 CURSOR, @CurD0 CURSOR, @Cur00 CURSOR,@Cur000 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @TABD_NUM TINYINT, @TABD_NAME VARCHAR(254), @TAB1_NAME VARCHAR(254), @TAB1_NUM TINYINT, @Cur CURSOR, @Cur1 CURSOR , @Cur2 CURSOR , @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254),
		@CurI0 CURSOR,@CurI00 CURSOR,@CurI000 CURSOR,@CurI CURSOR, @CurI1 CURSOR, @CurI2 CURSOR

DECLARE @lcFNAME varchar(254)
SELECT @lcFNAME = 'PFR-700-Y-' + CONVERT(VARCHAR(4),@YEAR) + '-ORG-' + RTRIM(LTRIM(COALESCE(PFNUMBER,''))) + '-DCK-' + REPLACE(str((@NUM_P),5),' ','0') + '-DPT-000000-DCK-00000.XML' FROM #DEP_DATA

	--exec SA_RSV1_EXPORT_0700_2014   2565	


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'OEM' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="Windows-1251" ?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<ФайлПФР xmlns="http://schema.pfr.ru">'
	UNION ALL SELECT @lcFNAME, SPACE(1) + '<ИмяФайла>' + RTRIM(LTRIM(@lcFNAME)) + '</ИмяФайла>'
	UNION ALL SELECT @lcFNAME, SPACE(1) + '<ЗаголовокФайла>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ВерсияФормата>07.00</ВерсияФормата>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ТипФайла>ВНЕШНИЙ</ТипФайла>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ПрограммаПодготовкиДанных>'
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<НазваниеПрограммы>' + @NAME_PROG + '</НазваниеПрограммы>'
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<Версия>' + @VERS_PROG + '</Версия>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '</ПрограммаПодготовкиДанных>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ИсточникДанных>СТРАХОВАТЕЛЬ</ИсточникДанных> '
	UNION ALL SELECT @lcFNAME, SPACE(1) + '</ЗаголовокФайла>'
	UNION ALL SELECT @lcFNAME, SPACE(1) + '<ПачкаВходящихДокументов Окружение="Единичный запрос">'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<РАСЧЕТ_ПО_СТРАХОВЫМ_ВЗНОСАМ_НА_ОПС_И_ОМС_ПЛАТЕЛЬЩИКАМИ_ПРОИЗВОДЯЩИМИ_ВЫПЛАТЫ_ФЛ_2015>'
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<НомерВпачке>1</НомерВпачке>'
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегистрационныйНомерПФР>' + LTRIM(RTRIM(ISNULL(PFNUMBER,''))) + '</РегистрационныйНомерПФР>' + CHAR(10) +
								 SPACE(3) + '<НомерКорректировки>' + CASE @Version WHEN 0 THEN '000' ELSE (REPLICATE('0',2) + ltrim(rtrim(CONVERT(varchar(3),@Version)))) END + '</НомерКорректировки>' + CHAR(10) +
								 SPACE(3) + '<КодОтчетногоПериода>' + CASE @Period_Number WHEN 1 THEN '3' WHEN 2 THEN '6' WHEN 3 THEN '9' ELSE '0' END +'</КодОтчетногоПериода>' + CHAR(10) +
								 SPACE(3) + '<КалендарныйГод>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),@YEAR),''))) + '</КалендарныйГод> ' + CHAR(10) +
							   CASE WHEN LTRIM(RTRIM(ISNULL(@WORK_END,''))) = 'Л' THEN
										SPACE(3) + '<ПрекращениеДеятельности>' + LTRIM(RTRIM(ISNULL(@WORK_END,''))) + '</ПрекращениеДеятельности> ' + CHAR(10)
								 ELSE '' END
		FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, (	CASE  WHEN isnull(@ATR_TYPE_KOR,0) = 0 /*OR  @Version = 0*/ THEN ''
								ELSE
								SPACE(3) + '<ТипКорректировки>' + CONVERT(varchar(1),@ATR_TYPE_KOR) + '</ТипКорректировки>' + CHAR(10)
								END)

	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<НаименованиеОрганизации>' + LTRIM(RTRIM(ISNULL(FULL_NAME,''))) + '</НаименованиеОрганизации>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегистрационныйНомерТФОМС>' + LTRIM(RTRIM(ISNULL(TFOMS_RNUM,''))) + '</РегистрационныйНомерТФОМС>' FROM #DEP_DATA
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<ИННсимвольный>' + LTRIM(RTRIM(ISNULL(INN1,''))) + '</ИННсимвольный>' FROM #DEP_DATA
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<КПП>' + LTRIM(RTRIM(ISNULL(KPP1,''))) + '</КПП>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<ОГРН>' + LTRIM(RTRIM(ISNULL(OGRN1,''))) + '</ОГРН>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + case when @OKATO_OR_OKTMO = 1
				--							 then ('<КодПоОКАТО>' + REPLACE(LTRIM(RTRIM(ISNULL(OKATO,''))),SPACE(1),'') + '</КодПоОКАТО>' )
				--							 ELSE ('<КодПоОКТМО>' + REPLACE(LTRIM(RTRIM(ISNULL(OKTMO,''))),SPACE(1),'') + '</КодПоОКТМО>' ) END
				--							 FROM #DEP_DATA
	  											
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<КодПоОКВЭД>' + LTRIM(RTRIM(ISNULL(OKVED,''))) + '</КодПоОКВЭД>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<КодПоОКПО>' + LTRIM(RTRIM(ISNULL(OKPO,''))) + '</КодПоОКПО>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<КодПоОКОПФ>' + LTRIM(RTRIM(ISNULL(OKOPF,''))) + '</КодПоОКОПФ>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<КодПоОКФС>' + LTRIM(RTRIM(ISNULL(OKFS,''))) + '</КодПоОКФС>' FROM #DEP_DATA
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<Телефон>' + LTRIM(RTRIM(ISNULL(GL_PHONE,''))) + '</Телефон>' FROM #DEP_DATA

	 -- UNION ALL SELECT @lcFNAME, SPACE(3) + '<АдресРегистрации>'
		 -- UNION ALL SELECT @lcFNAME, SPACE(4) + '<ТипАдреса>РОССИЙСКИЙ</ТипАдреса>'
		 -- UNION ALL SELECT @lcFNAME, SPACE(4) + '<Индекс>'+ LTRIM(RTRIM(ISNULL(PINDEX,''))) + '</Индекс>' FROM #DEP_DATA
		 -- UNION ALL SELECT @lcFNAME, SPACE(4) + '<РоссийскийАдрес>' + CHAR(10) +

			--								CASE WHEN LTRIM(RTRIM(ISNULL(REGION,''))) <> '' THEN
			--								 SPACE(5) + '<Регион>' + CHAR(10) +
			--									SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(REGION,len(REGION)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(REGION),1,' '))) ) )) + '</ГеографическоеНазвание>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(REGION),1,' ')) )) + '</Сокращение>' + CHAR(10) +
			--								SPACE(5) + '</Регион>' + CHAR(10)
			--								ELSE '' END +
											
			--								CASE WHEN LTRIM(RTRIM(ISNULL(RAION,''))) <> '' THEN
			--								 SPACE(5) + '<Район>' + CHAR(10) +
			--									SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(RAION,len(RAION)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(RAION),1,' '))) ) )) + '</ГеографическоеНазвание>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(RAION),1,' ')) )) + '</Сокращение>' + CHAR(10) +
			--								SPACE(5) + '</Район>' + CHAR(10)
			--								ELSE '' END +

			--								CASE WHEN LTRIM(RTRIM(ISNULL(GOROD,''))) <> '' THEN
			--								 SPACE(5) + '<Город>' + CHAR(10) +
			--									SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(GOROD,len(GOROD)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(GOROD),1,' '))) ) )) + '</ГеографическоеНазвание>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(GOROD),1,' ')) )) + '</Сокращение>' + CHAR(10) +
			--								SPACE(5) + '</Город>' + CHAR(10)
			--								ELSE '' END +

			--								CASE WHEN LTRIM(RTRIM(ISNULL(NASEL,''))) <> '' THEN
			--								 SPACE(5) + '<НаселенныйПункт>' + CHAR(10) +
			--									SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(NASEL,len(NASEL)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(NASEL),1,' '))) ) )) + '</ГеографическоеНазвание>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(NASEL),1,' ')) )) + '</Сокращение>' + CHAR(10) +
			--								SPACE(5) + '</НаселенныйПункт>' + CHAR(10)
			--								ELSE '' END +	

			--								CASE WHEN LTRIM(RTRIM(ISNULL(STREET,''))) <> '' THEN
			--								SPACE(5) + '<Улица>' + CHAR(10)
			--									+ SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(STREET,len(STREET)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(STREET),1,' '))) ) ))+'</ГеографическоеНазвание>' + CHAR(10)
			--									+ SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(STREET),1,' ')) ))+'</Сокращение>' + CHAR(10)
			--									+ SPACE(5) + '</Улица>' + CHAR(10)
			--								ELSE '' END	+			

			--								CASE WHEN LTRIM(RTRIM(ISNULL(HOUSE,''))) <> '' THEN
			--								 SPACE(5) + '<Дом>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>ДОМ</Сокращение>' + CHAR(10) +
			--									SPACE(6) + '<Номер>'+ UPPER(LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),HOUSE),'')))) + '</Номер>' + CHAR(10) +
			--								SPACE(5) + '</Дом>' + CHAR(10)
			--								ELSE '' END +												

			--								CASE WHEN LTRIM(RTRIM(ISNULL(KORP,''))) <> '' THEN
			--								 SPACE(5) + '<Корпус>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>КОРП.</Сокращение>' + CHAR(10) +
			--									SPACE(6) + '<Номер>'+ UPPER(LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),KORP),'')))) + '</Номер>' + CHAR(10) +
			--								SPACE(5) + '</Корпус>' + CHAR(10)
			--								ELSE '' END +																

			--								CASE WHEN LTRIM(RTRIM(ISNULL(FLAT,''))) <> '' THEN
			--								 SPACE(5) + '<Квартира>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>КВ.</Сокращение>' + CHAR(10) +
			--									SPACE(6) + '<Номер>'+ UPPER(LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),FLAT),'')))) + '</Номер>' + CHAR(10) +
			--								SPACE(5) + '</Квартира>' + CHAR(10)
			--								ELSE '' END +				
											
			--						SPACE(4) + '</РоссийскийАдрес>' + CHAR(10) +
			--					SPACE(3) + '</АдресРегистрации>'
			--FROM #DEP_DATA

------ стр.1_2
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
select @lcFNAME,
		CASE WHEN T.COL = 3 THEN
			SPACE(3) + '<КоличествоЗЛ>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ>'
		ELSE
			SPACE(3) + '<СреднесписочнаяЧисленность>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СреднесписочнаяЧисленность>'		
		END	
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, 1, DEFAULT) T WHERE T.COL IN (3,4) ORDER BY T.COL


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)	
		 --SELECT @lcFNAME, SPACE(3) + '<КодУстановленногоТарифа>' + LTRIM(RTRIM(ISNULL(TFOMS_KT,''))) + '</КодУстановленногоТарифа>' FROM #DEP_DATA
/*UNION ALL*/ SELECT @lcFNAME, SPACE(3) + '<КоличествоСтраниц>14</КоличествоСтраниц>'
UNION ALL SELECT @lcFNAME, SPACE(3) + '<КоличествоЛистовПриложения>0</КоличествоЛистовПриложения>'

----- стр.2
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел1РасчетПоНачисленнымУплаченным2014>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ОстатокЗадолженностиНаНачалоРасчетногоПериода>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, CASE T.COL
	WHEN 3 THEN SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
				SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN	SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	WHEN 5 THEN SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN SPACE(6) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN SPACE(6) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'
	WHEN 8 THEN SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'		
	--WHEN 6 THEN SPACE(5) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>'
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 1, DEFAULT) T WHERE T.COL IN (3,4,5,6,7,8) ORDER BY T.COL

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ОстатокЗадолженностиНаНачалоРасчетногоПериода>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<НачисленоСначалаРасчетногоПериода>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME,
	CASE T.COL
	WHEN 3 THEN
		CASE T.ROW 
			WHEN 2 THEN SPACE(5) + '<ВсегоСначалаРасчетногоПериода>' 
			WHEN 6 THEN SPACE(5) + '<ПоследниеТриМесяцаИтого>' 
			ELSE SPACE(5) + '<ПоследниеТриМесяца' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.ROW - 2))) + '>' 
		END + CHAR(10) +
				SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
				SPACE(6) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	--WHEN 4 THEN SPACE(6) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN SPACE(6) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN SPACE(6) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
	WHEN 8 THEN SPACE(6) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	+ CHAR(10) +		
	--WHEN 6 THEN SPACE(6) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>' + CHAR(10) +	
		CASE T.ROW 
			WHEN 2 THEN SPACE(5) + '</ВсегоСначалаРасчетногоПериода>' 
			WHEN 6 THEN SPACE(5) + '</ПоследниеТриМесяцаИтого>' 
			ELSE SPACE(5) + '</ПоследниеТриМесяца' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.ROW - 2))) + '>' 
		END	
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 0, DEFAULT) T WHERE ROW IN (2,3,4,5,6) AND T.COL IN (3,6,7,8) ORDER BY T.ROW, T.COL

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</НачисленоСначалаРасчетногоПериода>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ДоначисленоСначалаРасчетногоПериодаВсего>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, CASE T.COL
	WHEN 3 THEN --SPACE(5) + '<ВсегоСначалаРасчетногоПериода2013>' + CHAR(10) +
					SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN		SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	WHEN 5 THEN		SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN		SPACE(5) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN		SPACE(5) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
	WHEN 8 THEN		SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	
				--SPACE(5) + '</ВсегоСначалаРасчетногоПериода2013>'
	--WHEN 6 THEN sPACE(5) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>'
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 7, DEFAULT) T WHERE T.COL IN (3,4,5,6,7,8) ORDER BY T.COL
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ДоначисленоСначалаРасчетногоПериодаВсего>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ДоначисленоСначалаРасчетногоПериодаПревышающие>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, CASE T.COL
	WHEN 3 THEN	--SPACE(5) + '<СсуммПревышающихПредельнуюВеличинуБазы>' + CHAR(10) +	
					SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN		SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	--WHEN 5 THEN		SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	--WHEN 6 THEN		SPACE(5) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	--WHEN 7 THEN		SPACE(5) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'	
	--WHEN 8 THEN		SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	
				--SPACE(5) + '</СсуммПревышающихПредельнуюВеличинуБазы>'	
	--WHEN 6 THEN sPACE(5) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>'
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 8, DEFAULT) T WHERE T.COL IN (3,4) ORDER BY T.COL
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ДоначисленоСначалаРасчетногоПериодаПревышающие>'

---------------------
DECLARE @N_STR INT
IF @YEAR = 2015 AND @Period_Number = 1 
begin
	SET @N_STR = 10
END 
ELSE BEGIN 
	SET @N_STR = 12
	END 	
	
----------------------
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ВсегоКуплате>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, CASE T.COL
	WHEN 3 THEN --SPACE(5) + '<ВсегоСначалаРасчетногоПериода2013>' + CHAR(10) +
					SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN		SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	WHEN 5 THEN		SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN		SPACE(5) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN		SPACE(5) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
	WHEN 8 THEN		SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, @N_STR, DEFAULT) T WHERE T.COL IN (3,4,5,6,7,8) ORDER BY T.COL
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ВсегоКуплате>'


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<УплаченоСначалаРасчетногоПериода>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME,
	CASE T.COL
		WHEN 3 THEN
			CASE T.ROW_CODE 
					WHEN '140' THEN SPACE(5) + '<ВсегоСначалаРасчетногоПериода>' 
					WHEN '144' THEN SPACE(5) + '<ПоследниеТриМесяцаИтого>' 
					ELSE SPACE(5) + '<ПоследниеТриМесяца' + LTRIM(RTRIM(CONVERT(VARCHAR(1),CONVERT(INT,T.ROW_CODE) - 140))) + '>' 
			END + CHAR(10) +
						SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
						SPACE(6) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
		
		WHEN 4 THEN SPACE(6) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
		WHEN 5 THEN SPACE(6) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
		WHEN 6 THEN SPACE(6) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
		WHEN 7 THEN SPACE(6) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
		WHEN 8 THEN SPACE(6) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	+ CHAR(10) +		
		--WHEN 6 THEN SPACE(6) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>' + CHAR(10) +	
		CASE T.ROW_CODE
			WHEN '140' THEN SPACE(5) + '</ВсегоСначалаРасчетногоПериода>' 
			WHEN '144' THEN SPACE(5) + '</ПоследниеТриМесяцаИтого>' 
			ELSE SPACE(5) + '</ПоследниеТриМесяца' + LTRIM(RTRIM(CONVERT(VARCHAR(1),CONVERT(INT,T.ROW_CODE) - 140))) + '>' 
		END	
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 0, DEFAULT) T WHERE ROW_CODE IN ('140','141','142','143','144') AND T.COL IN (3,4,5,6,7,8) ORDER BY T.ROW, T.COL

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</УплаченоСначалаРасчетногоПериода>'

--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ВтомЧислеЗаПредыдущиеРасчетныеПериоды2013>'
--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
--SELECT @lcFNAME, CASE T.COL
--	WHEN 3 THEN SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
--		 SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
--	WHEN 4 THEN SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
--	WHEN 5 THEN	SPACE(6) + '<ОПСстраховаяЧастьПоДопТар1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧастьПоДопТар1>'		
--	WHEN 6 THEN	SPACE(6) + '<ОПСстраховаяЧастьПоДопТар2>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧастьПоДопТар2>'
--	WHEN 7 THEN SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'		
--	--WHEN 6 THEN SPACE(5) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>'
--	END						
--FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 16, DEFAULT) T WHERE T.COL IN (3,4,5,6,7) ORDER BY T.COL
--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ВтомЧислеЗаПредыдущиеРасчетныеПериоды2013>'


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ОстатокЗадолженностиНаКонецРасчетногоПериода>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME,
	CASE T.COL
	WHEN 3 THEN	SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
				SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN	SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	WHEN 5 THEN	SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN	SPACE(5) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN	SPACE(5) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
	WHEN 8 THEN	SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	
	END							
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, DEFAULT) T WHERE T.ROW_CODE = '150' AND T.COL IN (3,4,5,6,7,8) ORDER BY T.COL
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ОстатокЗадолженностиНаКонецРасчетногоПериода>'


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</Раздел1РасчетПоНачисленнымУплаченным2014>'	


-----Разделы 2
CREATE TABLE #TABLES (NUM TINYINT, TAB_NAME VARCHAR(254))
INSERT INTO #TABLES
		SELECT 3,'Раздел2РасчетПоТарифуИдопТарифу'
		
CREATE TABLE #TABLES_1 (NUM1 TINYINT, TAB_NUM TINYINT, TAB1_NAME varchar(254))
INSERT INTO #TABLES_1
		SELECT 4,3, 'Раздел_2_1'

CREATE TABLE #STR_2_1R (NUM TINYINT, TAB_NUM TINYINT, RAZDEL_NAME VARCHAR(254))
INSERT INTO #STR_2_1R
		SELECT 1,4,'НаОбязательноеПенсионноеСтрахование'
UNION	SELECT 2,4,'НаОбязательноеМедицинскоеСтрахование'

--UNION	SELECT 2,4,'НачисленоСтраховыхВзносовВпользуРаботниковИнвалидов'
--UNION	SELECT 3,4,'РасчетПоВыплатамРаботникамЕНВД' WHERE @YEAR <= 2010
--UNION	SELECT 4,4,'НачисленоСтраховыхВзносовВпользуРаботниковЕНВД' WHERE @YEAR <= 2010

CREATE TABLE #STR_2_1B (NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME VARCHAR(254))
INSERT INTO #STR_2_1B
		SELECT 1,1,'СуммаВыплатИвознагражденийОПС'
UNION	SELECT 2,1,'НеПодлежащиеОбложениюОПС'
UNION	SELECT 3,1,'СуммаРасходовПринимаемыхКвычетуОПС'
UNION	SELECT 4,1,'ПревышающиеПредельнуюВеличинуБазыОПС'
UNION	SELECT 5,1,'БазаДляНачисленияСтраховыхВзносовНаОПС'
UNION	SELECT 6,1,'НачисленоНаОПСсСуммНеПревышающих'
UNION	SELECT 7,1,'НачисленоНаОПСсСуммПревышающих'
UNION	SELECT 8,1,'КоличествоФЛвсего'
UNION	SELECT 9,1,'КоличествоФЛпоКоторымБазаПревысилаПредел'
UNION	SELECT 10,2,'СуммаВыплатИвознаграждений'
UNION	SELECT 11,2,'НеПодлежащиеОбложению'
UNION	SELECT 12,2,'СуммаРасходовПринимаемыхКвычету'

IF @Period_Number = 1 AND @YEAR = 2015
begin 
	INSERT INTO #STR_2_1B -- первый квартал 2015 года не выводится
		SELECT 13,2,'ПревышающиеПредельнуюВеличинуБазы' 
		UNION	SELECT 14,2,'БазаДляНачисленияСтраховыхВзносовНаОМС'
		UNION	SELECT 15,2,'НачисленоНаОМС'
END 
ELSE BEGIN 
	INSERT INTO #STR_2_1B  -- со второго квартала 2015 года выводится	
		SELECT 13,2,'БазаДляНачисленияСтраховыхВзносовНаОМС'
		UNION	SELECT 14,2,'НачисленоНаОМС'
		UNION SELECT 15,2,'КоличествоФЛвсего'
	END 


--- ДОП ТАРИФЫ раздел 2_2 2_3
CREATE TABLE #TABLES1 (NUM TINYINT, TAB_NAME VARCHAR(254))
INSERT INTO #TABLES1
		SELECT 5,'Раздел_2_2'
union SELECT 6,'Раздел_2_3'



CREATE TABLE #STR_2_2C (NUM TINYINT, TAB_NUM TINYINT, BLOK_NAME VARCHAR(254))
INSERT INTO #STR_2_2C
		SELECT 1,5,'СуммаВыплатИвознагражденийПоДопТарифу'
UNION	SELECT 2,5,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 3,5,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 4,5,'НачисленоПоДопТарифу'
UNION	SELECT 5,5,'КоличествоФЛпоДопТарифу'

UNION	SELECT 6,6,'СуммаВыплатИвознагражденийПоДопТарифу'
UNION	SELECT 7,6,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 8,6,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 9,6,'НачисленоПоДопТарифу'
UNION	SELECT 10,6,'КоличествоФЛпоДопТарифу'


CREATE TABLE #TABLES_2 (NUM2 TINYINT, TAB2_NAME varchar(254))
INSERT INTO #TABLES_2
		SELECT 7, 'Раздел_2_4'

CREATE TABLE #STR_2_4R (NUM TINYINT, TAB_NUM TINYINT, RAZDEL_NAME VARCHAR(254))
INSERT INTO #STR_2_4R
		SELECT 1,7,'РасчетНачисленныхПоКодуСпецОценкиУТ'
CREATE TABLE #STR_2_4r1 (NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME VARCHAR(254))
INSERT INTO #STR_2_4r1
		SELECT 1,1,'РасчетНачисленныхПоДопТарифу'
UNION	SELECT 2,1,'РасчетНачисленныхПоДопТарифу'
UNION	SELECT 3,1,'РасчетНачисленныхПоДопТарифу'
UNION	SELECT 4,1,'РасчетНачисленныхПоДопТарифу'
UNION	SELECT 5,1,'РасчетНачисленныхПоДопТарифу'
CREATE TABLE #STR_2_4B (NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME VARCHAR(254))
INSERT INTO #STR_2_4B
		SELECT 1,1,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 2,1,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 3,1,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 4,1,'НачисленоПоДопТарифу'
UNION	SELECT 5,1,'КоличествоФЛпоДопТарифу'
UNION	SELECT 6,2,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 7,2,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 8,2,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 9,2,'НачисленоПоДопТарифу'
UNION	SELECT 10,2,'КоличествоФЛпоДопТарифу'
UNION	SELECT 11,3,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 12,3,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 13,3,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 14,3,'НачисленоПоДопТарифу'
UNION	SELECT 15,3,'КоличествоФЛпоДопТарифу'
UNION	SELECT 16,4,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 17,4,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 18,4,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 19,4,'НачисленоПоДопТарифу'
UNION	SELECT 20,4,'КоличествоФЛпоДопТарифу'
UNION	SELECT 21,5,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 22,5,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 23,5,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 24,5,'НачисленоПоДопТарифу'
UNION	SELECT 25,5,'КоличествоФЛпоДопТарифу'


--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<' + @TAB_NAME + '>'
--select * from DBO.SA_SAVED_REPORT_VIEW (37368, 3, 0, DEFAULT) T WHERE T.COL IN (3) ORDER BY T.COL
---- exec [dbo].SA_RSV1_EXPORT_0700_2014    2195

create table #T21 (tabl int , row int, ROW_CODE varchar(10) , COL int , SUMMA numeric(10) , summa2 numeric(15,2), STR_VAL varchar(100) )
insert into #T21
select tabl,
row,
ROW_CODE,
COL,
SUMMA = sum(summa) ,
summa2  = sum(summa2),
STR_VAL
from
(select tabl ,
row,
ROW_CODE,
COL,
SUMMA ,
summa2 ,
STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, DEFAULT, DEFAULT) T WHERE T.COL IN (3,4,5,6) --ORDER BY T.COL
union all
select 	
tabl = 3 ,
ROW ,
ROW_CODE  = CASE ROW_CODE WHEN '2000' then '200'
							WHEN '2010' then '201'
							WHEN '2020' then '202'
							WHEN '2030' then '203'
							WHEN '2040' then '204'
							WHEN '2050' then '205'
							WHEN '2060' then '206'
							WHEN '2070' then '207'
							WHEN '2080' then '208'
							WHEN '2090' then '209'
							WHEN '2100' then '210'
							WHEN '2110' then '211'
							WHEN '2120' then '212'
							WHEN '2130' then '213'
							WHEN '2140' then '214'
							WHEN '2150' then '215'   end,
COL ,
SUMMA ,
summa2,
STR_VAL
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, DEFAULT, DEFAULT) T WHERE T.COL IN (3,4,5,6)
) a
group by  tabl,
row,
ROW_CODE,
COL, STR_VAL



SET @Cur0 = CURSOR FORWARD_ONLY
FOR select NUM, TAB_NAME from #TABLES order by NUM
OPEN @Cur0
FETCH NEXT FROM @Cur0 INTO @TAB_NUM, @TAB_NAME
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN	
		
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<' + @TAB_NAME + '>'
		
		SET @Cur = CURSOR FORWARD_ONLY
		FOR select NUM1, TAB1_NAME from #TABLES_1 WHERE TAB_NUM = @TAB_NUM order by NUM1
		OPEN @Cur
		FETCH NEXT FROM @Cur INTO @TAB1_NUM, @TAB1_NAME
		WHILE (@@fetch_status <> -1)
		BEGIN
			IF (@@fetch_status <> -2)
			BEGIN	

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TAB1_NAME + '>'
					
			--- Рабочие тариф 01
			IF @TAB1_NUM = 4
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КодТарифа>' + LTRIM(RTRIM(ISNULL(TFOMS_KT,'')))  + '</КодТарифа>' FROM #DEP_DATA

				SET @Cur1 = CURSOR FORWARD_ONLY
				FOR select NUM, RAZDEL_NAME from #STR_2_1R WHERE TAB_NUM = @TAB1_NUM order by NUM
				OPEN @Cur1
				FETCH NEXT FROM @Cur1 INTO @RAZDEL_NUM, @RAZDEL_NAME
				WHILE (@@fetch_status <> -1)
				BEGIN
					IF (@@fetch_status <> -2)
					BEGIN		
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<' + @RAZDEL_NAME + '>'
						
						SET @Cur2 = CURSOR FORWARD_ONLY
						FOR select NUM, BLOK_NAME from #STR_2_1B WHERE RAZDEL_NUM = @RAZDEL_NUM OR RAZDEL_NUM = @RAZDEL_NUM order by NUM
						OPEN @Cur2
						FETCH NEXT FROM @Cur2 INTO @NUM, @BLOK_NAME
						WHILE (@@fetch_status <> -1)
						BEGIN
							IF (@@fetch_status <> -2)
							BEGIN
								--IF ((@Period_Number != 1 AND @YEAR >= 2015) AND @NUM != 13 ) 
								--BEGIN
								--EXEC  SA_RSV1_EXPORT_0700_2014 703
									if @num = 8 or @num = 9 OR  (@End_Date >='20150401' and  @NUM = 15) 
									BEGIN
										IF @End_Date >='20150401'
										begin
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
								
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
												CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
													 SPACE(7) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),SUM(T.SUMMA)),''))) + '</КоличествоЗЛ_Всего>'
												ELSE SPACE(7) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),sum(T.SUMMA)),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
												END				
											FROM #t21 t WHERE T.COL IN (3,4,5,6) and  row = @NUM GROUP BY T.COL , T.ROW_CODE ORDER BY T.COL
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'
										END
									end
									else begin
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
												CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
													 SPACE(7) + '<РасчетСумм>' + CHAR(10) +
													 SPACE(8) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),SUM(T.SUMMA2)),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
												ELSE SPACE(8) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),SUM(T.SUMMA2)),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
												END				
											FROM #t21 t WHERE T.COL IN (3,4,5,6) and  row = @NUM GROUP BY T.COL , T.ROW_CODE ORDER BY T.COL
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</РасчетСумм>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'
									end
								--END
							END
							FETCH NEXT FROM @Cur2 INTO @NUM, @BLOK_NAME
							
						END 
						CLOSE @Cur2
						DEALLOCATE @Cur2
						
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</' + @RAZDEL_NAME + '>'
					END
					FETCH NEXT FROM @Cur1 INTO @RAZDEL_NUM, @RAZDEL_NAME
					
				END
				CLOSE @Cur1
				DEALLOCATE @Cur1
			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
			end	
			FETCH NEXT FROM @Cur INTO @TAB1_NUM, @TAB1_NAME
			END
		CLOSE @Cur
		DEALLOCATE @Cur

		/*--- Инвалиды тариф 03
		if (select count(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND SUMMA <> 0 ) > 0
		begin
			SET @CurI0 = CURSOR FORWARD_ONLY
			FOR select NUM1, TAB1_NAME from #TABLES_1 order by NUM1
			OPEN @CurI0
			FETCH NEXT FROM @CurI0 INTO @TAB1_NUM, @TAB1_NAME
			WHILE (@@fetch_status <> -1)
			BEGIN
				IF (@@fetch_status <> -2)
				BEGIN	
				
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TAB1_NAME + '>'


					--- Инвалиды тариф 03
					IF @TAB1_NUM = 4
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КодТарифа>' + LTRIM(RTRIM(ISNULL(TFOMS_KT,'')))  + '</КодТарифа>' FROM #DEP_DATA

					SET @CurI = CURSOR FORWARD_ONLY
					FOR select NUM, RAZDEL_NAME from #STR_2_1R WHERE TAB_NUM = @TAB1_NUM order by NUM
					OPEN @CurI
					FETCH NEXT FROM @CurI INTO @RAZDEL_NUM, @RAZDEL_NAME
					WHILE (@@fetch_status <> -1)
					BEGIN
						IF (@@fetch_status <> -2)
						BEGIN		

							INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<' + @RAZDEL_NAME + '>'
					
							SET @CurI1 = CURSOR FORWARD_ONLY
							FOR select NUM, BLOK_NAME from #STR_2_1B WHERE RAZDEL_NUM = @RAZDEL_NUM OR RAZDEL_NUM = @RAZDEL_NUM order by NUM
							OPEN @CurI1
							FETCH NEXT FROM @CurI1 INTO @NUM, @BLOK_NAME
							WHILE (@@fetch_status <> -1)
							BEGIN
								IF (@@fetch_status <> -2)
								BEGIN
									if @num = 8 or @num = 9
									begin
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
												CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + substring(LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))),1,3) + '</КодСтроки>' + CHAR(10) +
													 SPACE(7) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
												ELSE SPACE(7) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
												END				
											FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'
									end
									else begin
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
												CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + substring(LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))),1,3) + '</КодСтроки>' + CHAR(10) +
													 SPACE(7) + '<РасчетСумм>' + CHAR(10) +
													 SPACE(8) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
												ELSE SPACE(8) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
												END				
											FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</РасчетСумм>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'

									end
								END
								FETCH NEXT FROM @CurI1 INTO @NUM, @BLOK_NAME
							END
							CLOSE @CurI1
							DEALLOCATE @CurI1

							INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</' + @RAZDEL_NAME + '>'
						END
						FETCH NEXT FROM @CurI INTO @RAZDEL_NUM, @RAZDEL_NAME
					END
					CLOSE @CurI
					DEALLOCATE @CurI
						
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
				END
				FETCH NEXT FROM @CurI0 INTO @TAB1_NUM, @TAB1_NAME
			END
			CLOSE @CurI0
			DEALLOCATE @CurI0	
		end

*/

		------------------------------------------------
		------------------------------------------------

		--- ДОП ТАРИФЫ
		---Раздел 2.2 и 2.3
		SET @CurD0 = CURSOR FORWARD_ONLY
		FOR select NUM, TAB_NAME from #TABLES1 order by NUM
		OPEN @CurD0
		FETCH NEXT FROM @CurD0 INTO @TABD_NUM, @TABD_NAME
		WHILE (@@fetch_status <> -1)
		BEGIN
			IF (@@fetch_status <> -2)
			BEGIN	
			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TABD_NAME + '>'
				--- ДОП ТАРИФЫ 01
				--IF @TAB_NUM = 5
				--	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<КодТарифа>' + LTRIM(RTRIM(ISNULL(TFOMS_KT,''))) + '</КодТарифа>' FROM #DEP_DATA

				--SET @Cur = CURSOR FORWARD_ONLY
				--FOR select NUM, RAZDEL_NAME from #STR_2_1R WHERE TAB_NUM = @TAB_NUM order by NUM
				--OPEN @Cur
				--FETCH NEXT FROM @Cur INTO @RAZDEL_NUM, @RAZDEL_NAME
				--WHILE (@@fetch_status <> -1)
				--BEGIN
				--	IF (@@fetch_status <> -2)
				--	BEGIN		

				--		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @RAZDEL_NAME + '>'
						
						SET @Cur = CURSOR FORWARD_ONLY
						FOR select NUM, BLOK_NAME from #STR_2_2C WHERE TAB_NUM = @TABD_NUM OR TAB_NUM = @TABD_NUM order by NUM
						OPEN @Cur
						FETCH NEXT FROM @Cur INTO @NUM, @BLOK_NAME
						WHILE (@@fetch_status <> -1)
						BEGIN
							IF (@@fetch_status <> -2)
							BEGIN
								if @num = 5 or @num = 10
								begin
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME,
											CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
												 SPACE(7) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
											ELSE SPACE(7) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
											END				
										FROM DBO.SA_SAVED_REPORT_VIEW (@link, 5, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'

								end
								else begin
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME,
											CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
												 SPACE(7) + '<РасчетСумм>' + CHAR(10) +
												 SPACE(8) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
											ELSE SPACE(8) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
											END				
										FROM DBO.SA_SAVED_REPORT_VIEW (@link, 5, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</РасчетСумм>'
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'
								end
							END
							FETCH NEXT FROM @Cur INTO @NUM, @BLOK_NAME
						END
						CLOSE @Cur
						DEALLOCATE @Cur

				--		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @RAZDEL_NAME + '>'
				--	END
				--	FETCH NEXT FROM @Cur INTO @RAZDEL_NUM, @RAZDEL_NAME
				--END
				--CLOSE @Cur
				--DEALLOCATE @Cur
			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TABD_NAME + '>'
			END
			FETCH NEXT FROM @CurD0 INTO @TABD_NUM, @TABD_NAME

		END
		CLOSE @CurD0
		DEALLOCATE @CurD0

		------------------------------------------------
		------------------------------------------------

		--- ДОП ТАРИФЫ
		---Раздел 2.4_1 и 2.4_2
		SET @Cur00 = CURSOR FORWARD_ONLY
		FOR select NUM2, TAB2_NAME from #TABLES_2
		OPEN @Cur00
		FETCH NEXT FROM @Cur00 INTO @TAB1_NUM, @TAB1_NAME
		WHILE (@@fetch_status <> -1)
		BEGIN
			IF (@@fetch_status <> -2)
			BEGIN	
			
				if (select count(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND SUMMA <> 0 ) > 0
				BEGIN	
			--- --- доп тариф 01
				IF @TAB1_NUM = 7
				BEGIN
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TAB1_NAME + '>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КодОснованияРасчетаПоДопТарифу>' + LTRIM(RTRIM('1')) + '</КодОснованияРасчетаПоДопТарифу>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ОснованиеЗаполненияРаздела2_4>' + LTRIM(RTRIM('РЕЗУЛЬТАТЫ СПЕЦОЦЕНКИ')) + '</ОснованиеЗаполненияРаздела2_4>'
				end
				SET @Cur000 = CURSOR FORWARD_ONLY
				FOR select NUM, RAZDEL_NAME from #STR_2_4R WHERE TAB_NUM = @TAB1_NUM order by NUM
				OPEN @Cur000
				FETCH NEXT FROM @Cur000 INTO @RAZDEL_NUM, @RAZDEL_NAME
				WHILE (@@fetch_status <> -1)
				BEGIN
					IF (@@fetch_status <> -2)
					BEGIN		

						
						
						
						--NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME
						SET @Cur1 = CURSOR FORWARD_ONLY
						FOR select NUM, BLOK_NAME from #STR_2_4R1 WHERE RAZDEL_NUM = @RAZDEL_NUM order by NUM
						OPEN @Cur1
						FETCH NEXT FROM @Cur1 INTO @TABD_NUM, @TABD_NAME
						WHILE (@@fetch_status <> -1)
						BEGIN
							IF (@@fetch_status <> -2)
							BEGIN		
								
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<' + @RAZDEL_NAME + '>'
								
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
													SPACE(6) + '<КодСпециальнойОценкиУсловийТруда>' +
													(CASE WHEN @TABD_NUM = 1 THEN LTRIM(RTRIM('О4'))
														 WHEN @TABD_NUM = 2 THEN LTRIM(RTRIM('В3.4'))
														 WHEN @TABD_NUM = 3 THEN LTRIM(RTRIM('В3.3'))
														 WHEN @TABD_NUM = 4 THEN LTRIM(RTRIM('В3.2'))
														 ELSE LTRIM(RTRIM('В3.1')) END ) + '</КодСпециальнойОценкиУсловийТруда>'
								
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @TABD_NAME + '>'	
									
									
									SET @Cur2 = CURSOR FORWARD_ONLY
									FOR select NUM, BLOK_NAME from #STR_2_4B WHERE RAZDEL_NUM = @TABD_NUM OR RAZDEL_NUM = @TABD_NUM order by NUM
									OPEN @Cur2
									FETCH NEXT FROM @Cur2 INTO @NUM, @BLOK_NAME
									WHILE (@@fetch_status <> -1)
									BEGIN
										IF (@@fetch_status <> -2)
										BEGIN
												
																						
											if @num = 5 or @num = 10 or @num = 15 or @num = 20 or @num = 25
											begin
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '<' + @BLOK_NAME + '>'
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT @lcFNAME,
														CASE WHEN T.COL = 3 THEN SPACE(8) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
															 SPACE(8) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
														ELSE SPACE(8) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
														END				
													FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</' + @BLOK_NAME + '>'

											end
											else begin
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '<' + @BLOK_NAME + '>'
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT @lcFNAME,
														CASE WHEN T.COL = 3 THEN SPACE(8) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
															 SPACE(8) + '<РасчетСумм>' + CHAR(10) +
															 SPACE(9) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
														ELSE SPACE(9) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
														END				
													FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(8) + '</РасчетСумм>'
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</' + @BLOK_NAME + '>'
											end
										END
										FETCH NEXT FROM @Cur2 INTO @NUM, @BLOK_NAME
									END
									CLOSE @Cur2
									DEALLOCATE @Cur2
								
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @TABD_NAME + '>'	
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</' + @RAZDEL_NAME + '>'
							END
							FETCH NEXT FROM @Cur1 INTO @TABD_NUM, @TABD_NAME
					
						END
						CLOSE @Cur1
						DEALLOCATE @Cur1						
						
						
						
					END
					FETCH NEXT FROM @Cur000 INTO @RAZDEL_NUM, @RAZDEL_NAME	
				END 	
				CLOSE @Cur000
				DEALLOCATE @Cur000
				
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
				END
				/***************************/	
			--- доп тариф 2
				/***************************/
				if (select count(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND SUMMA <> 0 ) > 0
				begin
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TAB1_NAME + '>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КодОснованияРасчетаПоДопТарифу>' + LTRIM(RTRIM('2')) + '</КодОснованияРасчетаПоДопТарифу>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ОснованиеЗаполненияРаздела2_4>' + LTRIM(RTRIM('РЕЗУЛЬТАТЫ СПЕЦОЦЕНКИ')) + '</ОснованиеЗаполненияРаздела2_4>'

					SET @CurI0 = CURSOR FORWARD_ONLY
					FOR select NUM, RAZDEL_NAME from #STR_2_4R WHERE TAB_NUM = @TAB1_NUM order by NUM
					OPEN @CurI0
					FETCH NEXT FROM @CurI0 INTO @RAZDEL_NUM, @RAZDEL_NAME
					WHILE (@@fetch_status <> -1)
					BEGIN
						IF (@@fetch_status <> -2)
						BEGIN		

							
														
							--NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME
							SET @CurI00 = CURSOR FORWARD_ONLY
							FOR select NUM, BLOK_NAME from #STR_2_4R1 WHERE RAZDEL_NUM = @RAZDEL_NUM order by NUM
							OPEN @CurI00
							FETCH NEXT FROM @CurI00 INTO @TABD_NUM, @TABD_NAME
							WHILE (@@fetch_status <> -1)
							BEGIN
								IF (@@fetch_status <> -2)
								BEGIN	
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<' + @RAZDEL_NAME + '>'	
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
													SPACE(6) + '<КодСпециальнойОценкиУсловийТруда>' +
													(CASE WHEN @TABD_NUM = 1 THEN LTRIM(RTRIM('О4'))
														 WHEN @TABD_NUM = 2 THEN LTRIM(RTRIM('В3.4'))
														 WHEN @TABD_NUM = 3 THEN LTRIM(RTRIM('В3.3'))
														 WHEN @TABD_NUM = 4 THEN LTRIM(RTRIM('В3.2'))
														 ELSE LTRIM(RTRIM('В3.1')) END ) + '</КодСпециальнойОценкиУсловийТруда>'
									
									
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @TABD_NAME + '>'	
										
										
										SET @CurI000 = CURSOR FORWARD_ONLY
										FOR select NUM, BLOK_NAME from #STR_2_4B WHERE RAZDEL_NUM = @TABD_NUM OR RAZDEL_NUM = @TABD_NUM order by NUM
										OPEN @CurI000
										FETCH NEXT FROM @CurI000 INTO @NUM, @BLOK_NAME
										WHILE (@@fetch_status <> -1)
										BEGIN
											IF (@@fetch_status <> -2)
											BEGIN
												if @num = 5 or @num = 10 or @num = 15 or @num = 20 or @num = 25
												begin
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '<' + @BLOK_NAME + '>'
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT @lcFNAME,
															CASE WHEN T.COL = 3 THEN SPACE(8) + '<КодСтроки>' + substring(LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))),1,3) + '</КодСтроки>' + CHAR(10) +
																 SPACE(8) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
															ELSE SPACE(8) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
															END				
														FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</' + @BLOK_NAME + '>'

												end
												else begin
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '<' + @BLOK_NAME + '>'
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT @lcFNAME,
															CASE WHEN T.COL = 3 THEN SPACE(8) + '<КодСтроки>' + substring(LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))),1,3) + '</КодСтроки>' + CHAR(10) +
																 SPACE(8) + '<РасчетСумм>' + CHAR(10) +
																 SPACE(9) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
															ELSE SPACE(9) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
															END				
														FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(8) + '</РасчетСумм>'
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</' + @BLOK_NAME + '>'
												end
											END
											FETCH NEXT FROM @CurI000 INTO @NUM, @BLOK_NAME
										END
										CLOSE @CurI000
										DEALLOCATE @CurI000
									
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @TABD_NAME + '>'	
									
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</' + @RAZDEL_NAME + '>'
								END
								FETCH NEXT FROM @CurI00 INTO @TABD_NUM, @TABD_NAME
						
							END
							CLOSE @CurI00
							DEALLOCATE @CurI00						
							
							
							
						END
						FETCH NEXT FROM @CurI0 INTO @RAZDEL_NUM, @RAZDEL_NAME	
					END 	
					CLOSE @CurI0
					DEALLOCATE @CurI0
				
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
				/*****************/
				END
			
				--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
			end	
			FETCH NEXT FROM @Cur00 INTO @TAB1_NUM, @TAB1_NAME
		END
		CLOSE @Cur00
		DEALLOCATE @Cur00

		-----Разделы 2.5.1 и 2.5.2
		CREATE TABLE #PACHKA_ISH (
			LINK INT, NOM_PACH VARCHAR(10), SUM_BASE NUMERIC(18,2), SUM_NACH NUMERIC(18,2), KOL_ZL NUMERIC(5),
			NAME_FILE VARCHAR(254))

		CREATE TABLE #TAB3 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
		INSERT INTO #TAB3 (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

		INSERT INTO #PACHKA_ISH (NOM_PACH, SUM_BASE, SUM_NACH, KOL_ZL, NAME_FILE)
		SELECT DISTINCT
			NOM_PACH = (SELECT TOP 1 ROW_CODE FROM #TAB3 T WHERE T.COL = 2 AND T.ROW_CODE = T3.ROW_CODE),
			SUM_BASE = (SELECT TOP 1 SUMMA FROM #TAB3 T WHERE T.COL = 3 AND T.ROW_CODE = T3.ROW_CODE),
			SUM_NACH = (SELECT TOP 1 SUMMA FROM #TAB3 T WHERE T.COL = 4 AND T.ROW_CODE = T3.ROW_CODE),
			KOL_ZL = (SELECT TOP 1 SUMMA FROM #TAB3 T WHERE T.COL = 5 AND T.ROW_CODE = T3.ROW_CODE),
			NAME_FILE = (SELECT TOP 1 STR_VAL FROM #TAB3 T WHERE T.COL = 6 AND T.ROW_CODE = T3.ROW_CODE)
		FROM
			#TAB3 T3

		DROP TABLE #TAB3

		DECLARE @NUM_pp INT
		SET @NUM_pp = 0
		UPDATE #PACHKA_ISH SET @NUM_pp = @NUM_pp + 1, LINK = @NUM_pp

		
		CREATE TABLE #PACHKA_KOR (
			LINK INT, NOM_PACH VARCHAR(4), PERIOD_CODE VARCHAR(1), PERIOD_YEAR VARCHAR(4),SUM_D NUMERIC(18,2), SUM_D_STR NUMERIC(18,2) , SUM_D_NAK NUMERIC(18,2), KOL_ZL NUMERIC(5),
			NAME_FILE VARCHAR(254))

		CREATE TABLE #TAB4 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
		INSERT INTO #TAB4 (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 9, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

		INSERT INTO #PACHKA_KOR (NOM_PACH, PERIOD_CODE, PERIOD_YEAR,SUM_D, SUM_D_STR, SUM_D_NAK, KOL_ZL, NAME_FILE)
		SELECT DISTINCT
			NOM_PACH = (SELECT TOP 1 ROW_CODE FROM #TAB4 T WHERE T.COL = 2 AND T.ROW_CODE = T4.ROW_CODE),
			PERIOD_CODE = (SELECT TOP 1 STR_VAL FROM #TAB4 T WHERE T.COL = 3 AND T.ROW_CODE = T4.ROW_CODE),
			PERIOD_YEAR = (SELECT TOP 1 STR_VAL FROM #TAB4 T WHERE T.COL = 4 AND T.ROW_CODE = T4.ROW_CODE),
			SUM_D = (SELECT TOP 1 SUMMA FROM #TAB4 T WHERE T.COL = 5 AND T.ROW_CODE = T4.ROW_CODE),
			SUM_D_STR = (SELECT TOP 1 SUMMA FROM #TAB4 T WHERE T.COL = 6 AND T.ROW_CODE = T4.ROW_CODE),
			SUM_D_NAK = (SELECT TOP 1 SUMMA FROM #TAB4 T WHERE T.COL = 7 AND T.ROW_CODE = T4.ROW_CODE),
			KOL_ZL = (SELECT TOP 1 SUMMA FROM #TAB4 T WHERE T.COL = 8 AND T.ROW_CODE = T4.ROW_CODE),
			NAME_FILE = (SELECT TOP 1 STR_VAL FROM #TAB4 T WHERE T.COL = 9 AND T.ROW_CODE = T4.ROW_CODE)
		FROM
			#TAB4 T4

		DROP TABLE #TAB4
		
		SET @NUM_pp = 0
		UPDATE #PACHKA_KOR SET @NUM_pp = @NUM_pp + 1, LINK = @NUM_pp


		IF (SELECT COUNT(*) FROM #PACHKA_ISH) > 0 -- исходные сведения
			OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 8, DEFAULT, DEFAULT) WHERE COL = 5 AND SUMMA2 <> 0) > 0
		BEGIN
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел_2_5>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ПереченьПачекИсходныхСведенийПУ>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<КоличествоПачек>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),(SELECT COUNT(*) FROM #PACHKA_ISH)),''))) + '</КоличествоПачек>'

			UNION ALL SELECT @lcFNAME,
				SPACE(6) + '<СведенияОпачкеИсходных>' + CHAR(10) +
					SPACE(7) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(10),ISNULL(LINK,0)))) + '</НомерПП>' + CHAR(10) +			
					SPACE(7) + '<БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_BASE,0)))) + '</БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + CHAR(10) +	
					SPACE(7) + '<СтраховыхВзносовОПС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_NACH,0)))) + '</СтраховыхВзносовОПС>' + CHAR(10) +	
					SPACE(7) + '<КоличествоЗЛвПачке>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(KOL_ZL,0)))) + '</КоличествоЗЛвПачке>' + CHAR(10) +
					SPACE(7) + '<ИмяФайла>' + LTRIM(RTRIM(ISNULL(NAME_FILE,''))) + '</ИмяФайла>'+ CHAR(10) +					
					SPACE(6) + '</СведенияОпачкеИсходных>'		
			    FROM #PACHKA_ISH
			UNION ALL SELECT @lcFNAME,
				SPACE(7) + '<ИтогоСведенияПоПачкам>' + CHAR(10) +
					SPACE(8) + '<БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_BASE),0)))) + '</БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + CHAR(10) +			
					SPACE(8) + '<СтраховыхВзносовОПС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_NACH),0)))) + '</СтраховыхВзносовОПС>' + CHAR(10) +
					SPACE(8) + '<КоличествоЗЛвПачке>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(KOL_ZL),0)))) + '</КоличествоЗЛвПачке>' + CHAR(10) +
				SPACE(7) + '</ИтогоСведенияПоПачкам>'
			FROM #PACHKA_ISH	
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ПереченьПачекИсходныхСведенийПУ>'

			IF (SELECT COUNT(*) FROM #PACHKA_KOR) > 0 -- исходные сведения
				OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 9, DEFAULT, DEFAULT) WHERE COL = 8 AND SUMMA2 <> 0) > 0
			BEGIN
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ПереченьПачекКорректирующихСведенийПУ>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<КоличествоПачек>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),(SELECT COUNT(*) FROM #PACHKA_KOR)),''))) + '</КоличествоПачек>'

				UNION ALL SELECT @lcFNAME,
					SPACE(6) + '<СведенияОпачкеКорректирующих>' + CHAR(10) +
						SPACE(7) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(10),ISNULL(LINK,0)))) + '</НомерПП>' + CHAR(10) +			
						SPACE(7) + '<КорректируемыйОтчетныйПериод>' + CHAR(10) +
							SPACE(8) + '<Квартал>' + LTRIM(RTRIM(ISNULL(/*(CASE WHEN */ PERIOD_CODE/*= '1' THEN '3'
																			 WHEN PERIOD_CODE= '2' THEN '6'
																			 WHEN PERIOD_CODE= '3' THEN '9'
																			 ELSE 0 END
																		 )*/,''))) + '</Квартал>' + CHAR(10) +	
							SPACE(8) + '<Год>' + LTRIM(RTRIM(ISNULL(PERIOD_YEAR,''))) + '</Год>' + CHAR(10) +
							SPACE(8) + '<Название>' + LTRIM(RTRIM(ISNULL((CASE WHEN PERIOD_CODE= '1' THEN 'С 01.01.'+PERIOD_YEAR+' ПО 31.03.'+PERIOD_YEAR+''
																			 WHEN PERIOD_CODE= '2' THEN 'С 01.01.'+PERIOD_YEAR+' ПО 30.06.'+PERIOD_YEAR+''
																			 WHEN PERIOD_CODE= '3' THEN 'С 01.01.'+PERIOD_YEAR+' ПО 30.09.'+PERIOD_YEAR+''
																			 ELSE 'С 01.01.'+PERIOD_YEAR+' ПО 31.12.'+PERIOD_YEAR+'' END
																		 ),''))) + '</Название>' + CHAR(10) +
						SPACE(7) + '</КорректируемыйОтчетныйПериод>' + CHAR(10) +
						SPACE(7) + '<ДоначисленоСтраховыхВзносовОПС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_D,0)))) + '</ДоначисленоСтраховыхВзносовОПС>' + CHAR(10) +	
						SPACE(7) + '<ДоначисленоНаСтраховуюЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_D_STR,0)))) + '</ДоначисленоНаСтраховуюЧасть>' + CHAR(10) +	
						SPACE(7) + '<ДоначисленоНаНакопительнуюЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_D_NAK,0)))) + '</ДоначисленоНаНакопительнуюЧасть>' + CHAR(10) +	
						SPACE(7) + '<КоличествоЗЛвПачке>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(KOL_ZL,0)))) + '</КоличествоЗЛвПачке>' + CHAR(10) +
						SPACE(7) + '<ИмяФайла>' + LTRIM(RTRIM(ISNULL(NAME_FILE,''))) + '</ИмяФайла>'+ CHAR(10) +					
					SPACE(6) + '</СведенияОпачкеКорректирующих>' 	
					FROM #PACHKA_KOR
				UNION ALL SELECT @lcFNAME,
					SPACE(7) + '<ИтогоСведенияПоПачкамКорректирующих>' + CHAR(10) +
						SPACE(8) + '<ДоначисленоСтраховыхВзносовОПС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_D),0)))) + '</ДоначисленоСтраховыхВзносовОПС>' + CHAR(10) +			
						SPACE(8) + '<ДоначисленоНаСтраховуюЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_D_STR),0)))) + '</ДоначисленоНаСтраховуюЧасть>' + CHAR(10) +
						SPACE(8) + '<ДоначисленоНаНакопительнуюЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_D_NAK),0)))) + '</ДоначисленоНаНакопительнуюЧасть>' + CHAR(10) +
						SPACE(8) + '<КоличествоЗЛвПачке>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(KOL_ZL),0)))) + '</КоличествоЗЛвПачке>' + CHAR(10) +
					SPACE(7) + '</ИтогоСведенияПоПачкамКорректирующих>'
				FROM #PACHKA_KOR	
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ПереченьПачекКорректирующихСведенийПУ>'
			END


			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел_2_5>'	

		END


		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</' + @TAB_NAME + '>'


	END
	FETCH NEXT FROM @Cur0 INTO @TAB_NUM, @TAB_NAME
END
CLOSE @Cur0
DEALLOCATE @Cur0


drop table #t21

-----Разделы 3
/*CREATE TABLE #INVALID (
	LINK INT, FIO VARCHAR(254), FIO2 VARCHAR(254), NUM_SPR VARCHAR(30), DATE_SPR VARCHAR(10),
	GRP VARCHAR(25), GRP2 VARCHAR(25), PER_BEG VARCHAR(10), PER_END VARCHAR(10),
	SM_ALL 	NUMERIC(18,2), SM_QWART NUMERIC(18,2), SM1 NUMERIC(18,2), SM2 NUMERIC(18,2), SM3 NUMERIC(18,2) )

CREATE TABLE #TAB5 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB5 (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

INSERT INTO #INVALID (FIO2, DATE_SPR, PER_END, SM_ALL, SM1, SM2, SM3)
SELECT DISTINCT
	FIO2 = (SELECT TOP 1 REPLACE(STR_VAL,SPACE(1), ', ') FROM #TAB5 T WHERE T.COL = 2 AND T.ROW_CODE = T5.ROW_CODE),
	DATE_SPR = (SELECT TOP 1 STR_VAL FROM #TAB5 T WHERE T.COL = 3 AND T.ROW_CODE = T5.ROW_CODE),
	PER_END = (SELECT TOP 1 STR_VAL FROM #TAB5 T WHERE T.COL = 4 AND T.ROW_CODE = T5.ROW_CODE),
	SM_ALL = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 5 AND T.ROW_CODE = T5.ROW_CODE),
	SM1 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 6 AND T.ROW_CODE = T5.ROW_CODE),
	SM2 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 7 AND T.ROW_CODE = T5.ROW_CODE),
	SM3 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 8 AND T.ROW_CODE = T5.ROW_CODE)
FROM
	#TAB5 T5

DROP TABLE #TAB5

--Проставить номера попорядку
DECLARE @NEXT_NUM INT
SET @NEXT_NUM = 0
UPDATE #INVALID SET @NEXT_NUM = @NEXT_NUM + 1, LINK = @NEXT_NUM

IF (SELECT COUNT(*) FROM #INVALID) > 0 -- инвалиды
	OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 7, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0 -- информ. технол.
BEGIN
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел3РасчетНаПравоПримененияПониженногоТарифа>'
---Раздел3_1	
	IF (SELECT COUNT(*) FROM #INVALID) > 0 -- инвалиды
	BEGIN
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_1_СведенияДляПримененияПониженногоТарифа>'

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КоличествоРаботниковИнвалидов>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),(SELECT COUNT(*) FROM #INVALID)),''))) + '</КоличествоРаботниковИнвалидов>'
		UNION ALL SELECT @lcFNAME,
			SPACE(5) + '<СведенияОработникеИнвалиде>' + CHAR(10) +
				SPACE(6) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(LINK,0)))) + '</НомерПП>' + CHAR(10) +			
				SPACE(6) + '<ФИО>' + CHAR(10) +
					SPACE(7) + '<Фамилия>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,1,','),' ')))) + '</Фамилия>' + CHAR(10) + 		
					SPACE(7) + '<Имя>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,2,','),' ')))) + '</Имя>' + CHAR(10) + 		
					SPACE(7) + '<Отчество>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,3,','),' ')))) + '</Отчество>' + CHAR(10) + 										
				SPACE(6) + '</ФИО>' + CHAR(10) +
				SPACE(6) + '<СведенияИзСправки>' + CHAR(10) +
					SPACE(7) + '<ДатаВыдачиСправки>' + LTRIM(RTRIM(ISNULL(DATE_SPR,' '))) + '</ДатаВыдачиСправки>' + CHAR(10) +
					SPACE(7) + '<ДатаОкончанияДействия>' + LTRIM(RTRIM(ISNULL(PER_END,''))) + '</ДатаОкончанияДействия>' + CHAR(10) +
				SPACE(6) + '</СведенияИзСправки>' + CHAR(10) + 				
				SPACE(6) + '<СуммыВыплатИвознаграждений>' + CHAR(10) +
					SPACE(7) + '<СуммаВсегоСначалаРасчетногоПериода>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM_ALL,0)))) + '</СуммаВсегоСначалаРасчетногоПериода>' + CHAR(10) +			
					SPACE(7) + '<СуммаПоследние1месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM1,0)))) + '</СуммаПоследние1месяц>' + CHAR(10) +
					SPACE(7) + '<СуммаПоследние2месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM2,0)))) + '</СуммаПоследние2месяц>' + CHAR(10) +
					SPACE(7) + '<СуммаПоследние3месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM3,0)))) + '</СуммаПоследние3месяц>' + CHAR(10) +								
				SPACE(6) + '</СуммыВыплатИвознаграждений>' + CHAR(10) +			
			SPACE(5) + '</СведенияОработникеИнвалиде>'
		FROM #INVALID
		UNION ALL SELECT @lcFNAME,
			SPACE(5) + '<ИтогоВыплат>' + CHAR(10) +
				SPACE(6) + '<СуммаВсегоСначалаРасчетногоПериода>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SM_ALL),0)))) + '</СуммаВсегоСначалаРасчетногоПериода>' + CHAR(10) +			
				SPACE(6) + '<СуммаПоследние1месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SM1),0)))) + '</СуммаПоследние1месяц>' + CHAR(10) +
				SPACE(6) + '<СуммаПоследние2месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SM2),0)))) + '</СуммаПоследние2месяц>' + CHAR(10) +
				SPACE(6) + '<СуммаПоследние3месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SM3),0)))) + '</СуммаПоследние3месяц>' + CHAR(10) +								
			SPACE(5) + '</ИтогоВыплат>'
		FROM #INVALID	

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_1_СведенияДляПримененияПониженногоТарифа>'	

*/		

		---Раздел3---
IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 10, DEFAULT, 3) WHERE SUMMA <> 0) > 0
BEGIN

	 INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел3РасчетНаПравоПримененияПониженногоТарифа2014>'
		
	---Раздел3_1---	
	IF ( SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 10, 1, DEFAULT) WHERE SUMMA <> 0) > 0
	BEGIN
		IF @Period_Number = 1 AND @YEAR = '2015'  -- если первый квартал 2015 то радел Раздел3_2 выводится (если заполнен) , со 2го квартала(полугодия) 2015 не заполняется   		
		begin
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_1_ДляОбщественныхОрганизацийИнвалидов>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ЧисленностьЧленовОрганизации>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
								WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
											SPACE(6) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
								WHEN 4 THEN SPACE(6) + '<КоличествоЗЛ_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_1месяц>'
								WHEN 5 THEN SPACE(6) + '<КоличествоЗЛ_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_2месяц>'		
								WHEN 6 THEN SPACE(6) + '<КоличествоЗЛ_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_3месяц>'
							END						
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 1, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ЧисленностьЧленовОрганизации>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ЧисленностьИнвалидов>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
				WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					 SPACE(6) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
				WHEN 4 THEN SPACE(6) + '<КоличествоЗЛ_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_1месяц>'
				WHEN 5 THEN SPACE(6) + '<КоличествоЗЛ_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_2месяц>'		
				WHEN 6 THEN SPACE(6) + '<КоличествоЗЛ_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_3месяц>'
				END						
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 2, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ЧисленностьИнвалидов>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<УдельныйВесЧисленности>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
				WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					 SPACE(6) + '<УдельныйВес_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_Всего>'
				WHEN 4 THEN SPACE(6) + '<УдельныйВес_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_1месяц>'
				WHEN 5 THEN SPACE(6) + '<УдельныйВес_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_2месяц>'		
				WHEN 6 THEN SPACE(6) + '<УдельныйВес_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_3месяц>'
				END						
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 3, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</УдельныйВесЧисленности>'			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_1_ДляОбщественныхОрганизацийИнвалидов>'
		END 	
	END	--IF ( SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 10, 1, DEFAULT) WHERE SUMMA <> 0) > 0 	



---Раздел3_2
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, DEFAULT) WHERE SUMMA <> 0) > 0
	BEGIN
		IF @Period_Number = 1 AND @YEAR = '2015'  -- если первый квартал 2015 то радел Раздел3_2 выводится (если заполнен) , со 2го квартала(полугодия) 2015 не заполняется   
		BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_2_ДляОрганизацийУставныйКапиталСостоитИзВкладовОбщОргИнвалидов>'
						
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СреднесписочнаяЧисленность>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								SPACE(6) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
					WHEN 4 THEN SPACE(6) + '<КоличествоЗЛ_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_1месяц>'
					WHEN 5 THEN SPACE(6) + '<КоличествоЗЛ_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_2месяц>'		
					WHEN 6 THEN SPACE(6) + '<КоличествоЗЛ_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_3месяц>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СреднесписочнаяЧисленность>'

				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СреднесписочнаяЧисленностьИнвалидов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
		  						SPACE(6) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
					WHEN 4 THEN SPACE(6) + '<КоличествоЗЛ_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_1месяц>'
					WHEN 5 THEN SPACE(6) + '<КоличествоЗЛ_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_2месяц>'		
					WHEN 6 THEN SPACE(6) + '<КоличествоЗЛ_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_3месяц>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 5, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СреднесписочнаяЧисленностьИнвалидов>'

				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<УдельныйВесЧисленности>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								SPACE(6) + '<УдельныйВес_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_Всего>'
					WHEN 4 THEN SPACE(6) + '<УдельныйВес_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_1месяц>'
					WHEN 5 THEN SPACE(6) + '<УдельныйВес_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_2месяц>'		
					WHEN 6 THEN SPACE(6) + '<УдельныйВес_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_3месяц>'
				END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 6, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</УдельныйВесЧисленности>'
						
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ФондОплатыТруда>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								SPACE(6) + '<РасчетСумм>' + CHAR(10) +
									SPACE(7) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
						WHEN 4 THEN SPACE(7) + '<СуммаПоследние1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние1месяц>'
						WHEN 5 THEN SPACE(7) + '<СуммаПоследние2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние2месяц>'		
						WHEN 6 THEN SPACE(7) + '<СуммаПоследние3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние3месяц>'
					END						
					FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 7, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</РасчетСумм>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ФондОплатыТруда>'		
			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ЗарплатаИнвалидов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
		 						SPACE(6) + '<РасчетСумм>' + CHAR(10) +
									SPACE(7) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
						WHEN 4 THEN SPACE(7) + '<СуммаПоследние1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние1месяц>'
						WHEN 5 THEN SPACE(7) + '<СуммаПоследние2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние2месяц>'		
						WHEN 6 THEN SPACE(7) + '<СуммаПоследние3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние3месяц>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 8, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</РасчетСумм>'			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ЗарплатаИнвалидов>'		
				
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<УдельныйВесЗарплатыИнвалидов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								 SPACE(6) + '<УдельныйВес_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_Всего>'
					WHEN 4 THEN SPACE(6) + '<УдельныйВес_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_1месяц>'
					WHEN 5 THEN SPACE(6) + '<УдельныйВес_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_2месяц>'		
					WHEN 6 THEN SPACE(6) + '<УдельныйВес_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_3месяц>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 9, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</УдельныйВесЗарплатыИнвалидов>'
							
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_2_ДляОрганизацийУставныйКапиталСостоитИзВкладовОбщОргИнвалидов>'
		
		END 
	END --IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, DEFAULT) WHERE SUMMA <> 0) > 0
	
	DECLARE @NUM_TABL INT ---@ со второго квартала @NUM_TABL = 10 на первый квартал @NUM_TABL = 11
	IF @Period_Number != 1 AND @YEAR = '2015'
	BEGIN
		SET @NUM_TABL = 10
	END
	ELSE BEGIN 
		SET @NUM_TABL = 11
	END 	

	--Раздел3_3
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, @NUM_TABL, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0 -- информ. технол. @ со второго квартала @NUM_TABL = 10 на первый квартал @NUM_TABL = 11
	BEGIN
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_3_ДляОрганизацийИТ>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовПоНКвсего>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
							WHEN 2 THEN	SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>'
							WHEN 3 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
							WHEN 4 THEN SPACE(6) + '<СуммаДоходаПоТекущему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'
							END
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 1, DEFAULT) T where col in (2,3,4) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, + SPACE(5) +'</СуммаДоходовПоНКвсего>'
			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовИТизНих>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
							WHEN 2 THEN	SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>'
							WHEN 3 THEN SPACE(6) + '<СуммаДоходаПоПредшествующему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
							WHEN 4 THEN SPACE(6) + '<СуммаДоходаПоТекущему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'
							END
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 2, DEFAULT) T where col in (2,3,4) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовИТизНих>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ДоляДоходовИТ>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
							WHEN 2 THEN	SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>'
							WHEN 3 THEN	SPACE(6) + '<ДоляДоходаПоПредшествующему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</ДоляДоходаПоПредшествующему>'
							WHEN 4 THEN	SPACE(6) + '<ДоляДоходаПоТекущему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</ДоляДоходаПоТекущему>'
							END
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 3,DEFAULT) T where col in (2,3,4) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ДоляДоходовИТ>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ЧисленностьРаботниковИТ>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME,CASE T.COL
							WHEN 2 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>'
							WHEN 3 THEN	SPACE(6) + '<КоличествоЗЛпоПредшествующему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛпоПредшествующему>'
							WHEN 4 THEN SPACE(6) + '<КоличествоЗЛпоТекущему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛпоТекущему>'
							END
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 4, DEFAULT) T where col in (2,3,4) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ЧисленностьРаботниковИТ>'


			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СведенияИзРеестраИТ>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
				WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
				WHEN 5 THEN SPACE(6) + '<ДатаЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,'\ \.\ \.\  '))) + '</ДатаЗаписиВреестре>'
				WHEN 6 THEN SPACE(6) + '<НомерЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</НомерЗаписиВреестре>'		
				END						
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 5, DEFAULT) T WHERE T.COL IN (3,5,6) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СведенияИзРеестраИТ>'
		
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_3_ДляОрганизацийИТ>'
	END	 --IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 11, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0

	----Раздел3_4	
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 12, DEFAULT, DEFAULT) WHERE COL = 5 AND SUMMA <> 0) > 0 -- информ. технол.
	BEGIN
		IF @Period_Number = 1 AND @YEAR = '2015'  -- если первый квартал 2015 то радел Раздел3_2 выводится (если заполнен) , со 2го квартала(полугодия) 2015 не заполняется   
		begin
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_4_ДляОрганизацийСМИ>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СведенияПоВидуДеятельности>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
						SELECT @lcFNAME, CASE T.COL
						WHEN 1 THEN SPACE(6) + '<НомерПП>' + LTRIM(RTRIM(T.ROW)) + '</НомерПП>'
						WHEN 2 THEN SPACE(6) + '<НаименованиеВидаЭД>' + LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</НаименованиеВидаЭД>' + CHAR(10) +
									SPACE(6) + '<КодПоОКВЭД>' + LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</КодПоОКВЭД>'
						WHEN 5 THEN SPACE(6) + '<ДоходыПоВидуЭД>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</ДоходыПоВидуЭД>'
						WHEN 6 THEN	SPACE(6) + '<ДоляДоходовПоВидуЭД>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</ДоляДоходовПоВидуЭД>'		
						END
					FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, DEFAULT, DEFAULT) T where T.ROW IN (1,2,3,4,5,6,7,8,9,10) and T.COL IN (1,2,5,6) ORDER BY T.ROW, t.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СведенияПоВидуДеятельности>'
				
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ИтогоПоВсемВидамДеятельности>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) +'</ИтогоПоВсемВидамДеятельности>'
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 11, 5) T ORDER BY T.COL
				
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СведенияИзРеестраСМИ>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME, CASE T.COL
						WHEN 4 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
						WHEN 7 THEN SPACE(6) + '<ДатаЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,'\ \.\ \.\  '))) + '</ДатаЗаписиВреестре>'
						WHEN 8 THEN SPACE(6) + '<НомерЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</НомерЗаписиВреестре>'		
						END						
					FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 12, DEFAULT) T WHERE T.COL IN (4,7,8) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СведенияИзРеестраСМИ>'
			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_4_ДляОрганизацийСМИ>'
		END	
	END --IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 12, DEFAULT, DEFAULT) WHERE COL = 5 AND SUMMA <> 0) > 0
	
	SET @NUM_TABL = @NUM_TABL + 2  
----Раздел3_5	
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, @NUM_TABL, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0 -- информ. технол.
	BEGIN
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_5_ДляОрганизацийПрименяющихУСН>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(5) +
				'<СуммаДоходаПоСтатье346_15НКвсего>' + CHAR(10) +
					SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>' + CHAR(10) +
					SPACE(6) + '<СуммаДохода>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДохода>' + CHAR(10) +
				+ SPACE(5) +'</СуммаДоходаПоСтатье346_15НКвсего>'
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 1, 3) T ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(5) +
				'<СуммаДоходаПоСтатье58ИзНих>' + CHAR(10) +
					SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>' + CHAR(10) +
					SPACE(6) + '<СуммаДохода>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДохода>' + CHAR(10) +
				+ SPACE(5) +'</СуммаДоходаПоСтатье58ИзНих>'
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 2, 3) T ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(5) +
				'<ДоляДоходаПоСтатье58>' + CHAR(10) +
					SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>' + CHAR(10) +
					SPACE(6) + '<ДоляДохода>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</ДоляДохода>' + CHAR(10) +
				+ SPACE(5) +'</ДоляДоходаПоСтатье58>'
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 3, 3) T ORDER BY T.COL

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_5_ДляОрганизацийПрименяющихУСН>'
	END -- IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 11, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0
	
	
----Раздел3_6	
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, @NUM_TABL, DEFAULT, DEFAULT) WHERE COL in (4,5) AND SUMMA <> 0) > 0 -- информ. технол.
	BEGIN
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_6_ДляНекоммерческихОрганизацийПрименяющихУСН>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовВсего>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 4, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовВсего>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовВвидеЦелевыхПоступлений>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 5, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовВвидеЦелевыхПоступлений>'
			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовВвидеГрантов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 6, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовВвидеГрантов>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовОтОсуществленияОпределенныхВЭД>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 7, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовОтОсуществленияОпределенныхВЭД>'
			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ДоляДоходов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 8, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ДоляДоходов>'
	

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_6_ДляНекоммерческихОрганизацийПрименяющихУСН>'
	END


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</Раздел3РасчетНаПравоПримененияПониженногоТарифа2014>'

END --	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 10, DEFAULT, 3) WHERE SUMMA <> 0) > 0 -- инвалиды


---РАЗДЕЛ_4 Стр.12
CREATE TABLE #DONACHISL (
	LINK INT,OSN int,CODE_OSN INT, YEAR_D VARCHAR(4), MON int, SUM_STR_14 NUMERIC(18,2), SUM_STR_LIM_14 NUMERIC(18,2), SUM_STR NUMERIC(18,2), SUM_STR_LIM NUMERIC(18,2), SUM_NAK NUMERIC(18,2), SUM_STR_D1 NUMERIC(18,2), SUM_STR_D2 NUMERIC(18,2), SUM_STR_D2_1 NUMERIC(18,2), SUM_MED_STR NUMERIC(18,2))

CREATE TABLE #TAB14 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB14 (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT LEFT(ROW_CODE,4) AS ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL


INSERT INTO #DONACHISL (OSN,CODE_OSN, YEAR_D, MON,SUM_STR_14, SUM_STR_LIM_14, SUM_STR, SUM_STR_LIM, SUM_NAK ,SUM_STR_D1 , SUM_STR_D2, SUM_STR_D2_1, SUM_MED_STR)
SELECT DISTINCT
	OSN = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 2 AND T.ROW_CODE = T14.ROW_CODE),
	CODE_OSN = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 3 AND T.ROW_CODE = T14.ROW_CODE),
	YEAR_D = (SELECT TOP 1 STR_VAL FROM #TAB14 T WHERE T.COL = 4 AND T.ROW_CODE = T14.ROW_CODE),
	MON = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 5 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_14 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 6 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_LIM_14 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 7 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 8 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_LIM = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 9 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_NAK = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 10 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_D1 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 11 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_D2 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 12 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_D2_1 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 13 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_MED_STR = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 14 AND T.ROW_CODE = T14.ROW_CODE)
FROM
	#TAB14 T14

DROP TABLE #TAB14


--Проставить номера попорядку
DECLARE @NEXT_NUM1 INT
SET @NEXT_NUM1 = 0
UPDATE #DONACHISL SET @NEXT_NUM1 = @NEXT_NUM1 + 1, LINK = @NEXT_NUM1

--IF (SELECT COUNT(*) FROM #DONACHISL) > 0 -- инвалиды
--	OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 13, DEFAULT, DEFAULT) WHERE COL = 4 AND SUMMA <> 0) > 0 -- информ. технол.
--BEGIN


	IF (SELECT COUNT(*) FROM #DONACHISL) > 0 -- инвалиды
	BEGIN
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел4>'

		UNION ALL SELECT @lcFNAME,
			SPACE(3) + '<СуммаДоначисленныхВзносовЗаПериодНачинаяС2014>' + CHAR(10) +
				SPACE(4) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(LINK,0)))) + '</НомерПП>' + CHAR(10) +			
				SPACE(4) + '<ОснованиеДляДоначисления>' + LTRIM(RTRIM(CONVERT(VARCHAR(1),ISNULL(OSN,0)))) + '</ОснованиеДляДоначисления>' + CHAR(10) +	
				
				CASE WHEN  LTRIM(RTRIM(ISNULL(CODE_OSN,0))) in (1,2)
					 THEN  (SPACE(4) + '<КодОснованияДляДопТарифа>' + LTRIM(RTRIM(CONVERT(VARCHAR(1),ISNULL(CODE_OSN,'')))) + '</КодОснованияДляДопТарифа>')  
					 ELSE ''	
				END + CHAR(10) +
				SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(YEAR_D,''))) + '</Год>' + CHAR(10) + 		
				SPACE(4) + '<Месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(2),ISNULL(MON,0)))) + '</Месяц>' + CHAR(10) + 	
				SPACE(4) + '<СуммаДоначисленныхВзносовОПС2014всего>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_14,0)))) + '</СуммаДоначисленныхВзносовОПС2014всего>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовОПС2014превыщающие>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_LIM_14,0)))) + '</СуммаДоначисленныхВзносовОПС2014превыщающие>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховуюВсего>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR,0)))) + '</СуммаДоначисленныхВзносовНаСтраховуюВсего>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховуюПревышающие>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_LIM,0)))) + '</СуммаДоначисленныхВзносовНаСтраховуюПревышающие>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_NAK,0)))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10) +
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D1,0)))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ1>' + CHAR(10) +
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ2>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D2,0)))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ2>' + CHAR(10) +								
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ2_1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D2_1,0))))  + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ2_1>' + CHAR(10) +								
				SPACE(4) + '<СтраховыеВзносыОМС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_MED_STR,0)))) + '</СтраховыеВзносыОМС>' + CHAR(10) +	
				/*SPACE(4) + '<СуммаДоначисленныхСтраховыхВзносов>' + CHAR(10) +
					SPACE(5) + '<ОПСстраховаяЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR,0)))) + '</ОПСстраховаяЧасть>' + CHAR(10) + 										
					SPACE(5) + '<ОПСстраховаяЧастьСвышеПределаБазы>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_LIM,0)))) + '</ОПСстраховаяЧастьСвышеПределаБазы>' + CHAR(10) + 										
					SPACE(5) + '<ОПСнакопительнаяЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_NAK,0)))) + '</ОПСнакопительнаяЧасть>' + CHAR(10) +
					SPACE(5) + '<ОПСстраховаяЧастьПоДопТар1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D1,0)))) + '</ОПСстраховаяЧастьПоДопТар1>' + CHAR(10) +
					SPACE(5) + '<ОПСстраховаяЧастьПоДопТар2>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D2,0)))) + '</ОПСстраховаяЧастьПоДопТар2>' + CHAR(10) +
					SPACE(5) + '<СтраховыеВзносыОМС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_MED_STR,0)))) + '</СтраховыеВзносыОМС>' + CHAR(10) +	
				SPACE(4) + '</СуммаДоначисленныхСтраховыхВзносов>' + CHAR(10) +
			*/SPACE(3) + '</СуммаДоначисленныхВзносовЗаПериодНачинаяС2014>'
		FROM #DONACHISL				


		UNION ALL SELECT @lcFNAME,
			SPACE(3) + '<ИтогоДоначисленоНачинаяС2014>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовОПС2014всего>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_14,0))))) + '</СуммаДоначисленныхВзносовОПС2014всего>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовОПС2014превыщающие>' +LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_LIM_14,0))))) + '</СуммаДоначисленныхВзносовОПС2014превыщающие>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховуюВсего>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR,0))))) + '</СуммаДоначисленныхВзносовНаСтраховуюВсего>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховуюПревышающие>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_LIM,0))))) + '</СуммаДоначисленныхВзносовНаСтраховуюПревышающие>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_NAK,0))))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10) +
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D1,0))))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ1>' + CHAR(10) +
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ2>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D2,0))))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ2>' + CHAR(10) +								
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ2_1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D2_1,0))))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ2_1>' + CHAR(10) +								
				SPACE(4) + '<СтраховыеВзносыОМС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_MED_STR,0))))) + '</СтраховыеВзносыОМС>' + CHAR(10) +	
			SPACE(3) + '</ИтогоДоначисленоНачинаяС2014>'
		
		
			/*SPACE(3) + '<ИтогоДоначислено>' + CHAR(10) +
					SPACE(4) + '<ОПСстраховаяЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR,0))))) + '</ОПСстраховаяЧасть>' + CHAR(10) +			
					SPACE(4) + '<ОПСстраховаяЧастьСвышеПределаБазы>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_LIM,0))))) + '</ОПСстраховаяЧастьСвышеПределаБазы>' + CHAR(10) + 										
					SPACE(4) + '<ОПСнакопительнаяЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_NAK,0))))) + '</ОПСнакопительнаяЧасть>' + CHAR(10) +
					SPACE(4) + '<ОПСстраховаяЧастьПоДопТар1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D1,0))))) + '</ОПСстраховаяЧастьПоДопТар1>' + CHAR(10) +
					SPACE(4) + '<ОПСстраховаяЧастьПоДопТар2>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D2,0))))) + '</ОПСстраховаяЧастьПоДопТар2>' + CHAR(10) +
					SPACE(4) + '<СтраховыеВзносыОМС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_MED_STR,0))))) + '</СтраховыеВзносыОМС>' + CHAR(10) +
			SPACE(3) + '</ИтогоДоначислено>' */
		FROM #DONACHISL	

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</Раздел4>'	
	END

--end



---РАЗДЕЛ_5 Стр.13_1
CREATE TABLE #STUD (
	LINK INT, FIO VARCHAR(254), FIO2 VARCHAR(254), NUM_SPR1 VARCHAR(30), DATE_SPR1 VARCHAR(10),NUM_SPR2 VARCHAR(30), DATE_SPR2 VARCHAR(10),
	SM_ALL 	NUMERIC(18,2), SM1 NUMERIC(18,2), SM2 NUMERIC(18,2), SM3 NUMERIC(18,2) )

CREATE TABLE #TAB15 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB15 (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

INSERT INTO #STUD (FIO2, NUM_SPR1, DATE_SPR1,NUM_SPR2, DATE_SPR2,
	SM_ALL, SM1, SM2, SM3 )
SELECT DISTINCT
	FIO2 = (SELECT TOP 1 REPLACE(STR_VAL,SPACE(1), ', ') FROM #TAB15 T WHERE T.COL = 2 AND T.ROW_CODE = T15.ROW_CODE),
	NUM_SPR1 = (SELECT TOP 1 LEFT(LTRIM(RTRIM(dbo.SA_GET_WORD_NUM(STR_VAL,1,' '))),30) FROM #TAB15 T WHERE T.COL = 3 AND T.ROW_CODE = T15.ROW_CODE),
	DATE_SPR1 = (SELECT TOP 1 LEFT(LTRIM(RTRIM(dbo.SA_GET_WORD_NUM(STR_VAL,2,' '))),10) FROM #TAB15 T WHERE T.COL = 3 AND T.ROW_CODE = T15.ROW_CODE),
	NUM_SPR2 = (SELECT TOP 1 LEFT(LTRIM(RTRIM(dbo.SA_GET_WORD_NUM(STR_VAL,1,' '))),30) FROM #TAB15 T WHERE T.COL = 4 AND T.ROW_CODE = T15.ROW_CODE),
	DATE_SPR2 = (SELECT TOP 1 LEFT(LTRIM(RTRIM(dbo.SA_GET_WORD_NUM(STR_VAL,2,' '))),10) FROM #TAB15 T WHERE T.COL = 4 AND T.ROW_CODE = T15.ROW_CODE),
	SM_ALL = (SELECT TOP 1 SUMMA FROM #TAB15 T WHERE T.COL = 5 AND T.ROW_CODE = T15.ROW_CODE),
	SM1 = (SELECT TOP 1 SUMMA FROM #TAB15 T WHERE T.COL = 6 AND T.ROW_CODE = T15.ROW_CODE),
	SM2 = (SELECT TOP 1 SUMMA FROM #TAB15 T WHERE T.COL = 7 AND T.ROW_CODE = T15.ROW_CODE),
	SM3 = (SELECT TOP 1 SUMMA FROM #TAB15 T WHERE T.COL = 8 AND T.ROW_CODE = T15.ROW_CODE)
FROM
	#TAB15 T15

DROP TABLE #TAB15

--Проставить номера попорядку
DECLARE @NEXT_NUM2 INT
SET @NEXT_NUM2 = 0
UPDATE #STUD SET @NEXT_NUM2 = @NEXT_NUM2 + 1, LINK = @NEXT_NUM2

--количество обучающихся
DECLARE @COUNT_STUD INT
set @COUNT_STUD = (select count(*) from #STUD )


--IF (SELECT COUNT(*) FROM #STUD) > 0 -- студенты
--	OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 15, DEFAULT, DEFAULT) WHERE COL = 5 AND SUMMA <> 0) > 0 -- оплата студентам
--BEGIN

IF (SELECT COUNT(*) FROM #STUD) > 0 -- студенты
BEGIN
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел5СведенияОВыплатахВпользуОбучающихся2014>'
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<КоличествоОбучающихся>' + LTRIM(RTRIM(CONVERT(VARCHAR(5),ISNULL(@COUNT_STUD,0)))) + '</КоличествоОбучающихся>' 			
		UNION ALL SELECT @lcFNAME,
			SPACE(4) + '<СведенияОбОбучающемся>' + CHAR(10) +		
				SPACE(5) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(5),ISNULL(link,0)))) + '</НомерПП>' + CHAR(10) + 		
				SPACE(5) + '<ФИО>' + CHAR(10) +
					SPACE(6) + '<Фамилия>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,1,','),'')))) + '</Фамилия>' + CHAR(10) + 		
					SPACE(6) + '<Имя>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,2,','),'')))) + '</Имя>' + CHAR(10) + 		
					SPACE(6) + '<Отчество>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,3,','),'')))) + '</Отчество>' + CHAR(10) + 										
				SPACE(5) + '</ФИО>' + CHAR(10) +
				SPACE(5) + '<НомерСправкиОчленствеВстудОтряде>' + LTRIM(RTRIM(ISNULL(NUM_SPR1,''))) + '</НомерСправкиОчленствеВстудОтряде>' + CHAR(10) + 										
				SPACE(5) + '<ДатаВыдачиСправкиОчленствеВстудОтряде>' + LTRIM(RTRIM(ISNULL(DATE_SPR1,''))) + '</ДатаВыдачиСправкиОчленствеВстудОтряде>' + CHAR(10) + 	
				SPACE(5) + '<НомерСправкиОбОчномОбучении>' + LTRIM(RTRIM(ISNULL(NUM_SPR2,''))) + '</НомерСправкиОбОчномОбучении>' + CHAR(10) + 										
				SPACE(5) + '<ДатаВыдачиСправкиОбОчномОбучении>' + LTRIM(RTRIM(ISNULL(DATE_SPR2,''))) + '</ДатаВыдачиСправкиОбОчномОбучении>' + CHAR(10) + 										
				SPACE(5) + '<СуммыВыплатИвознаграждений>' + CHAR(10) +
					SPACE(6) + '<СуммаВсегоСначалаРасчетногоПериода>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM_ALL,0)))) + '</СуммаВсегоСначалаРасчетногоПериода>' + CHAR(10) +
					SPACE(6) + '<СуммаПоследние1месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM1,0)))) + '</СуммаПоследние1месяц>' + CHAR(10) +	
					SPACE(6) + '<СуммаПоследние2месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM2,0)))) + '</СуммаПоследние2месяц>' + CHAR(10) +	
					SPACE(6) + '<СуммаПоследние3месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM3,0)))) + '</СуммаПоследние3месяц>' + CHAR(10) +	
				SPACE(5) + '</СуммыВыплатИвознаграждений>' + CHAR(10) +
			SPACE(4) + '</СведенияОбОбучающемся>'
		FROM #STUD				


		UNION ALL SELECT @lcFNAME,
			SPACE(4) + '<ИтогоВыплат>' + CHAR(10) +
					SPACE(5) + '<СуммаВсегоСначалаРасчетногоПериода>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SM_ALL,0))))) + '</СуммаВсегоСначалаРасчетногоПериода>' + CHAR(10) +			
					SPACE(5) + '<СуммаПоследние1месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SM1,0))))) + '</СуммаПоследние1месяц>' + CHAR(10) +
					SPACE(5) + '<СуммаПоследние2месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SM2,0))))) + '</СуммаПоследние2месяц>' + CHAR(10) +
					SPACE(5) + '<СуммаПоследние3месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SM3,0))))) + '</СуммаПоследние3месяц>' + CHAR(10) +
			SPACE(4) + '</ИтогоВыплат>'
		FROM #STUD	

	if (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 16, 1, DEFAULT) WHERE COL = 3 and str_VAL <> '' ) > 0
	begin
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<СведенияИзРеестраМДОО>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 2 THEN SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								SPACE(5) + '<РеквизитыЗаписиВреестре>'
						WHEN 3 THEN SPACE(6) + '<ДатаЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</ДатаЗаписиВреестре>'
						WHEN 4 THEN	SPACE(6) + '<НомерЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</НомерЗаписиВреестре>' + CHAR(10) +	
								SPACE(5) + '</РеквизитыЗаписиВреестре>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 16, 1, DEFAULT) T WHERE T.COL IN (2,3,4) ORDER BY T.COL
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</СведенияИзРеестраМДОО>'
	END
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</Раздел5СведенияОВыплатахВпользуОбучающихся2014>'	
END

--end

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME,
	SPACE(3) + '<ЛицоПодтверждающееСведения>1</ЛицоПодтверждающееСведения>' + CHAR(10) +
	SPACE(3) + '<ФИОлицаПодтверждающегоСведения>' + CHAR(10) +
		SPACE(4) + '<Фамилия>' + UPPER(LTRIM(RTRIM(ISNULL(O.FM,'')))) + '</Фамилия>' + CHAR(10) +
		SPACE(4) + '<Имя>' + UPPER(LTRIM(RTRIM(ISNULL(O.IM,'')))) + '</Имя>' + CHAR(10) +
		SPACE(4) + '<Отчество>' + UPPER(LTRIM(RTRIM(ISNULL(O.OT,'')))) + '</Отчество>' + CHAR(10) +
	SPACE(3) + '</ФИОлицаПодтверждающегоСведения>' + CHAR(10) +
	SPACE(3) + '<НаименованиеОрганизацииПредставителя>' + UPPER(LTRIM(RTRIM(ISNULL(d.FULL_NAME,'')))) + '</НаименованиеОрганизацииПредставителя>' + CHAR(10) +
	SPACE(3) + '<ДокументПодтверждающийПолномочияПредставителя>' + CHAR(10) +
		SPACE(4) + '<НаименованиеУдостоверяющего>' + UPPER(LTRIM(RTRIM(ISNULL(F.NAME,'')))) + '</НаименованиеУдостоверяющего>' + CHAR(10) +
		SPACE(4) + '<СерияРимскиеЦифры>' + case when f.code='21' then substring(p.doc_num,1,2) else ' ' end + '</СерияРимскиеЦифры>' + CHAR(10) +
		SPACE(4) + '<СерияРусскиеБуквы>' + case when f.code='21' then substring(p.doc_num,4,2) else ' ' end + '</СерияРусскиеБуквы>' + CHAR(10) +
		SPACE(4) + '<НомерУдостоверяющего>' + LTRIM(RTRIM(case when f.code='21' then substring(p.doc_num,7,7) else ' ' end)) + '</НомерУдостоверяющего>' + CHAR(10) +
		SPACE(4) + '<ДатаВыдачи>' + LTRIM(RTRIM(ISNULL(convert(varchar(10),p.doc_date,104),''))) + '</ДатаВыдачи>' + CHAR(10) +
		SPACE(4) + '<КемВыдан>' + UPPER(LTRIM(RTRIM(ISNULL(p.DOC_WHOM,'')))) + '</КемВыдан>' + CHAR(10) +
	SPACE(3) + '</ДокументПодтверждающийПолномочияПредставителя>'
FROM dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') O
inner join EMPL e on e.link = o.link_empl
inner join PERSON p on p.link = e.pers_link
inner join FACE_DOCUMENT f on f.link = p.doc_link
inner join DICTIONARY_DEPARTMENT d on d.link = @LINK_DEP


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, SPACE(3) + '<ДатаЗаполнения>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),@modify_date,104),''))) + '</ДатаЗаполнения>'

--Заверешение
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(2) + '</РАСЧЕТ_ПО_СТРАХОВЫМ_ВЗНОСАМ_НА_ОПС_И_ОМС_ПЛАТЕЛЬЩИКАМИ_ПРОИЗВОДЯЩИМИ_ВЫПЛАТЫ_ФЛ_2015>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(1) + '</ПачкаВходящихДокументов>'
	UNION ALL SELECT @lcFNAME, SPACE(0) + '</ФайлПФР>'	


/*-----------------------------------------------------------------------------------------------*/


--Раздел_6


--ОПИСЬ

CREATE TABLE #OPIS (
	LINK INT, [TYPE] INT, NOM_PP INT, NOM_PACH VARCHAR(10), SUM_BASE NUMERIC(18,2), SUM_STR NUMERIC(18,2), PERS_CNT NUMERIC(5), DATE_DOC VARCHAR(10),
	PER VARCHAR(1), YEAR_BEGIN VARCHAR(4), PER_EDT VARCHAR(1), YEAR_EDT VARCHAR(4), F_NAME varchar(100), link_doc int)

CREATE TABLE #TAB16 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB16 (ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL)
SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, DEFAULT, DEFAULT) T WHERE T.COL >= 3 ORDER BY T.COL

CREATE TABLE #TAB17 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB17 (ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 9, DEFAULT, DEFAULT) T WHERE T.COL >= 3 ORDER BY T.COL


INSERT INTO #OPIS ([TYPE], NOM_PACH, SUM_BASE, SUM_STR, PERS_CNT, DATE_DOC,	PER, YEAR_BEGIN,F_NAME, link_doc)
SELECT DISTINCT
	[TYPE] = (SELECT TOP 1 summa FROM #TAB16 T WHERE T.COL = 8 AND T.ROW_CODE = T16.ROW_CODE),
	NOM_PACH = (SELECT TOP 1 LTRIM(RTRIM(ROW_CODE)) FROM #TAB16 T WHERE T.COL = 3 AND T.ROW_CODE = T16.ROW_CODE),
	SUM_BASE = (SELECT TOP 1 SUMMA2 FROM #TAB16 T WHERE T.COL = 3 AND T.ROW_CODE = T16.ROW_CODE),
	SUM_STR = (SELECT TOP 1 SUMMA2 FROM #TAB16 T WHERE T.COL = 4 AND T.ROW_CODE = T16.ROW_CODE),
	PERS_CNT = (SELECT TOP 1 SUMMA FROM #TAB16 T WHERE T.COL = 5 AND T.ROW_CODE = T16.ROW_CODE),
	DATE_DOC = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB16 T WHERE T.COL = 7 AND T.ROW_CODE = T16.ROW_CODE),
	PER = (SELECT TOP 1 LTRIM(RTRIM(str(SUMMA))) FROM #TAB16 T WHERE T.COL = 9 AND T.ROW_CODE = T16.ROW_CODE),
	YEAR_BEGIN = (SELECT TOP 1 LTRIM(RTRIM(str(SUMMA))) FROM #TAB16 T WHERE T.COL = 10 AND T.ROW_CODE = T16.ROW_CODE),
	F_NAME = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB16 T WHERE T.COL = 6 AND T.ROW_CODE = T16.ROW_CODE),
	LINK_DOC = (SELECT TOP 1 SUMMA FROM #TAB16 T WHERE T.COL = 11 AND T.ROW_CODE = T16.ROW_CODE)
FROM
	#TAB16 T16

INSERT INTO #OPIS ([TYPE], NOM_PACH, SUM_BASE, SUM_STR, PERS_CNT, DATE_DOC,	PER, YEAR_BEGIN, PER_EDT, YEAR_EDT,F_NAME, link_doc)
SELECT DISTINCT
	[TYPE] = (SELECT TOP 1 summa FROM #TAB17 T WHERE T.COL = 11 AND T.ROW_CODE = T17.ROW_CODE),
	NOM_PACH = (SELECT TOP 1 LTRIM(RTRIM(ROW_CODE)) FROM #TAB17 T WHERE T.COL = 3 AND T.ROW_CODE = T17.ROW_CODE),
	SUM_BASE = (SELECT TOP 1 SUMMA2 FROM #TAB17 T WHERE T.COL = 14 AND T.ROW_CODE = T17.ROW_CODE),
	SUM_STR = (SELECT TOP 1 SUMMA2 FROM #TAB17 T WHERE T.COL = 15 AND T.ROW_CODE = T17.ROW_CODE),
	PERS_CNT = (SELECT TOP 1 SUMMA FROM #TAB17 T WHERE T.COL = 8 AND T.ROW_CODE = T17.ROW_CODE),
	DATE_DOC = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 10 AND T.ROW_CODE = T17.ROW_CODE),
	PER = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 12 AND T.ROW_CODE = T17.ROW_CODE),
	YEAR_BEGIN = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 13 AND T.ROW_CODE = T17.ROW_CODE),
	PER_EDT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 3 AND T.ROW_CODE = T17.ROW_CODE),
	YEAR_EDT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 4 AND T.ROW_CODE = T17.ROW_CODE),
	F_NAME = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 9 AND T.ROW_CODE = T17.ROW_CODE),
	LINK_DOC = (SELECT TOP 1 SUMMA FROM #TAB17 T WHERE T.COL = 16 AND T.ROW_CODE = T17.ROW_CODE)
FROM
	#TAB17 T17	



DROP TABLE #TAB16
DROP TABLE #TAB17


--Проставить номера попорядку
DECLARE @NEXT_NUM3 INT
SET @NEXT_NUM3 = 0
UPDATE #OPIS SET @NEXT_NUM3 = @NEXT_NUM3 + 1, LINK = @NEXT_NUM3

DECLARE @NEXT_NUM4 INT
SET @NEXT_NUM4 = 0
UPDATE #OPIS SET @NEXT_NUM4 = @NEXT_NUM4 + 1, NOM_PP = @NEXT_NUM4
WHERE TYPE = 1


SET @NEXT_NUM4 = 0
UPDATE #OPIS SET @NEXT_NUM4 = @NEXT_NUM4 + 1, NOM_PP = @NEXT_NUM4
WHERE TYPE = 2


---------------------------------------------------------------
----------------------------------------------------------------
DECLARE @Cur3 CURSOR, @Cur4 CURSOR, @LINK_OP INT, @NGROUP int /*Номер пачки*/, @lcF_NAME varchar(254) /*наименование файла*/,
	@NOM_PP INT, @TYP_D varchar(20), @DATE_DOC VARCHAR(10),@SUM_BASE NUMERIC(18,2), @SUM_STR NUMERIC(18,2), @PERS_CNT NUMERIC(5),
	@PER VARCHAR(1), @YEAR_BEGIN VARCHAR(4), @PER_EDT VARCHAR(1), @YEAR_EDT VARCHAR(4)


	CREATE TABLE #TAB61 (LINK INT , FM VARCHAR(100), IM VARCHAR(100), OT VARCHAR(100), SNILS VARCHAR(14), CODE VARCHAR(14), SNILS1 VARCHAR(14), [TYPE] TINYINT , NGROUP VARCHAR(10), FNAME varchar(80), doc_date varchar(10), per_edt int)
	INSERT INTO #TAB61 (CODE, SNILS, FM, IM, OT, SNILS1, [TYPE], NGROUP, FNAME, doc_date, per_edt)
	exec dbo.RSA_RSV_1_PERS_UCH_SZV @Begin_Date , @END_Date , @LINK_DEP, 0 , @Link


	SET @NEXT_NUM3 = 0
	UPDATE #TAB61 SET @NEXT_NUM3 = @NEXT_NUM3 + 1, LINK = @NEXT_NUM3

	CREATE TABLE #TAB64 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
	INSERT INTO #TAB64 (ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
	SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 18, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL



	CREATE TABLE #P_64 (
								LINK INT, [TYPE] varchar(15), NOM_PP INT, SNILS VARCHAR(14), CODE_STR int, CODE_KAT varchar(5), INSUR NUMERIC(18,2), B_BEF NUMERIC(18,2), GB_BEF NUMERIC(18,2),B_AFT NUMERIC(18,2),
								PER VARCHAR(1), YEAR_BEGIN VARCHAR(4), PER_EDT VARCHAR(1), YEAR_EDT VARCHAR(4), FM varchar(100), IM varchar(100), OT varchar(100),
								k_PER_EDT1 VARCHAR(1), k_YEAR_EDT1 VARCHAR(4), k_INSUR1 NUMERIC(18,2), k_INSUR_1 NUMERIC(18,2), k_GAIN1 NUMERIC(18,2),
								k_PER_EDT2 VARCHAR(1), k_YEAR_EDT2 VARCHAR(4), k_INSUR2 NUMERIC(18,2), k_INSUR_2 NUMERIC(18,2), k_GAIN2 NUMERIC(18,2),
								k_PER_EDT3 VARCHAR(1), k_YEAR_EDT3 VARCHAR(4), k_INSUR3 NUMERIC(18,2), k_INSUR_3 NUMERIC(18,2), k_GAIN3 NUMERIC(18,2),
								k_PER_EDT4 VARCHAR(1), k_YEAR_EDT4 VARCHAR(4), k_INSUR4 NUMERIC(18,2), k_INSUR_4 NUMERIC(18,2), k_GAIN4 NUMERIC(18,2),
								k_PER_EDT5 VARCHAR(1), k_YEAR_EDT5 VARCHAR(4), k_INSUR5 NUMERIC(18,2), k_INSUR_5 NUMERIC(18,2), k_GAIN5 NUMERIC(18,2),SUM_VZNOS NUMERIC(18,2), UVOL CHAR(1))
	
	INSERT INTO #P_64 (/*LINK,*/ [TYPE], NOM_PP,SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
							PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
							k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
							k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
							k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS,UVOL)
	SELECT
				---LINK = dEnse_RANK() OVER (ORDER BY  [type],snils ),
				[TYPE],
				NOM_PP = ROW_NUMBER() OVER (PARTITION BY SNILS, [TYPE], PER_EDT ORDER BY CODE_STR , PER_EDT ),
				SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
							PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
							k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
							k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
							k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS,UVOL

		FROM
	(
	SELECT DISTINCT
		[TYPE] = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 12 AND T.ROW_CODE = T64.ROW_CODE),
		SNILS = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 2 AND T.ROW_CODE = T64.ROW_CODE),
		CODE_STR = convert(int, (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 4 AND T.ROW_CODE = T64.ROW_CODE)),
		CODE_KAT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 5 AND T.ROW_CODE = T64.ROW_CODE),
		INSUR = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 6 AND T.ROW_CODE = T64.ROW_CODE),
		B_BEF = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 7 AND T.ROW_CODE = T64.ROW_CODE ),
		GB_BEF = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 8 AND T.ROW_CODE = T64.ROW_CODE ),
		B_AFT = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 9 AND T.ROW_CODE = T64.ROW_CODE ),
		PER = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL))FROM #TAB64 T WHERE T.COL = 10 AND T.ROW_CODE = T64.ROW_CODE),
		YEAR_BEGIN = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 11 AND T.ROW_CODE = T64.ROW_CODE),
		PER_EDT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 13 AND T.ROW_CODE = T64.ROW_CODE),
		YEAR_EDT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 14 AND T.ROW_CODE = T64.ROW_CODE),
		FM= (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 16 AND T.ROW_CODE = T64.ROW_CODE),
		IM= (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 17 AND T.ROW_CODE = T64.ROW_CODE),
		OT= (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 18 AND T.ROW_CODE = T64.ROW_CODE),
		k_PER_EDT1 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 19 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT1 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 20 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR1 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 21 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_1 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 22 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN1 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 23 AND T.ROW_CODE = T64.ROW_CODE),
		
		k_PER_EDT2= (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 24 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT2 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA)))FROM #TAB64 T WHERE T.COL = 25 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR2 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 26 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_2 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 27 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN2 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 28 AND T.ROW_CODE = T64.ROW_CODE),
		k_PER_EDT3 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 29 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT3 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 30 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR3 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 31 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_3 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 32 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN3 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 33 AND T.ROW_CODE = T64.ROW_CODE),
		k_PER_EDT4 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 34 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT4 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 35 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR4 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 36 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_4 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 37 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN4 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 38 AND T.ROW_CODE = T64.ROW_CODE),
		k_PER_EDT5 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 39 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT5 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 40 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR5 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 41 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_5 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 42 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN5 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 43 AND T.ROW_CODE = T64.ROW_CODE),
		SUM_VZNOS = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 44 AND T.ROW_CODE = T64.ROW_CODE),
		UVOL = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 45 AND T.ROW_CODE = T64.ROW_CODE)
		
	FROM
	#TAB64 T64	
		) T	



--exec SA_RSV1_EXPORT_0700_2014     42276

	SET @NEXT_NUM3 = 0
	UPDATE  p  SET  LINK = (select top 1 link from #TAB61 where ltrim(rtrim(SNILS)) = ltrim(rtrim(p.SNILS))
																						 and  ltrim(rtrim(FM)) = ltrim(rtrim(p.FM))
																						 and ltrim(rtrim(IM)) = ltrim(rtrim(p.IM))	 and ltrim(rtrim(OT)) = ltrim(rtrim(p.OT))
																						 and [type] = (case p.[type] when 'ИСХОДНАЯ' then 1 when 'КОРРЕКТИРУЮЩАЯ' then 2 else 3 end)
																						 and PER_EDT  = p.PER_EDT)
	FROM #P_64 p

																


--DELETE FROM #P_64 WHERE ISNULL(INSUR,0) = 0

	CREATE TABLE #PACHKA_64 (
								LINK INT, [TYPE] varchar(15), NOM_PP INT, SNILS VARCHAR(14), CODE_STR int, CODE_KAT varchar(5), INSUR NUMERIC(18,2), B_BEF NUMERIC(18,2), GB_BEF NUMERIC(18,2),B_AFT NUMERIC(18,2),
								PER VARCHAR(1), YEAR_BEGIN VARCHAR(4), PER_EDT VARCHAR(1), YEAR_EDT VARCHAR(4), FM varchar(100), IM varchar(100), OT varchar(100),
								k_PER_EDT1 VARCHAR(1), k_YEAR_EDT1 VARCHAR(4), k_INSUR1 NUMERIC(18,2), k_INSUR_1 NUMERIC(18,2), k_GAIN1 NUMERIC(18,2),
								k_PER_EDT2 VARCHAR(1), k_YEAR_EDT2 VARCHAR(4), k_INSUR2 NUMERIC(18,2), k_INSUR_2 NUMERIC(18,2), k_GAIN2 NUMERIC(18,2),
								k_PER_EDT3 VARCHAR(1), k_YEAR_EDT3 VARCHAR(4), k_INSUR3 NUMERIC(18,2), k_INSUR_3 NUMERIC(18,2), k_GAIN3 NUMERIC(18,2),
								k_PER_EDT4 VARCHAR(1), k_YEAR_EDT4 VARCHAR(4), k_INSUR4 NUMERIC(18,2), k_INSUR_4 NUMERIC(18,2), k_GAIN4 NUMERIC(18,2),
								k_PER_EDT5 VARCHAR(1), k_YEAR_EDT5 VARCHAR(4), k_INSUR5 NUMERIC(18,2), k_INSUR_5 NUMERIC(18,2), k_GAIN5 NUMERIC(18,2),SUM_VZNOS NUMERIC(18,2),UVOL CHAR(1))
	
	INSERT INTO #PACHKA_64 (LINK , [TYPE], NOM_PP,SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
							PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
							k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
							k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
							k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS,UVOL)

	SELECT
				LINK,
				[TYPE],
				NOM_PP = ROW_NUMBER() OVER (PARTITION BY SNILS, [TYPE],PER_EDT ORDER BY  PER_EDT,CODE_STR),
				SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
				PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
				k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
				k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
				k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS,UVOL		
	FROM
	(
		SELECT DISTINCT LINK , [TYPE],SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
							PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
							k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
							k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
							k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS, UVOL
		FROM
		#P_64 T64	
	) T	


--exec SA_RSV1_EXPORT_0700_2014    2191
DROP TABLE #P_64
DROP TABLE #TAB64


	CREATE TABLE #TAB66 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
	INSERT INTO #TAB66 (ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
	SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 19, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL
	

	CREATE TABLE #TAB67 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
	INSERT INTO #TAB67 (ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
	SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 20, DEFAULT, DEFAULT) T  ORDER BY T.COL	

	CREATE TABLE #PACHKA_67 (
								LINK INT, [TYPE] INT , NOM_PP INT, SNILS VARCHAR(14), CODE_STR INT, CODE_SPO varchar(5), INC_T1M NUMERIC(18,2), INC_T2M NUMERIC(18,2),
								DATE_BEGIN1 varchar(10),DATE_END1 VARCHAR(10),TU_CODE1 VARCHAR(10), OS_CODE1 VARCHAR(30), EX_CODE1 VARCHAR(10), f_is_dop1 VARCHAR(100), P_CODE1 varchar(10), f_ud_dop1 varchar(100),
								DATE_BEGIN2 varchar(10),DATE_END2 VARCHAR(10),TU_CODE2 VARCHAR(10), OS_CODE2 VARCHAR(30), EX_CODE2 VARCHAR(10), f_is_dop2 VARCHAR(100), P_CODE2 varchar(10), f_ud_dop2 varchar(100),
								DATE_BEGIN3 varchar(10),DATE_END3 VARCHAR(10),TU_CODE3 VARCHAR(10), OS_CODE3 VARCHAR(30), EX_CODE3 VARCHAR(10), f_is_dop3 VARCHAR(100), P_CODE3 varchar(10), f_ud_dop3 varchar(100),
								DATE_BEGIN4 varchar(10),DATE_END4 VARCHAR(10),TU_CODE4 VARCHAR(10), OS_CODE4 VARCHAR(30), EX_CODE4 VARCHAR(10), f_is_dop4 VARCHAR(100), P_CODE4 varchar(10), f_ud_dop4 varchar(100)
							)
	
	INSERT INTO #PACHKA_67 (LINK, [TYPE], NOM_PP,SNILS,CODE_STR,CODE_SPO,INC_T1M,INC_T2M,
								DATE_BEGIN1,DATE_END1,TU_CODE1, OS_CODE1, EX_CODE1, f_is_dop1, P_CODE1, f_ud_dop1,
								DATE_BEGIN2,DATE_END2,TU_CODE2, OS_CODE2, EX_CODE2, f_is_dop2, P_CODE2, f_ud_dop2,
								DATE_BEGIN3,DATE_END3,TU_CODE3, OS_CODE3, EX_CODE3, f_is_dop3, P_CODE3, f_ud_dop3,
								DATE_BEGIN4,DATE_END4,TU_CODE4, OS_CODE4, EX_CODE4, f_is_dop4, P_CODE4, f_ud_dop4)
	SELECT
				LINK = dEnse_RANK() OVER (ORDER BY  [type],snils ),
				[TYPE],
				NOM_PP = ROW_NUMBER() OVER (PARTITION BY SNILS, [TYPE] ORDER BY CODE_STR),
								SNILS,CODE_STR,CODE_SPO,INC_T1M,INC_T2M,
								DATE_BEGIN1,DATE_END1,TU_CODE1, OS_CODE1, EX_CODE1, f_is_dop1, P_CODE1, f_ud_dop1,
								DATE_BEGIN2,DATE_END2,TU_CODE2, OS_CODE2, EX_CODE2, f_is_dop2, P_CODE2, f_ud_dop2,
								DATE_BEGIN3,DATE_END3,TU_CODE3, OS_CODE3, EX_CODE3, f_is_dop3, P_CODE3, f_ud_dop3,
								DATE_BEGIN4,DATE_END4,TU_CODE4, OS_CODE4, EX_CODE4, f_is_dop4, P_CODE4, f_ud_dop4		
	FROM
	(
		SELECT DISTINCT
			[TYPE] = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB67 T WHERE T.COL = 9 AND T.ROW_CODE = T67.ROW_CODE),
			SNILS = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 7 AND T.ROW_CODE = T67.ROW_CODE),
			CODE_STR = CONVERT( int ,(SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 3 AND T.ROW_CODE = T67.ROW_CODE)),
			CODE_SPO = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 4 AND T.ROW_CODE = T67.ROW_CODE),
			INC_T1M = (SELECT TOP 1 SUMMA2 FROM #TAB67 T WHERE T.COL = 5 AND T.ROW_CODE = T67.ROW_CODE),
			INC_T2M = (SELECT TOP 1 SUMMA2 FROM #TAB67 T WHERE T.COL = 6 AND T.ROW_CODE = T67.ROW_CODE ),

			DATE_BEGIN1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 10 AND T.ROW_CODE = T67.ROW_CODE ),
			DATE_END1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 11 AND T.ROW_CODE = T67.ROW_CODE),
			TU_CODE1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 12 AND T.ROW_CODE = T67.ROW_CODE),
			OS_CODE1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 13 AND T.ROW_CODE = T67.ROW_CODE ),
			EX_CODE1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 14 AND T.ROW_CODE = T67.ROW_CODE),
			f_is_dop1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 15 AND T.ROW_CODE = T67.ROW_CODE ),
			P_CODE1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 16 AND T.ROW_CODE = T67.ROW_CODE),
			f_ud_dop1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 17 AND T.ROW_CODE = T67.ROW_CODE),
			
			DATE_BEGIN2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 18 AND T.ROW_CODE = T67.ROW_CODE ),
			DATE_END2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 19 AND T.ROW_CODE = T67.ROW_CODE),
			TU_CODE2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 20 AND T.ROW_CODE = T67.ROW_CODE),
			OS_CODE2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 21 AND T.ROW_CODE = T67.ROW_CODE ),
			EX_CODE2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 22 AND T.ROW_CODE = T67.ROW_CODE),
			f_is_dop2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 23 AND T.ROW_CODE = T67.ROW_CODE ),
			P_CODE2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 24 AND T.ROW_CODE = T67.ROW_CODE),
			f_ud_dop2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 25 AND T.ROW_CODE = T67.ROW_CODE),
			
			DATE_BEGIN3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 26 AND T.ROW_CODE = T67.ROW_CODE ),
			DATE_END3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 27 AND T.ROW_CODE = T67.ROW_CODE),
			TU_CODE3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 28 AND T.ROW_CODE = T67.ROW_CODE),
			OS_CODE3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 29 AND T.ROW_CODE = T67.ROW_CODE ),
			EX_CODE3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 30 AND T.ROW_CODE = T67.ROW_CODE),
			f_is_dop3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 31 AND T.ROW_CODE = T67.ROW_CODE ),
			P_CODE3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 32 AND T.ROW_CODE = T67.ROW_CODE),
			f_ud_dop3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 33 AND T.ROW_CODE = T67.ROW_CODE),
			
			DATE_BEGIN4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 34 AND T.ROW_CODE = T67.ROW_CODE ),
			DATE_END4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 35 AND T.ROW_CODE = T67.ROW_CODE),
			TU_CODE4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 36 AND T.ROW_CODE = T67.ROW_CODE),
			OS_CODE4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 37 AND T.ROW_CODE = T67.ROW_CODE ),
			EX_CODE4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 38 AND T.ROW_CODE = T67.ROW_CODE),
			f_is_dop4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 39 AND T.ROW_CODE = T67.ROW_CODE ),
			P_CODE4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 40 AND T.ROW_CODE = T67.ROW_CODE),
			f_ud_dop4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 41 AND T.ROW_CODE = T67.ROW_CODE)
		FROM
		#TAB67 T67	
	) T	

	--SET @NEXT_NUM3 = 0
	--UPDATE  p  SET  LINK = (select top 1 link from #TAB61 where ltrim(rtrim(SNILS)) = ltrim(rtrim(p.SNILS))
	--														 and [type] = p.[type])
	--FROM #PACHKA_67 p

-------------------------
DROP TABLE #TAB67

	CREATE TABLE #TAB68 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
	INSERT INTO #TAB68	(ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
	SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 21, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL	

	SELECT T1.LINK , t1.NGROUP , T1.FNAME, T1.DOC_DATE, t2.[TYPE],t2.SNILS, t2.NOM_PP,t2.CODE_STR,t2.CODE_KAT,t2.INSUR,t2.B_BEF, t2.GB_BEF, t2.B_AFT,
							t2.PER,t2.YEAR_BEGIN,t2.PER_EDT,t2.YEAR_EDT,t2.FM,t2.IM,t2.OT,
							t2.k_PER_EDT1,t2.k_YEAR_EDT1,t2.k_INSUR1,t2.k_INSUR_1,t2.k_GAIN1,t2.k_PER_EDT2,t2.k_YEAR_EDT2,t2.k_INSUR2,t2.k_INSUR_2,t2.k_GAIN2,
							t2.k_PER_EDT3,t2.k_YEAR_EDT3,t2.k_INSUR3,t2.k_INSUR_3,t2.k_GAIN3,t2.k_PER_EDT4,t2.k_YEAR_EDT4,t2.k_INSUR4,t2.k_INSUR_4,t2.k_GAIN4,
							t2.k_PER_EDT5,t2.k_YEAR_EDT5,t2.k_INSUR5,t2.k_INSUR_5,t2.k_GAIN5, t2.SUM_VZNOS,  t2.UVOL
	INTO #RES
	FROM #TAB61 t1 inner join #PACHKA_64 t2
	ON 	t1.link= t2.link and t1.FM = t2.FM  and t1.IM = t2.IM and  t1.OT = t2.OT and t1.SNILS = t2.SNILS
	WHERE
	(	
		ISNULL(t2.INSUR,0) <> 0
		OR EXISTS (
			SELECT *
			FROM
				dbo.SA_SZV4_SVEDENIA s INNER JOIN  dbo.SA_SZV4_STAZH st ON S.link1 = ST.link
			WHERE
				s.link = (SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, DEFAULT, 11))
				AND T1.NGROUP = S.PACHKA
				AND  s.FM = t2.FM and s.IM = t2.IM  and s.OT = t2.OT AND  s.PF_NUM= t2.SNILS
		)
	)
	order by T1.LINK, t2.link , t2.[type] , t2.fm, t2.IM, t2.OT, t2.CODE_STR

--
	SELECT T1.LINK , t1.NGROUP , T1.FNAME, T1.DOC_DATE,t1.FM,t1.IM,t1.OT, t2.[TYPE],t2.SNILS, t2.NOM_PP,t2.CODE_STR,t2.CODE_SPO,t2.INC_T1M,t2.INC_T2M,
								t2.DATE_BEGIN1,t2.DATE_END1,t2.TU_CODE1, t2.OS_CODE1, t2.EX_CODE1, t2.f_is_dop1, t2.P_CODE1, t2.f_ud_dop1,
								t2.DATE_BEGIN2,t2.DATE_END2,t2.TU_CODE2, t2.OS_CODE2, t2.EX_CODE2, t2.f_is_dop2, t2.P_CODE2, t2.f_ud_dop2,
								t2.DATE_BEGIN3,t2.DATE_END3,t2.TU_CODE3, t2.OS_CODE3, t2.EX_CODE3, t2.f_is_dop3, t2.P_CODE3, t2.f_ud_dop3,
								t2.DATE_BEGIN4,t2.DATE_END4,t2.TU_CODE4, t2.OS_CODE4, t2.EX_CODE4, t2.f_is_dop4, t2.P_CODE4, t2.f_ud_dop4
	INTO #RES1
	FROM #PACHKA_67 t2  inner join #TAB61 t1
	on 	/*t1.link= t2.link and*/ t1.SNILS = t2.SNILS
	order by T1.LINK, t2.link , t2.[type], t1.fm, t1.IM, t1.OT, t2.CODE_STR
	

DECLARE	@LINK_R int, @TYPE_R varchar(15),@SNILS_R varchar(14),@CODE_STR_R varchar(4),
		@CODE_KAT_R varchar(5),@FM_R varchar(100),@IM_R varchar(100),@OT_R varchar(100),
		@PER_R varchar(1),@YEAR_BEGIN_R varchar(4),@PER_EDT_R varchar(1),@YEAR_EDT_R varchar(4),
		@DATE_DOC_R varchar (10) ,  @FNAME_R varchar(150), @NOM_PACH_R varchar(4), @LINK_DOC_OP INT, @UVOL CHAR(1)

UPDATE s
	SET PER = (SELECT TOP 1  per  from #OPIS WHERE TYPE = 1  )
FROM #OPIS s WHERE TYPE = 2

/*СКОРРЕКТИРУЕМ ДАТУ ПО ДАТЕ СОЗДАНИЯ ОТЧЕТА рсв-1*/
UPDATE #TAB61 SET DOC_DATE = CONVERT(VARCHAR(10),@modify_date,104)
UPDATE #OPIS SET DATE_DOC = CONVERT(VARCHAR(10),@modify_date,104)
UPDATE #RES SET DOC_DATE = CONVERT(VARCHAR(10),@modify_date,104)

SET @Cur3 = CURSOR FORWARD_ONLY
FOR
select 	
	LINK ,
	[TYPE] = case [TYPE] when 1 then 'ИСХОДНАЯ' WHEN 2 then 'КОРРЕКТИРУЮЩАЯ' else 'ОТМЕНЯЮЩАЯ' end ,
	NOM_PP,
	NOM_PACH,
	SUM_BASE,
	SUM_STR,
	PERS_CNT,
	DATE_DOC, /*ДАТА СОСТАВЛЕНИЯ/ЗАПОЛНЕНИЯ*/
	PER  = CASE [TYPE] when 2 then (CASE per WHEN 3 THEN 1 WHEN 6 THEN 2 WHEN 9 THEN 3 ELSE 4 end) else PER end,
	YEAR_BEGIN ,
	PER_EDT = CASE [TYPE] when 2 then (CASE PER_EDT WHEN 3 THEN 1 WHEN 6 THEN 2 WHEN 9 THEN 3 ELSE 0 end) else PER_EDT end,
	YEAR_EDT,
	F_NAME,
	LINK_DOC
from #OPIS order by LINK,[TYPE], NOM_PP

OPEN @Cur3
FETCH NEXT FROM @Cur3 INTO @LINK_OP, @TYP_D, @NOM_PP, @NGROUP /*Номер пачки*/,@SUM_BASE, @SUM_STR, @PERS_CNT,@DATE_DOC,@PER, @YEAR_BEGIN, @PER_EDT, @YEAR_EDT, @lcFNAME/*наименование файла*/ , @LINK_DOC_OP


WHILE (@@fetch_status <> -1)
BEGIN
	
	IF (@@fetch_status <> -2)
	BEGIN	
---------------------------------------------------------------
----------------------------------------------------------------

			-- Начало второго входящего документа (расширение блока входящий документ)
			IF (SELECT COUNT(*) FROM #OPIS) > 0 --
			BEGIN
		
									
				IF (@TYP_D = 'ИСХОДНАЯ' AND (SELECT COUNT (*) FROM #RES WHERE LTRIM(RTRIM([TYPE])) = LTRIM(RTRIM(@TYP_D))
										AND  LTRIM(RTRIM(PER)) = LTRIM(RTRIM(ISNULL(@PER,'0')))
										AND  LTRIM(RTRIM(YEAR_BEGIN)) = LTRIM(RTRIM(ISNULL(@YEAR_BEGIN,'0')))
										and LTRIM(RTRIM(PER_EDT)) =  LTRIM(RTRIM(ISNULL(@PER_EDT,'0'))) and LTRIM(RTRIM(YEAR_EDT)) =  LTRIM(RTRIM(ISNULL(@YEAR_EDT,'0')))
										and  LTRIM(RTRIM(DOC_DATE)) = LTRIM(RTRIM(@DATE_DOC)) and LTRIM(RTRIM(FNAME)) = LTRIM(RTRIM(@lcFNAME)) and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))) > 0)
					OR
					(@TYP_D = 'КОРРЕКТИРУЮЩАЯ' AND (SELECT COUNT (*) FROM #RES WHERE LTRIM(RTRIM([TYPE])) = LTRIM(RTRIM(@TYP_D))
										--AND  LTRIM(RTRIM(PER)) = LTRIM(RTRIM(ISNULL(@PER,'0')))
										AND  LTRIM(RTRIM(YEAR_BEGIN)) = LTRIM(RTRIM(ISNULL(@YEAR_BEGIN,'0')))
										and LTRIM(RTRIM(PER_EDT)) =  LTRIM(RTRIM(ISNULL(@PER_EDT,'0'))) and LTRIM(RTRIM(YEAR_EDT)) =  LTRIM(RTRIM(ISNULL(@YEAR_EDT,'0')))
										and  LTRIM(RTRIM(DOC_DATE)) = LTRIM(RTRIM(@DATE_DOC)) and LTRIM(RTRIM(FNAME)) = LTRIM(RTRIM(@lcFNAME)) and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))) > 0)
										
				BEGIN

					SET @PERS_CNT  = (select distinct COUNT (*) FROM
					(select distinct link , ngroup, snils from #RES WHERE LTRIM(RTRIM([TYPE])) = LTRIM(RTRIM(@TYP_D)) /*and LTRIM(RTRIM(PER)) = LTRIM(RTRIM(ISNULL(@PER,'0')))*/ and LTRIM(RTRIM(YEAR_BEGIN)) = LTRIM(RTRIM(ISNULL(@YEAR_BEGIN,'0')))
										and LTRIM(RTRIM(PER_EDT)) =  LTRIM(RTRIM(ISNULL(@PER_EDT,'0'))) and LTRIM(RTRIM(YEAR_EDT)) =  LTRIM(RTRIM(ISNULL(@YEAR_EDT,'0')))
										and  LTRIM(RTRIM(DOC_DATE)) = LTRIM(RTRIM(@DATE_DOC)) and LTRIM(RTRIM(FNAME)) = LTRIM(RTRIM(@lcFNAME)) and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))
										GROUP BY link , ngroup , SNILS) s)
				
						
				DECLARE @NUM_PACH_PP INT
				SET @NUM_PACH_PP = 1
				
				--exec SA_RSV1_EXPORT_0700_2014    2191
	
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				 SELECT @lcFNAME, 'OEM' --Имя файла
				 UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="Windows-1251" ?>'
				 UNION ALL SELECT @lcFNAME, SPACE(0) + '<ФайлПФР xmlns="http://schema.pfr.ru">'
					UNION ALL SELECT @lcFNAME, SPACE(1) + '<ИмяФайла>' + RTRIM(LTRIM(@lcFNAME)) + '</ИмяФайла>'
					UNION ALL SELECT @lcFNAME, SPACE(1) + '<ЗаголовокФайла>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ВерсияФормата>07.00</ВерсияФормата>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ТипФайла>ВНЕШНИЙ</ТипФайла>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ПрограммаПодготовкиДанных>'
						UNION ALL SELECT @lcFNAME, SPACE(3) + '<НазваниеПрограммы>' + @NAME_PROG + '</НазваниеПрограммы>'
						UNION ALL SELECT @lcFNAME, SPACE(3) + '<Версия>' + @VERS_PROG + '</Версия>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '</ПрограммаПодготовкиДанных>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ИсточникДанных>СТРАХОВАТЕЛЬ</ИсточникДанных> '
					UNION ALL SELECT @lcFNAME, SPACE(1) + '</ЗаголовокФайла>'
					UNION ALL SELECT @lcFNAME, SPACE(1) + '<ПачкаВходящихДокументов Окружение="В составе файла" Стадия="До обработки">'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME, SPACE(2) + '<СВЕДЕНИЯ_ПО_ПАЧКЕ_ДОКУМЕНТОВ_РАЗДЕЛА_6>'


				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME, SPACE(3) + '<НомерВпачке>'+ RTRIM(LTRIM(STR(@NUM_PACH_PP)))+'</НомерВпачке>' + CHAR(10) +
						SPACE(3) + '<ТипВходящейОписи>ОПИСЬ ПАЧКИ</ТипВходящейОписи>' + CHAR(10) +
						SPACE(3) + '<СоставительПачки>' + CHAR(10) +
							SPACE(4) + '<НалоговыйНомер>' + CHAR(10) +
								SPACE(5) + '<ИНН>' + LTRIM(RTRIM(ISNULL((select TOP 1 INN1 FROM #DEP_DATA),'')))+ '</ИНН>' + CHAR(10) +
								SPACE(5) + '<КПП>' + LTRIM(RTRIM(ISNULL((SELECT TOP 1 KPP1 FROM #DEP_DATA),''))) + '</КПП>' + CHAR(10) +
							SPACE(4) + '</НалоговыйНомер>' + CHAR(10) +
							SPACE(4) + '<НаименованиеОрганизации>' + LTRIM(RTRIM(ISNULL((SELECT TOP 1 CONVERT(varchar(50),FULL_NAME) FROM #DEP_DATA),'')))+ '</НаименованиеОрганизации>' + CHAR(10) +
							SPACE(4) + '<НаименованиеКраткое>' + LTRIM(RTRIM(ISNULL( (SELECT TOP 1 ORGNAME FROM #DEP_DATA),''))) + '</НаименованиеКраткое>' + CHAR(10) +
							SPACE(4) + '<РегистрационныйНомер>' + LTRIM(RTRIM(ISNULL( (SELECT TOP 1 PFNUMBER FROM #DEP_DATA),''))) + '</РегистрационныйНомер>' + CHAR(10) +
						SPACE(3) + '</СоставительПачки>' + CHAR(10) +
						SPACE(3) + '<НомерПачки>' + CHAR(10) +
							SPACE(4) + '<Основной>'+LTRIM(RTRIM(@NGROUP))+'</Основной>' + CHAR(10) + 	
						SPACE(3) + '</НомерПачки>' + CHAR(10) + 	
						SPACE(3) + '<СоставДокументов>' + CHAR(10) + 	
							SPACE(4) + '<Количество>' + '1' /*@DOCCOUNT*/ + '</Количество>' + CHAR(10) + 	
							SPACE(4) + '<НаличиеДокументов>' + CHAR(10) + 	
								SPACE(5) + '<ТипДокумента>СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ</ТипДокумента>' + CHAR(10) + 	
								SPACE(5) + '<Количество>' + RTRIM(LTRIM(STR(@PERS_CNT)))+ '</Количество>' + CHAR(10) + 	
							SPACE(4) + '</НаличиеДокументов>' + CHAR(10) + 	
						SPACE(3) + '</СоставДокументов>' + CHAR(10) + 		

						SPACE(3) + '<ДатаСоставления>' + CONVERT(VARCHAR(10),@DATE_DOC,104)+ '</ДатаСоставления>' + CHAR(10) + 	
						SPACE(3) + '<ТипСведений>' + RTRIM(LTRIM(@TYP_D)) + '</ТипСведений>' + CHAR(10) + 	

						SPACE(3) + '<ОтчетныйПериод>'+ CHAR(10) + 	
							SPACE(4) + '<Квартал>' + CASE @PER WHEN '1' THEN '3'
															 WHEN '2' THEN '6'
															 WHEN '3' THEN '9'
															 ELSE '0'
													 END + '</Квартал>' + CHAR(10) + 	
							SPACE(4) + '<Год>' + @YEAR_BEGIN + '</Год>' + CHAR(10) + 	
							SPACE(4) + '<Название>'
										+	CASE @PER
													WHEN '1' THEN 'С 01.01.'+@YEAR_BEGIN+' ПО 31.03.'+@YEAR_BEGIN
													WHEN '2' THEN 'С 01.01.'+@YEAR_BEGIN+' ПО 30.06.'+@YEAR_BEGIN
													WHEN '3' THEN 'С 01.01.'+@YEAR_BEGIN+' ПО 30.09.'+@YEAR_BEGIN
													WHEN '4' THEN 'С 01.01.'+@YEAR_BEGIN+' ПО 31.12.'+@YEAR_BEGIN
													ELSE ''
											END									
											+ '</Название>' + CHAR(10) + 	
						SPACE(3) + '</ОтчетныйПериод>' + CHAR(10) +
											
						CASE WHEN @TYP_D = 'КОРРЕКТИРУЮЩАЯ' and @PER_EDT IS NOT NULL THEN ( SPACE(3) + '<КорректируемыйОтчетныйПериод>' + CHAR(10) +
																SPACE(4) + '<Квартал>' + CASE @PER_EDT  WHEN '1' THEN '3'
																									 WHEN '2' THEN '6'
																									 WHEN '3' THEN '9'	
																									 ELSE '0'
																						 END+ '</Квартал>' + CHAR(10) +
																SPACE(4) + '<Год>' + @YEAR_EDT + '</Год>' + CHAR(10) +
																SPACE(4) + '<Название>' +
																			CASE @PER_EDT
																					WHEN '1' THEN 'С 01.01.'+@YEAR_EDT+' ПО 31.03.'+@YEAR_EDT
																					WHEN '2' THEN 'С 01.01.'+@YEAR_EDT+' ПО 30.06.'+@YEAR_EDT
																					WHEN '3' THEN 'С 01.01.'+@YEAR_EDT+' ПО 30.09.'+@YEAR_EDT
																					WHEN '4' THEN 'С 01.01.'+@YEAR_EDT+' ПО 31.12.'+@YEAR_EDT
																					ELSE ''
																			END									
																			+ '</Название>' + CHAR(10) +
															SPACE(3) + '</КорректируемыйОтчетныйПериод>' ) ELSE '' END + CHAR(10) +
													SPACE(3) + '<БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + RTRIM(LTRIM(STR(COALESCE(@SUM_BASE,0),15,2))) + '</БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + CHAR(10) +
													SPACE(3) + '<СтраховыхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(@SUM_STR,0),15,2))) + '</СтраховыхВзносовОПС>'
				
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
						SELECT @lcFNAME,SPACE(2) + '</СВЕДЕНИЯ_ПО_ПАЧКЕ_ДОКУМЕНТОВ_РАЗДЕЛА_6>'									


						DECLARE @NUM_l INT, @num_old INT
						SET @NUM_l = 0
						SET @num_old = 0

						SET @Cur4 = CURSOR FORWARD_ONLY
						FOR
						SELECT LINK,[TYPE],SNILS,PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT, DOC_DATE, MAX(UVOL)/*, FNAME, NGROUP*/
						FROM #RES where  LTRIM(RTRIM([TYPE])) = LTRIM(RTRIM(@TYP_D)) /*and LTRIM(RTRIM(PER)) = LTRIM(RTRIM(ISNULL(@PER,'0')))*/ and LTRIM(RTRIM(YEAR_BEGIN)) = LTRIM(RTRIM(ISNULL(@YEAR_BEGIN,'0')))
										and LTRIM(RTRIM(PER_EDT)) =  LTRIM(RTRIM(ISNULL(@PER_EDT,'0'))) and LTRIM(RTRIM(YEAR_EDT)) =  LTRIM(RTRIM(ISNULL(@YEAR_EDT,'0')))
										and  LTRIM(RTRIM(DOC_DATE)) = LTRIM(RTRIM(@DATE_DOC)) and LTRIM(RTRIM(FNAME)) = LTRIM(RTRIM(@lcFNAME)) and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))
						group BY LINK,[TYPE],SNILS,PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT, DOC_DATE/*, FNAME, NGROUP*/
						order by link , fm, IM, OT, SNILS , [type]
							--exec SA_RSV1_EXPORT_0700_2014    42276	
						OPEN @Cur4
						FETCH NEXT FROM @Cur4 INTO @LINK_R, @TYPE_R,@SNILS_R,@PER_R,@YEAR_BEGIN_R,@PER_EDT_R,@YEAR_EDT_R,
													@FM_R,@IM_R,@OT_R, @DATE_DOC_R, @UVOL /*, @FNAME_R, @NOM_PACH_R*/
						WHILE (@@fetch_status <> -1)
						BEGIN

							IF (@@fetch_status <> -2)
							BEGIN	
									set @NUM_PACH_PP = @NUM_PACH_PP + 1 					
								
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME, SPACE(2) + '<СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>'
							
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME, SPACE(3) + '<НомерВпачке>'+ RTRIM(LTRIM(STR(@NUM_PACH_PP)))+'</НомерВпачке>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '<ТипСведений>'+ UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),''))))+ '</ТипСведений>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегистрационныйНомер>'+ LTRIM(RTRIM(ISNULL( (SELECT TOP 1 PFNUMBER FROM #DEP_DATA),''))) +'</РегистрационныйНомер>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '<СтраховойНомер>'+ LTRIM(RTRIM(ISNULL( @SNILS_R,''))) +'</СтраховойНомер>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '<ФИО>'
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Фамилия>' + UPPER(LTRIM(RTRIM(ISNULL(@FM_R,''))))+ '</Фамилия>'
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Имя>' + UPPER(LTRIM(RTRIM(ISNULL(@iM_R,''))))+ '</Имя>'
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Отчество>' + UPPER(LTRIM(RTRIM(ISNULL(@OT_R,''))))+ '</Отчество>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '</ФИО>' 	
									--
									IF @Period_Number !=1 AND @YEAR >='2015' 
									BEGIN 
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME, case when @UVOL = 1 THEN  (SPACE(3) + '<СведенияОбУвольнении>'+ 'УВОЛЕН'+  '</СведенияОбУвольнении>') ELSE '' end
									END 	
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)						
										SELECT @lcFNAME, SPACE(3) + '<ОтчетныйПериод>'
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Квартал>' + CASE @PER_r WHEN '1' THEN '3'
																										  WHEN '2' THEN '6'
																										  WHEN '3' THEN '9'
																										  ELSE '0'
																										  END
																				+ '</Квартал>' 	
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Год>' + @YEAR_BEGIN_r + '</Год>'	
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Название>' +	CASE @PER_R
																											WHEN '1' THEN 'С 01.01.'+@YEAR_BEGIN_R+' ПО 31.03.'+@YEAR_BEGIN_R
																											WHEN '2' THEN 'С 01.01.'+@YEAR_BEGIN_R+' ПО 30.06.'+@YEAR_BEGIN_R
																											WHEN '3' THEN 'С 01.01.'+@YEAR_BEGIN_R+' ПО 30.09.'+@YEAR_BEGIN_R
																											WHEN '4' THEN 'С 01.01.'+@YEAR_BEGIN_R+' ПО 31.12.'+@YEAR_BEGIN_R
																											ELSE ''
																									END									
																				+ '</Название>' 	
											UNION ALL SELECT @lcFNAME,SPACE(3) + '</ОтчетныйПериод>'
											
											IF UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'КОРРЕКТИРУЮЩАЯ'
												INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														 SELECT @lcFNAME, SPACE(3) + '<КорректируемыйОтчетныйПериод>' + CHAR(10) + CHAR(13) +
																				SPACE(4) + '<Квартал>' + CASE @PER_EDT_R WHEN '1' THEN '3'
																														 WHEN '2' THEN '6'
																														 WHEN '3' THEN '9'	
																														 ELSE '0'
																										END
																						+ '</Квартал>' + CHAR(10) + CHAR(13) +
																				SPACE(4) + '<Год>' + @YEAR_EDT_R + '</Год>' + CHAR(10) + CHAR(13) +
																				SPACE(4) + '<Название>' +
																							CASE @PER_EDT_R
																										WHEN '1' THEN 'С 01.01.'+@YEAR_EDT_R+' ПО 31.03.'+@YEAR_EDT_R
																										WHEN '2' THEN 'С 01.01.'+@YEAR_EDT_R+' ПО 30.06.'+@YEAR_EDT_R
																										WHEN '3' THEN 'С 01.01.'+@YEAR_EDT_R+' ПО 30.09.'+@YEAR_EDT_R
																										WHEN '4' THEN 'С 01.01.'+@YEAR_EDT_R+' ПО 31.12.'+@YEAR_EDT_R
																										ELSE ''
																							END									
																						+ '</Название>' + CHAR(10) + CHAR(13) +
																		SPACE(3) + '</КорректируемыйОтчетныйПериод>' + CHAR(10) + CHAR(13) +
																		SPACE(3) + '<РегистрационныйНомерКорректируемогоПериода>'+ LTRIM(RTRIM(ISNULL( (SELECT TOP 1 PFNUMBER FROM #DEP_DATA),''))) +'</РегистрационныйНомерКорректируемогоПериода>'
											
																					
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT @lcFNAME ,SPACE(3) + '<СведенияОсуммеВыплатИвознагражденийВпользуЗЛ>' + CHAR(10)+
																			 SPACE(4) + '<НомерСтроки>' + LTRIM(RTRIM(ISNULL( ( ROW_NUMBER() OVER (ORDER BY CODE_STR) ),''))) + '</НомерСтроки>' + CHAR(10)+
																			 SPACE(4) + '<ТипСтроки>' + LTRIM(RTRIM(ISNULL( (CASE WHEN CODE_STR = '400' OR CODE_STR = '410' OR CODE_STR = '420' THEN 'ИТОГ' ELSE 'МЕСЦ' END),''))) + '</ТипСтроки>' + CHAR(10)+
																			 SPACE(4) + (CASE WHEN CODE_STR = '400' OR CODE_STR ='410' OR CODE_STR ='420' THEN ''
																							  else  ( '<Месяц>' +	(CASE WHEN CODE_STR = '400' OR CODE_STR ='410' OR CODE_STR ='420' THEN ''
																							
																														  WHEN CODE_STR = '401' OR CODE_STR ='411' OR CODE_STR ='421' THEN
																														  						(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
																														  							  THEN (CASE @PER_r WHEN '1' THEN '1'
																														  												WHEN '2' THEN '4'
																														  												WHEN '3' THEN '7'
																														  												ELSE '10' end)
																														  							  ELSE (CASE @PER_EDT_R WHEN '1' THEN '1'
																														  													WHEN '2' THEN '4'
																														  													WHEN '3' THEN '7'
																														  													ELSE '10' end)
																														  						END)
																																														
																														  WHEN CODE_STR = '402' OR CODE_STR ='412' OR CODE_STR ='422' THEN
																														  						(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
																														  							  THEN (CASE @PER_r WHEN '1' THEN '2'
																														  												WHEN '2' THEN '5'
																														  												WHEN '3' THEN '8'
																														  												ELSE '11' end)
																														  							  ELSE (CASE @PER_EDT_R WHEN '1' THEN '2'
																														  													WHEN '2' THEN '5'
																														  													WHEN '3' THEN '8'
																														  													ELSE '11' end)
																														  						END)
																														
																														  ELSE 					(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
																														  							  THEN (CASE @PER_r WHEN '1' THEN '3'
																														  												WHEN '2' THEN '6'
																														  												WHEN '3' THEN '9'
																														  												ELSE '12' end)
																														  							  ELSE (CASE @PER_EDT_R WHEN '1' THEN '3'
																														  													WHEN '2' THEN '6'
																														  													WHEN '3' THEN '9'
																														  													ELSE '12' end)
																														  						END)
																							                     	      end ) + '</Месяц>'  )
																							  END)   + CHAR(10)+
																									
																			 SPACE(4) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(CODE_STR,''))) + '</КодСтроки>' + CHAR(10)+
																			 SPACE(4) + '<КодКатегории>' + LTRIM(RTRIM(ISNULL(CODE_KAT,''))) + '</КодКатегории>' + CHAR(10)+
																			 SPACE(4) + '<СуммаВыплатИныхВознаграждений>' + RTRIM(LTRIM(STR(COALESCE(INSUR,0),15,2))) + '</СуммаВыплатИныхВознаграждений>' + CHAR(10)+
																			 SPACE(4) + '<НеПревышающиеВсего>' + RTRIM(LTRIM(STR(COALESCE(B_BEF,0),15,2))) + '</НеПревышающиеВсего>' + CHAR(10)+
																			 SPACE(4) + '<НеПревышающиеПоДоговорам>' + RTRIM(LTRIM(STR(COALESCE(GB_BEF,0),15,2))) + '</НеПревышающиеПоДоговорам>' + CHAR(10)+
																			 SPACE(4) + '<ПревышающиеПредельную>' + RTRIM(LTRIM(STR(COALESCE(B_AFT,0),15,2))) + '</ПревышающиеПредельную>' + CHAR(10)+
																	  SPACE(3) + '</СведенияОсуммеВыплатИвознагражденийВпользуЗЛ>'	
													FROM #RES
													WHERE
														link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
															and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
															AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R /*and FNAME = @FNAME_R */and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))
															AND
																(
																CODE_STR LIKE '4[0,1,2]0'
																OR
																CODE_STR NOT LIKE '4[0,1,2]0' AND ISNULL(INSUR,0) <> 0
																)

										
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT @lcFNAME, SPACE(3) + '<СуммаВзносовНаОПС>' + RTRIM(LTRIM(STR(COALESCE(SUM(SUM_VZNOS),0),15,2))) + '</СуммаВзносовНаОПС>'
													FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																	AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R */and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))
																	AND CODE_STR IN ('400','410','420')
						
											
											IF UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) IN ( 'ИСХОДНАЯ', 'КОРРЕКТИРУЮЩАЯ')
											BEGIN

												
												--exec SA_RSV1_EXPORT_0700_2014    2191
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT  @lcFNAME,
															(CASE WHEN (k_INSUR1 <> 0 or k_GAIN1 <> 0) AND  K_YEAR_EDT1 <> 0
															THEN
																	+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																				 SPACE(4) + '<НомерСтроки>' + '1' + '</НомерСтроки>' + CHAR(10)+
																				 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																				 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT1 >= 2014
																													THEN (CASE WHEN k_per_edt1 = '1' THEN '3'
																																WHEN k_per_edt1 = '2' THEN '6'
																																WHEN k_per_edt1 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt1  END + '</Квартал>' + CHAR(10)+
																				 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT1,''))) + '</Год>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR1,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_1,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN1,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																		  SPACE(3) + '</СведенияОкорректировках>'	
															ELSE
																''																
															END	)
														FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																		and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																		AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																		AND CODE_STR = '400'
													
														
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT  @lcFNAME,
															(CASE WHEN (k_INSUR2 <> 0 OR k_GAIN2 <> 0) AND  K_YEAR_EDT2 <> 0
															THEN		
																+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																				 SPACE(4) + '<НомерСтроки>' + '2' + '</НомерСтроки>' + CHAR(10)+
																				 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																				 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT2 >= 2014
																													THEN (CASE WHEN k_per_edt2 = '1' THEN '3'
																																WHEN k_per_edt2 = '2' THEN '6'
																																WHEN k_per_edt2 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt2  END  + '</Квартал>' + CHAR(10)+
																				 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT2,''))) + '</Год>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR2,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_2,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN2,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																		  SPACE(3) + '</СведенияОкорректировках>'	
															ELSE
																''
															END	)			
																		
														FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																		and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																		AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																		AND CODE_STR = '400'

												

													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT  @lcFNAME,
														    (CASE WHEN (k_INSUR3 <> 0 OR k_GAIN3 <> 0) AND  K_YEAR_EDT3 <> 0
																  THEN
																		+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																				 SPACE(4) + '<НомерСтроки>' + '3' + '</НомерСтроки>' + CHAR(10)+
																				 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																				 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT3 >= 2014
																													THEN (CASE WHEN k_per_edt3 = '1' THEN '3'
																																WHEN k_per_edt3 = '2' THEN '6'
																																WHEN k_per_edt3 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt3  END + '</Квартал>' + CHAR(10)+
																				 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT3,''))) + '</Год>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR3,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_3,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN3,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																		  SPACE(3) + '</СведенияОкорректировках>'
																ELSE
																	''
																END	)			
																																			  	
														FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																		and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																		AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																		AND CODE_STR = '400'

												
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
															SELECT  @lcFNAME,
																			
																	(CASE WHEN (k_INSUR4 <> 0 OR k_GAIN4 <> 0) AND  K_YEAR_EDT4 <> 0
																		  THEN
																			+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																					 SPACE(4) + '<НомерСтроки>' + '4' + '</НомерСтроки>' + CHAR(10)+
																					 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																					 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT4 >= 2014
																													THEN (CASE WHEN k_per_edt4 = '1' THEN '3'
																																WHEN k_per_edt4 = '2' THEN '6'
																																WHEN k_per_edt4 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt4  END + '</Квартал>' + CHAR(10)+
																					 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT4,''))) + '</Год>' + CHAR(10)+
																					 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR4,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																					 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_4,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																					 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN4,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																			  SPACE(3) + '</СведенияОкорректировках>'	
																	  ELSE
																		''
																	  END	)			
																				
															FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																			and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																			AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																			AND CODE_STR = '400' 																															


													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT  @lcFNAME,
																(CASE WHEN (k_INSUR5 <> 0 OR k_GAIN5 <> 0) AND  K_YEAR_EDT5 <> 0
																	  THEN
																		+	SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																				 SPACE(4) + '<НомерСтроки>' + '5' + '</НомерСтроки>' + CHAR(10)+
																				 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																				 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT5 >= 2014
																													THEN (CASE WHEN k_per_edt5 = '1' THEN '3'
																																WHEN k_per_edt5 = '2' THEN '6'
																																WHEN k_per_edt5 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt5  END + '</Квартал>' + CHAR(10)+
																				 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT5,''))) + '</Год>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR5,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_5,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN5,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																		  SPACE(3) + '</СведенияОкорректировках>'	
																	  ELSE
																		''
																	  END	)
														FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																		and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																		AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																		AND CODE_STR = '400'

												
												INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT  @lcFNAME,
															(CASE WHEN (k_INSUR1<>0 or k_INSUR2 <> 0 OR k_INSUR3<>0 OR k_INSUR4<>0 OR k_INSUR5 <> 0) OR (k_INSUR_1<>0 or k_INSUR_2 <> 0 OR k_INSUR_3<>0 OR k_INSUR_4<>0 OR k_INSUR_5 <> 0)
																  THEN
																	+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																			 SPACE(4) + '<НомерСтроки>' + (CASE WHEN k_INSUR1<>0 OR k_INSUR_1<>0 and k_INSUR2 = 0 and k_INSUR3 = 0 and k_INSUR4 = 0 AND k_INSUR5 = 0 THEN '2'
																												WHEN k_INSUR2 <> 0 OR k_INSUR_2<>0 and k_INSUR3 = 0 and k_INSUR4 = 0 AND k_INSUR5 = 0 THEN '3'
																												WHEN k_INSUR3 <> 0 OR k_INSUR_3<>0 and k_INSUR4 = 0 AND k_INSUR5 = 0 THEN '4'
																												WHEN k_INSUR4 <> 0 OR k_INSUR_4<>0 AND k_INSUR5 = 0 THEN '5'
																												WHEN k_INSUR5 <> 0 OR k_INSUR_5<>0 THEN '6' ELSE '6' end) + '</НомерСтроки>' + CHAR(10)+
																			 SPACE(4) + '<ТипСтроки>'+'ИТОГ'+'</ТипСтроки>' + CHAR(10)+
																			/* SPACE(4) + '<Квартал>'  +	(CASE WHEN per_edt = '1' THEN '3'
																										WHEN per_edt = '2' THEN '6'
																										WHEN per_edt = '3' THEN '9'
																										ELSE '0'  end ) + '</Квартал>' + CHAR(10)+
																			 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(YEAR_EDT,''))) + '</Год>' + CHAR(10)+
																			 */SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + CASE WHEN K_YEAR_EDT1 >=2014 or K_YEAR_EDT2 >=2014 or K_YEAR_EDT3 >=2014 or K_YEAR_EDT4 >=2014 or K_YEAR_EDT5 >=2014 then RTRIM(LTRIM(STR(COALESCE((k_INSUR1+k_INSUR2+k_INSUR3+k_INSUR4+k_INSUR5),0),15,2)))
																																		ELSE '0.00' end + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																			 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE((k_INSUR_1+k_INSUR_2+k_INSUR_3+k_INSUR_4+k_INSUR_5),0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																			 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE((k_GAIN1+k_GAIN2+k_GAIN3+k_GAIN4+k_GAIN5),0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																	  SPACE(3) + '</СведенияОкорректировках>'
															ELSE
																''
															END		)	  	
													FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																	AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																	AND CODE_STR = '400'
												
				
												
											END
											
											
											--IF (SELECT COUNT (*) FROM #RES1 WHERE [TYPE] = (CASE @TYPE_R when 'ИСХОДНАЯ' THEN 1 WHEN 'КОРРЕКТИРУЮЩАЯ' THEN 2 ELSE 3 END) AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
											--						and OT = @OT_R AND DOC_DATE = @DATE_DOC_R ) > 1
											--BEGIN
											
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT  @lcFNAME, SPACE(3) + '<СведенияОсуммеВыплатИвознагражденийПоДопТарифу>' + CHAR(10)+
																			 SPACE(4) + '<НомерСтроки>' + LTRIM(RTRIM(ISNULL( NOM_PP,''))) + '</НомерСтроки>' + CHAR(10)+
																			 SPACE(4) + '<ТипСтроки>' + LTRIM(RTRIM(ISNULL( (CASE WHEN CODE_STR = '700' OR CODE_STR = '710' OR CODE_STR = '720' THEN 'ИТОГ' ELSE 'МЕСЦ' END),''))) + '</ТипСтроки>' + CHAR(10)+
																			 SPACE(4) + (CASE WHEN CODE_STR = '700' OR CODE_STR ='710' OR CODE_STR ='720' THEN ''
																							else ('<Месяц>' +	(CASE WHEN CODE_STR = '700' OR CODE_STR ='710' OR CODE_STR ='720' THEN ''
																									WHEN CODE_STR = '701' OR CODE_STR ='711' OR CODE_STR ='721' THEN
																										(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
																											  THEN (CASE @PER_r WHEN '1' THEN '1'
																																WHEN '2' THEN '4'
																																WHEN '3' THEN '7'
																																ELSE '10' end)
						  																					  ELSE (CASE @PER_EDT_R WHEN '1' THEN '1'
						  																											WHEN '2' THEN '4'
						  																											WHEN '3' THEN '7'
						  																											ELSE '10' end)
						  																					  END)
																									WHEN CODE_STR = '702' OR CODE_STR ='712' OR CODE_STR ='722' THEN
																													(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
						  																								  THEN (CASE @PER_r WHEN '1' THEN '2'
						  																													WHEN '2' THEN '5'
						  																													WHEN '3' THEN '8'
						  																													ELSE '11' end)
						  																								  ELSE (CASE @PER_EDT_R WHEN '1' THEN '2'
						  																														WHEN '2' THEN '5'
						  																														WHEN '3' THEN '8'
						  																														ELSE '11' end)
						  																								  END)
																									ELSE (CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
						  																						  THEN (CASE @PER_r WHEN '1' THEN '3'
						  																											WHEN '2' THEN '6'
						  																											WHEN '3' THEN '9'
						  																											ELSE '12' end)
						  																						  ELSE (CASE @PER_EDT_R WHEN '1' THEN '3'
						  																												WHEN '2' THEN '6'
						  																												WHEN '3' THEN '9'
						  																												ELSE '12' end)
						  																					   END)
																							      end ) + '</Месяц>')
																							end)		+ CHAR(10)+

										
																			 SPACE(4) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(CODE_STR,''))) + '</КодСтроки>' + CHAR(10)+
																			 SPACE(4) + '<КодСпециальнойОценкиУсловийТруда>' + LTRIM(RTRIM(ISNULL(CODE_SPO,'пустое'))) + '</КодСпециальнойОценкиУсловийТруда>' + CHAR(10)+
																			 SPACE(4) + '<СуммаВыплатПоДопТарифу27-1>' + RTRIM(LTRIM(STR(COALESCE(INC_T1M,0),15,2))) + '</СуммаВыплатПоДопТарифу27-1>' + CHAR(10)+
																			 SPACE(4) + '<СуммаВыплатПоДопТарифу27-2-18>' + RTRIM(LTRIM(STR(COALESCE(INC_T2M,0),15,2))) + '</СуммаВыплатПоДопТарифу27-2-18>' + CHAR(10)+
																	  SPACE(3) + '</СведенияОсуммеВыплатИвознагражденийПоДопТарифу>'	
													FROM #RES1 WHERE link = @LINK_R 	AND [TYPE] = (CASE @TYPE_R when 'ИСХОДНАЯ' THEN 1 WHEN 'КОРРЕКТИРУЮЩАЯ' THEN 2 ELSE 3 END) AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /* AND DOC_DATE = @DATE_DOC_R*/
																	AND ((SELECT top 1 isnull(INC_T1M,0) FROM #RES1 WHERE [TYPE] = (CASE @TYPE_R when 'ИСХОДНАЯ' THEN 1 WHEN 'КОРРЕКТИРУЮЩАЯ' THEN 2 ELSE 3 END) AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /*AND DOC_DATE = @DATE_DOC_R*/ AND CODE_STR = '700' ) > 0 OR
																		 (SELECT top 1 isnull(INC_T2M,0) FROM #RES1 WHERE [TYPE] = (CASE @TYPE_R when 'ИСХОДНАЯ' THEN 1 WHEN 'КОРРЕКТИРУЮЩАЯ' THEN 2 ELSE 3 END) AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /*AND DOC_DATE = @DATE_DOC_R*/ AND CODE_STR = '700' ) > 0 )
																	  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
											 --END	

															--exec SA_RSV1_EXPORT_0700_2014   280	
													CREATE TABLE #STAZH_TMP ( link INt, FM VARCHAR(100), IM VARCHAR(100), OT VARCHAR(100), SNILS VARCHAR(14), date1 VARCHAR(10), date2 VARCHAR(10),
																			  T_DOG int , [TU_CODE] VARCHAR (31) ,ter_koef NUMERIC(18,2),[OS_CODE] VARCHAR(94),[EX_CODE] VARCHAR (10),
																			  osob_spis VARCHAR(20), is_dop_m TINYINT,is_dop_d TINYINT , is_dop VARCHAR(20),
																			  [f_is_dop] VARCHAR(63),[P_CODE] VARCHAR(10),ud_dop_m INT,ud_dop_d INT  , ud_dop_k NUMERIC(18,2) , [f_ud_dop] VARCHAR(54))
													INSERT INTO #STAZH_TMP  (link , FM , IM, OT, SNILS, date1, date2,T_DOG, [TU_CODE],ter_koef, [OS_CODE],
																			  [EX_CODE], osob_spis, is_dop_m,is_dop_d, is_dop,[f_is_dop],[P_CODE],ud_dop_m,ud_dop_d, ud_dop_k, [f_ud_dop])
													SELECT	link = ROW_NUMBER() OVER (/*PARTITION */ ORDER BY ST.date1),--st.orders,
															FM = S.FM,
															IM = S.IM,
															OT = S.OT,
															SNILS = S.PF_NUM,
															date1 = convert(varchar(10),ST.date1, 104),
															date2 = convert(varchar(10),ST.date2, 104),
															T_DOG= s.forma,
															[TU_CODE] = st.f_ter_usl ,
															st.ter_koef,
															[OS_CODE] = st.f_osob_usl,
															[EX_CODE] = st.is_osnov,
															osob_spis = RTRIM(LTRIM(COALESCE(st.osob_k1,''))) + RTRIM(LTRIM(COALESCE(st.osob_k2,''))) + RTRIM(LTRIM(COALESCE(st.osob_k3,''))),
															is_dop_m = st.is_dop_m,
															is_dop_d = st.is_dop_d,
															is_dop = st.is_dop,
															[f_is_dop] = st.f_is_dop,
															[P_CODE] = st.ud_osnov,
															ud_dop_m = st.ud_dop_m,
															ud_dop_d = st.ud_dop_d,
															ud_dop_k = st.ud_dop_k,
															[f_ud_dop]
													FROM dbo.SA_SZV4_SVEDENIA s
													LEFT JOIN  dbo.SA_SZV4_STAZH st ON S.link1 = ST.link
													WHERE s.link = @LINK_DOC_OP AND  s.FM = @FM_R and s.IM = @IM_R  and s.OT = @OT_R
														AND  s.PF_NUM= @SNILS_R
														AND ((s.forma = 2  and NOT EXISTS (	select * FROM dbo.SA_SZV4_SVEDENIA s
																							LEFT JOIN  dbo.SA_SZV4_STAZH st ON S.link1 = ST.link
																							WHERE s.link = @LINK_DOC_OP AND  s.FM = @FM_R and s.IM = @IM_R  and s.OT = @OT_R
																								AND  s.PF_NUM= @SNILS_R  AND   s.forma = 1)
																				AND EXISTS (select * FROM dbo.SA_SZV4_SVEDENIA s
																							LEFT JOIN  dbo.SA_SZV4_STAZH st ON S.link1 = ST.link
																							WHERE s.link = @LINK_DOC_OP AND  s.FM = @FM_R and s.IM = @IM_R  and s.OT = @OT_R
																								AND  s.PF_NUM= @SNILS_R  AND   s.forma = 2))
															  or s.forma = 1  )
														
														
													ORDER BY  ST.date1, st.orders
														
													/*первая строка*/
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													Select @lcFNAME,
													CASE WHEN @TYPE_R <> 'ОТМЕНЯЮЩАЯ' THEN	
													/*CASE WHEN  @TYPE <> 'ИСХОДНАЯ' AND  @YEAR_EDT < '2013' 	THEN	''
													ELSE*/	
														(CASE WHEN DATE1 <> '' THEN
														+	SPACE(3) + '<СтажевыйПериод>' + CHAR(10)
														+		SPACE(4) + '<НомерСтроки>' + ltrim(rtrim(CONVERT(VARCHAR(2),link))) + '</НомерСтроки>' + CHAR(10)
														+		SPACE(4) + '<ДатаНачалаПериода>' + CONVERT(VARCHAR(10),DATE1,104) + '</ДатаНачалаПериода>' + CHAR(10)
														+		SPACE(4) + '<ДатаКонцаПериода>' + CONVERT(VARCHAR(10),DATE2,104) + '</ДатаКонцаПериода>' + CHAR(10)
														+				CASE WHEN RTRIM(LTRIM(COALESCE(TU_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE([OS_CODE],''))) <> '' OR RTRIM(LTRIM(COALESCE(EX_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE(f_is_dop,''))) <> '' OR RTRIM(LTRIM(COALESCE(P_CODE,''))) <> '' THEN
														+		SPACE(4) + '<КоличествоЛьготныхСоставляющих>' + CASE WHEN RTRIM(LTRIM(COALESCE(TU_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE(OS_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE(EX_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE(f_is_dop,''))) <> '' OR RTRIM(LTRIM(COALESCE(P_CODE,''))) <> '' THEN '1' ELSE '0' END + '</КоличествоЛьготныхСоставляющих>' + CHAR(10)		
														+		SPACE(4) + '<ЛьготныйСтаж>' + CHAR(10)
														+			SPACE(5) + '<НомерСтроки>1</НомерСтроки>' + CHAR(10)		
														+ 			SPACE(5) + '<ОсобенностиУчета>' + CHAR(10)
														+ 					CASE WHEN RTRIM(LTRIM(COALESCE(TU_CODE,''))) <> '' THEN
																			SPACE(7) + '<ТерриториальныеУсловия>' + CHAR(10)
														+						SPACE(8) + '<ОснованиеТУ>' + RTRIM(LTRIM(COALESCE(TU_CODE,''))) + '</ОснованиеТУ>' + CHAR(10)
														+						CASE WHEN RTRIM(LTRIM(COALESCE(TU_CODE,''))) not in ('Ч31','Ч33','Ч34','Ч35','Ч36') then
																				(CASE WHEN RTRIM(LTRIM(COALESCE(STR(ter_koef,4,2),''))) <> '0.00' then SPACE(8) + '<Коэффициент>' + RTRIM(LTRIM(COALESCE(STR(ter_koef,4,2),''))) + '</Коэффициент>' + CHAR(10) else '' end)
																				else '' end
														+ 					SPACE(7) + '</ТерриториальныеУсловия>' + CHAR(10)
																			ELSE '' END
														+ 					
																			CASE WHEN RTRIM(LTRIM(COALESCE(OS_CODE,''))) <> '' AND CHARINDEX ( ',' ,RTRIM(LTRIM(COALESCE(OS_CODE,'')))) > 0 THEN
														+					SPACE(7) + '<ОсобыеУсловияТруда>' + CHAR(10)
														+							SPACE(8) + '<ОснованиеОУТ>' + LEFT(RTRIM(LTRIM(COALESCE(OS_CODE,''))), CHARINDEX ( ',' ,RTRIM(LTRIM(COALESCE(OS_CODE,'')))) -1 )  + '</ОснованиеОУТ>' + CHAR(10)
														+							CASE WHEN LEFT(RTRIM(LTRIM(COALESCE(OS_CODE,''))), CHARINDEX ( ',' ,RTRIM(LTRIM(COALESCE(OS_CODE,'')))) -1 ) = '27-1' or LEFT(RTRIM(LTRIM(COALESCE(OS_CODE,''))), CHARINDEX ( ',' ,RTRIM(LTRIM(COALESCE(OS_CODE,'')))) -1 ) = '27-2' THEN
																						SPACE(8) + '<ПозицияСписка>' + UPPER(RTRIM(LTRIM(COALESCE(osob_spis,'')))) + '</ПозицияСписка>' + CHAR(10)
																					ELSE '' END
														+ 					SPACE(7) + '</ОсобыеУсловияТруда>' + CHAR(10)
																			ELSE '' END
																								
														+ 					CASE WHEN RTRIM(LTRIM(COALESCE(EX_CODE,''))) <> '' THEN
																			SPACE(7) + '<ИсчисляемыйСтаж>' + CHAR(10)
														+						SPACE(8) + '<ОснованиеИС>' + RTRIM(LTRIM(COALESCE(EX_CODE,''))) + '</ОснованиеИС>' + CHAR(10)
														+						CASE WHEN COALESCE(f_is_dop,'') LIKE '%Ч.%' OR COALESCE(f_is_dop,'') LIKE '%МИН.%' THEN
																				SPACE(8) + '<ВыработкаВчасах>' + CHAR(10)
														+							SPACE(9) + '<Часы>' + RTRIM(LTRIM(STR(COALESCE(is_dop_m,0),3))) + '</Часы>' + CHAR(10)
														+							SPACE(9) + '<Минуты>' + RTRIM(LTRIM(STR(COALESCE(is_dop_d,0),3))) + '</Минуты>' + CHAR(10)
														+ 						SPACE(8) + '</ВыработкаВчасах>' + CHAR(10)
																				ELSE '' END
														+						CASE WHEN COALESCE(f_is_dop,'') LIKE '%МЕС.%' OR COALESCE(f_is_dop,'') LIKE '%ДН.%' THEN
																				SPACE(8) + '<ВыработкаКалендарная>' + CHAR(10)
														+							SPACE(9) + '<ВсеГоды>0</ВсеГоды>' + CHAR(10)
														+							SPACE(9) + '<ВсеМесяцы>' + RTRIM(LTRIM(STR(COALESCE(is_dop_m,0),3))) + '</ВсеМесяцы>' + CHAR(10)
														+							SPACE(9) + '<ВсеДни>' + RTRIM(LTRIM(STR(COALESCE(is_dop_d,0),3))) + '</ВсеДни>' + CHAR(10)
														+ 						SPACE(8) + '</ВыработкаКалендарная>' + CHAR(10)
																				ELSE '' END
														+ 					SPACE(7) + '</ИсчисляемыйСтаж>' + CHAR(10)
																			ELSE '' END
														+					CASE WHEN RTRIM(LTRIM(COALESCE(is_dop,''))) <> '' THEN					
														+					SPACE(7) + '<ДекретДети>' + RTRIM(LTRIM(COALESCE(is_dop,''))) + '</ДекретДети>' + CHAR(10)
																			ELSE '' END
														+					CASE WHEN RTRIM(LTRIM(COALESCE(is_dop,''))) <> '' and RTRIM(LTRIM(COALESCE(is_dop,''))) <> 'НЕОПЛ'  THEN
															+ 					(CASE WHEN RTRIM(LTRIM(COALESCE(P_CODE,''))) <> '' THEN
																				SPACE(7) + '<ВыслугаЛет>' + CHAR(10)
															+						SPACE(8) + '<ОснованиеВЛ>' + RTRIM(LTRIM(COALESCE(P_CODE,''))) + '</ОснованиеВЛ>' + CHAR(10)
															+						CASE WHEN COALESCE(f_ud_dop,'') LIKE '%Ч.%' OR COALESCE(f_ud_dop,'') LIKE '%МИН.%' THEN
																					SPACE(8) + '<ВыработкаВчасах>' + CHAR(10)
															+							SPACE(9) + '<Часы>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_m,0),3))) + '</Часы>' + CHAR(10)
															+							SPACE(9) + '<Минуты>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_d,0),3))) + '</Минуты>' + CHAR(10)
															+ 						SPACE(8) + '</ВыработкаВчасах>' + CHAR(10)
																					ELSE '' END
															+						CASE WHEN COALESCE(f_ud_dop,'') LIKE '%МЕС.%' OR COALESCE(f_ud_dop,'') LIKE '%ДН.%' THEN
																					SPACE(8) + '<ВыработкаКалендарная>' + CHAR(10)
															+							SPACE(9) + '<ВсеГоды>0</ВсеГоды>' + CHAR(10)
															+							SPACE(9) + '<ВсеМесяцы>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_m,0),3))) + '</ВсеМесяцы>' + CHAR(10)
															+							SPACE(9) + '<ВсеДни>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_d,0),3))) + '</ВсеДни>' + CHAR(10)
															+ 						SPACE(8) + '</ВыработкаКалендарная>' + CHAR(10)
																					ELSE '' END
															+						CASE WHEN COALESCE(ud_dop_k,0) <> 0 THEN
																						SPACE(8) + '<ДоляСтавки>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_k,0),4,2))) + '</ДоляСтавки>' + CHAR(10)
																					ELSE '' END
															+ 					SPACE(7) + '</ВыслугаЛет>' + CHAR(10)
																				ELSE '' END)
																				WHEN RTRIM(LTRIM(COALESCE(is_dop,''))) = '' THEN
																				(CASE WHEN RTRIM(LTRIM(COALESCE(P_CODE,''))) <> '' THEN
																				SPACE(7) + '<ВыслугаЛет>' + CHAR(10)
															+						SPACE(8) + '<ОснованиеВЛ>' + RTRIM(LTRIM(COALESCE(P_CODE,''))) + '</ОснованиеВЛ>' + CHAR(10)
															+						CASE WHEN COALESCE(f_ud_dop,'') LIKE '%Ч.%' OR COALESCE(f_ud_dop,'') LIKE '%МИН.%' THEN
																					SPACE(8) + '<ВыработкаВчасах>' + CHAR(10)
															+							SPACE(9) + '<Часы>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_m,0),3))) + '</Часы>' + CHAR(10)
															+							SPACE(9) + '<Минуты>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_d,0),3))) + '</Минуты>' + CHAR(10)
															+ 						SPACE(8) + '</ВыработкаВчасах>' + CHAR(10)
																					ELSE '' END
															+						CASE WHEN COALESCE(f_ud_dop,'') LIKE '%МЕС.%' OR COALESCE(f_ud_dop,'') LIKE '%ДН.%' THEN
																					SPACE(8) + '<ВыработкаКалендарная>' + CHAR(10)
															+							SPACE(9) + '<ВсеГоды>0</ВсеГоды>' + CHAR(10)
															+							SPACE(9) + '<ВсеМесяцы>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_m,0),3))) + '</ВсеМесяцы>' + CHAR(10)
															+							SPACE(9) + '<ВсеДни>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_d,0),3))) + '</ВсеДни>' + CHAR(10)
															+ 						SPACE(8) + '</ВыработкаКалендарная>' + CHAR(10)
																					ELSE '' END
															+						CASE WHEN COALESCE(ud_dop_k,0) <> 0 THEN
																						SPACE(8) + '<ДоляСтавки>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_k,0),4,2))) + '</ДоляСтавки>' + CHAR(10)
																					ELSE '' END
															+ 					SPACE(7) + '</ВыслугаЛет>' + CHAR(10)
																				ELSE '' END)
																			ELSE '' END
														+			SPACE(5) + '</ОсобенностиУчета>' + CHAR(10)
														+		SPACE(4) + '</ЛьготныйСтаж>' + CHAR(10)
																	ELSE '' END
														+	SPACE(3) + '</СтажевыйПериод>'
														ELSE '' END)
													/*END*/
													ELSE '' END
													FROM #STAZH_TMP
													WHERE SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R and OT = @OT_R  AND
																( (T_DOG = 2 AND  NOT EXISTS (SELECT *  FROM #STAZH_TMP WHERE SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R and OT = @OT_R  AND T_DOG = 1)
																			AND  EXISTS (SELECT *  FROM #STAZH_TMP WHERE SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R and OT = @OT_R  AND T_DOG = 2))
																	OR  T_DOG = 1 	)	
													order by link , date1
																						

												DROP TABLE #STAZH_TMP
												

												INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
												SELECT @lcFNAME, SPACE(3) + '<ДатаЗаполнения>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),@modify_date,104),''))) + '</ДатаЗаполнения>'		

										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME,SPACE(2) + '</СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>'									
							end

							FETCH NEXT FROM @Cur4 INTO @LINK_R, @TYPE_R,@SNILS_R,@PER_R,@YEAR_BEGIN_R,@PER_EDT_R,@YEAR_EDT_R,
													@FM_R,@IM_R,@OT_R, @DATE_DOC_R, @UVOL/*, @FNAME_R, @NOM_PACH_R*/
						END
						CLOSE @Cur4
						DEALLOCATE @Cur4		

				------- окончание файла (Документы раздела 6 РСВ-1)
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, SPACE(1) + '</ПачкаВходящихДокументов>'
				UNION ALL SELECT @lcFNAME, SPACE(0) + '</ФайлПФР>'	
				END
			END
	end
	


	FETCH NEXT FROM @Cur3 INTO @LINK_OP, @TYP_D, @NOM_PP, @NGROUP /*Номер пачки*/,@SUM_BASE, @SUM_STR, @PERS_CNT,@DATE_DOC,@PER, @YEAR_BEGIN, @PER_EDT, @YEAR_EDT, @lcFNAME/*наименование файла*/ , @LINK_DOC_OP

	
end

CLOSE @Cur3
DEALLOCATE @Cur3


				
SET NOCOUNT OFF

select * from #OUTPUT order by [ID]
--exec SA_RSV1_EXPORT_0700_2014 41964










GO


GRANT EXECUTE ON dbo.[SA_RSV1_EXPORT_0700_2014] TO PUBLIC

GO




GO
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].BB_EXPORT_UF_16') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].BB_EXPORT_UF_16
GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE           
PROCEDURE dbo.BB_EXPORT_UF_16 @cBuffId	varchar(30) = ''

AS
DECLARE @iDepLink	int, 
		@cUserFio 	varchar(50), 
		@cUserDol 	varchar(50),
		@cUserPhone	varchar(20),
		@cBuffIdOld	Varchar(30),
		@Curs		CURSOR,
		@iLink		int,
		@iLinkUp	int,
		@iLinkOld	int,
		@iOrder		int


set @iDepLink = isnull(dbo.BK_GetDepZB(),dbo.GetOwnDepLink())

Select 	@cUserFio = EP.NAME_EMPL ,
   		@cUserDol = ep.post_name,
		@cUserPhone = (select TOP 1 case code when '' then '' else '(' + rtrim(CODE) + ') ' end + NUMBER  from KU_EMPL_PHONE where type = 3 and EMPL_LINK = EP.LINK)
FROM dbo.KU_EMPL_PLACING EP 
WHERE EP.LINK = dbo.GetCurrentEmpl()

-- Таблица 2 (FROM)
SELECT 	BUDG_LEVEL  = cast(replace(B.CODE_EL,'0','') as char(1)),
		KOD_UBP 	= BUDG,
		NAME_UBP	= left(rtrim(D.prefix) + rtrim(D.FULL_NAME) + case when charindex('(',D.prefix,0) > 0 then ')' else '' end,254),
		0 as link,
		0 as link_up
from dbo.DEPARTMENTS D
left join dbo.KL_ADMIN_BS V WITH (NOLOCK) on V.LINK = D.VED_LINK
left join dbo.KL_BUDG_TYPE B WITH (NOLOCK) on V.Link_Budg = B.LINK
where D.LINK = @iDepLink


-- Таблица 3 (TO)
SELECT 	KOD_TOFK  = TOFK.CODE,
		NAME_TOFK = TOFK.FULL_NAME,
		0 as link,
		0 as link_up
from dbo.DEPARTMENTS D
inner join dbo.TREASURY TOFK on D.TOFK_LINK = TOFK.LINK
where D.LINK = @iDepLink



-- Таблица 4 (UF)


	SELECT  LINK 		 = G.LINK,
			LINK_UP		 = G.LINK,
			GUID_FK		 = '',
			NOM_UF		 = G.NUMBER,
			DATE_UF		 = G.DATE,
			KOD_UBP		= case when DA.BUDG_LEVEL = '1' then DA.DEP_B_CODE else '' end,
			NAME_UBP	= DA.DEP_FNAME,
			LS_UBP		 = DA.ACC_CODE,
			NAME_GRS	 = DA.GRBS_NAME,
			GLAVA_GRS	 = DA.GRBS_CODE,
			NAME_BUD	 = DA.BUDG_NAME,
			NAME_UBP_FO	 = DA.FO_NAME,
			OKPO_FO		 = DA.FO_OKPO,
			LS_FO		 = '',
			NAME_TOFK	 = DA.TOFK_NAME,
			KOD_TOFK	 = DA.TOFK_CODE,
			FUND_SOURCE  = '',
			NOM_ZF		 = '',
			DATE_ZF		 = '',
			СNAME_PL	 = DA.DEP_FNAME,
			INN_PL		 = DA.DEP_INN,
			KPP_PL		 = DA.DEP_KPP,
			PASP		 = '',
			BS_PL		 = '',
			DOL_RUK		 = B.POST_NAME,
			NAME_RUK	 = B.SHORT_NAME, --case @iLongFio when 1 then rtrim(B.FM) + ' ' + rtrim(B.IM) + ' ' + rtrim(B.OT) else B.SHORT_NAME end,
			DOL_ISP		 = @cUserDol,
			NAME_ISP	 = @cUserFio,
			TEL_ISP		 = @cUserPhone,
 			DATE_POD	 = G.DATE,
			DOL_RUK_TOFK = '',
			NAME_RUK_TOFK= '',
			DOL_ISP_TOFK = '',
			NAME_ISP_TOFK= '',
			TEL_ISP_TOFK = '',
			DATE_TOFK	 = ''
	FROM dbo.G_PROV G
	inner join dbo.BB_DEP_ACC_DOP(NULL) DA on DA.ACC_LINK = G.ACC 
	left join dbo.GetOtvFaceData(@iDepLink, 'Руководитель') B on G.DEP = B.LINK_DEP
	left join dbo.GetOtvFaceData(@iDepLink, 'Главный бухгалтер') GB on G.DEP = GB.LINK_DEP
	where G.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId))

-- Таблица 5 (UFPP)

	select  LINK		= LINK,
			LINK_UP,
			LINE_NOM	= NUM_REC,
			GUID		= '',
			KOD_DOC		= case DOC_CODE when 'DOCUMENTS_PAY' then 'PP'
									 when 'BB_ZAYAVKA_KR' then 'ZR'
									 when 'BB_UVED_U' then 'UF'
									 when 'DOCUMENTS_RECEPTION_CASH' then 'ZS'
									 else 'SP' end,
			NAME_PP		= DOC_TYPE,
			NOM_PP		= DOC_NUM,
			DATE_PP		= DOC_DATE,
			CNAME_PP	= DEP_NAME,
			INN_PP		= DEP_INN,
			KPP_PP		= DEP_KPP,
			OKATO		= replace(DEP_OKATO,' ',''),
			LS_UBP		= '',
			KBK			= rtrim(replace(KBK_CODE,'.','')),
			TYPE_KBK	= case KBK_TYPE when 1 then '10'
									  when 2 then '20'
									  when 4 then '31'
									  when 8 then '32'
									  else '' end,
			ADD_KLASS	= DCL_CODE,
			SUM_PP		= SUMMA,
			PURPOSE		= TARGET,
			NOM_ZR		= case when DOC_CODE = 'BB_ZAYAVKA_KR' or DOC_CODE = 'BB_UVED_U' then DOC_NUM else '' end,
			DATE_ZR		= case when DOC_CODE = 'BB_ZAYAVKA_KR' or DOC_CODE = 'BB_UVED_U' then DOC_DATE else null end,
			NOTE		= TITLE
	from dbo.BB_UVED_U_DOC
	where LINK_UP in (select LINK from dbo.BufferGetTableByID(@cBuffId))
	ORDER BY NUM_REC


-- Таблица 6 (UFPP_N)
select  LINK 		= T.LINK,
		LINK_UP		= (select top 1 LINK from BB_UVED_U_DOC where LINK_UP = T.LINK_DOC order by NUM_REC desc),
		LINE_NOM	= T.NUM_REC,
		CNAME_UBP	= T.DEP_NAME,
		INN_UBP		= T.DEP_INN,
		KPP_UBP		= T.DEP_KPP,
		OKATO		= replace(T.DEP_OKATO,' ',''),
		LS_UBP		= '',
		KBK			= rtrim(replace(T.KBK_CODE,'.','')),
		TYPE_KBK	= case T.KBK_TYPE when 1 then '10'
									  when 2 then '20'
									  when 4 then '31'
									  when 8 then '32'
									  else '' end,
		ADD_KLASS	= T.DCL_CODE,
		SUM			= T.SUMMA,
		PURPOSE		= T.TARGET,
		FUND_SOURCE  = ''			
from dbo.BB_UVED_U_TABLE T
where T.LINK_DOC in (select LINK from dbo.BufferGetTableByID(@cBuffId))
ORDER BY NUM_REC

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

grant all on dbo.BB_EXPORT_UF_16 to public
GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_PRINT_125_2015]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RO_PRINT_125_2015]

GO

/*
© Кейсистемс (Keysystems), 2009
*/

CREATE PROCEDURE dbo.[RO_PRINT_125_2015]
	@LSF	bigint,
	@bDeleteEmptyRows BIT = NULL,  --  NULL - данные выбираются не для печати, 1 - удаление пустых строк (поле DEL = 1), 0 - не удалять.
    @data int=1, -- c_nastr не будет создаваться!
	@notNullCol tinyint = 0,
	@AtrInOnePage tinyint = 0,
	@WEB_excel tinyint = 0 -- 1 - вызывается для печати из WEB для excel-генератора
AS

	if isnull(@WEB_excel, 0) <> 1
		select '' col1 
	declare  @atr varchar(254), @atr_value varchar(254)
	if YEAR((select begin_date from dbo.report_saved_forms where link_saved_form = @LSF)) > 2010
		set @atr = 'REPORTS_ATR_ACC_2011'
	else
		set @atr = 'REPORTS_ATR_ACC'
	set @atr_value = dbo.RN_GET_ATR_Value(@LSF, @atr)
	create table #all (ATR varchar(100), COL1 varchar(8000), COL2 varchar(8000), COL3 varchar(8000), COL4 varchar(8000), COL5 varchar(8000), COL6 varchar(8000), COL7 float, COL8 float, COL9 varchar (8000), COL10 varchar (8000), COL11 varchar (8000), COL12 varchar (8000), COL13 varchar (8000), COL14 varchar (8000), COL15 varchar (8000), COL16 varchar (8000), COL17 varchar (8000), COL18 varchar (8000), COL19 varchar (8000), CODE varchar(100), DEL bit, ITOG int, orders int IDENTITY(1,1))
	create table #doh (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(100), Col1 varchar(8000), Col2 varchar(8000), Col3 varchar(8000), Col4 varchar(8000), Col5 varchar(8000), Col6 varchar(8000), Col7 varchar(8000), Col8 float, col9 float, col10 varchar(8000), col11 varchar(8000), col12 varchar(8000), col13 varchar(8000), col14 varchar(8000), col15 varchar(8000), col16 varchar(8000), col17 varchar(8000), atr varchar(250) )
	create table #rash (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(100), Col1 varchar(8000), Col2 varchar(8000), Col3 varchar(8000), Col4 varchar(8000), Col5 varchar(8000), Col6 varchar(8000), Col7 varchar(8000), Col8 varchar(8000), Col9 varchar(8000), col10 float, col11 float, col12 varchar(8000), col13 varchar(8000), col14 varchar(8000), col15 varchar(8000), col16 varchar(8000), col17 varchar(8000), col18 varchar(8000), col19 varchar(8000), atr varchar(250) )
	create table #ist (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(100), Col1 varchar(8000), Col2 varchar(8000), Col3 varchar(8000), Col4 varchar(8000), Col5 varchar(8000), Col6 varchar(8000), Col7 varchar(8000), Col8 float, Col9 float, col10 varchar(8000), col11 varchar(8000), col12 varchar(8000), col13 varchar(8000), col14 varchar(8000), col15 varchar(8000), col16 varchar(8000), col17 varchar(8000), atr varchar(250) )
	create table #itog (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(100), Col1 varchar(8000), Col2 varchar(8000), Col3 varchar(8000), Col4 varchar(8000), Col5 varchar(8000), Col6 varchar(8000), Col7 float, Col8 float, col9 varchar(8000), col10 varchar(8000), col11 varchar(8000), col12 varchar(8000), col13 varchar(8000), col14 varchar(8000), atr varchar(250))

	insert #doh exec dbo.ro_get_all_atr_table @LSF, 1, @bDeleteEmptyRows, @AtrInOnePage, @atr
	insert #rash exec dbo.ro_get_all_atr_table @LSF, 2, @bDeleteEmptyRows, @AtrInOnePage, @atr
	insert #ist exec dbo.ro_get_all_atr_table @LSF, 3, @bDeleteEmptyRows, @AtrInOnePage, @atr
	insert #itog exec dbo.ro_get_all_atr_table @LSF, 4, @bDeleteEmptyRows, @AtrInOnePage, @atr

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, RTRIM(COL1), COL2, COL3, COL4, COL5, COL6+COL7+ ( case when atr <>'' then '' else COL10 end),COL8,COL9,COL10,COL12,COL13, col14,CODE, 0 as DEL, 0 from #doh ORDER BY 1,3,4,5,6

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
--	SELECT atr, RTRIM(COL1), COL2, COL3, COL4, COL5, COL6+COL7+COL8+COL9+col12,COL10,COL11, col12, col14, col15, col16,CODE, 0 as DEL, 0 from #rash ORDER BY 1,3,4,5,6
	SELECT atr, RTRIM(COL1), COL2, COL3, COL4, COL5, COL6+COL7+COL8+COL9,COL10,COL11, col12, col14, col15, col16,CODE, 0 as DEL, 0 from #rash ORDER BY 1,3,4,5,6	

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, RTRIM(COL1), COL2, COL3, COL4, col5, COL6+COL7+(case when atr <>'' then '' else COL10 end),col8, col9, col10, col12, col13, col14,CODE, 0 as DEL, 0 from #ist ORDER BY 1,3,4,5,6


	if not exists(select top 1 * from #all)
		insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
		select atr, '', '', '', '', '','', NULL, NULL,'','','','', '', 0, 0
		from #itog 
		group by atr

	if not exists(select top 1 * from #all)
		insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
		select @atr_value, '', '', '', '', '', '', null, null,'','','','', '', 0, 0

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, 'Итого:', max(COL2), 'X' AS COL3, 'X' AS COL4, 'X' AS COL5, 'X' AS COL6, max(COL7) , max(COL8),max(COL9),max(COL10),max(COL11), 'X' AS COL12, max(CODE) AS CODE, 0 as DEL, 1  
	from #itog WHERE RTRIM(LTRIM(CODE)) = 'Итого'
	group by atr

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, 'Итого:', '' AS COL2, 'X' AS COL3, 'X' AS COL4, 'X' AS COL5, 'X' AS COL6, 0 as COL7 , 0 as COL8, '' AS COL9, '' AS COL10, '' AS COL11, 'X' AS COL12, '' AS CODE, 0 as DEL, 1  
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RTRIM(LTRIM(A1.CODE)) = 'Итого')
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	select atr, 'в том числе по', '', '', '', '', '', NULL, NULL, '', '', '', '', '', 0, 1
	from #all
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, 'номеру (коду) счета:', COL2, COL3, COL4, COL5,COL6,COL7, col8, col9, col10, col11,'X' AS COL12, CODE, 0 as DEL, 1  from #itog 
	WHERE RIGHT(RTRIM(CODE),2) = 'ИП' ORDER BY 1, 2, 3, 4, 5,6

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	select atr, 'номеру (коду) счета:', '', '', '', '', '', NULL, NULL, '', '', '', 'X', '', 0, 1
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RIGHT(RTRIM(A1.CODE),2) = 'ИП')
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	select atr, 'номеру (коду) счета:', '', '', '', '', '', NULL, NULL, '', '', '', 'X', '', 0, 1
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RIGHT(RTRIM(A1.CODE),2) = 'ИП')
	group by atr

	update A
	set col1 = ''
	from #all A
	where col1 = 'номеру (коду) счета:' and exists(select top 1 * from #all A1 where A.atr = A1.atr and A1.col1 = 'номеру (коду) счета:' and A1.orders < A.orders)

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	select atr, 'из них:', '', '', '', '', '', NULL, NULL, '', '', '', '',  '', 0, 1
	from #all 
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, 'денежные расчеты', '', '', '', '', '',COL7,COL8, '', '', '', '', CODE, 0 as DEL, 1   from #itog 
	WHERE RTRIM(LTRIM(CODE)) = 'итог_денежные_рассчёты'

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, 'денежные расчеты', '', '', '', '', '',0 as COL7,0 as COL8, '', '', '', '', '' as CODE, 0 as DEL, 1   
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RTRIM(LTRIM(A1.CODE)) = 'итог_денежные_рассчёты')
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, '', COL2,COL3,COL4,COL5,COL6, COL7,COL8, col9, col10, col11, col12, CODE, 0 as DEL, 1 from #itog WHERE RIGHT(RTRIM(LTRIM(CODE)),2) = 'ИД'  ORDER BY 1, 2, 3, 4, 5,6
   
	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, '', '', '', '', '', '',0 as COL7,0 as COL8, '', '', '', '', '' as CODE, 0 as DEL, 1   
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RIGHT(RTRIM(LTRIM(A1.CODE)),2) = 'ИД')
	group by atr


	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, 'неденежные расчеты', '', '', '', '', '',COL7,COL8, '', '', '', '',CODE, 0 as DEL,1  
	from #itog WHERE LTRIM(RTRIM(CODE)) = 'итог_неденежные_рассчёты'

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr,'неденежные расчеты', '', '', '', '', '',0 as COL7,0 as COL8, '', '', '', '', '' as CODE, 0 as DEL, 1   
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and LTRIM(RTRIM(A1.CODE)) = 'итог_неденежные_рассчёты')
	group by atr
	
	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, '', COL2,COL3,COL4,COL5,COL6,COL7,COL8, col9, col10, col11, col12,CODE, 0 as DEL, 1  from #itog WHERE RIGHT(LTRIM(RTRIM(CODE)),2) = 'ИН'  ORDER BY 1, 2, 3, 4, 5,6

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, '', '', '', '', '', '',0 as COL7,0 as COL8, '', '', '', '', '' as CODE, 0 as DEL, 1   
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RIGHT(RTRIM(LTRIM(A1.CODE)),2) =  'ИН')
	group by atr

	select atr as colatr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog as colitog, orders from #all order by atr, orders

	drop table #all
	drop table #ist
	drop table #doh
	drop table #rash
	drop table #itog

	if isnull(@WEB_excel, 0) <> 1
	select cells as style,style as value from report_print_style where 1=0 order by cells




GO


GRANT EXECUTE ON dbo.[RO_PRINT_125_2015] TO PUBLIC

GO

GO

--AFTER CODE 30.03.2016
update EXPORT_MODELS set DATE_END   = '20151231' where MODEL_VER < 
'TXPP150101' AND CODE = 'PP'and DATE_END is null
update EXPORT_MODELS set DATE_END   = '20151231' where  CODE = 'PF'and 
DATE_END is null

DECLARE @varKSModelLink INT,
	@varKSBlockLink INT
SELECT @varKSModelLink = LINK_MODEL FROM dbo.EXPORT_MODELS WHERE MODEL_VER = 'TXPP150101' AND CODE = 'PP'
IF @varKSModelLink is null
begin
	INSERT INTO EXPORT_MODELS(CODE, NAME, MODEL_VER, ISONCE, NORM_DOC, FILE_NAME_MASK, FILE_NAME_PROC, PROC_EXP, PROC_DOP_PARAM, DEP_NAME, PROG_SAVE, DATE_END)
	SELECT 'PP','Платежное поручение','TXPP150101',0,'','XXXXXDNN.TTM','fb_file_name_doc','BB_EXPORT_PP','cModelVer','KOD_UBP','bb_import_PP()',NULL 
	SET @varKSModelLink = @@IDENTITY
end
else
	update EXPORT_MODELS
	set 	ISONCE = 0,
		NAME   = 'Платежное поручение',
		NORM_DOC   = '',
		FILE_NAME_MASK   = 'XXXXXDNN.TTM',
		FILE_NAME_PROC   = 'fb_file_name_doc',
		PROC_EXP   = 'BB_EXPORT_PP',
		PROC_DOP_PARAM   = 'cModelVer',
		PROG_SAVE   = 'bb_import_PP()',
		DEP_NAME   = 'KOD_UBP',
		DATE_END   = NULL
	where LINK_MODEL = @varKSModelLink
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'FK'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'FK',1,0,'Маркер',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 1,
			ISONCE = 0,
			NAME   = 'Маркер',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_VER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Номер версии формата',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NUM_VER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_VER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'NUM_VER','Номер версии формата','STRING',10,0,1,1,'NUM_VER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'FORMER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Наименование программного продукта, сформировавшего файл',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 50,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'FORMER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'FORMER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'FORMER','Наименование программного продукта, сформировавшего файл','STRING',50,0,0,1,'FORMER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'FORM_VER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Версия программного продукта',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'FORM_VER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'FORM_VER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'FORM_VER','Версия программного продукта','STRING',10,0,0,1,'FORM_VER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NORM_DOC')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'сылка на документ, утверждающий формат файла',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 250,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NORM_DOC',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NORM_DOC'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'NORM_DOC','сылка на документ, утверждающий формат файла','STRING',250,0,0,0,'NORM_DOC','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'FROM'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'FROM',2,0,'Почтовая информация об отправителях файла',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 2,
			ISONCE = 0,
			NAME   = 'Почтовая информация об отправителях файла',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BUDG_LEVEL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Уровень бюджета',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BUDG_LEVEL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BUDG_LEVEL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'BUDG_LEVEL','Уровень бюджета','STRING',1,1,0,1,'BUDG_LEVEL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Код клиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'KOD_UBP','Код клиента','STRING',5,1,1,1,'KOD_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Наименование клиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 254,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'NAME_UBP','Наименование клиента','STRING',254,0,1,1,'NAME_UBP','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'TO'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'TO',3,0,'Почтовая информация о получателе файла',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 3,
			ISONCE = 0,
			NAME   = 'Почтовая информация о получателе файла',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Код ОрФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 4,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'KOD_TOFK','Код ОрФК','STRING',4,1,1,1,'KOD_TOFK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Наименование ОрФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'NAME_TOFK','Наименование ОрФК','STRING',2000,0,1,1,'NAME_TOFK','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'PP'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'PP',4,0,'Пакет',0
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 4,
			ISONCE = 0,
			NAME   = 'Пакет',
			OBLIGATORY = 0
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Дата',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DATE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'DATE','Дата','DATE',0,0,1,1,'DATE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Количество документов',
		VAL_TYPE 	= 'NUMBER',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'KOL','Количество документов','NUMBER',5,1,1,1,'KOL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_TOTAL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Контрольная сумма',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM_TOTAL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_TOTAL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'SUM_TOTAL','Контрольная сумма','NUMBER2',0,0,1,1,'SUM_TOTAL','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'PPT'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'PPT',5,2,'Платежное поручение',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 5,
			ISONCE = 2,
			NAME   = 'Платежное поручение',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_PP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= '№ платежного поручения',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NOM_PP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_PP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'NOM_PP','№ платежного поручения','STRING',10,0,1,1,'NOM_PP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Дата платежного поручения',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DATE_PP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'DATE_PP','Дата платежного поручения','DATE',0,1,1,1,'DATE_PP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_PP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Сумма платежного поручения',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM_PP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_PP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'SUM_PP','Сумма платежного поручения','NUMBER2',0,1,1,1,'SUM_PP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'Вид платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'VID_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'VID_PL','Вид платежа','STRING',1,1,1,1,'VID_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_OPER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 5,
		NAME   		= 'Вид операции.',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'VID_OPER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_OPER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 5,'VID_OPER','Вид операции.','STRING',2,1,1,1,'VID_OPER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 7,
		NAME   		= 'ИНН Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 12,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'INN_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 7,'INN_PAY','ИНН Плательщика','STRING',12,0,1,1,'INN_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 8,
		NAME   		= 'КПП Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KPP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 8,'KPP_PAY','КПП Плательщика','STRING',9,1,1,1,'KPP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 9,
		NAME   		= 'Наименование Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'CNAME_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 9,'CNAME_PAY','Наименование Плательщика','STRING',160,0,1,1,'CNAME_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 10,
		NAME   		= 'Расчетный счет Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 10,'BS_PAY','Расчетный счет Плательщика','STRING',20,1,1,1,'BS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 11,
		NAME   		= 'БИК банка Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BIC_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 11,'BIC_PAY','БИК банка Плательщика','STRING',9,1,1,1,'BIC_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 12,
		NAME   		= 'Наименование банка Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_BIC_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 12,'NAME_BIC_PAY','Наименование банка Плательщика','STRING',160,0,1,1,'NAME_BIC_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 13,
		NAME   		= 'Коррсчет банка Плательщика в РКЦ',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_KS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 13,'BS_KS_PAY','Коррсчет банка Плательщика в РКЦ','STRING',20,1,1,0,'BS_KS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 14,
		NAME   		= 'ИНН получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 12,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'INN_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 14,'INN_RCP','ИНН получателя','STRING',12,0,0,0,'INN_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 15,
		NAME   		= 'КПП получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KPP_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 15,'KPP_RCP','КПП получателя','STRING',9,0,0,0,'KPP_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_UBP_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 16,
		NAME   		= 'Наименование получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'CNAME_UBP_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_UBP_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 16,'CNAME_UBP_RCP','Наименование получателя','STRING',160,0,1,1,'CNAME_UBP_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 17,
		NAME   		= 'Расчетный счет Получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 17,'BS_RCP','Расчетный счет Получателя','STRING',20,0,0,0,'BS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 18,
		NAME   		= 'БИК банка Получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BIC_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 18,'BIC_RCP','БИК банка Получателя','STRING',9,1,1,1,'BIC_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 19,
		NAME   		= 'Наименование банка получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_BIC_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 19,'NAME_BIC_RCP','Наименование банка получателя','STRING',160,0,1,1,'NAME_BIC_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 20,
		NAME   		= 'Корсчет банка получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_KS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 20,'BS_KS_RCP','Корсчет банка получателя','STRING',20,1,0,0,'BS_KS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 21,
		NAME   		= 'Срок платежа',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 21,'DATE_PAY','Срок платежа','DATE',0,0,0,0,'DATE_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ORDER_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 22,
		NAME   		= 'Очередность платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'ORDER_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ORDER_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 22,'ORDER_PAY','Очередность платежа','STRING',1,1,1,1,'ORDER_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'UIN_CODE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 23,
		NAME   		= 'уин',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 25,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'UIN_CODE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'UIN_CODE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 23,'UIN_CODE','уин','STRING',25,0,0,0,'UIN_CODE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 24,
		NAME   		= 'Назначение платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 210,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'PURPOSE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 24,'PURPOSE','Назначение платежа','STRING',210,0,1,1,'PURPOSE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PAYSTATUS')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 25,
		NAME   		= 'Статус составителя расчетного документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'PAYSTATUS',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PAYSTATUS'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 25,'PAYSTATUS','Статус составителя расчетного документа','STRING',2,0,0,0,'PAYSTATUS','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 26,
		NAME   		= 'Код бюджетной классификации',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 26,'KBK','Код бюджетной классификации','STRING',20,1,0,0,'KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OKATO')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 27,
		NAME   		= 'Код ОКАТО',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OKATO',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OKATO'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 27,'OKATO','Код ОКАТО','STRING',11,0,0,0,'OKATO','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OSNPLAT')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 28,
		NAME   		= 'Показатель основания платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OSNPLAT',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OSNPLAT'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 28,'OSNPLAT','Показатель основания платежа','STRING',2,0,0,0,'OSNPLAT','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAL_PER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 29,
		NAME   		= 'Показатель налогового периода',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NAL_PER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAL_PER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 29,'NAL_PER','Показатель налогового периода','STRING',10,0,0,0,'NAL_PER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_DOK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 30,
		NAME   		= 'Показатель номера документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 15,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NUM_DOK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_DOK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 30,'NUM_DOK','Показатель номера документа','STRING',15,0,0,0,'NUM_DOK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_DOK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 31,
		NAME   		= 'Показатель даты документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_DOK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_DOK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 31,'DATE_DOK','Показатель даты документа','STRING',10,0,0,0,'DATE_DOK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 32,
		NAME   		= 'Тип платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'TYPE_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 32,'TYPE_PL','Тип платежа','STRING',2,0,0,0,'TYPE_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_FK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 33,
		NAME   		= 'Глобальный уни-кальный идентификатор',
		VAL_TYPE 	= 'GUID',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'GUID_FK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_FK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 33,'GUID_FK','Глобальный уни-кальный идентификатор','GUID',0,0,0,0,'GUID_FK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 34,
		NAME   		= 'Код ОрФК  клиента-плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 4,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_TOFK_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 34,'KOD_TOFK_PAY','Код ОрФК  клиента-плательщика','STRING',4,1,1,1,'KOD_TOFK_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 35,
		NAME   		= 'Наименование ОрФК клиента- плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_TOFK_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 35,'NAME_TOFK_PAY','Наименование ОрФК клиента- плательщика','STRING',2000,0,1,1,'NAME_TOFK_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 36,
		NAME   		= 'Код клиента - плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_UBP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 36,'KOD_UBP_PAY','Код клиента - плательщика','STRING',5,1,1,1,'KOD_UBP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 37,
		NAME   		= 'Полное наименование клиента - Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_UBP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 37,'NAME_UBP_PAY','Полное наименование клиента - Плательщика','STRING',2000,0,1,1,'NAME_UBP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 38,
		NAME   		= 'Л/с клиента - плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'LS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 38,'LS_PAY','Л/с клиента - плательщика','STRING',11,1,0,0,'LS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 39,
		NAME   		= 'Л/с клиента - получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'LS_PAY_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 39,'LS_PAY_RCP','Л/с клиента - получателя','STRING',11,1,0,0,'LS_PAY_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PRINT_KPP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 40,
		NAME   		= 'Признак печати КПП',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'PRINT_KPP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PRINT_KPP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 40,'PRINT_KPP','Признак печати КПП','STRING',1,1,0,0,'PRINT_KPP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PRIZ')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 41,
		NAME   		= 'Признак наличия Расшифровки к платежному поручению',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'PRIZ',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PRIZ'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 41,'PRIZ','Признак наличия Расшифровки к платежному поручению','STRING',1,1,1,1,'PRIZ','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'PPST'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'PPST',6,2,'Строки платежного поручения по бюджетной классификации',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 6,
			ISONCE = 2,
			NAME   = 'Строки платежного поручения по бюджетной классификации',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Код по КБК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'KBK','Код по КБК','STRING',20,1,0,0,'KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Тип КБК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'TYPE_KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'TYPE_KBK','Тип КБК','STRING',2,1,1,1,'TYPE_KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Код цели плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'ADD_KLASS',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'ADD_KLASS','Код цели плательщика','STRING',20,0,0,0,'ADD_KLASS','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'Код цели получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'ADD_KLASS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'ADD_KLASS_RCP','Код цели получателя','STRING',20,0,0,0,'ADD_KLASS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 5,
		NAME   		= 'Сумма',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 5,'SUM','Сумма','NUMBER2',0,1,1,1,'SUM','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DIR_SUM')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 6,
		NAME   		= 'Направление пла-тежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DIR_SUM',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DIR_SUM'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 6,'DIR_SUM','Направление пла-тежа','STRING',1,1,1,1,'DIR_SUM','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'MES_FIN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 7,
		NAME   		= 'Месяц финансиро-вания',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'MES_FIN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'MES_FIN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 7,'MES_FIN','Месяц финансиро-вания','STRING',2,1,0,0,'MES_FIN','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'REZERV')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 8,
		NAME   		= 'Резервное поле',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 40,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'REZERV',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'REZERV'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 8,'REZERV','Резервное поле','STRING',40,0,0,0,'REZERV','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_FIN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 9,
		NAME   		= 'Код источника финансирования',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KOD_FIN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_FIN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 9,'KOD_FIN','Код источника финансирования','STRING',1,1,0,0,'KOD_FIN','',''
GO

GO
update EXPORT_MODELS set DATE_END   = '20160327' where MODEL_VER = 'TXPP150101' AND CODE = 'PP'
DECLARE @varKSModelLink INT,
	@varKSBlockLink INT
SELECT @varKSModelLink = LINK_MODEL FROM dbo.EXPORT_MODELS WHERE MODEL_VER = 'TXPP160328' AND CODE = 'PP'
IF @varKSModelLink is null
begin
	INSERT INTO EXPORT_MODELS(CODE, NAME, MODEL_VER, ISONCE, NORM_DOC, FILE_NAME_MASK, FILE_NAME_PROC, PROC_EXP, PROC_DOP_PARAM, DEP_NAME, PROG_SAVE, DATE_END)
	SELECT 'PP','Платежное поручение','TXPP160328',0,'','XXXXXDNN.TTM','fb_file_name_doc','BB_EXPORT_PP','cModelVer','KOD_UBP','bb_import_PP()',NULL 
	SET @varKSModelLink = @@IDENTITY
end
else
	update EXPORT_MODELS
	set 	ISONCE = 0,
		NAME   = 'Платежное поручение',
		NORM_DOC   = '',
		FILE_NAME_MASK   = 'XXXXXDNN.TTM',
		FILE_NAME_PROC   = 'fb_file_name_doc',
		PROC_EXP   = 'BB_EXPORT_PP',
		PROC_DOP_PARAM   = 'cModelVer',
		PROG_SAVE   = 'bb_import_PP()',
		DEP_NAME   = 'KOD_UBP',
		DATE_END   = NULL
	where LINK_MODEL = @varKSModelLink
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'FK'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'FK',1,0,'Маркер',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 1,
			ISONCE = 0,
			NAME   = 'Маркер',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_VER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Номер версии формата',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NUM_VER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_VER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'NUM_VER','Номер версии формата','STRING',10,0,1,1,'NUM_VER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'FORMER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Наименование программного продукта, сформировавшего файл',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 50,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'FORMER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'FORMER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'FORMER','Наименование программного продукта, сформировавшего файл','STRING',50,0,0,1,'FORMER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'FORM_VER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Версия программного продукта',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'FORM_VER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'FORM_VER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'FORM_VER','Версия программного продукта','STRING',10,0,0,1,'FORM_VER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NORM_DOC')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'сылка на документ, утверждающий формат файла',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 250,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NORM_DOC',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NORM_DOC'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'NORM_DOC','сылка на документ, утверждающий формат файла','STRING',250,0,0,0,'NORM_DOC','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'FROM'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'FROM',2,0,'Почтовая информация об отправителях файла',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 2,
			ISONCE = 0,
			NAME   = 'Почтовая информация об отправителях файла',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BUDG_LEVEL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Уровень бюджета',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BUDG_LEVEL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BUDG_LEVEL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'BUDG_LEVEL','Уровень бюджета','STRING',1,1,0,1,'BUDG_LEVEL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Код клиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'KOD_UBP','Код клиента','STRING',5,1,1,1,'KOD_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Наименование клиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 254,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'NAME_UBP','Наименование клиента','STRING',254,0,1,1,'NAME_UBP','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'TO'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'TO',3,0,'Почтовая информация о получателе файла',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 3,
			ISONCE = 0,
			NAME   = 'Почтовая информация о получателе файла',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Код ОрФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 4,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'KOD_TOFK','Код ОрФК','STRING',4,1,1,1,'KOD_TOFK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Наименование ОрФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'NAME_TOFK','Наименование ОрФК','STRING',2000,0,1,1,'NAME_TOFK','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'PP'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'PP',4,0,'Пакет',0
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 4,
			ISONCE = 0,
			NAME   = 'Пакет',
			OBLIGATORY = 0
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Дата',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DATE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'DATE','Дата','DATE',0,0,1,1,'DATE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Количество документов',
		VAL_TYPE 	= 'NUMBER',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'KOL','Количество документов','NUMBER',5,1,1,1,'KOL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_TOTAL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Контрольная сумма',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM_TOTAL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_TOTAL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'SUM_TOTAL','Контрольная сумма','NUMBER2',0,0,1,1,'SUM_TOTAL','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'PPT'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'PPT',5,2,'Платежное поручение',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 5,
			ISONCE = 2,
			NAME   = 'Платежное поручение',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_PP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= '№ платежного поручения',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NOM_PP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_PP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'NOM_PP','№ платежного поручения','STRING',10,0,1,1,'NOM_PP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Дата платежного поручения',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DATE_PP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'DATE_PP','Дата платежного поручения','DATE',0,1,1,1,'DATE_PP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_PP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Сумма платежного поручения',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM_PP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_PP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'SUM_PP','Сумма платежного поручения','NUMBER2',0,1,1,1,'SUM_PP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'Вид платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'VID_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'VID_PL','Вид платежа','STRING',1,1,1,1,'VID_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_OPER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 5,
		NAME   		= 'Вид операции.',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'VID_OPER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_OPER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 5,'VID_OPER','Вид операции.','STRING',2,1,1,1,'VID_OPER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 7,
		NAME   		= 'ИНН Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 12,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'INN_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 7,'INN_PAY','ИНН Плательщика','STRING',12,0,1,1,'INN_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 8,
		NAME   		= 'КПП Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KPP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 8,'KPP_PAY','КПП Плательщика','STRING',9,1,1,1,'KPP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 9,
		NAME   		= 'Наименование Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'CNAME_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 9,'CNAME_PAY','Наименование Плательщика','STRING',160,0,1,1,'CNAME_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 10,
		NAME   		= 'Расчетный счет Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 10,'BS_PAY','Расчетный счет Плательщика','STRING',20,1,1,1,'BS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 11,
		NAME   		= 'БИК банка Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BIC_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 11,'BIC_PAY','БИК банка Плательщика','STRING',9,1,1,1,'BIC_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 12,
		NAME   		= 'Наименование банка Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_BIC_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 12,'NAME_BIC_PAY','Наименование банка Плательщика','STRING',160,0,1,1,'NAME_BIC_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 13,
		NAME   		= 'Коррсчет банка Плательщика в РКЦ',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_KS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 13,'BS_KS_PAY','Коррсчет банка Плательщика в РКЦ','STRING',20,1,1,0,'BS_KS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 14,
		NAME   		= 'ИНН получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 12,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'INN_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 14,'INN_RCP','ИНН получателя','STRING',12,0,0,0,'INN_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 15,
		NAME   		= 'КПП получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KPP_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 15,'KPP_RCP','КПП получателя','STRING',9,0,0,0,'KPP_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_UBP_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 16,
		NAME   		= 'Наименование получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'CNAME_UBP_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_UBP_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 16,'CNAME_UBP_RCP','Наименование получателя','STRING',160,0,1,1,'CNAME_UBP_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 17,
		NAME   		= 'Расчетный счет Получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 17,'BS_RCP','Расчетный счет Получателя','STRING',20,0,0,0,'BS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 18,
		NAME   		= 'БИК банка Получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BIC_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 18,'BIC_RCP','БИК банка Получателя','STRING',9,1,1,1,'BIC_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 19,
		NAME   		= 'Наименование банка получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_BIC_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 19,'NAME_BIC_RCP','Наименование банка получателя','STRING',160,0,1,1,'NAME_BIC_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 20,
		NAME   		= 'Корсчет банка получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_KS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 20,'BS_KS_RCP','Корсчет банка получателя','STRING',20,1,0,0,'BS_KS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 21,
		NAME   		= 'Срок платежа',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 21,'DATE_PAY','Срок платежа','DATE',0,0,0,0,'DATE_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ORDER_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 22,
		NAME   		= 'Очередность платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'ORDER_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ORDER_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 22,'ORDER_PAY','Очередность платежа','STRING',1,1,1,1,'ORDER_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'UIN_CODE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 23,
		NAME   		= 'уин',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 25,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'UIN_CODE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'UIN_CODE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 23,'UIN_CODE','уин','STRING',25,0,0,0,'UIN_CODE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 24,
		NAME   		= 'Назначение платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 210,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'PURPOSE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 24,'PURPOSE','Назначение платежа','STRING',210,0,1,1,'PURPOSE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PAYSTATUS')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 25,
		NAME   		= 'Статус составителя расчетного документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'PAYSTATUS',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PAYSTATUS'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 25,'PAYSTATUS','Статус составителя расчетного документа','STRING',2,0,0,0,'PAYSTATUS','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 26,
		NAME   		= 'Код бюджетной классификации',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 26,'KBK','Код бюджетной классификации','STRING',20,0,0,0,'KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OKATO')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 27,
		NAME   		= 'Код ОКАТО',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OKATO',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OKATO'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 27,'OKATO','Код ОКАТО','STRING',11,0,0,0,'OKATO','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OSNPLAT')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 28,
		NAME   		= 'Показатель основания платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OSNPLAT',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OSNPLAT'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 28,'OSNPLAT','Показатель основания платежа','STRING',2,0,0,0,'OSNPLAT','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAL_PER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 29,
		NAME   		= 'Показатель налогового периода',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NAL_PER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAL_PER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 29,'NAL_PER','Показатель налогового периода','STRING',10,0,0,0,'NAL_PER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_DOK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 30,
		NAME   		= 'Показатель номера документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 15,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NUM_DOK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_DOK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 30,'NUM_DOK','Показатель номера документа','STRING',15,0,0,0,'NUM_DOK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_DOK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 31,
		NAME   		= 'Показатель даты документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_DOK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_DOK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 31,'DATE_DOK','Показатель даты документа','STRING',10,0,0,0,'DATE_DOK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 32,
		NAME   		= 'Тип платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'TYPE_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 32,'TYPE_PL','Тип платежа','STRING',2,0,0,0,'TYPE_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_FK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 33,
		NAME   		= 'Глобальный уни-кальный идентификатор',
		VAL_TYPE 	= 'GUID',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'GUID_FK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_FK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 33,'GUID_FK','Глобальный уни-кальный идентификатор','GUID',0,0,0,0,'GUID_FK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 34,
		NAME   		= 'Код ОрФК  клиента-плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 4,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_TOFK_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 34,'KOD_TOFK_PAY','Код ОрФК  клиента-плательщика','STRING',4,1,1,1,'KOD_TOFK_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 35,
		NAME   		= 'Наименование ОрФК клиента- плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_TOFK_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 35,'NAME_TOFK_PAY','Наименование ОрФК клиента- плательщика','STRING',2000,0,1,1,'NAME_TOFK_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 36,
		NAME   		= 'Код клиента - плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_UBP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 36,'KOD_UBP_PAY','Код клиента - плательщика','STRING',5,1,1,1,'KOD_UBP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 37,
		NAME   		= 'Полное наименование клиента - Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_UBP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 37,'NAME_UBP_PAY','Полное наименование клиента - Плательщика','STRING',2000,0,1,1,'NAME_UBP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 38,
		NAME   		= 'Л/с клиента - плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'LS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 38,'LS_PAY','Л/с клиента - плательщика','STRING',11,1,0,0,'LS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 39,
		NAME   		= 'Л/с клиента - получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'LS_PAY_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 39,'LS_PAY_RCP','Л/с клиента - получателя','STRING',11,1,0,0,'LS_PAY_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PRINT_KPP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 40,
		NAME   		= 'Признак печати КПП',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'PRINT_KPP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PRINT_KPP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 40,'PRINT_KPP','Признак печати КПП','STRING',1,1,0,0,'PRINT_KPP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PRIZ')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 41,
		NAME   		= 'Признак наличия Расшифровки к платежному поручению',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'PRIZ',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PRIZ'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 41,'PRIZ','Признак наличия Расшифровки к платежному поручению','STRING',1,1,1,1,'PRIZ','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'PPST'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'PPST',6,2,'Строки платежного поручения по бюджетной классификации',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 6,
			ISONCE = 2,
			NAME   = 'Строки платежного поручения по бюджетной классификации',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Код по КБК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'KBK','Код по КБК','STRING',20,1,0,0,'KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Тип КБК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'TYPE_KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'TYPE_KBK','Тип КБК','STRING',2,1,1,1,'TYPE_KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Код цели плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'ADD_KLASS',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'ADD_KLASS','Код цели плательщика','STRING',20,0,0,0,'ADD_KLASS','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'Код цели получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'ADD_KLASS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'ADD_KLASS_RCP','Код цели получателя','STRING',20,0,0,0,'ADD_KLASS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 5,
		NAME   		= 'Сумма',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 5,'SUM','Сумма','NUMBER2',0,1,1,1,'SUM','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DIR_SUM')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 6,
		NAME   		= 'Направление пла-тежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DIR_SUM',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DIR_SUM'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 6,'DIR_SUM','Направление пла-тежа','STRING',1,1,1,1,'DIR_SUM','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'MES_FIN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 7,
		NAME   		= 'Месяц финансиро-вания',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'MES_FIN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'MES_FIN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 7,'MES_FIN','Месяц финансиро-вания','STRING',2,1,0,0,'MES_FIN','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'REZERV')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 8,
		NAME   		= 'Резервное поле',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 40,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'REZERV',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'REZERV'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 8,'REZERV','Резервное поле','STRING',40,0,0,0,'REZERV','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_FIN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 9,
		NAME   		= 'Код источника финансирования',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KOD_FIN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_FIN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 9,'KOD_FIN','Код источника финансирования','STRING',1,1,0,0,'KOD_FIN','',''
GO

GO
update EXPORT_MODELS set DATE_END   = '20160327' where MODEL_VER = 'TXZR160101' AND CODE = 'ZR'
DECLARE @varKSModelLink INT,
	@varKSBlockLink INT
SELECT @varKSModelLink = LINK_MODEL FROM dbo.EXPORT_MODELS WHERE MODEL_VER = 'TXZR160328' AND CODE = 'ZR'
IF @varKSModelLink is null
begin
	INSERT INTO EXPORT_MODELS(CODE, NAME, MODEL_VER, ISONCE, NORM_DOC, FILE_NAME_MASK, FILE_NAME_PROC, PROC_EXP, PROC_DOP_PARAM, DEP_NAME, PROG_SAVE, DATE_END)
	SELECT 'ZR','Заявка на кассовый расход','TXZR160328',0,'','XXXXXDNN.TTM','fb_file_name_doc','BB_EXPORT_ZKR_16','cModelVer','KOD_UBP','bb_import_zkr()',NULL 
	SET @varKSModelLink = @@IDENTITY
end
else
	update EXPORT_MODELS
	set 	ISONCE = 0,
		NAME   = 'Заявка на кассовый расход',
		NORM_DOC   = '',
		FILE_NAME_MASK   = 'XXXXXDNN.TTM',
		FILE_NAME_PROC   = 'fb_file_name_doc',
		PROC_EXP   = 'BB_EXPORT_ZKR_16',
		PROC_DOP_PARAM   = 'cModelVer',
		PROG_SAVE   = 'bb_import_zkr()',
		DEP_NAME   = 'KOD_UBP',
		DATE_END   = NULL
	where LINK_MODEL = @varKSModelLink
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'FK'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'FK',1,0,'Маркер',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 1,
			ISONCE = 0,
			NAME   = 'Маркер',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_VER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Номер версии формата',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NUM_VER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_VER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'NUM_VER','Номер версии формата','STRING',10,0,1,1,'NUM_VER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'FORMER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Наименование программного продукта, сформировавшего файл',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 50,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'FORMER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'FORMER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'FORMER','Наименование программного продукта, сформировавшего файл','STRING',50,0,0,1,'FORMER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'FORM_VER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Версия программного продукта',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'FORM_VER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'FORM_VER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'FORM_VER','Версия программного продукта','STRING',10,0,0,1,'FORM_VER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NORM_DOC')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'сылка на документ, утверждающий формат файла',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 250,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NORM_DOC',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NORM_DOC'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'NORM_DOC','сылка на документ, утверждающий формат файла','STRING',250,0,0,0,'NORM_DOC','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'FROM'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'FROM',2,0,'Почтовая информация об отправителях файла',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 2,
			ISONCE = 0,
			NAME   = 'Почтовая информация об отправителях файла',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BUDG_LEVEL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Уровень бюджета',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BUDG_LEVEL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BUDG_LEVEL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'BUDG_LEVEL','Уровень бюджета','STRING',1,1,0,1,'BUDG_LEVEL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Код УБП',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'KOD_UBP','Код УБП','STRING',5,1,1,1,'KOD_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Наименование УБП',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 254,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'NAME_UBP','Наименование УБП','STRING',254,0,1,1,'NAME_UBP','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'TO'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'TO',3,0,'Почтовая информация о получателе файла',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 3,
			ISONCE = 0,
			NAME   = 'Почтовая информация о получателе файла',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Код ОрФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 4,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'KOD_TOFK','Код ОрФК','STRING',4,1,1,1,'KOD_TOFK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Наименование ОрФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'NAME_TOFK','Наименование ОрФК','STRING',2000,0,1,1,'NAME_TOFK','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'ZR'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'ZR',4,2,'Общая информация',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 4,
			ISONCE = 2,
			NAME   = 'Общая информация',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_FK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Глобальный уникальный идентификатор',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 36,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'GUID_FK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_FK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'GUID_FK','Глобальный уникальный идентификатор','STRING',36,0,0,0,'GUID_FK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Тип заявки',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'TYPE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'TYPE','Тип заявки','STRING',1,1,1,1,'TYPE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_ZR')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Номер заявки',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 15,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NOM_ZR',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_ZR'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'NOM_ZR','Номер заявки','STRING',15,0,1,1,'NOM_ZR','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_ZR')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'Дата заявки',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DATE_ZR',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_ZR'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'DATE_ZR','Дата заявки','DATE',0,1,1,1,'DATE_ZR','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 5,
		NAME   		= 'Код клиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KOD_UBP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 5,'KOD_UBP_PAY','Код клиента','STRING',5,0,0,0,'KOD_UBP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 6,
		NAME   		= 'Наименование клиентаклиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_UBP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 6,'NAME_UBP_PAY','Наименование клиентаклиента','STRING',2000,0,1,1,'NAME_UBP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_UBP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 7,
		NAME   		= 'Номер лицевого счета клиента.',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'LS_UBP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_UBP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 7,'LS_UBP_PAY','Номер лицевого счета клиента.','STRING',11,1,1,1,'LS_UBP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 8,
		NAME   		= 'ИНН клиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'INN_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 8,'INN_UBP','ИНН клиента','STRING',10,1,0,0,'INN_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 9,
		NAME   		= 'КПП клиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KPP_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 9,'KPP_UBP','КПП клиента','STRING',9,1,0,0,'KPP_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'GLAVA_GRS')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 10,
		NAME   		= 'Глава по БК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 3,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'GLAVA_GRS',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'GLAVA_GRS'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 10,'GLAVA_GRS','Глава по БК','STRING',3,1,0,0,'GLAVA_GRS','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_GRS')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 11,
		NAME   		= 'Наименование ГРБС (ГАИФДБ)',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NAME_UBP_GRS',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_GRS'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 11,'NAME_UBP_GRS','Наименование ГРБС (ГАИФДБ)','STRING',2000,0,1,0,'NAME_UBP_GRS','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BUD')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 12,
		NAME   		= 'Наименование бюджета',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 512,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NAME_BUD',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BUD'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 12,'NAME_BUD','Наименование бюджета','STRING',512,0,0,0,'NAME_BUD','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_FO')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 13,
		NAME   		= 'Наименование финансового органа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NAME_FO',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_FO'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 13,'NAME_FO','Наименование финансового органа','STRING',2000,0,1,0,'NAME_FO','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OKPO_FO')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 14,
		NAME   		= 'Код по ОКПО',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 8,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OKPO_FO',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OKPO_FO'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 14,'OKPO_FO','Код по ОКПО','STRING',8,1,0,0,'OKPO_FO','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 15,
		NAME   		= 'Код органа ФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 4,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 15,'KOD_TOFK','Код органа ФК','STRING',4,1,1,1,'KOD_TOFK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 16,
		NAME   		= 'Наименование органа ФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 16,'NAME_TOFK','Наименование органа ФК','STRING',2000,0,1,1,'NAME_TOFK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_ISP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 17,
		NAME   		= 'Предельная дата исполнения',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_ISP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_ISP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 17,'DATE_ISP','Предельная дата исполнения','DATE',0,1,1,0,'DATE_ISP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_SV')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 18,
		NAME   		= 'Идентификатор документа "Све-дения о принятом бюджетном обя-зательстве", предоставленного в ОрФК',
		VAL_TYPE 	= 'GUID',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'GUID_SV',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_SV'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 18,'GUID_SV','Идентификатор документа "Све-дения о принятом бюджетном обя-зательстве", предоставленного в ОрФК','GUID',0,0,0,0,'GUID_SV','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_BO')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 19,
		NAME   		= 'Номер обязательства',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 19,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NOM_BO',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_BO'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 19,'NOM_BO','Номер обязательства','STRING',19,1,0,0,'NOM_BO','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_ISP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 20,
		NAME   		= 'Код приоритета исполнения',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KOD_ISP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_ISP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 20,'KOD_ISP','Код приоритета исполнения','STRING',1,1,0,0,'KOD_ISP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PR_ISP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 21,
		NAME   		= 'Приоритет исполнения',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 250,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'PR_ISP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PR_ISP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 21,'PR_ISP','Приоритет исполнения','STRING',250,0,0,0,'PR_ISP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'FAIP_CODE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 22,
		NAME   		= 'Код объекта по ФАИП',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 14,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'FAIP_CODE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'FAIP_CODE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 22,'FAIP_CODE','Код объекта по ФАИП','STRING',14,1,0,0,'FAIP_CODE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_V')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 23,
		NAME   		= 'Сумма документа в валюте выплаты',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM_V',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_V'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 23,'SUM_V','Сумма документа в валюте выплаты','NUMBER2',0,1,0,1,'SUM_V','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_V')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 24,
		NAME   		= 'Код валюты по ОКВ',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 3,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_V',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_V'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 24,'KOD_V','Код валюты по ОКВ','STRING',3,1,0,1,'KOD_V','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_DOC')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 25,
		NAME   		= 'Сумма документа',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'SUM_DOC',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_DOC'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 25,'SUM_DOC','Сумма документа','NUMBER2',0,1,1,0,'SUM_DOC','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_AP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 26,
		NAME   		= 'Признак авансового платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'TYPE_AP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_AP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 26,'TYPE_AP','Признак авансового платежа','STRING',1,1,0,1,'TYPE_AP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ORDER_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 27,
		NAME   		= 'Очередность платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'ORDER_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ORDER_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 27,'ORDER_PL','Очередность платежа','STRING',1,1,1,1,'ORDER_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 28,
		NAME   		= 'Вид платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'VID_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 28,'VID_PL','Вид платежа','STRING',1,1,1,1,'VID_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 29,
		NAME   		= 'Назначение платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 210,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'PURPOSE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 29,'PURPOSE','Назначение платежа','STRING',210,0,1,1,'PURPOSE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 30,
		NAME   		= 'Наименование / ФИО контрагента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 30,'NAME_RCP','Наименование / ФИО контрагента','STRING',160,0,1,1,'NAME_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 31,
		NAME   		= 'ИНН контрагента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 12,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'INN_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 31,'INN_RCP','ИНН контрагента','STRING',12,0,1,1,'INN_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 32,
		NAME   		= 'КПП контрагента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KPP_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 32,'KPP_RCP','КПП контрагента','STRING',9,0,1,1,'KPP_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_UBP_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 33,
		NAME   		= 'Лицевой счет контрагента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'LS_UBP_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_UBP_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 33,'LS_UBP_RCP','Лицевой счет контрагента','STRING',11,1,0,0,'LS_UBP_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 34,
		NAME   		= 'Банковский счет контрагента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 34,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 34,'BS_RCP','Банковский счет контрагента','STRING',34,0,0,0,'BS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 35,
		NAME   		= 'Наименование банка контрагента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_BIC_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 35,'NAME_BIC_RCP','Наименование банка контрагента','STRING',160,0,0,1,'NAME_BIC_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 36,
		NAME   		= 'БИК банка контрагента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BIC_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 36,'BIC_RCP','БИК банка контрагента','STRING',9,1,0,0,'BIC_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KS_BIC_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 37,
		NAME   		= 'Корсчет банка контрагента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 34,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KS_BIC_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KS_BIC_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 37,'KS_BIC_RCP','Корсчет банка контрагента','STRING',34,0,0,0,'KS_BIC_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PAYSTATUS')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 38,
		NAME   		= 'Статус налогоплательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'PAYSTATUS',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PAYSTATUS'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 38,'PAYSTATUS','Статус налогоплательщика','STRING',2,1,0,0,'PAYSTATUS','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KDOH')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 39,
		NAME   		= 'Код бюджетной классификации',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KDOH',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KDOH'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 39,'KDOH','Код бюджетной классификации','STRING',20,0,0,0,'KDOH','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OKATO')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 40,
		NAME   		= 'Код ОКАТО',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OKATO',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OKATO'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 40,'OKATO','Код ОКАТО','STRING',11,0,0,0,'OKATO','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OSN_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 41,
		NAME   		= 'Показатель основания платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OSN_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OSN_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 41,'OSN_PL','Показатель основания платежа','STRING',2,0,0,0,'OSN_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAL_PER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 42,
		NAME   		= 'Показатель налогового периода',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NAL_PER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAL_PER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 42,'NAL_PER','Показатель налогового периода','STRING',10,0,0,0,'NAL_PER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_DOK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 43,
		NAME   		= 'Показатель номера документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 15,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NOM_DOK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_DOK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 43,'NOM_DOK','Показатель номера документа','STRING',15,0,0,0,'NOM_DOK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_DOK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 44,
		NAME   		= 'Показатель даты документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_DOK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_DOK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 44,'DATE_DOK','Показатель даты документа','STRING',10,0,0,0,'DATE_DOK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 45,
		NAME   		= 'Тип платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'TYPE_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 45,'TYPE_PL','Тип платежа','STRING',2,0,0,0,'TYPE_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DOL_RUK_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 46,
		NAME   		= 'Должность руководителя (уполномоченного им лица)',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 100,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DOL_RUK_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DOL_RUK_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 46,'DOL_RUK_UBP','Должность руководителя (уполномоченного им лица)','STRING',100,0,0,0,'DOL_RUK_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_RUK_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 47,
		NAME   		= 'ФИО руководителя (уполномоченного им лица)',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 50,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_RUK_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_RUK_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 47,'NAME_RUK_UBP','ФИО руководителя (уполномоченного им лица)','STRING',50,0,0,1,'NAME_RUK_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DOL_BUH_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 48,
		NAME   		= 'Должность главного бухгалтера (уполномоченного руководителем лица)',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 100,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DOL_BUH_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DOL_BUH_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 48,'DOL_BUH_UBP','Должность главного бухгалтера (уполномоченного руководителем лица)','STRING',100,0,0,0,'DOL_BUH_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BUH_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 49,
		NAME   		= 'ФИО главного бухгалтера (уполномоченного руководителем лица)',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 50,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NAME_BUH_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BUH_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 49,'NAME_BUH_UBP','ФИО главного бухгалтера (уполномоченного руководителем лица)','STRING',50,0,0,0,'NAME_BUH_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_POD_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 50,
		NAME   		= 'Дата подписания заявки',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DATE_POD_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_POD_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 50,'DATE_POD_UBP','Дата подписания заявки','DATE',0,0,0,1,'DATE_POD_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_ZR_FK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 51,
		NAME   		= 'Отметка ОрФК о постановке на учет / Номер заявки',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 15,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NOM_ZR_FK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_ZR_FK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 51,'NOM_ZR_FK','Отметка ОрФК о постановке на учет / Номер заявки','STRING',15,0,0,0,'NOM_ZR_FK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_FK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 52,
		NAME   		= 'Отметка ОрФК о постановке на учет / Дата постановки на учет',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_FK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_FK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 52,'DATE_FK','Отметка ОрФК о постановке на учет / Дата постановки на учет','DATE',0,1,0,0,'DATE_FK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DOL_ISP_FK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 53,
		NAME   		= 'Отметка ОрФК о постановке на учет / Должность ответственного исполнителя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 100,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DOL_ISP_FK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DOL_ISP_FK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 53,'DOL_ISP_FK','Отметка ОрФК о постановке на учет / Должность ответственного исполнителя','STRING',100,0,0,0,'DOL_ISP_FK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_ISP_FK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 54,
		NAME   		= 'Отметка ОрФК о постановке на учет / ФИО ответственного исполнителя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 50,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NAME_ISP_FK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_ISP_FK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 54,'NAME_ISP_FK','Отметка ОрФК о постановке на учет / ФИО ответственного исполнителя','STRING',50,0,0,0,'NAME_ISP_FK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TEL_ISP_FK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 55,
		NAME   		= 'Отметка ОрФК о постановке на учет / Телефон ответственного исполнителя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 50,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'TEL_ISP_FK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TEL_ISP_FK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 55,'TEL_ISP_FK','Отметка ОрФК о постановке на учет / Телефон ответственного исполнителя','STRING',50,0,0,0,'TEL_ISP_FK','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'ZROSN'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'ZROSN',5,2,'Реквизиты документов-оснований',0
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 5,
			ISONCE = 2,
			NAME   = 'Реквизиты документов-оснований',
			OBLIGATORY = 0
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OSN_PLAT')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Признак основания платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OSN_PLAT',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OSN_PLAT'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'OSN_PLAT','Признак основания платежа','STRING',1,0,0,0,'OSN_PLAT','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_OSN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Вид документа-основания',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 50,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'VID_OSN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_OSN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'VID_OSN','Вид документа-основания','STRING',50,0,0,1,'VID_OSN','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_OSN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Номер документа-основания',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 100,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NOM_OSN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_OSN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'NOM_OSN','Номер документа-основания','STRING',100,0,0,1,'NOM_OSN','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_OSN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'Дата документа-основания',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= NULL,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_OSN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_OSN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'DATE_OSN','Дата документа-основания','DATE',NULL,0,0,0,'DATE_OSN','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OSN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 5,
		NAME   		= 'Предмет документа-основания',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 512,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OSN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OSN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 5,'OSN','Предмет документа-основания','STRING',512,0,0,0,'OSN','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'ZRST'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'ZRST',6,2,'Строки заявки на кассовый расход по бюджетной классификации',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 6,
			ISONCE = 2,
			NAME   = 'Строки заявки на кассовый расход по бюджетной классификации',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_IST_KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Источник средств',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_IST_KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_IST_KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'KOD_IST_KBK','Источник средств','STRING',1,1,0,1,'KOD_IST_KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Тип КБК плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'TYPE_KBK_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'TYPE_KBK_PAY','Тип КБК плательщика','STRING',2,1,1,0,'TYPE_KBK_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Код по БК плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KBK_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'KBK_PAY','Код по БК плательщика','STRING',20,1,1,0,'KBK_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'Тип КБК получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'TYPE_KBK_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'TYPE_KBK_RCP','Тип КБК получателя','STRING',2,1,0,0,'TYPE_KBK_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 5,
		NAME   		= 'Код по БК получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KBK_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 5,'KBK_RCP','Код по БК получателя','STRING',20,1,0,0,'KBK_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 6,
		NAME   		= 'Код цели субсидии / субвенции плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'ADD_KLASS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 6,'ADD_KLASS_PAY','Код цели субсидии / субвенции плательщика','STRING',20,0,0,0,'ADD_KLASS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 7,
		NAME   		= 'Код цели субсидии / субвенции получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'ADD_KLASS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 7,'ADD_KLASS_RCP','Код цели субсидии / субвенции получателя','STRING',20,0,0,0,'ADD_KLASS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_V_KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 8,
		NAME   		= 'Сумма в валюте заявки',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM_V_KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_V_KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 8,'SUM_V_KBK','Сумма в валюте заявки','NUMBER2',0,1,0,1,'SUM_V_KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_R_KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 9,
		NAME   		= 'Сумма в рублях',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'SUM_R_KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_R_KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 9,'SUM_R_KBK','Сумма в рублях','NUMBER2',0,1,1,0,'SUM_R_KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE_KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 10,
		NAME   		= 'Назначение платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 210,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'PURPOSE_KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE_KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 10,'PURPOSE_KBK','Назначение платежа','STRING',210,0,0,0,'PURPOSE_KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NOTE_KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 11,
		NAME   		= 'Примечание',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 254,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NOTE_KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NOTE_KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 11,'NOTE_KBK','Примечание','STRING',254,0,0,0,'NOTE_KBK','',''
GO

GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503128M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = ''


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503128M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = ''

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,''
	from dbo.REPORT_FORMS where CODE = '0503128M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_ADM', '000', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 89,1,'','1.501.13','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.17','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,2,'1.502.17','','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 75,1,'1.502.17','1.502.11','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'','1.503.13','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 10
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 85,1,'','1.304.05','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 86,2,'1.304.05','','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 87,2,'1.201.[12][137]','','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 88,1,'','1.201.[12][137]','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 89,3,'1.304.04','1.304.05','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'','1.503.13','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'','1.503.13','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 10
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 85,2,'','1.304.05','','',4,1,'520#ddddddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 85,2,'','1.304.05','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 86,1,'1.304.05','','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 86,1,'1.304.05','','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 87,2,'1.201.2[17]','','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 87,2,'1.201.2[17]','','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 88,1,'','1.201.2[17]','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 88,1,'','1.201.2[17]','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 89,3,'1.304.04','1.304.05','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 89,1,'','1.501.13','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 89,1,'','1.501.13','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.17','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.17','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,2,'1.502.17','','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,2,'1.502.17','','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','1.502.12','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','1.502.12','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.11','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 75,1,'','1.502.12','','',1,1,'dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.11','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.11','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.502.17','1.502.11','','',4,1,'520#dddxxxxxxxxxxxxxxxxxdddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.502.17','1.502.11','','',8,1,'620#dddxxxxxxxxxxxxxxxxxdddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.[2349]1','','',12,1,'920#dddddddddddddddddddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.[2349]1','','',1,1,'910#dddddddddddddddddddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 75,1,'1.502.[2349]7','1.502.[2349]1','','',12,1,'920#dddddddddddddddddddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 75,1,'1.502.[2349]7','1.502.[2349]1','','',1,1,'910#dddddddddddddddddddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 75,1,'','1.502.[2349]2','','',12,1,'920#dddddddddddddddddddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 75,1,'','1.502.[2349]2','','',1,1,'910#dddddddddddddddddddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'','1.503.[2349]3','','',12,1,'920#dddddddddddddddddddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'','1.503.[2349]3','','',1,1,'910#dddddddddddddddddddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 89,1,'','1.501.[2349]3','','',12,1,'920#dddddddddddddddddddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 89,1,'','1.501.[2349]3','','',1,1,'910#dddddddddddddddddddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,2,'1.502.[2349]7','','','',12,1,'920#dddddddddddddddddddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.[2349]7','','',12,1,'920#dddddddddddddddddddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,1,'','1.502.[2349]7','','',1,1,'910#dddddddddddddddddddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 74,2,'1.502.[2349]7','','','',1,1,'910#dddddddddddddddddddddddddd',0,''
GO

GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503169M_БД' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VIDDEYAT=1'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503169M_БД' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VIDDEYAT=1'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,''
	from dbo.REPORT_FORMS where CODE = '0503169M_БД' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.20[589].__','','','',2,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.210.1[12]','','','',2,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.206.__','','','',2,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.20[589].__','','','',1,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','1.303.__','','',1,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.210.1[12]','','','',1,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.206.__','','','',1,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.20[589].__','','','',12,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.210.1[12]','','','',12,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.206.__','','','',12,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.20[589].__','','','',2,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.210.1[12]','','','',2,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.206.__','','','',2,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.20[589].__','','','',12,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.206.__','','','',12,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.210.1[12]','','','',12,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.20[589].__','','','',1,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.210.1[12]','','','',1,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','1.303.__','','',1,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'1.206.__','','','',1,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503169M_БК' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VIDDEYAT=1'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503169M_БК' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VIDDEYAT=1'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,''
	from dbo.REPORT_FORMS where CODE = '0503169M_БК' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'1.20[589].__','','','',2,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','1.302.__','','',2,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','1.303.__','','',2,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','1.304.0[2-4]','','',2,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'1.20[589].__','','','',1,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','1.302._','','',1,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','1.303._','','',1,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','1.304.0[2-4]','','',1,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','1.302._','','',1,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','1.303._','','',1,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','1.304.0[2-4]','','',1,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,2,'1.20[589].__','','','',1,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'<0'
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'1.20[589].__','','','',2,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','1.302.__','','',2,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','1.303.__','','',2,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','1.304.0[2-4]','','',2,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'1.20[589].__','','','',12,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','1.302._','','',12,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','1.303._','','',12,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','1.304.0[2-4]','','',12,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'1.20[589].__','','','',12,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','1.302._','','',12,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','1.303._','','',12,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','1.304.0[2-4]','','',12,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503169M_БК' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VIDDEYAT=3'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503169M_БК' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VIDDEYAT=3'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,''
	from dbo.REPORT_FORMS where CODE = '0503169M_БК' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VIDDEYAT', '3', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','3.304.01','','',2,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','3.304.01','','',2,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','3.304.01','','',12,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','3.304.01','','',12,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','3.304.01','','',1,3,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,1,'','3.304.01','','',1,2,'XXXXXXXXXXXXXXXXXXXXXXXXXX000',1,''
GO

GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503178M_Б' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = ''


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503178M_Б' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = ''

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,''
	from dbo.REPORT_FORMS where CODE = '0503178M_Б' AND [START_DATE] = '20150101' 
	SET @iCalcFormLink = @@IDENTITY
	
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.201.2[1267]','','','',0,2,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.201.23','','','',0,2,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.201.2[1267]','','','',0,3,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.201.23','','','',0,3,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.201.11','','','',0,2,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.201.13','','','',0,2,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.201.11','','','',0,3,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'1.201.13','','','',0,3,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503178M_СВ' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = ''


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503178M_СВ' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = ''

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,''
	from dbo.REPORT_FORMS where CODE = '0503178M_СВ' AND [START_DATE] = '20150101' 
	SET @iCalcFormLink = @@IDENTITY
	
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[1267]','','','',0,2,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.23','','','',0,2,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[1267]','','','',0,3,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.23','','','',0,3,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.11','','','',0,2,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.13','','','',0,2,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.11','','','',0,3,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.13','','','',0,3,'DDDDDDDDDDDDDDDDDDDDXXXXXX000',0,''
GO

GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=2,REPORTS_ATR_VID_NAME=собственные доходы учреждения'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=2,REPORTS_ATR_VID_NAME=собственные доходы учреждения'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'2'
	from dbo.REPORT_FORMS where CODE = '0503737M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '2', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'собственные доходы учреждения', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_FILTER_KBK', 'Не отобрано', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.210.03','2.201.1_','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.2_','2.201.1_','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.1[13]','2.201.2__','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','2.210.03','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.201.34','2.201.2[37]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','420','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','430','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','440','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[37]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','440','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.34','2.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','180','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.34','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[1367]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[1367]','2.201.34','171','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[1367]','171','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','2.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.210.03','2.210.05','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[1267]','2.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.34','2.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.210.05','2.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.210.05','2.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.210.05','2.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.210.05','2.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','2.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'2.201.34','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.201.34','2.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.1[13]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.210.03','','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.2[1267]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.34','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','2.304.04','','510',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','2.304.04','','510',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.304.04','2.201.11','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.304.04','2.201.2[137]','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.11','2.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[12]','2.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.304.06','2.201.11','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.304.06','2.201.2[17]','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.304.06','2.201.34','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','2.210.03','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.210.03','2.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '700',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.1_','','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.504.1_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.504.10','','520','',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.210.03','2.201.11','','',13,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.11','','',13,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.201.11','','','',13,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.11','2.210.03','','',13,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.11','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.210.03','2.201.11','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.201.11','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.11','2.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','130','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','140','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','150','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','152','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.34','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.201.34','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.34','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.201.34','2.210.03','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.34','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.201.34','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.34','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.201.34','2.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','153','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','410','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.21','2.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[37]','2.201.34','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[137]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[137]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.21','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.2[167]','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.34','2.201.2[17]','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.201.2[167]','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.2[167]','2.210.03','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.2[167]','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','420',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','430',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','440',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','171',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.2[167]','520','',4,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.34','2.201.2[17]','','520',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.201.2[167]','','','520',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','130','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','120',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','130',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','140',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','150',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','152',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','153',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','620',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','410',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','180',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,2,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','640',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','640','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[1367]','2.201.34','640','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[1367]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[1367]','640','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','2.201.1[13]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,2,'2.201.1[13]','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'2.201.1[13]','2.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','2.201.2[1367]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.201.34','2.201.2[1367]','','540',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'2.201.2[1367]','','','540',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','2.201.34','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'2.201.34','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.34','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.201.34','2.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[1367]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2[1367]','2.201.34','710','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2[1367]','710','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.34','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.201.34','2.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.210.03','2.201.34','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','2.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,1,'2.201.1[13]','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'2.201.1[13]','2.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','2.201.2[1367]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'2.201.34','2.201.2[1367]','','810',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'2.201.2[1367]','','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','640',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.504.10','','540','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.504.10','','710',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.504.10','','810','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1_','2.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1_','2.201.2_','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2__','2.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'2.201.2[37]','2.201.34','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2_','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.2_','2.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.2_','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.2_','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.1[13]','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','2.201.1[13]','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'2.210.03','2.201.1[13]','180','',2,1,'',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=4,REPORTS_ATR_VID_NAME=субсидия на выполнение государственного (муниципального) задания'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=4,REPORTS_ATR_VID_NAME=субсидия на выполнение государственного (муниципального) задания'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'4'
	from dbo.REPORT_FORMS where CODE = '0503737M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '4', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидия на выполнение государственного (муниципального) задания', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_FILTER_KBK', 'Не отобрано', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.210.03','4.201.1_','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.2_','4.201.1_','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.1[13]','4.201.2__','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','4.210.03','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.201.34','4.201.2[37]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','420','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','430','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','440','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[37]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','440','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.34','4.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','180','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.34','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[1367]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[1367]','4.201.34','171','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[1367]','171','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','4.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.210.03','4.210.05','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[1267]','4.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.34','4.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.210.05','4.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.210.05','4.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.210.05','4.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.210.05','4.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','4.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'4.201.34','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.201.34','4.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.1[13]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.210.03','','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.2[1267]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.34','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','4.304.04','','510',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','4.304.04','','510',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.304.04','4.201.11','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.304.04','4.201.2[137]','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.11','4.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[12]','4.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.304.06','4.201.11','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.304.06','4.201.2[17]','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.304.06','4.201.34','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','4.210.03','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.210.03','4.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '700',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.1_','','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.504.1_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.504.10','','520','',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.210.03','4.201.11','','',13,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.11','','',13,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.201.11','','','',13,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.11','4.210.03','','',13,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.11','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.210.03','4.201.11','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.201.11','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.11','4.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','130','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','140','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','150','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','152','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.34','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.201.34','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.34','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.201.34','4.210.03','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.34','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.201.34','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.34','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.201.34','4.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','153','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','410','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.21','4.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[37]','4.201.34','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[137]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[137]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.21','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.2[167]','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.34','4.201.2[17]','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.201.2[167]','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.2[167]','4.210.03','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.2[167]','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','420',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','430',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','440',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','171',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.2[167]','520','',4,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.34','4.201.2[17]','','520',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.201.2[167]','','','520',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','130','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','120',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','130',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','140',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','150',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','152',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','153',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','620',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','410',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','180',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,2,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','640',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','640','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[1367]','4.201.34','640','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[1367]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[1367]','640','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','4.201.1[13]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,2,'4.201.1[13]','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'4.201.1[13]','4.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','4.201.2[1367]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.201.34','4.201.2[1367]','','540',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'4.201.2[1367]','','','540',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','4.201.34','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'4.201.34','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.34','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.201.34','4.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[1367]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2[1367]','4.201.34','710','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2[1367]','710','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.34','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.201.34','4.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.210.03','4.201.34','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','4.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,1,'4.201.1[13]','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'4.201.1[13]','4.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','4.201.2[1367]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'4.201.34','4.201.2[1367]','','810',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'4.201.2[1367]','','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','640',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.504.10','','540','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.504.10','','710',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.504.10','','810','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1_','4.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1_','4.201.2_','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2__','4.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'4.201.2[37]','4.201.34','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2_','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.2_','4.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.2_','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.2_','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.1[13]','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','4.201.1[13]','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'4.210.03','4.201.1[13]','180','',2,1,'',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=5,REPORTS_ATR_VID_NAME=субсидии на иные цели'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=5,REPORTS_ATR_VID_NAME=субсидии на иные цели'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'5'
	from dbo.REPORT_FORMS where CODE = '0503737M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_FILTER_KBK', 'Не отобрано', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.210.03','5.201.1_','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.2_','5.201.1_','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.1[13]','5.201.2__','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','5.210.03','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.201.34','5.201.2[37]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','420','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','430','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','440','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[37]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','440','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.34','5.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','180','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.34','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[1367]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[1367]','5.201.34','171','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[1367]','171','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','5.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.210.03','5.210.05','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[1267]','5.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.34','5.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.210.05','5.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.210.05','5.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.210.05','5.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.210.05','5.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','5.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'5.201.34','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.201.34','5.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.1[13]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.210.03','','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.2[1267]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.34','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','5.304.04','','510',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','5.304.04','','510',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.304.04','5.201.11','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.304.04','5.201.2[137]','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.11','5.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[12]','5.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.304.06','5.201.11','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.304.06','5.201.2[17]','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.304.06','5.201.34','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','5.210.03','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.210.03','5.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '700',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.1_','','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.504.1_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.504.10','','520','',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.210.03','5.201.11','','',13,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.11','','',13,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.201.11','','','',13,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.11','5.210.03','','',13,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.11','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.210.03','5.201.11','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.201.11','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.11','5.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','130','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','140','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','150','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','152','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.34','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.201.34','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.34','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.201.34','5.210.03','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.34','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.201.34','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.34','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.201.34','5.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','153','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','410','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.21','5.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[37]','5.201.34','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[137]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[137]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.21','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.2[167]','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.34','5.201.2[17]','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.201.2[167]','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.2[167]','5.210.03','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.2[167]','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','420',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','430',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','440',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','171',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.2[167]','520','',4,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.34','5.201.2[17]','','520',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.201.2[167]','','','520',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','130','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','120',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','130',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','140',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','150',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','152',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','153',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','620',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','410',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','180',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,2,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','640',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','640','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[1367]','5.201.34','640','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[1367]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[1367]','640','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','5.201.1[13]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,2,'5.201.1[13]','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'5.201.1[13]','5.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','5.201.2[1367]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.201.34','5.201.2[1367]','','540',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'5.201.2[1367]','','','540',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','5.201.34','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'5.201.34','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.34','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.201.34','5.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[1367]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2[1367]','5.201.34','710','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2[1367]','710','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.34','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.201.34','5.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.210.03','5.201.34','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','5.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,1,'5.201.1[13]','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'5.201.1[13]','5.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','5.201.2[1367]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'5.201.34','5.201.2[1367]','','810',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'5.201.2[1367]','','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','640',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.504.10','','540','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.504.10','','710',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.504.10','','810','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1_','5.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1_','5.201.2_','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2__','5.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'5.201.2[37]','5.201.34','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2_','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.2_','5.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.2_','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.2_','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.1[13]','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','5.201.1[13]','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'5.210.03','5.201.1[13]','180','',2,1,'',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=6,REPORTS_ATR_VID_NAME=бюджетные инвестиции'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=6,REPORTS_ATR_VID_NAME=бюджетные инвестиции'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'6'
	from dbo.REPORT_FORMS where CODE = '0503737M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '6', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'бюджетные инвестиции', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_FILTER_KBK', 'Не отобрано', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.210.03','6.201.1_','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.2_','6.201.1_','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.1[13]','6.201.2__','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','6.210.03','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.201.34','6.201.2[37]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','420','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','430','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','440','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[37]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','440','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.34','6.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','180','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.34','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[1367]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[1367]','6.201.34','171','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[1367]','171','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','6.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.210.03','6.210.05','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[1267]','6.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.34','6.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.210.05','6.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.210.05','6.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.210.05','6.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.210.05','6.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','6.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'6.201.34','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.201.34','6.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.1[13]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.210.03','','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.2[1267]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.34','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','6.304.04','','510',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','6.304.04','','510',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.304.04','6.201.11','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.304.04','6.201.2[137]','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.11','6.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[12]','6.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.304.06','6.201.11','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.304.06','6.201.2[17]','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.304.06','6.201.34','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','6.210.03','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.210.03','6.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '700',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.1_','','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.504.1_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.504.10','','520','',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.210.03','6.201.11','','',13,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.11','','',13,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.201.11','','','',13,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.11','6.210.03','','',13,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.11','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.210.03','6.201.11','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.201.11','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.11','6.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','130','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','140','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','150','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','152','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.34','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.201.34','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.34','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.201.34','6.210.03','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.34','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.201.34','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.34','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.201.34','6.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','153','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','410','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.21','6.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[37]','6.201.34','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[137]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[137]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.21','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.2[167]','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.34','6.201.2[17]','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.201.2[167]','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.2[167]','6.210.03','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.2[167]','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','420',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','430',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','440',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','171',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.2[167]','520','',4,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.34','6.201.2[17]','','520',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.201.2[167]','','','520',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','130','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','120',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','130',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','140',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','150',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','152',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','153',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','620',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','410',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','180',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,2,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','640',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','640','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[1367]','6.201.34','640','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[1367]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[1367]','640','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','6.201.1[13]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,2,'6.201.1[13]','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'6.201.1[13]','6.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','6.201.2[1367]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.201.34','6.201.2[1367]','','540',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'6.201.2[1367]','','','540',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','6.201.34','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'6.201.34','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.34','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.201.34','6.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[1367]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2[1367]','6.201.34','710','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2[1367]','710','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.34','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.201.34','6.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.210.03','6.201.34','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','6.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,1,'6.201.1[13]','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'6.201.1[13]','6.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','6.201.2[1367]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'6.201.34','6.201.2[1367]','','810',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'6.201.2[1367]','','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','640',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.504.10','','540','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.504.10','','710',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.504.10','','810','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1_','6.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1_','6.201.2_','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2__','6.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'6.201.2[37]','6.201.34','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2_','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.2_','6.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.2_','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.2_','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.1[13]','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','6.201.1[13]','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'6.210.03','6.201.1[13]','180','',2,1,'',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=7,REPORTS_ATR_VID_NAME=средства по обязательному медицинскому страхованию'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=7,REPORTS_ATR_VID_NAME=средства по обязательному медицинскому страхованию'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'7'
	from dbo.REPORT_FORMS where CODE = '0503737M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '7', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'средства по обязательному медицинскому страхованию', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_FILTER_KBK', 'Не отобрано', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.210.03','7.201.1_','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.2_','7.201.1_','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.1[13]','7.201.2__','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','7.210.03','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.201.34','7.201.2[37]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','420','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','430','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','440','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[37]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','440','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.34','7.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','180','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.34','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[1367]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[1367]','7.201.34','171','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[1367]','171','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','7.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.210.03','7.210.05','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[1267]','7.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.34','7.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.210.05','7.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.210.05','7.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.210.05','7.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.210.05','7.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','7.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'7.201.34','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.201.34','7.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.1[13]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.210.03','','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.2[1267]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.34','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','7.304.04','','510',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','7.304.04','','510',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.304.04','7.201.11','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.304.04','7.201.2[137]','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.11','7.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[12]','7.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.304.06','7.201.11','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.304.06','7.201.2[17]','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.304.06','7.201.34','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','7.210.03','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.210.03','7.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '700',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.1_','','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.504.1_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.504.10','','520','',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.210.03','7.201.11','','',13,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.11','','',13,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.201.11','','','',13,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.11','7.210.03','','',13,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.11','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.210.03','7.201.11','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.201.11','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.11','7.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','130','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','140','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','150','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','152','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.34','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.201.34','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.34','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.201.34','7.210.03','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.34','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.201.34','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.34','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.201.34','7.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','153','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','410','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.21','7.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[37]','7.201.34','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[137]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[137]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.21','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.2[167]','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.34','7.201.2[17]','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.201.2[167]','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.2[167]','7.210.03','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.2[167]','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','420',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','430',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','440',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','171',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.2[167]','520','',4,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.34','7.201.2[17]','','520',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.201.2[167]','','','520',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','130','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','120',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','130',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','140',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','150',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','152',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','153',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','620',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','410',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','180',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,2,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','640',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','640','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[1367]','7.201.34','640','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[1367]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[1367]','640','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','7.201.1[13]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,2,'7.201.1[13]','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'7.201.1[13]','7.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','7.201.2[1367]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.201.34','7.201.2[1367]','','540',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'7.201.2[1367]','','','540',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','7.201.34','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'7.201.34','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.34','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.201.34','7.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[1367]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2[1367]','7.201.34','710','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2[1367]','710','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.34','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.201.34','7.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.210.03','7.201.34','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','7.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,1,'7.201.1[13]','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'7.201.1[13]','7.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','7.201.2[1367]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'7.201.34','7.201.2[1367]','','810',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'7.201.2[1367]','','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','640',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.504.10','','540','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.504.10','','710',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.504.10','','810','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1_','7.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1_','7.201.2_','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2__','7.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'7.201.2[37]','7.201.34','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2_','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.2_','7.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.2_','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.2_','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.1[13]','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','7.201.1[13]','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'7.210.03','7.201.1[13]','180','',2,1,'',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=3,REPORTS_ATR_VID_NAME=средства во временном распоряжении'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503737M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=3,REPORTS_ATR_VID_NAME=средства во временном распоряжении'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'3'
	from dbo.REPORT_FORMS where CODE = '0503737M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '3', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'средства во временном распоряжении', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_FILTER_KBK', 'Не отобрано', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.210.03','3.201.1_','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.201.2_','3.201.1_','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.201.1[13]','3.201.2__','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','3.210.03','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'3.201.34','3.201.2[37]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','420','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','420',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','420','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','420',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','420','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','430','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','430',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','430','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','430',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','430','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','440',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','440','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[37]','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','440','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','440','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','440',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','440','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.34','3.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','180','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.34','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[1367]','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[1367]','3.201.34','171','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[1367]','171','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','171',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','171','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','171',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','171','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','3.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.210.03','3.210.05','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[1267]','3.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '591',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.201.34','3.210.05','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.210.05','3.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.210.05','3.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.210.05','3.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '592',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.210.05','3.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','3.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'3.201.34','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.34','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.201.34','3.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.201.1[13]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.210.03','','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.201.2[1267]','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '710',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.201.34','','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.201.1[13]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.210.203','','',0,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.201.2[1367]','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '720',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','3.304.04','','510',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '821',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','3.304.04','','510',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.304.04','3.201.11','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '822',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.304.04','3.201.2[137]','610','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.11','3.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '831',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[12]','3.304.06','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.304.06','3.201.11','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.304.06','3.201.2[17]','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '832',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.304.06','3.201.34','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','3.210.03','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '732',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'3.210.03','3.201.34','','',0,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '700',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.1_','','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'3.504.1_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.504.10','','520','',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.210.03','3.201.11','','',13,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.201.11','','',13,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'3.201.11','','','',13,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.11','3.210.03','','',13,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.201.11','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.210.03','3.201.11','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'3.201.11','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.11','3.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','130',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','130','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','130','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','140','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','150','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','152','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.201.34','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'3.201.34','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.34','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.201.34','3.210.03','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.201.34','520','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'3.201.34','','','520',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.34','520','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.201.34','3.210.03','','520',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','153','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','410','',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.21','3.210.03','','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[37]','3.201.34','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[137]','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[137]','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.21','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.201.2[167]','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.34','3.201.2[17]','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'3.201.2[167]','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.2[167]','3.210.03','','',1,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.2[167]','','',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '093',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','420',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '094',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','430',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '095',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','440',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '521',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','171',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '522',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.201.2[167]','520','',4,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.34','3.201.2[17]','','520',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'3.201.2[167]','','','520',4,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','120',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','120','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','120',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','120','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','130','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','130',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','130','',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','140',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','140','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','140',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','140','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','150',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','150','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','150',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','150','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','152',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','152','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','152',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','152','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','153',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','153','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','153',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','153','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','410',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','410','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','410',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','410','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','620',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','620','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '030',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','120',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '040',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','130',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '050',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','140',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '060',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','150',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '062',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','152',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '063',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','153',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '523',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','620',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '092',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','410',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','180',2,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,2,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','640',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','640','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[1367]','3.201.34','640','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[1367]','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[1367]','640','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','640',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','640','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','3.201.1[13]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,2,'3.201.1[13]','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'3.201.1[13]','3.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','3.201.2[1367]','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.201.34','3.201.2[1367]','','540',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'3.201.2[1367]','','','540',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','3.201.34','540','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'3.201.34','','','540',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.34','540','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.201.34','3.210.03','','540',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[1367]','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2[1367]','3.201.34','710','',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2[1367]','710','',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','710',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.34','710','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.201.34','3.210.03','','710',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.210.03','3.201.34','710','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','3.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,1,'3.201.1[13]','','','810',4,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,3,'3.201.1[13]','3.210.03','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','3.201.2[1367]','810','',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 4,3,'3.201.34','3.201.2[1367]','','810',4,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 5,1,'3.201.2[1367]','','','810',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '525',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','640',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '524',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.504.10','','540','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '527',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.504.10','','710',4,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '528',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.504.10','','810','',4,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1_','3.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1_','3.201.2_','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '731',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2__','3.210.03','','',0,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'3.201.2[37]','3.201.34','','',0,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2_','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.2_','3.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.2_','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.2_','180','',2,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '100',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.1[13]','','','180',2,1,'',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'3.201.1[13]','3.210.03','','180',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'','3.201.1[13]','180','',2,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 3,3,'3.210.03','3.201.1[13]','180','',2,1,'',0,''
GO

GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=2,REPORTS_ATR_VID_NAME=собственные доходы учреждения'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=2,REPORTS_ATR_VID_NAME=собственные доходы учреждения'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'2'
	from dbo.REPORT_FORMS where CODE = '0503738M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '2', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'собственные доходы учреждения', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.1[13]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.210.03','2.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.34','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.210.03','2.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.34','2.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'2.201.2[1367]','2.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','2.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'2.210.03','2.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.201.2[1367]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.17','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.502.17','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.502.17','2.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.504.[2479]0','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.[2479]7','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.502.[2479]7','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.502.[2479]7','2.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.[2479]2','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.504.10','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.17','','',12,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.502.17','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.502.17','2.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.1[13]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.210.03','2.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.201.34','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.210.03','2.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.34','2.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'2.201.1[13]','2.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'2.201.2[1367]','2.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','2.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'2.210.03','2.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'2.201.2[1367]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.504.9_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.97','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.502.97','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.502.97','2.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.92','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.504.[2479]0','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.[2479]7','','',12,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.502.[2479]7','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.502.[2479]7','2.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.502.[2479]2','','',12,1,'',1,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=4,REPORTS_ATR_VID_NAME=субсидия на выполнение государственного (муниципального) задания'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=4,REPORTS_ATR_VID_NAME=субсидия на выполнение государственного (муниципального) задания'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'4'
	from dbo.REPORT_FORMS where CODE = '0503738M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '4', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидия на выполнение государственного (муниципального) задания', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.1[13]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.210.03','4.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.34','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.210.03','4.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.34','4.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'4.201.2[1367]','4.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','4.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'4.210.03','4.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.201.2[1367]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.17','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.502.17','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.502.17','4.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.504.[2479]0','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.[2479]7','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.502.[2479]7','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.502.[2479]7','4.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.[2479]2','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.504.10','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.17','','',12,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.502.17','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.502.17','4.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.1[13]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.210.03','4.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.201.34','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.210.03','4.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.34','4.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'4.201.1[13]','4.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'4.201.2[1367]','4.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','4.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'4.210.03','4.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'4.201.2[1367]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.504.9_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.97','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.502.97','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.502.97','4.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.92','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.504.[2479]0','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.[2479]7','','',12,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.502.[2479]7','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.502.[2479]7','4.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.502.[2479]2','','',12,1,'',1,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=5,REPORTS_ATR_VID_NAME=субсидии на иные цели'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=5,REPORTS_ATR_VID_NAME=субсидии на иные цели'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'5'
	from dbo.REPORT_FORMS where CODE = '0503738M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.1[13]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.210.03','5.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.34','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.210.03','5.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.34','5.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'5.201.2[1367]','5.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','5.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'5.210.03','5.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.201.2[1367]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.17','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.502.17','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.502.17','5.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.504.[2479]0','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.[2479]7','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.502.[2479]7','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.502.[2479]7','5.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.[2479]2','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.504.10','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.17','','',12,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.502.17','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.502.17','5.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.1[13]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.210.03','5.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.201.34','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.210.03','5.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.34','5.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'5.201.1[13]','5.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'5.201.2[1367]','5.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','5.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'5.210.03','5.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'5.201.2[1367]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.504.9_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.97','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.502.97','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.502.97','5.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.92','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.504.[2479]0','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.[2479]7','','',12,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.502.[2479]7','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.502.[2479]7','5.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.502.[2479]2','','',12,1,'',1,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=6,REPORTS_ATR_VID_NAME=бюджетные инвестиции'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=6,REPORTS_ATR_VID_NAME=бюджетные инвестиции'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'6'
	from dbo.REPORT_FORMS where CODE = '0503738M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '6', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'бюджетные инвестиции', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.1[13]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.210.03','6.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.34','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.210.03','6.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.34','6.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'6.201.2[1367]','6.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','6.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'6.210.03','6.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.201.2[1367]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.17','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.502.17','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.502.17','6.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.504.[2479]0','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.[2479]7','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.502.[2479]7','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.502.[2479]7','6.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.[2479]2','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.504.10','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.17','','',12,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.502.17','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.502.17','6.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.1[13]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.210.03','6.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.201.34','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.210.03','6.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.34','6.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'6.201.1[13]','6.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'6.201.2[1367]','6.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','6.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'6.210.03','6.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'6.201.2[1367]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.504.9_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.97','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.502.97','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.502.97','6.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.92','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.504.[2479]0','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.[2479]7','','',12,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.502.[2479]7','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.502.[2479]7','6.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.502.[2479]2','','',12,1,'',1,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=7,REPORTS_ATR_VID_NAME=средства по обязательному медицинскому страхованию'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503738M' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=7,REPORTS_ATR_VID_NAME=средства по обязательному медицинскому страхованию'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'7'
	from dbo.REPORT_FORMS where CODE = '0503738M' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '7', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'средства по обязательному медицинскому страхованию', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.504.10','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.1[13]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.210.03','7.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.34','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.210.03','7.201.34','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.34','7.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.1[13]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'7.201.2[1367]','7.210.03','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','7.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'7.210.03','7.201.2[1367]','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.201.2[1367]','','','',1,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.17','','',1,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.502.17','','','',1,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.502.17','7.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.504.[2479]0','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.[2479]7','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.502.[2479]7','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.502.[2479]7','7.502.[2479]1','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '910',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.[2479]2','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.504.10','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.17','','',12,1,'dddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.502.17','','','',12,1,'dddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.502.17','7.502.11','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.12','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',12,1,'dddddddddddddddddxxxddddddddd',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.1[13]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.210.03','7.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.201.34','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.210.03','7.201.34','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.34','7.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.201.1[13]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,3,'7.201.1[13]','7.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'7.201.2[1367]','7.210.03','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,1,'','7.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,3,'7.210.03','7.201.2[1367]','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 2,2,'7.201.2[1367]','','','',12,1,'ddddddddddddddddddddxxxddddddddd',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.504.9_','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.97','','',1,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.502.97','','','',1,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.502.97','7.502.91','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '911',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.92','','211,212,213,221,222,223,224,225,226,241,242,252,253,262,263,290,310,320,330,340',1,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.504.[2479]0','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.[2479]7','','',12,1,'',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.502.[2479]7','','','',12,1,'',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 7
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.502.[2479]7','7.502.[2479]1','','',12,1,'',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '920',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 8
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.502.[2479]2','','',12,1,'',1,''
GO

GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=2,REPORTS_ATR_VID_NAME=собственные доходы учреждения'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=2,REPORTS_ATR_VID_NAME=собственные доходы учреждения'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'2'
	from dbo.REPORT_FORMS where CODE = '0503769M_K' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '2', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'собственные доходы учреждения', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.302.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.304.0[2-4]','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'2.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.302.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','2.304.0[2-4]','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=4,REPORTS_ATR_VID_NAME=субсидия на выполнение государственного (муниципального) задания'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=4,REPORTS_ATR_VID_NAME=субсидия на выполнение государственного (муниципального) задания'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'4'
	from dbo.REPORT_FORMS where CODE = '0503769M_K' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '4', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидия на выполнение государственного (муниципального) задания', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.302.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.304.0[2-4]','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'4.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.302.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','4.304.0[2-4]','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=5,REPORTS_ATR_VID_NAME=субсидии на иные цели'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=5,REPORTS_ATR_VID_NAME=субсидии на иные цели'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'5'
	from dbo.REPORT_FORMS where CODE = '0503769M_K' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.302.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.304.0[2-4]','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.302.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','5.304.0[2-4]','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'5.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'<0'
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=6,REPORTS_ATR_VID_NAME=бюджетные инвестиции'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=6,REPORTS_ATR_VID_NAME=бюджетные инвестиции'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'6'
	from dbo.REPORT_FORMS where CODE = '0503769M_K' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '6', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'бюджетные инвестиции', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.302.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.304.0[2-4]','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.302.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','6.304.0[2-4]','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'6.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'<0'
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=7,REPORTS_ATR_VID_NAME=средства по обязательному медицинскому страхованию'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=7,REPORTS_ATR_VID_NAME=средства по обязательному медицинскому страхованию'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'7'
	from dbo.REPORT_FORMS where CODE = '0503769M_K' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '7', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'средства по обязательному медицинскому страхованию', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.302.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.304.0[2-4]','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'7.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.302.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','7.304.0[2-4]','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=2,REPORTS_ATR_VID_NAME=собственные доходы учреждения'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=2,REPORTS_ATR_VID_NAME=собственные доходы учреждения'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'2'
	from dbo.REPORT_FORMS where CODE = '0503769M_D' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '2', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'собственные доходы учреждения', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',0,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.206.__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','2.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.210.1[12]','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.206.__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','2.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.210.1[12]','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=4,REPORTS_ATR_VID_NAME=субсидия на выполнение государственного (муниципального) задания'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=4,REPORTS_ATR_VID_NAME=субсидия на выполнение государственного (муниципального) задания'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'4'
	from dbo.REPORT_FORMS where CODE = '0503769M_D' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '4', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидия на выполнение государственного (муниципального) задания', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.206.__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.210.1[12]','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','4.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'<0'
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.206.__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.210.1[12]','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','4.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'<0'
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=5,REPORTS_ATR_VID_NAME=субсидии на иные цели'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=5,REPORTS_ATR_VID_NAME=субсидии на иные цели'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'5'
	from dbo.REPORT_FORMS where CODE = '0503769M_D' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.206.__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.210.1[12]','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','5.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'<0'
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','5.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.206.__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.210.1[12]','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=6,REPORTS_ATR_VID_NAME=бюджетные инвестиции'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=6,REPORTS_ATR_VID_NAME=бюджетные инвестиции'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'6'
	from dbo.REPORT_FORMS where CODE = '0503769M_D' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '6', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'бюджетные инвестиции', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.210.1[12]','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','6.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.206.__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.210.1[12]','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','6.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.206.__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=7,REPORTS_ATR_VID_NAME=средства по обязательному медицинскому страхованию'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_D' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=7,REPORTS_ATR_VID_NAME=средства по обязательному медицинскому страхованию'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'7'
	from dbo.REPORT_FORMS where CODE = '0503769M_D' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '7', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'средства по обязательному медицинскому страхованию', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','7.303.__','','',0,2,'dddddddddddddddddddddxxxxx000',1,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.20[589].__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.210.1[12]','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.206.__','','','',0,2,'dddddddddddddddddddddxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,2,'','7.303.__','','',0,3,'dddddddddddddddddddddxxxxx000',1,'<0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.20[589].__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,'>0'
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.210.1[12]','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.206.__','','','',0,3,'dddddddddddddddddddddxxxxx000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=3,REPORTS_ATR_VID_NAME=средства во временном распоряжении'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503769M_K' AND RF.START_DATE = '20160101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID=3,REPORTS_ATR_VID_NAME=средства во временном распоряжении'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'3'
	from dbo.REPORT_FORMS where CODE = '0503769M_K' AND [START_DATE] = '20160101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '3', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'средства во временном распоряжении', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 2
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.304.0[2-4]','','',0,2,'dddddddddddddddddddddxxxxx000',1,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 9
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'','3.304.0[2-4]','','',0,3,'dddddddddddddddddddddxxxxx000',1,''
GO

GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=2,REPORTS_ATR_VID_NAME_773_2015=Предпринимательская деятельность'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=2,REPORTS_ATR_VID_NAME_773_2015=Предпринимательская деятельность'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'2'
	from dbo.REPORT_FORMS where CODE = '0503779M' AND [START_DATE] = '20150101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773', 'b', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773_2015', '2', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773', 'деятельность с целевыми средствами', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773_2015', 'Предпринимательская деятельность', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.210.03','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[1267]','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.23','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.210.03','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.2[1267]','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.23','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.11','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.13','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.11','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.13','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'2.201.34','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=4,REPORTS_ATR_VID_NAME_773_2015=Субсидии на вып. гос. задания'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=4,REPORTS_ATR_VID_NAME_773_2015=Субсидии на вып. гос. задания'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'4'
	from dbo.REPORT_FORMS where CODE = '0503779M' AND [START_DATE] = '20150101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773', 'b', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773_2015', '4', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773', 'деятельность с целевыми средствами', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773_2015', 'Субсидии на вып. гос. задания', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.210.03','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[1267]','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.23','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.210.03','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.2[1267]','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.23','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.11','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.13','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.11','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.13','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'4.201.34','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=5,REPORTS_ATR_VID_NAME_773_2015=Субсидии на иные цели'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=5,REPORTS_ATR_VID_NAME_773_2015=Субсидии на иные цели'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'5'
	from dbo.REPORT_FORMS where CODE = '0503779M' AND [START_DATE] = '20150101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773', 'b', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773_2015', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773', 'деятельность с целевыми средствами', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773_2015', 'Субсидии на иные цели', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.210.03','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[1267]','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.23','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.210.03','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.2[1267]','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.23','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.11','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.13','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.11','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.13','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'5.201.34','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=6,REPORTS_ATR_VID_NAME_773_2015=Бюджетные инвестиции'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=6,REPORTS_ATR_VID_NAME_773_2015=Бюджетные инвестиции'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'6'
	from dbo.REPORT_FORMS where CODE = '0503779M' AND [START_DATE] = '20150101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773', 'b', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773_2015', '6', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773', 'деятельность с целевыми средствами', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773_2015', 'Бюджетные инвестиции', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.210.03','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[1267]','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.23','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.210.03','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.2[1267]','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.23','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.11','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.13','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.11','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.13','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'6.201.34','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=7,REPORTS_ATR_VID_NAME_773_2015=Средства по ОМС'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=7,REPORTS_ATR_VID_NAME_773_2015=Средства по ОМС'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'7'
	from dbo.REPORT_FORMS where CODE = '0503779M' AND [START_DATE] = '20150101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773', 'b', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773_2015', '7', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773', 'деятельность с целевыми средствами', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773_2015', 'Средства по ОМС', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.210.03','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[1267]','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.23','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.210.03','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.2[1267]','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.23','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.11','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.13','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.11','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.13','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'7.201.34','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
GO
DECLARE @iCalcFormLink INT,
			@iCalcLink INT
			
	delete RCF
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 0
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=3,REPORTS_ATR_VID_NAME_773_2015=Во врем. распоряж.'


	UPDATE RCF 
	set [ORDER] = 1
	FROM dbo.REPORT_CALC_FORMS RCF
	inner join dbo.REPORT_CALC RC on RC.LINK_UP = RCF.LINK and RC.[isUSER] = 1
	inner join dbo.REPORT_FORMS RF on RCF.LINK_FORM = RF.Link_Form 
	WHERE RF.CODE = '0503779M' AND RF.START_DATE = '20150101' and RCF.[ORDER] = 0 and dbo.BB_CALC_GET_ATR_VAL(RCF.LINK,RF.Link_Form ,1) = 'REPORTS_ATR_VID_773_2015=3,REPORTS_ATR_VID_NAME_773_2015=Во врем. распоряж.'

	INSERT INTO dbo.REPORT_CALC_FORMS(LINK_FORM, USED, [ORDER], COMMENT)
	SELECT LINK_FORM, 1,0,'3'
	from dbo.REPORT_FORMS where CODE = '0503779M' AND [START_DATE] = '20150101' 
	SET @iCalcFormLink = @@IDENTITY
	
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_TYPE_ORG', '', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID', '5', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773', 'b', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_773_2015', '3', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME', 'субсидии на иные цели', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773', 'деятельность с целевыми средствами', NULL)
INSERT INTO dbo.REPORT_CALC_ATRIBUTE(LINK_CALC_FORM, CODE_ATR, STR_VAL, INT_VAL)
	VALUES(@iCalcFormLink, 'REPORTS_ATR_VID_NAME_773_2015', 'Во врем. распоряж.', NULL)
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.210.03','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[1267]','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.23','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.210.03','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.2[1267]','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '1'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.23','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.11','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 4
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.13','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.11','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 6
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '2'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.13','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 3
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','',0,2,'ddddddddddddddddddddxxxxxx000',0,''
set @iCalcLink = NULL
			INSERT INTO dbo.REPORT_CALC(LINK_UP, Link_Col, Code_Row, IsUser, Calc_Order, Comment)
			SELECT @iCalcFormLink, RC.LINK_COL, '',1,0,''
			from dbo.REPORT_TABLES RT 
			inner join dbo.REPORT_COLOUMNS RC on RC.Link_Table = RT.Link_Table and RC.EXPORT_ORDER = 5
			inner join dbo.REPORT_CALC_FORMS CF on CF.LINK = @iCalcFormLink AND CF.Link_Form = RT.Link_Form and RT.ORDERS = '3'
			
			SET @iCalcLink = @@IDENTITY
		
	INSERT INTO REPORT_CALC_ROWS (Link_Calc, Orders, [Sign], DT_Mask, KT_Mask, DT_EKR, KT_EKR, Type_KBK, [Type], Mask_KBK, DT_KT, oper)
		SELECT @iCalcLink, 1,1,'3.201.34','','','',0,3,'ddddddddddddddddddddxxxxxx000',0,''
GO

GO
declare @P1 int, @LINK_DED INT,@Object INT
SELECT @Object = LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T1'
SELECT @P1 = link FROM DICTIONARY_MROT WHERE period = '20150101'
SELECT TOP 1  @LINK_DED = LINK  FROM  dbo.DICTIONARY_TYP_DEDUCTION WHERE SNAME = '311'

IF NOT EXISTS(SELECT * FROM MINROT_DICTION WHERE LINK_MINROT =  @P1 AND  LINK_DICTION =  @LINK_DED  AND OBJECT = @Object)
BEGIN
		IF COALESCE(@LINK_DED,0) > 0 
			INSERT INTO MINROT_DICTION (LINK_MINROT,LINK_DICTION,OBJECT,PREDEL,SUMMA)
			VALUES(@P1,@LINK_DED,@Object,0,2000000)	
end	
GO

declare @P1 int, @LINK_DED INT,@Object INT
SELECT @Object = LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T1'
SELECT @P1 = link FROM DICTIONARY_MROT WHERE period = '20150101'
SELECT TOP 1  @LINK_DED = LINK  FROM  dbo.DICTIONARY_TYP_DEDUCTION WHERE SNAME = '312'

IF NOT EXISTS(SELECT * FROM MINROT_DICTION WHERE LINK_MINROT =  @P1 AND  LINK_DICTION =  @LINK_DED  AND OBJECT = @Object)
BEGIN
		IF COALESCE(@LINK_DED,0) > 0 
			INSERT INTO MINROT_DICTION (LINK_MINROT,LINK_DICTION,OBJECT,PREDEL,SUMMA)
			VALUES(@P1,@LINK_DED,@Object,0,2000000)	
end		
GO



declare @P1 int, @LINK_DED INT,@Object INT
SELECT @Object = LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T1'
SELECT @P1 = link FROM DICTIONARY_MROT WHERE period = '20160101'
SELECT TOP 1  @LINK_DED = LINK  FROM  dbo.DICTIONARY_TYP_DEDUCTION WHERE SNAME = '311'

IF NOT EXISTS(SELECT * FROM MINROT_DICTION WHERE LINK_MINROT =  @P1 AND  LINK_DICTION =  @LINK_DED  AND OBJECT = @Object)
BEGIN
		IF COALESCE(@LINK_DED,0) > 0 
			INSERT INTO MINROT_DICTION (LINK_MINROT,LINK_DICTION,OBJECT,PREDEL,SUMMA)
			VALUES(@P1,@LINK_DED,@Object,0,2000000)	
end	
GO

declare @P1 int, @LINK_DED INT,@Object INT
SELECT @Object = LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T1'
SELECT @P1 = link FROM DICTIONARY_MROT WHERE period = '20160101'
SELECT TOP 1  @LINK_DED = LINK  FROM  dbo.DICTIONARY_TYP_DEDUCTION WHERE SNAME = '312'

IF NOT EXISTS(SELECT * FROM MINROT_DICTION WHERE LINK_MINROT =  @P1 AND  LINK_DICTION =  @LINK_DED  AND OBJECT = @Object)
BEGIN
		IF COALESCE(@LINK_DED,0) > 0 
			INSERT INTO MINROT_DICTION (LINK_MINROT,LINK_DICTION,OBJECT,PREDEL,SUMMA)
			VALUES(@P1,@LINK_DED,@Object,0,2000000)	
end		
GO

GO


EXECUTE dbo.X_CREATE_ANALIT
GO

EXECUTE dbo.X_CREATE_X_SELECT_PROV_AP
GO

EXEC dbo.BX_CREATE_G_PROV_AP_EDIT_TABLE
GO

EXEC DBO.BV_CREATE_DOC_ANALIT_TABLE_70N 
GO

GO
EXEC X_SET_PROP 'DOCUMENTS_OS1B_70N', 'PRINT_OBJECT_METHOD', 'BK_PRINT_WITH_SQL_PROC ("dbo.BK_PRINTDOC_OS1B")'
GO
GO
IF not exists(select * from dbo.formula_bridge where name = '6НДФЛ_РАЗДЕЛ1' and PROC_NAME = 'I_REPORT_FORMULA_6_NDFL_RAZD1')
begin
  	
  IF not exists(select * from dbo.DICTION where name = '6НДФЛ_РАЗДЕЛ1')
  begin
		-- insert формулы установки в таблицу dbo.DICTION  
		declare @linkObjF int,
				@LinkOBJ int
							
		set @linkObjF  = (select link from dbo.s_objects where code = 'FORMULA_BRIDGE')
  
		insert into  dbo.DICTION (NAME,[OBJECT], CODE, begindate, enddate)
			values ('6НДФЛ_РАЗДЕЛ1', @linkObjF, NULL, '17530101','99991231')

		set @LinkOBJ = (select link from dbo.DICTION where name = '6НДФЛ_РАЗДЕЛ1')
		
		-- insert порядка для формулы в таблицу dbo.DICTION_APP 
		IF not exists(select * from dbo.DICTION_APP where link_up = (select link from dbo.DICTION where name = '6НДФЛ_РАЗДЕЛ1') and [object] = (select link from s_objects where  code = 'FORMULA_ORDERS'))
		begin	
			declare @linkObjF_ORD int 
					
			set @linkObjF_ORD = (select link from dbo.s_objects where code = 'FORMULA_ORDERS') 
			insert into  dbo.DICTION_APP (LINK_UP,[OBJECT], VALUE)
				values (@LinkOBJ, @linkObjF_ORD, '9')		
				
		end
		-- insert процедуры обработки для формулы в таблицу dbo.DICTION_APP 		
		IF not exists(select * from dbo.DICTION_APP where link_up = (select link from dbo.DICTION where name = '6НДФЛ_РАЗДЕЛ1') and [object] = (select link from s_objects where  code = 'FORMULA_PROCEDURE'))
		begin	
			
			declare @linkObjF_PROC int 
					
			set @linkObjF_PROC = (select link from dbo.s_objects where code = 'FORMULA_PROCEDURE') 
		
			insert into  dbo.DICTION_APP (LINK_UP,[OBJECT], VALUE)
				values (@LinkOBJ, @linkObjF_PROC, 'I_REPORT_FORMULA_6_NDFL_RAZD1')		
 
		end
			
  end	
 
end   

GO



IF not exists(select * from dbo.formula_bridge where name = '6НДФЛ_01012016_УСТАНОВКА' and PROC_NAME = 'SA_6NDFL_01012016_PREPARE')
begin
  	
  IF not exists(select * from dbo.DICTION where name = '6НДФЛ_01012016_УСТАНОВКА')
  begin
		-- insert формулы установки в таблицу dbo.DICTION  
		declare @linkObjF int,
				@LinkOBJ int
							
		set @linkObjF  = (select link from dbo.s_objects where code = 'FORMULA_BRIDGE')
  
		insert into  dbo.DICTION (NAME,[OBJECT], CODE, begindate, enddate)
			values ('6НДФЛ_01012016_УСТАНОВКА', @linkObjF, NULL, '17530101','99991231')

		set @LinkOBJ = (select link from dbo.DICTION where name = '6НДФЛ_01012016_УСТАНОВКА')
		
		-- insert порядка для формулы в таблицу dbo.DICTION_APP 
		IF not exists(select * from dbo.DICTION_APP where link_up = (select link from dbo.DICTION where name = '6НДФЛ_01012016_УСТАНОВКА') and [object] = (select link from s_objects where  code = 'FORMULA_ORDERS'))
		begin	
			declare @linkObjF_ORD int 
					
			set @linkObjF_ORD = (select link from dbo.s_objects where code = 'FORMULA_ORDERS') 
			insert into  dbo.DICTION_APP (LINK_UP,[OBJECT], VALUE)
				values (@LinkOBJ, @linkObjF_ORD, '9')		
				
		end
		-- insert процедуры обработки для формулы в таблицу dbo.DICTION_APP 		
		IF not exists(select * from dbo.DICTION_APP where link_up = (select link from dbo.DICTION where name = '6НДФЛ_01012016_УСТАНОВКА') and [object] = (select link from s_objects where  code = 'FORMULA_PROCEDURE'))
		begin	
			
			declare @linkObjF_PROC int 
					
			set @linkObjF_PROC = (select link from dbo.s_objects where code = 'FORMULA_PROCEDURE') 
		
			insert into  dbo.DICTION_APP (LINK_UP,[OBJECT], VALUE)
				values (@LinkOBJ, @linkObjF_PROC, 'SA_6NDFL_01012016_PREPARE')		
 
		end
			
  end	
 
end   

GO

GO
-- Отчет "Сведения для открытия банковских карт"
-- Сгенерировано скриптом scriptObjectVar 'KJ_KADRY_ALL_PHIS_REP'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'KJ_KADRY_ALL_PHIS_REP'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Сведения для открытия банковских карт',NULL, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'KJ_KADRY_ALL_PHIS_REP',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'm_print_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'VISIBLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'VISIBLE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= '	EXEC dbo.KJ_KADRY_ALL_PHIS_REP	@dDate1, @cText1, @cVal1,  @nOtborLink1
'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#KJ_KADRY_ALL_PHIS_REP'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(.T.,"REP_INF_PERS_CARD_OPEN.XLT","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #KJ_KADRY_ALL_PHIS_REP
	@dDate1 datetime	/* Дата */,
	@cText1 varchar(8000)	/* Номер договора */,
	@nFilterLink int	/* Фильтр */
AS
BEGIN
	DECLARE @cVal1 char(1), @nOtborLink1 int	/* Отбор физических лиц */
	SELECT @nOtborLink1 = (SELECT LINK FROM OBJECT_VAR WHERE LINK_SELF=@nFilterLink AND OBJECT=(SELECT LINK FROM S_OBJECTS WHERE CODE=''OTBOR_QUERY_SQL_FL''))
	SELECT @cVal1 = (SELECT VALUE FROM OBJECT_VAR_VALUES WHERE LINK_UP=@nOtborLink1 AND PROPERTY=(SELECT LINK FROM S_PROPERTY WHERE CODE=''QUERY_OTBOR_CHECK''))

	EXEC dbo.KJ_KADRY_ALL_PHIS_REP	@dDate1, @cText1, @cVal1,  @nOtborLink1


END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= 'PROTOCOLS_EOD_ALL_PHIS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_CODE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_CODE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATE_TYPE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATE_TYPE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'SQUERY_NO_SHOW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'SQUERY_NO_SHOW'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_FILTER' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_FILTER'),
		'Стандартный фильтр для запроса',0, 
		(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP'),
		'KJ_KADRY_ALL_PHIS_REP_FILTER',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'OTBOR_QUERY_SQL_FL'),
					'Отбор физических лиц',1, 
					(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_FILTER'),
					'KJ_KADRY_ALL_PHIS_REP_OTBOR_1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_CHECK') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_CHECK'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE'),
							'DICTIONARY_PHYSICAL_PERSONS2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_FIELD') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_FIELD'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_VALUE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_VALUE'),
							''
						
GO
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_MAIN_PARAM' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Группа настроек',2, 
		(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP'),
		'KJ_KADRY_ALL_PHIS_REP_MAIN_PARAM',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_PARAM' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_DATEBOX'),
					'Дата',3, 
					(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_MAIN_PARAM'),
					'KJ_KADRY_ALL_PHIS_REP_PARAM',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'DATEBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							'Дата, на которую формируется список физ лиц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущая дата,Расчетная дата,Начало расч. периода,Конец расч. периода,Начало года,Конец года,Начало расч. месяца,Конец расч. месяца'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@dDate1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'datetime'
						
GO
					
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущая дата'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_PARAM1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Номер договора',4, 
					(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_MAIN_PARAM'),
					'KJ_KADRY_ALL_PHIS_REP_PARAM1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Группа настроек    ***/
GO


/**************** ДОБАВЛЕНИЕ В НАВИГАТОР ОБЪЕКТА "Сведения для открытия пластиковых карт"*************/ 
 
DECLARE @LINK_VAR INT
SET @LINK_VAR = (SELECT LINK FROM OBJECT_VAR WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP')

DECLARE @LINK_SELF INT 
SET @LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SALARY_REP_EMPL' AND NAME = 'СВЕДЕНИЯ О СОТРУДНИКАХ')

DECLARE @OBJECT INT
SET @OBJECT = (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'QUERY_SQL')

DECLARE @ORD INT, @LINK_SNAVIGATOR INT
SET @ORD = (SELECT COALESCE(MAX(ORDERS),0) + 1 FROM DBO.S_NAVIGATOR WHERE LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SALARY_REP_EMPL' AND NAME = 'СВЕДЕНИЯ О СОТРУДНИКАХ'))
SET @LINK_SNAVIGATOR = COALESCE((SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP'),0)

IF COALESCE(@LINK_SELF,0) > 0  AND COALESCE(@OBJECT,0) > 0  
 		EXEC DBO.W_ESN_UPDATEDOCUMENT @LINK_SNAVIGATOR, 'KJ_KADRY_ALL_PHIS_REP', 'Сведения для открытия пластиковых карт', @ORD, NULL, 1, @LINK_SELF, 'REPORT', @OBJECT, @LINK_VAR, 3
GO



GO
 

/****** Объект: Сведения для открытия пластиковых карт******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'PROTOCOLS_EOD_ALL_PHIS')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'PROTOCOLS_EOD_ALL_PHIS')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'PROTOCOLS_EOD_ALL_PHIS')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'PROTOCOLS_EOD_ALL_PHIS')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'PROTOCOLS_EOD_ALL_PHIS'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'PROTOCOLS_EOD_ALL_PHIS')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='PROTOCOLS_EOD_ALL_PHIS')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'PROTOCOLS_EOD_ALL_PHIS', 'Сведения для открытия пластиковых карт', 16, (SELECT LINK FROM S_OBJECTS WHERE CODE='EOD_CATALOG'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),1,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'PROTOCOLS_EOD_ALL_PHIS', NAME = 'Сведения для открытия пластиковых карт', ORDERS = '16', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='EOD_CATALOG'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 1, INHERITED = 1
	WHERE CODE ='PROTOCOLS_EOD_ALL_PHIS'
GO
EXEC X_SET_PROP 'PROTOCOLS_EOD_ALL_PHIS', 'TITLE', 'Сведения для открытия пластиковых карт'
GO
EXEC X_SET_PROP 'PROTOCOLS_EOD_ALL_PHIS', 'INIT_OBJECT_METHOD', 'export_files ("EXPORT_FORMATS_ALL_PHIS",oForm.alter_exec_param)'
GO
EXEC X_SET_PROP 'PROTOCOLS_EOD_ALL_PHIS', 'ACTIVATE_METHOD', ''
GO
EXEC X_SET_PROP 'PROTOCOLS_EOD_ALL_PHIS', 'HELP_TOPIC', 'Сведения для открытия пластиковых карт'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/



GO
/****** Объект: Справочник типов корректировки******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'RB_VIEW_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'RB_VIEW_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'RB_VIEW_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'RB_VIEW_ATR_TYPE_KORR')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'RB_VIEW_ATR_TYPE_KORR'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'RB_VIEW_ATR_TYPE_KORR')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'RB_VIEW_ATR_TYPE_KORR', 'Справочник типов корректировки', 123, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_DICTIONARY'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'RB_VIEW_ATR_TYPE_KORR', NAME = 'Справочник типов корректировки', ORDERS = '123', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_DICTIONARY'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='RB_VIEW_ATR_TYPE_KORR'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_DA_NET_MARKER_1')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'RB_VIEW_ATR_DA_NET_MARKER_1', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'RB_VIEW_ATR_DA_NET_MARKER_1', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='RB_VIEW_ATR_DA_NET_MARKER_1'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_DA_NET_CODE_1')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'RB_VIEW_ATR_DA_NET_CODE_1', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'RB_VIEW_ATR_DA_NET_CODE_1', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='RB_VIEW_ATR_DA_NET_CODE_1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'TITLE', 'Справочник типов корректировки'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'INIT_OBJECT_METHOD', 'x_spisok(''RB_VIEW_ATR_TYPE_KORR'')'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SAVE_OBJECT_METHOD', 'sql.exec("if object_id(''tempdb..#RB_VIEW_ATR_TYPE_KORR'') is not NULL drop table #RB_VIEW_ATR_TYPE_KORRcreate table #RB_VIEW_ATR_TYPE_KORR(link int, CODE varchar(4))", "")
A_SAVE_CURSOR (''#RB_VIEW_ATR_TYPE_KORR'', m.cAlias, '''', ''link,CODE'', ''link,CODE'', ''upd=1'')
sql.call(''dbo.RT_WEB_SAVE_DICT_PRINT'',0,'''')
'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'EDIT_OBJECT_METHOD', 'x_brow()'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SELECT_RECORDS_METHOD', 'sql.exec(''select 0 as checked, 0 as upd, 0 as del, * from RB_VIEW_ATR_TYPE_KORR'',m.cAlias)'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SELECT_RECORDS_METHOD_EDIT', 'sql.exec(''select 0 as checked, 0 as upd, 0 as del, * from RB_VIEW_ATR_TYPE_KORR where Link = '' + STR(m.nLink),m.cAlias)'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'OPEN_CODE', 'TYPE'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'MSG_SEL_ONE', 'IIF(ISNULL(TYPE),'''', TYPE) + [-] + IIF(ISNULL(NUMB), '''', NUMB)'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SERVER_TABLE_NAME', ''
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'EDIT_OBJECT_METHOD_SQL', 'KU_EDIT_OBJECT_METHOD @cObject = ''RB_VIEW_ATR_TYPE_KORR '''
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''RB_VIEW_ATR_DA_NET'''
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SAVE_OBJECT_METHOD_SQL', 'RT_WEB_SAVE_DICT_PRINT'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'EXCH_MODEL_CODE', 'L'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'EXCHANGE', '1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'CONTROL_NAME_EDIT', 'check1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'ASPTYPE', 'checkbox'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'CONTROL_NAME_EDIT', 'ATxt1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'ASPTYPE', 'WebTextEdit'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'ATTRIBUTES', 'style="Z-INDEX: 102; LEFT: 250px; POSITION: absolute; TOP: 16px""
Width="500px"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'LABEL_ATTRIBUTES', 'style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 16px"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'FIELD_DATA', 'NAME'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/


GO
/****** Объект: Тип корректировки******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'REPORTS_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'REPORTS_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'REPORTS_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'REPORTS_ATR_TYPE_KORR')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'REPORTS_ATR_TYPE_KORR'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'REPORTS_ATR_TYPE_KORR')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='REPORTS_ATR_TYPE_KORR')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'REPORTS_ATR_TYPE_KORR', 'Тип корректировки', 59, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORTS_ATR'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_ATRIBUT'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'REPORTS_ATR_TYPE_KORR', NAME = 'Тип корректировки', ORDERS = '59', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORTS_ATR'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_ATRIBUT'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='REPORTS_ATR_TYPE_KORR'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'NAME', 'Тип корректировки'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'EDIT_OBJECT_METHOD', 'A_VIBOR_01 ("RB_VIEW_ATR_TYPE_KORR",oForm.ALIAS_ATR, "CODE", "REPORTS_ATR_TYPE_KORR", "", "", "", .T., 0, oForm, oObj)'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'VISIBLE', '1'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'CONTROL_TYPE', '1'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'SHORT_NAME', 'Тип корректировки'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'CHECK_WHEN', 'ALIB_NEED_SPR (oObj)'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'DEFAULT_VALUE', 'исхд'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'MAXWIDTH', '11'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'DICTIONARY', 'RB_VIEW_ATR_TYPE_KORR'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'DICTIONARY_COLUMNS_LIST', 'REPORTS_ATR_TYPE_KORR'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'DICTIONARY_FIELDS_LIST', 'CODE'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/


GO

/*Очитстка от мусора: были рассчитаны вычеты и скидки с КБК, которые теперь в этом году больше не используются.
Врезультате эти суммы вычетов не очищаются при расчете и вылазят в 2НДФЛ*/
delete
from 
	dbo.SAL_DED_MONTH
where
	YEAR(dbo.SAL_DED_MONTH.DATE_DED) = 2016
	and
	not exists (
		Select j.LINK 
		from dbo.calculate_jurnal j
		where 
			YEAR(j.PERIOD_BEGIN) = 2016
			and j.link_empl = dbo.SAL_DED_MONTH.link_empl and j.LINK_VKR = dbo.SAL_DED_MONTH.LINK_VKR
			AND EXISTS (SELECT LINK_PAYS FROM dbo.PAYS P INNER JOIN dbo.TAX_REF R ON R.LINK_TAX = P.LINK WHERE P.OBJECT = 2 AND P.WAY_CALC = 4 AND R.LINK_PAYS = j.link_pays)
	)
	

GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Подразделы 2012 С КОДОМ podr_2012------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Code_str', 3, 'Code_str', 'Код строки', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'podr_2012'
exec dbo.RO_SPR_SAVE @link, 'podr_2012', 'Подразделы 2012', '#Cols_tmp', '#Data_tmp', 0


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[podr_2012]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[podr_2012]


GO



/*******************************************************************************



	© Кейсистемс (Keysystems), 05.12.2012



	справочник Подразделы 2012 (сгенерировано Редактором справочников)



*******************************************************************************/



CREATE     VIEW dbo.[podr_2012]



AS



SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],Code_str as [CODE_STR],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'podr_2012' GROUP BY Code,Code_str, begin_date, end_date




GO


GRANT SELECT ON dbo.[podr_2012] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'podr_2012')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'podr_2012'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012', 'Подразделы 2012', 220, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012', NAME = 'Подразделы 2012', ORDERS = '220', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012_Name'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012_Code_str')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012_Code_str', 'Код строки', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012_Code_str', NAME = 'Код строки', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012_Code_str'
GO
EXEC X_SET_PROP 'podr_2012', 'TITLE', 'Подразделы 2012'
GO
EXEC X_SET_PROP 'podr_2012', 'INIT_OBJECT_METHOD', 'x_spisok(''podr_2012'')'
GO
EXEC X_SET_PROP 'podr_2012', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''podr_2012'')'
GO
EXEC X_SET_PROP 'podr_2012', 'SERVER_TABLE_NAME', 'podr_2012'
GO
EXEC X_SET_PROP 'podr_2012', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''podr_2012'''
GO
EXEC X_SET_PROP 'podr_2012_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'podr_2012_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'podr_2012_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'podr_2012_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'podr_2012_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'podr_2012_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'podr_2012_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'podr_2012_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'podr_2012_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'podr_2012_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'podr_2012_Name', 'FIELD_DATA', 'Name'
GO
EXEC X_SET_PROP 'podr_2012_Code_str', 'TITLE', 'Код строки'
GO
EXEC X_SET_PROP 'podr_2012_Code_str', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'podr_2012_Code_str', 'CONTROLSOURCE', 'm.cAlias + ".Code_str"'
GO
EXEC X_SET_PROP 'podr_2012_Code_str', 'FIELD_DATA', 'Code_str'
GO
EXEC DBO.W_SPERM_WRITE 'podr_2012', 'Главный бухгалтер', 4,0
GO

EXEC DBO.W_SPERM_WRITE 'podr_2012', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'podr_2012', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'podr_2012', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'podr_2012', 'public', 4,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'podr_2012',0,'Подразделы 2012','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='USER_REPORT' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'podr_2012',@link_self,'Подразделы 2012','HEADER'
GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0100',@link_self,'ОБЩЕГОСУДАРСТВЕННЫЕ ВОПРОСЫ','podr_2012',0,'200',0,'','ОБЩЕГОСУДАРСТВЕННЫЕ ВОПРОСЫ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0101',@link_self,'Функц-ние Президента РФ','podr_2012',0,'200',0,'','Функционирование Президента Российской Федерации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0102',@link_self,'Функц-ние высш.должн.лица субъекта РФ и м/о','podr_2012',0,'200',0,'','Функционирование высшего должностного лица субъекта Российской Федерации и муниципального образования',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0103',@link_self,'Функц-ние законодат.и представ.органов гос.власти','podr_2012',0,'200',0,'','Функционирование законодательных (представительных) органов государственной власти и представительных органов муниципальных образований',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0104',@link_self,'Функц-ние Прав-ва РФ, высш.исп.органов гос.власти','podr_2012',0,'200',0,'','Функционирование Правительства Российской Федерации, высших исполнительных органов государственной власти субъектов Российской Федерации, местных администраций',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0105',@link_self,'Судебная система','podr_2012',0,'200',0,'','Судебная система',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0106',@link_self,'Обесп-е д-ти фин.,нал.,тамож.и органов фин.надзора','podr_2012',0,'200',0,'','Обеспечение деятельности финансовых, налоговых и таможенных органов и органов финансового (финансово-бюджетного) надзора',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0107',@link_self,'Обеспечение проведения выборов и референдумов','podr_2012',0,'200',0,'','Обеспечение проведения выборов и референдумов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0108',@link_self,'Международные отношения и междунар.сотрудничество','podr_2012',0,'200',0,'','Международные отношения и международное сотрудничество',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0109',@link_self,'Государственный материальный резерв','podr_2012',0,'200',0,'','Государственный материальный резерв',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0110',@link_self,'Фундаментальные исследования','podr_2012',0,'200',0,'','Фундаментальные исследования',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0111',@link_self,'Резервные фонды','podr_2012',0,'200',0,'','Резервные фонды',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0112',@link_self,'Научные исследования в области общегосуд. вопросов','podr_2012',0,'200',0,'','Прикладные научные исследования в области общегосударственных вопросов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0113',@link_self,'Другие общегосударственные вопросы','podr_2012',0,'200',0,'','Другие общегосударственные вопросы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0114',@link_self,'Другие общегосударственные вопросы','podr_2012',0,'200',0,'','Другие общегосударственные вопросы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0200',@link_self,'НАЦИОНАЛЬНАЯ ОБОРОНА','podr_2012',0,'200',0,'','НАЦИОНАЛЬНАЯ ОБОРОНА',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0201',@link_self,'Вооруженные Силы Российской Федерации','podr_2012',0,'200',0,'','Вооруженные Силы Российской Федерации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0202',@link_self,'Модернизация Вооруж.Сил РФ и воинских формирований','podr_2012',0,'200',0,'','Модернизация Вооруженных Сил Российской Федерации и воинских формирований',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0203',@link_self,'Мобилизационная и вневойсковая подготовка','podr_2012',0,'200',0,'','Мобилизационная и вневойсковая подготовка',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0204',@link_self,'Мобилизационная подготовка экономики','podr_2012',0,'200',0,'','Мобилизационная подготовка экономики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0205',@link_self,'Подготовка и участие в обеспечении коллек.безоп-ти','podr_2012',0,'200',0,'','Подготовка и участие в обеспечении коллективной безопасности и миротворческой деятельности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0206',@link_self,'Ядерно-оружейный комплекс','podr_2012',0,'200',0,'','Ядерно-оружейный комплекс',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0207',@link_self,'Реализация межд.обяз-в в сфере военно-техн.сотр-ва','podr_2012',0,'200',0,'','Реализация международных обязательств в сфере военно-технического сотрудничества',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0208',@link_self,'Научные исследования в области национальн. обороны','podr_2012',0,'200',0,'','Прикладные научные исследования в области национальной обороны',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0209',@link_self,'Другие вопросы в области национальной обороны','podr_2012',0,'200',0,'','Другие вопросы в области национальной обороны',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0300',@link_self,'НАЦ.БЕЗОПАСНОСТЬ И ПРАВООХРАНИТЕЛЬНАЯ ДЕЯТЕЛЬНОСТЬ','podr_2012',0,'200',0,'','НАЦИОНАЛЬНАЯ БЕЗОПАСНОСТЬ И ПРАВООХРАНИТЕЛЬНАЯ ДЕЯТЕЛЬНОСТЬ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0301',@link_self,'Органы прокуратуры','podr_2012',0,'200',0,'','Органы прокуратуры',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0302',@link_self,'Органы внутренних дел','podr_2012',0,'200',0,'','Органы внутренних дел',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0303',@link_self,'Внутренние войска','podr_2012',0,'200',0,'','Внутренние войска',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0304',@link_self,'Органы юстиции','podr_2012',0,'200',0,'','Органы юстиции',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0305',@link_self,'Система исполнения наказаний','podr_2012',0,'200',0,'','Система исполнения наказаний',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0306',@link_self,'Органы безопасности','podr_2012',0,'200',0,'','Органы безопасности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0307',@link_self,'Органы пограничной службы','podr_2012',0,'200',0,'','Органы пограничной службы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0308',@link_self,'Органы по контроля за оборотом наркотич. средств','podr_2012',0,'200',0,'','Органы по контролю за оборотом наркотических средств и психотропных веществ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0309',@link_self,'Защита населения и территории от ЧС','podr_2012',0,'200',0,'','Защита населения и территории от чрезвычайных ситуаций природного и техногенного характера, гражданская оборона',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0310',@link_self,'Обеспечение пожарной безопасности','podr_2012',0,'200',0,'','Обеспечение пожарной безопасности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0311',@link_self,'Миграционная политика','podr_2012',0,'200',0,'','Миграционная политика',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0312',@link_self,'Модернизация внутренних войск','podr_2012',0,'200',0,'','Модернизация внутренних войск, войск гражданской обороны, а также правоохранительных и иных органов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0313',@link_self,'Научные исследования в области нац. безопасности','podr_2012',0,'200',0,'','Прикладные научные исследования в области национальной безопасности и правоохранительной деятельности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0314',@link_self,'Другие вопросы в области национальной безопасности','podr_2012',0,'200',0,'','Другие вопросы в области национальной безопасности и правоохранительной деятельности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0400',@link_self,'НАЦИОНАЛЬНАЯ ЭКОНОМИКА','podr_2012',0,'200',0,'','НАЦИОНАЛЬНАЯ ЭКОНОМИКА',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0401',@link_self,'Общеэкономические вопросы','podr_2012',0,'200',0,'','Общеэкономические вопросы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0402',@link_self,'Топливно-энергетический комплекс','podr_2012',0,'200',0,'','Топливно-энергетический комплекс',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0403',@link_self,'Исследование и использование космического пр-ва','podr_2012',0,'200',0,'','Исследование и использование космического пространства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0404',@link_self,'Воспроизводство минерально-сырьевой базы','podr_2012',0,'200',0,'','Воспроизводство минерально-сырьевой базы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0405',@link_self,'Сельское хозяйство и рыболовство','podr_2012',0,'200',0,'','Сельское хозяйство и рыболовство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0406',@link_self,'Водное хозяйство','podr_2012',0,'200',0,'','Водное хозяйство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0407',@link_self,'Лесное хозяйство','podr_2012',0,'200',0,'','Лесное хозяйство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0408',@link_self,'Транспорт','podr_2012',0,'200',0,'','Транспорт',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0409',@link_self,'Дорожное хозяйство (дорожные фонды)','podr_2012',0,'200',0,'','Дорожное хозяйство (дорожные фонды)',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0410',@link_self,'Связь и информатика','podr_2012',0,'200',0,'','Связь и информатика',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0411',@link_self,'Научные исследования в области нац. экономики','podr_2012',0,'200',0,'','Прикладные научные исследования в области национальной экономики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0412',@link_self,'Другие вопросы в области национальной экономики','podr_2012',0,'200',0,'','Другие вопросы в области национальной экономики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0500',@link_self,'ЖИЛИЩНО-КОММУНАЛЬНОЕ ХОЗЯЙСТВО','podr_2012',0,'200',0,'','ЖИЛИЩНО-КОММУНАЛЬНОЕ ХОЗЯЙСТВО',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0501',@link_self,'Жилищное хозяйство','podr_2012',0,'200',0,'','Жилищное хозяйство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0502',@link_self,'Коммунальное хозяйство','podr_2012',0,'200',0,'','Коммунальное хозяйство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0503',@link_self,'Благоустройство','podr_2012',0,'200',0,'','Благоустройство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0504',@link_self,'Прикладные научные исследования в области ЖКХ','podr_2012',0,'200',0,'','Прикладные научные исследования в области жилищно-коммунального хозяйства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0505',@link_self,'Другие вопросы в области жилищно-коммун.хоз-ва','podr_2012',0,'200',0,'','Другие вопросы в области жилищно-коммунального хозяйства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0600',@link_self,'ОХРАНА ОКРУЖАЮЩЕЙ СРЕДЫ','podr_2012',0,'200',0,'','ОХРАНА ОКРУЖАЮЩЕЙ СРЕДЫ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0601',@link_self,'Экологический контроль','podr_2012',0,'200',0,'','Экологический контроль',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0602',@link_self,'Сбор, удаление отходов и очистка сточных вод','podr_2012',0,'200',0,'','Сбор, удаление отходов и очистка сточных вод',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0603',@link_self,'Охрана объектов раст.и жив.мира, среды их обитания','podr_2012',0,'200',0,'','Охрана объектов растительного и животного мира и среды их обитания',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0604',@link_self,'Научные исследования в области охраны окруж. среды','podr_2012',0,'200',0,'','Прикладные научные исследования в области охраны окружающей среды',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0605',@link_self,'Другие вопросы в области охраны окружающей среды','podr_2012',0,'200',0,'','Другие вопросы в области охраны окружающей среды',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0700',@link_self,'ОБРАЗОВАНИЕ','podr_2012',0,'200',0,'','ОБРАЗОВАНИЕ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0701',@link_self,'Дошкольное образование','podr_2012',0,'200',0,'','Дошкольное образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0702',@link_self,'Общее образование','podr_2012',0,'200',0,'','Общее образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0703',@link_self,'Начальное профессиональное образование','podr_2012',0,'200',0,'','Начальное профессиональное образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0704',@link_self,'Среднее профессиональное образование','podr_2012',0,'200',0,'','Среднее профессиональное образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0705',@link_self,'Проф.подготовка, повышение квалификации','podr_2012',0,'200',0,'','Профессиональная подготовка, переподготовка и повышение квалификации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0706',@link_self,'Высшее и послевузовское проф.образование','podr_2012',0,'200',0,'','Высшее и послевузовское профессиональное образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0707',@link_self,'Молодежная политика и оздоровление детей','podr_2012',0,'200',0,'','Молодежная политика и оздоровление детей',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0708',@link_self,'Научные исследования в области образования','podr_2012',0,'200',0,'','Прикладные научные исследования в области образования',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0709',@link_self,'Другие вопросы в области образования','podr_2012',0,'200',0,'','Другие вопросы в области образования',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0800',@link_self,'КУЛЬТУРА И КИНЕМАТОГРАФИЯ','podr_2012',0,'200',0,'','КУЛЬТУРА И КИНЕМАТОГРАФИЯ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0801',@link_self,'Культура','podr_2012',0,'200',0,'','Культура',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0802',@link_self,'Кинематография','podr_2012',0,'200',0,'','Кинематография',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0803',@link_self,'Прикл.научн.иссл-ия в обл.культуры, кинематографии','podr_2012',0,'200',0,'','Прикладные научные исследования в области культуры, кинематографии',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0804',@link_self,'Другие вопросы в области культуры, кинематографии','podr_2012',0,'200',0,'','Другие вопросы в области культуры, кинематографии',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0805',@link_self,'Научные исслед.в области к-ры,кинематографии, СМИ','podr_2012',0,'200',0,'','Прикладные научные исследования в области культуры, кинематографии, средств массовой информации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0806',@link_self,'Др.вопросы в обл. культуры, кинематографии, СМИ','podr_2012',0,'200',0,'','Другие вопросы в области культуры, кинематографии, средств массовой информации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0900',@link_self,'ЗДРАВООХРАНЕНИЕ','podr_2012',0,'200',0,'','ЗДРАВООХРАНЕНИЕ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0901',@link_self,'Стационарная медицинская помощь','podr_2012',0,'200',0,'','Стационарная медицинская помощь',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0902',@link_self,'Амбулаторная помощь','podr_2012',0,'200',0,'','Амбулаторная помощь',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0903',@link_self,'Медицинская помощь в дневн.стационарах всех типов','podr_2012',0,'200',0,'','Медицинская помощь в дневных стационарах всех типов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0904',@link_self,'Скорая медицинская помощь','podr_2012',0,'200',0,'','Скорая медицинская помощь',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0905',@link_self,'Санаторно-оздоровительная помощь','podr_2012',0,'200',0,'','Санаторно-оздоровительная помощь',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0906',@link_self,'Заготовка, хранение донорской крови','podr_2012',0,'200',0,'','Заготовка, переработка, хранение и обеспечение безопасности донорской крови и ее компонентов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0907',@link_self,'Санитарно-эпидемиологическое благополучие','podr_2012',0,'200',0,'','Санитарно-эпидемиологическое благополучие',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0908',@link_self,'Прикл.научн.исследования в области здравоохранения','podr_2012',0,'200',0,'','Прикладные научные исследования в области здравоохранения',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0909',@link_self,'Другие вопросы в области здравоохранения','podr_2012',0,'200',0,'','Другие вопросы в области здравоохранения',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0910',@link_self,'Др.вопросы в области здрав-ния, физ.к-ры и спорта','podr_2012',0,'200',0,'','Другие вопросы в области здравоохранения, физической культуры и спорта',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1000',@link_self,'СОЦИАЛЬНАЯ ПОЛИТИКА','podr_2012',0,'200',0,'','СОЦИАЛЬНАЯ ПОЛИТИКА',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1001',@link_self,'Пенсионное обеспечение','podr_2012',0,'200',0,'','Пенсионное обеспечение',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1002',@link_self,'Социальное обслуживание населения','podr_2012',0,'200',0,'','Социальное обслуживание населения',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1003',@link_self,'Социальное обеспечение населения','podr_2012',0,'200',0,'','Социальное обеспечение населения',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1004',@link_self,'Охрана семьи и детства','podr_2012',0,'200',0,'','Охрана семьи и детства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1005',@link_self,'Научные исследования в области социальной политики','podr_2012',0,'200',0,'','Прикладные научные исследования в области социальной политики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1006',@link_self,'Другие вопросы в области социальной политики','podr_2012',0,'200',0,'','Другие вопросы в области социальной политики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1100',@link_self,'ФИЗИЧЕСКАЯ КУЛЬТУРА И СПОРТ','podr_2012',0,'200',0,'','ФИЗИЧЕСКАЯ КУЛЬТУРА И СПОРТ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1101',@link_self,'Физическая культура','podr_2012',0,'200',0,'','Физическая культура',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1102',@link_self,'Массовый спорт','podr_2012',0,'200',0,'','Массовый спорт',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1103',@link_self,'Спорт высших достижений','podr_2012',0,'200',0,'','Спорт высших достижений',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1104',@link_self,'Прикл.научн.иссл-ия в обл.физич.культуры и спорта','podr_2012',0,'200',0,'','Прикладные научные исследования в области физической культуры и спорта',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1105',@link_self,'Другие вопросы в области физич.культуры и спорта','podr_2012',0,'200',0,'','Другие вопросы в области физической культуры и спорта',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1200',@link_self,'СРЕДСТВА МАССОВОЙ ИНФОРМАЦИИ','podr_2012',0,'200',0,'','СРЕДСТВА МАССОВОЙ ИНФОРМАЦИИ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1201',@link_self,'Телевидение и радиовещание','podr_2012',0,'200',0,'','Телевидение и радиовещание',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1202',@link_self,'Периодическая печать и издательства','podr_2012',0,'200',0,'','Периодическая печать и издательства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1203',@link_self,'Прикладные научные исследования в области СМИ','podr_2012',0,'200',0,'','Прикладные научные исследования в области средств массовой информации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1204',@link_self,'Другие вопросы в области СМИ','podr_2012',0,'200',0,'','Другие вопросы в области средств массовой информации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1300',@link_self,'ОБСЛУЖИВАНИЕ ГОСУД. И МУНИЦ. ДОЛГА','podr_2012',0,'200',0,'','ОБСЛУЖИВАНИЕ ГОСУДАРСТВЕННОГО И МУНИЦИПАЛЬНОГО ДОЛГА',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1301',@link_self,'Обслуживание госуд.внутреннего и муниц. долга','podr_2012',0,'200',0,'','Обслуживание государственного внутреннего и муниципального долга',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1302',@link_self,'Обслуживание государственного внешнего долга','podr_2012',0,'200',0,'','Обслуживание государственного внешнего долга',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1400',@link_self,'МЕЖБЮДЖЕТНЫЕ ТРАНСФЕРТЫ','podr_2012',0,'200',0,'','МЕЖБЮДЖЕТНЫЕ ТРАНСФЕРТЫ ОБЩЕГО ХАРАКТЕРА БЮДЖЕТАМ СУБЪЕКТОВ РОССИЙСКОЙ ФЕДЕРАЦИИ И МУНИЦИПАЛЬНЫХ ОБРАЗОВАНИЙ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1401',@link_self,'Дотации на выравнивание БО субъектов РФ и МО','podr_2012',0,'200',0,'','Дотации на выравнивание бюджетной обеспеченности субъектов Российской Федерации и муниципальных образований',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1402',@link_self,'Иные дотации','podr_2012',0,'200',0,'','Иные дотации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1403',@link_self,'Прочие межбюджетные трансферты общего характера','podr_2012',0,'200',0,'','Прочие межбюджетные трансферты общего характера',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0000',@link_self,'Неизвестный подраздел','podr_2012',0,'200',0,'','Неизвестный подраздел',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link

exec dbo.RO_KBK_HIST_SAVE @link, '', '', '20000101'

exec dbo.RO_KBK_HIST_SAVE @link, 'Неизвестный подраздел', 'Неизвестный подраздел', '20160309'


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'7900',@link_self,'Результат исполнения бюджета (дефицит / профицит)','podr_2012',0,'450',0,'','Результат исполнения бюджета (дефицит / профицит)',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'9600',@link_self,'Расходы - всего','podr_2012',0,'200',0,'','Расходы - всего',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO

GO


GO
-- Отчет "Справка 2-НДФЛ для физлиц с договорами ГПХ"
-- Сгенерировано скриптом scriptObjectVar 'SQL_REPORT_2NDFL_FACE_DGH'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'SQL_REPORT_2NDFL_FACE_DGH'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Справка 2-НДФЛ для физлиц с договорами ГПХ',NULL, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'SQL_REPORT_2NDFL_FACE_DGH',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'm_print_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'VISIBLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'VISIBLE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= 'declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(@cText5)),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 
			 

EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText2					/* Начинать нумерацию справок с */,
	@nCheck1 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck  		/* Перечисленная сумма НДФЛ за период */,
	'''',  0,	/* Используется при другом способе вызова отчета */
	'''',  0,	/* Используется при другом способе вызова отчета */
	NULL, /*Отбор сотрудника*/
	@nMonth1 /* По месяц */,
	@nSel_Spr1 /*Отбор физлица*/,
	@nCheck3 /* Выводить руководителя при печати */'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#SD_REP_2NDFL'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(kir_2ndfl_prepare_report(),"2NDFL-DATA1.XLT","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #SD_REP_2NDFL
	@cText2 varchar(8000)	/* Номер справки */,
	@nSel_Spr1 int	/* Сотрудник */,
	@cText1 varchar(8000)	/* Расчетный год */,
	@nMonth1 int	/* По месяц */,
	@cText4 varchar(8000)	/* Признак */,
	@nCheck1 int	/* Определить перечисленную сумму по проводкам */,
	@cText5 varchar(8000)	/* Перечисленная сумма НДФЛ за период */,
	@nOption1 int	/* Форма */,
	@nCheck3 int /* Выводить руководителя при печати */
AS
BEGIN

declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(@cText5)),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 

EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText2					/* Начинать нумерацию справок с */,
	@nCheck1 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck  		/* Перечисленная сумма НДФЛ за период */,
	'''',  0,	/* Используется при другом способе вызова отчета */
	'''',  0,	/* Используется при другом способе вызова отчета */
	NULL, /*Отбор сотрудника*/
	@nMonth1 /* По месяц */,
	@nSel_Spr1 /*Отбор физлица*/,
	@nCheck3 /* Выводить руководителя при печати */

END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_CODE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_CODE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATE_TYPE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATE_TYPE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'SQUERY_NO_SHOW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'SQUERY_NO_SHOW'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Параметры',1, 
		(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
		'SQL_REPORT_2NDFL_FACE_DGH_NASTR',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N2' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Номер справки',2, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N2',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Номер справки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'
						
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_LSEL_SPR'),
					'Сотрудник',3, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Сотрудник'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'LSel_Spr'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'KU_EMPL_PLACING'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nSel_Spr1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Расчетный год',4, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Расчетный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N3' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_MONTHBOX'),
					'По месяц',5, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N3',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'По месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'MONTHBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущий месяц,Расчетный месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nMonth1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий месяц'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N4' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Признак',6, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N4',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Признак'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N5' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Определить перечисленную сумму по проводкам',7, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N5',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Определить перечисленную сумму по проводкам'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'

GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N6' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Перечисленная сумма НДФЛ за период',8, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N6',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Перечисленная сумма НДФЛ за период'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N7' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_OPTIONGROUP'),
					'Форма',9, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N7',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Форма корректировки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'OPTIONGROUP'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Первичная,Корректирующая,Аннулирующая'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nOption1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Первичная'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO

/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N8' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Выводить руководителя при печати',10, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N8',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Выводить руководителя при печати'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO


GO
-- Отчет "Справка 2-НДФЛ"
-- Сгенерировано скриптом scriptObjectVar 'SQL_REPORT_2NDFL_FACE'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'SQL_REPORT_2NDFL_FACE'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'SQL_REPORT_2NDFL_FACE'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Справка 2-НДФЛ',NULL, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'SQL_REPORT_2NDFL_FACE',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'm_print_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'VISIBLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'VISIBLE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= 'declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(convert(varchar(16),@cText5))),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 
			 

EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText2					/* Начинать нумерацию справок с */,
	@nCheck2 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck  		/* Перечисленная сумма НДФЛ за период */,
	'''',  0,	/* Используется при другом способе вызова отчета */
	'''',  0,	/* Используется при другом способе вызова отчета */
	@nSel_Spr1, /*Отбор сотрудника*/
	@nMonth1 /* По месяц */
	DEFAULT, /* Используется при другом способе вызова отчета */
	@nCheck3 /* Выводить руководителя при печати */ '
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#SD_REP_2NDFL_FACE'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(kir_2ndfl_prepare_report(),"2NDFL-DATA1.XLT","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #SD_REP_2NDFL_FACE
	@cText2 varchar(8000)	/* Номер справки */,
	@nSel_Spr1 int	/* Сотрудник */,
	@cText1 varchar(8000)	/* Расчетный год */,
	@nMonth1 int	/* По месяц */,
	@cText4 varchar(8000)	/* Признак */,
	@nCheck2 int	/* Определить перечисленную сумму по проводкам */,
	@cText5 varchar(8000)	/* Перечисленная сумма НДФЛ за период */,
	@nOption1 int	/* Форма */,
	@nCheck3 int /* Выводить руководителя при печати */

	
AS
BEGIN

declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(convert(varchar(16),@cText5))),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 
			 
EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText2					/* Начинать нумерацию справок с */,
	@nCheck2 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck  		/* Перечисленная сумма НДФЛ за период */,
	'''',  0,	/* Используется при другом способе вызова отчета */
	'''',  0,	/* Используется при другом способе вызова отчета */
	@nSel_Spr1, /*Отбор сотрудника*/
	@nMonth1 ,/* По месяц */
	DEFAULT	,/* Используется при другом способе вызова отчета */
	@nCheck3 /* Выводить руководителя при печати */

END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_CODE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_CODE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATE_TYPE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATE_TYPE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'SQUERY_NO_SHOW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'SQUERY_NO_SHOW'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_NASTR' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Параметры',1, 
		(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE'),
		'SQL_REPORT_2NDFL_FACE_NASTR',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N2' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Номер справки',2, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N2',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Номер справки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_LSEL_SPR'),
					'Сотрудник',3, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_MAIN_PARAM',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Сотрудник'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'LSel_Spr'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'KU_EMPL_PLACING'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nSel_Spr1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Расчетный год',4, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Расчетный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N3' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_MONTHBOX'),
					'По месяц',5, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N3',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'По месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'MONTHBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущий месяц,Расчетный месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nMonth1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N4' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Признак',6, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N4',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Признак'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N5' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Определить перечисленную сумму по проводкам',7, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N5',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Определить перечисленную сумму по проводкам'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N6' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Перечисленная сумма НДФЛ за период',8, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N6',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Перечисленная сумма НДФЛ за период'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N7' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_OPTIONGROUP'),
					'Форма',9, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N7',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Форма корректировки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'OPTIONGROUP'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Первичная,Корректирующая,Аннулирующая'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nOption1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Первичная'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO

/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N8' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Выводить руководителя при печати',10, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N8',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Выводить руководителя при печати'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO


GO
-- Отчет "Сведения о доходах физических лиц"
-- Сгенерировано скриптом scriptObjectVar 'SQL_report_2ndfl'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'SQL_report_2ndfl'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'SQL_report_2ndfl'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Сведения о доходах физических лиц',201, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'SQL_REPORT_2NDFL',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'SQL_report_2ndfl') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'kir_export_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= 'declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(convert(varchar(16),@cText5))),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 

			 
EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText3					/* Начинать нумерацию справок с */,
	@nCheck2 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck 		/* Перечисленная сумма НДФЛ за период */,
	@cVal1,  @nOtborLink1,	/* Отбор сотрудников */
	@cVal2,  @nOtborLink2,	/* Отбор сотрудников */
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	@nCheck3 /* Выводить руководителя при печати */
		
'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#REPORT_2NDFL'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(kir_2ndfl_prepare_report(),"2NDFL-DATA1.XLT","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #REPORT_2NDFL
	@cText1 varchar(4)	/* Расчетный год */,
	@nCheck1 int	/* Показать реестр */,
	@cText2 varchar(2)	/* Номер файла (реестра) */,
	@cText3 varchar(4)	/* Начинать нумерацию справок с */,
	@cText4 varchar(1)	/* Признак */,
	@nCheck2 int	/* Определить перечисленную сумму по проводкам */,
	@cText5 varchar(16)	/* Перечисленная сумма НДФЛ за период */,
	@nOption1 int	/* Форма */,
	@nCheck3 int	/* Выводить руководителя при печати */,
	@nFilterLink int	/* Фильтр */
	
AS
BEGIN
	DECLARE @cVal1 char(1), @nOtborLink1 int	/* Отбор сотрудников */
	SELECT @nOtborLink1 = (SELECT LINK FROM OBJECT_VAR WHERE LINK_SELF=@nFilterLink AND OBJECT=(SELECT LINK FROM S_OBJECTS WHERE CODE=''OTBOR_QUERY_SQL_EMPL''))
	SELECT @cVal1 = (SELECT VALUE FROM OBJECT_VAR_VALUES WHERE LINK_UP=@nOtborLink1 AND PROPERTY=(SELECT LINK FROM S_PROPERTY WHERE CODE=''QUERY_OTBOR_CHECK''))
	DECLARE @cVal2 char(1), @nOtborLink2 int	/* Отбор внештатников */
	SELECT @nOtborLink2 = (SELECT LINK FROM OBJECT_VAR WHERE LINK_SELF=@nFilterLink AND OBJECT=(SELECT LINK FROM S_OBJECTS WHERE CODE=''OTBOR_QUERY_SQL_DGH''))
	SELECT @cVal2 = (SELECT VALUE FROM OBJECT_VAR_VALUES WHERE LINK_UP=@nOtborLink2 AND PROPERTY=(SELECT LINK FROM S_PROPERTY WHERE CODE=''QUERY_OTBOR_CHECK''))


declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(convert(varchar(16),@cText5))),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 
			 
EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText3					/* Начинать нумерацию справок с */,
	@nCheck2 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck 		/* Перечисленная сумма НДФЛ за период */,
	@cVal1,  @nOtborLink1,	/* Отбор сотрудников */
	@cVal2,  @nOtborLink2,	/* Отбор сотрудников */
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	@nCheck3 /* Выводить руководителя при печати */
		


END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= 'PROTOCOLS_EOD_2NDFL#1'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= 'KIR_2NDFL_AFTER_REP(oForm)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'OTBOR_QUERY_SQL_EMPL' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_FILTER'),
		'Стандартный фильтр для запроса',NULL, 
		(Select link from object_var where code = 'SQL_REPORT_2NDFL'),
		'OTBOR_QUERY_SQL_EMPL',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'W400311' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'OTBOR_QUERY_SQL_DGH'),
					'Отбор внештатников',2, 
					(Select link from object_var where code = 'OTBOR_QUERY_SQL_EMPL'),
					'W400311',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_CHECK') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_CHECK'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE'),
							'DICTIONARY_PERSONS_DGH'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_FIELD') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_FIELD'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_VALUE') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_VALUE'),
							''
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'W400312' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'OTBOR_QUERY_SQL_EMPL'),
					'Отбор сотрудников',1, 
					(Select link from object_var where code = 'OTBOR_QUERY_SQL_EMPL'),
					'W400312',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_CHECK') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_CHECK'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE'),
							'DICT_EMPLOYERS01'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_FIELD') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_FIELD'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_VALUE') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE2') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE2'),
							'DICTIONARY_SUBDIVISION01'
						
GO
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SQL_REPRT_2NDFL_NASTR_GR' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Группа настроек',1, 
		(Select link from object_var where code = 'SQL_REPORT_2NDFL'),
		'SQL_REPRT_2NDFL_NASTR_GR',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Расчетный год',2, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Расчетный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(4)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR2' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Показать реестр',3, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR2',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Показать реестр'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Вкл.'

						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR3' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Номер файла (реестра)',4, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR3',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Номер файла (реестра)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(3)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR4' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Начинать нумерацию справок с',5, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR4',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Начинать нумерацию справок с'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(4)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'
						

						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR5' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Признак',6, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR5',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'EDITABLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'FORMAT'),
							'[1-2]'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Признак'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(1)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR8' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_OPTIONGROUP'),
					'Форма',9, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR8',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Форма корректировки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'OPTIONGROUP'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Первичная,Корректирующая,Аннулирующая'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nOption1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Первичная'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR6' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Определить перечисленную сумму по проводкам',7, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR6',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Определить перечисленную сумму по проводкам'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
			
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR7' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Перечисленная сумма НДФЛ за период',8, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR7',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Перечисленная сумма НДФЛ за период'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(16)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO

/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR9' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Выводить руководителя при печати',10, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR9',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Выводить руководителя при печати'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO

GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (фев 20 2016  2:05:02:153PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 6-НДФЛ (Расчет сумм налога на доходы физических лиц, исчисленных и удержанных налоговым агентом)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-02-20 14:05:02.150
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '6-НДФЛ' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-02-20 14:05:02.150',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '6-НДФЛ',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '6-НДФЛ'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SALARY'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Расчет сумм налога на доходы физических лиц, исчисленных и удержанных налоговым агентом',@vcNEW_FORM_CODE,@dNEW_START_DATE,2,0,1,1,2291,'i_report_export_nalog',0,0,'19000101',NULL,''
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'sa_print_6NDFL_01012016()','6NDFL_16.bas','','KirRepMakerMultiSheet.XLS','6NDFL_15.xlt','',NULL,'i_report_export_nalog',0,NULL,NULL,NULL,'          ','REPORTS_ATR_NOM_OBR',NULL,NULL,'|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Обобщенные показатели', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование',@iLINK_TABLE,0,1,0,0,250,0,'','','',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,0,0,0,'','','',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма',@iLINK_TABLE,0,0,3,2,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Обобщенные показатели', @iLINK_FORM,1, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р2. Даты и суммы фактически полученных доходов и у', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер п/п',@iLINK_TABLE,1,1,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'100 - Дата фактического получения доходов',@iLINK_TABLE,1,1,1,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'110 - Дата удержания налога с суммы фактически полученных доходов',@iLINK_TABLE,0,1,2,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'120 - Дата, не позднее которой должна быть перечислена сумма налога',@iLINK_TABLE,0,1,3,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'130-обобщенная сумма фактически получ. дох. (без вычи суммы удерж. нал.) за дату в кол 100',@iLINK_TABLE,0,0,4,3,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'140-обобщенная сумма удержанного налога в указанную в кол 110 дату',@iLINK_TABLE,0,0,5,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р2. Даты и суммы фактически полученных доходов и у', @iLINK_FORM,2, @iLINK_CODE_COL,1,'CALC_SMETA=exec dbo.SA_6NDFL_16_PREPARE_R2 @Lsf',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,1,1,1)
INSERT #R VALUES (2,1,2,1)
INSERT #R VALUES (3,1,3,1)
INSERT #R VALUES (4,1,4,1)
INSERT #R VALUES (5,1,5,1)
INSERT #R VALUES (6,1,6,1)
INSERT #R VALUES (7,1,7,1)
INSERT #R VALUES (8,1,8,1)
INSERT #R VALUES (9,1,9,1)
INSERT #R VALUES (10,1,10,1)
INSERT #R VALUES (11,1,11,1)
INSERT #R VALUES (12,1,12,1)
INSERT #R VALUES (13,1,13,1)
INSERT #R VALUES (14,1,14,1)
INSERT #R VALUES (15,1,15,1)
INSERT #R VALUES (16,1,16,1)
INSERT #R VALUES (17,1,17,1)
INSERT #R VALUES (18,1,18,1)
INSERT #R VALUES (19,1,19,1)
INSERT #R VALUES (20,1,20,1)
INSERT #R VALUES (21,1,21,1)
INSERT #R VALUES (22,1,22,1)
INSERT #R VALUES (23,1,23,1)
INSERT #R VALUES (24,1,24,1)
INSERT #R VALUES (25,1,25,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 25
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (1,1,1,'1.Ставка налога, %                                                                                                                                                                                                                                        ')
INSERT #F VALUES (1,2,1,'1.Сумма начисленного дохода                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,3,1,'1.В том числе сумма начисленного дохода в виде дивидендов                                                                                                                                                                                                 ')
INSERT #F VALUES (1,4,1,'1.Сумма налоговых вычетов                                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,5,1,'1.В том числе сумма исчисленного налога на доходы в виде дивидендов                                                                                                                                                                                       ')
INSERT #F VALUES (1,6,1,'1.Сумма исчисленного налога                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,7,1,'1.Сумма фиксированного авансового платежа                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,8,1,'2.Ставка налога, %                                                                                                                                                                                                                                        ')
INSERT #F VALUES (1,9,1,'2.Сумма начисленного дохода                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,10,1,'2.В том числе сумма начисленного дохода в виде дивидендов                                                                                                                                                                                                 ')
INSERT #F VALUES (1,11,1,'2.Сумма налоговых вычетов                                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,12,1,'2.Сумма исчисленного налога                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,13,1,'2.В том числе сумма исчисленного налога на доходы в виде дивидендов                                                                                                                                                                                       ')
INSERT #F VALUES (1,14,1,'2.Сумма фиксированного авансового платежа                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,15,1,'3.Ставка налога, %                                                                                                                                                                                                                                        ')
INSERT #F VALUES (1,16,1,'3.Сумма начисленного дохода                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,17,1,'3.В том числе сумма начисленного дохода в виде дивидендов                                                                                                                                                                                                 ')
INSERT #F VALUES (1,18,1,'3.Сумма налоговых вычетов                                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,19,1,'3.Сумма исчисленного налога                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,20,1,'3.В том числе сумма исчисленного налога на доходы в виде дивидендов                                                                                                                                                                                       ')
INSERT #F VALUES (1,21,1,'3.Сумма фиксированного авансового платежа                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,22,1,'Количество физических лиц, получивших доход                                                                                                                                                                                                               ')
INSERT #F VALUES (1,23,1,'Сумма удержанного налога                                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,24,1,'Сумма налога, возвращенная налоговым агентом                                                                                                                                                                                                              ')
INSERT #F VALUES (1,25,1,'Сумма налога, не удержанная налоговым агентом                                                                                                                                                                                                             ')
INSERT #F VALUES (1,1,2,'010                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,2,2,'020                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,3,2,'025                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,4,2,'030                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,5,2,'045                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,6,2,'040                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,7,2,'050                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,8,2,'1010                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,9,2,'1020                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,10,2,'1025                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,11,2,'1030                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,12,2,'1040                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,13,2,'1045                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,14,2,'1050                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,15,2,'2010                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,16,2,'2020                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,17,2,'2025                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,18,2,'2030                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,19,2,'2040                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,20,2,'2045                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,21,2,'2050                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,22,2,'3060                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,23,2,'3070                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,24,2,'3090                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,25,2,'3080                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,1,3,'6НДФЛ_01012016_УСТАНОВКА() + 6НДФЛ_РАЗДЕЛ1(''010'',3)')
INSERT #F VALUES (1,2,3,'6НДФЛ_РАЗДЕЛ1(''020'',3)')
INSERT #F VALUES (1,3,3,'6НДФЛ_РАЗДЕЛ1(''025'',3)')
INSERT #F VALUES (1,4,3,'6НДФЛ_РАЗДЕЛ1(''030'',3)')
INSERT #F VALUES (1,5,3,'6НДФЛ_РАЗДЕЛ1(''045'',3)')
INSERT #F VALUES (1,6,3,'6НДФЛ_РАЗДЕЛ1(''040'',3)')
INSERT #F VALUES (1,7,3,'6НДФЛ_РАЗДЕЛ1(''050'',3)')
INSERT #F VALUES (1,8,3,'6НДФЛ_РАЗДЕЛ1(''1010'',3)')
INSERT #F VALUES (1,9,3,'6НДФЛ_РАЗДЕЛ1(''1020'',3)')
INSERT #F VALUES (1,10,3,'6НДФЛ_РАЗДЕЛ1(''1025'',3)')
INSERT #F VALUES (1,11,3,'6НДФЛ_РАЗДЕЛ1(''1030'',3)')
INSERT #F VALUES (1,12,3,'6НДФЛ_РАЗДЕЛ1(''1040'',3)')
INSERT #F VALUES (1,13,3,'6НДФЛ_РАЗДЕЛ1(''1045'',3)')
INSERT #F VALUES (1,14,3,'6НДФЛ_РАЗДЕЛ1(''1050'',3)')
INSERT #F VALUES (1,15,3,'6НДФЛ_РАЗДЕЛ1(''2010'',3)')
INSERT #F VALUES (1,16,3,'6НДФЛ_РАЗДЕЛ1(''2020'',3)')
INSERT #F VALUES (1,17,3,'6НДФЛ_РАЗДЕЛ1(''2025'',3)')
INSERT #F VALUES (1,18,3,'6НДФЛ_РАЗДЕЛ1(''2030'',3)')
INSERT #F VALUES (1,19,3,'6НДФЛ_РАЗДЕЛ1(''2040'',3)')
INSERT #F VALUES (1,20,3,'6НДФЛ_РАЗДЕЛ1(''2045'',3)')
INSERT #F VALUES (1,21,3,'6НДФЛ_РАЗДЕЛ1(''2050'',3)')
INSERT #F VALUES (1,22,3,'6НДФЛ_РАЗДЕЛ1(''3060'',3)')
INSERT #F VALUES (1,23,3,'6НДФЛ_РАЗДЕЛ1(''3070'',3)')
INSERT #F VALUES (1,24,3,'6НДФЛ_РАЗДЕЛ1(''3090'',3)')
INSERT #F VALUES (1,25,3,'6НДФЛ_РАЗДЕЛ1(''3080'',3)')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 75
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '3         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'3','Квартальные формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-02-20 14:05:02.150',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-02-20 14:05:02.150'
	BEGIN
		SELECT @vcMessage = 'Форма 6-НДФЛ с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 6-НДФЛ с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-02-20 14:05:02.150. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (мар  9 2016  3:17:45:200PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : СЗВ-М (Расчет сумм налога на доходы физических лиц, исчисленных и удержанных налоговым агентом)
-- Дата ввода : 20160401
-- Дата окончания действия :
-- Версия : 2016-03-09 15:17:45.197
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = 'СЗВ-М' AND [START_DATE] = '20160401'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-03-09 15:17:45.197',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + 'СЗВ-М',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = 'СЗВ-М'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160401')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SALARY'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Расчет сумм налога на доходы физических лиц, исчисленных и удержанных налоговым агентом',@vcNEW_FORM_CODE,@dNEW_START_DATE,4,0,0,1,2291,'i_report_export_nalog',0,0,'19000101',NULL,''
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'sa_print_SZVM_2016()','SZVM_16.bas','','KirRepMakerMultiSheet.XLS','SZVM_16.xlt','',NULL,'i_report_export_nalog',0,NULL,NULL,NULL,'          ','REPORTS_ATR_TYPE_KORR',NULL,NULL,'|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Сведения о застрахованных лицах', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер п/п',@iLINK_TABLE,1,1,0,0,0,1,NULL,NULL,NULL,NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Фамилия, имя, отчество (при наличии) застрахованного лица (заполняются в именительном падеже)',@iLINK_TABLE,1,1,1,0,150,1,'KU_PERSON','COL2,COL3,COL4','FIO,INSUR_NUM,INN',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Страховой номер индивидуального лицевого счета (заполняется обязательно)',@iLINK_TABLE,0,1,2,0,15,1,'KU_PERSON','COL3,COL2,COL4','INSUR_NUM,FIO,INN',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'ИНН (заполняется при наличии у страхователя данных об ИНН физического лица)',@iLINK_TABLE,0,1,3,0,12,1,'KU_PERSON','COL4, COL3, COL2','INN, INSUR_NUM, FIO',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Сведения о застрахованных лицах', @iLINK_FORM,1, @iLINK_CODE_COL,1,'CALC_SMETA=exec dbo.SA_SZVM_16_PREPARE @Lsf',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '2         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'2','Месячные формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-03-09 15:17:45.197',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-03-09 15:17:45.197'
	BEGIN
		SELECT @vcMessage = 'Форма СЗВ-М с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма СЗВ-М с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-03-09 15:17:45.197. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
DISABLE TRIGGER ALL ON dbo.XOZ_OPER_JURN
GO

-- Изменение настроек ХО на ЖО --
DECLARE
	@JO_06	INT,
	@JO_08	INT

SELECT
	@JO_06 = JO.LINK
FROM dbo.JOURNAL_OPERATION JO
WHERE JO.CODE = '06'

SELECT
	@JO_08 = JO.LINK
FROM dbo.JOURNAL_OPERATION JO
WHERE JO.CODE = '08'

-- Список хо для обработки --
DECLARE @T_HO TABLE
	(
	LINK	INT
	)

INSERT INTO @T_HO	
SELECT
	XO.LINK
FROM dbo.XOZ_OPER XO 
INNER JOIN dbo.XOZ_OPER_GROUP XOG ON (XOG.LINK = XO.GROUP_LINK
	AND XOG.CODE = '16')
WHERE XO.CODE LIKE '0[1-2]'
	OR XO.CODE LIKE '1[8-9]'

-- Добавление новых записей --
INSERT INTO dbo.XOZ_OPER_JURN
	(
	XOZ_LINK,
	JURN_LINK,
	GK
	)

SELECT
	T1.LINK,
	T2.JO,
	ISNULL (XOJ.GK, 0)
FROM @T_HO T1
INNER JOIN (SELECT @JO_08 AS JO) T2 ON (1 = 1)
LEFT JOIN dbo.XOZ_OPER_JURN XOJ ON (XOJ.XOZ_LINK = T1.LINK
	AND XOJ.JURN_LINK = @JO_06)
WHERE NOT EXISTS (SELECT * FROM dbo.XOZ_OPER_JURN TTT
					WHERE TTT.XOZ_LINK = T1.LINK
						AND TTT.JURN_LINK = T2.JO)

-- Удаление неправильных записей --
DELETE XOJ
FROM dbo.XOZ_OPER_JURN XOJ
INNER JOIN @T_HO T1 ON (T1.LINK = XOJ.XOZ_LINK)
WHERE XOJ.JURN_LINK = @JO_06

GO

ENABLE TRIGGER ALL ON dbo.XOZ_OPER_JURN

GO




GO

GO

--PROC, VIEW, FUNC 11.04.2016
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_VIEW_EXPORT_FORMAT_NALOG_FN]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[BK_VIEW_EXPORT_FORMAT_NALOG_FN]

GO
CREATE FUNCTION dbo.BK_VIEW_EXPORT_FORMAT_NALOG_FN (@YEAR INT = NULL)
RETURNS TABLE

RETURN

	-- Форматы для налога на прибыль --
	SELECT FORM_CODE = 'ND_NP',
		FNAME = 'Формат 5.02 (с 01.01.2009 г.)', PROC_NAME = 'BK_EXPORT_F1151006',
		PRG_SKRIPT = CONVERT(VARCHAR(100),''),
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR < 2011

	UNION ALL

	SELECT FORM_CODE = 'ND_NP',
		FNAME = 'Формат 5.03 (с 01.01.2011 г.)', PROC_NAME = 'BK_EXPORT_F1151006_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR BETWEEN 2011 AND 2013

	UNION ALL

	SELECT FORM_CODE = 'ND_NP',
		FNAME = 'Формат 5.05 (с 01.12.2013 г.)', PROC_NAME = 'BK_EXPORT_F1151006_505',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR >= 2013

	UNION ALL
	-- Форматы для транспортного налога --
	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 4.01 (с 01.01.2007 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152027'
	WHERE @YEAR < 2012	

	UNION ALL

	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 5.01 (с 01.01.2012 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004_501',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR = 2012

	UNION ALL

	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 5.02 (с 01.01.2013 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004_502',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR = 2013
	
	UNION ALL

	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 5.03 (с 01.01.2015 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR >= 2014

	UNION ALL

	SELECT FORM_CODE = 'AV_TN',
		FNAME = 'Формат 4.01 (с 01.01.2007 г.)', PROC_NAME = 'BK_EXPORT_F1152027',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152027'

	UNION ALL

	--- Форматы для налога на имущество ---
	SELECT FORM_CODE = 'AV_F1152028',
		FNAME = 'Формат 5.00 (с 01.01.2008 г.)',
		PROC_NAME = 'BK_EXPORT_F1152028',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152028'
	UNION ALL
	SELECT FORM_CODE = 'AV_ASS',
		FNAME = 'Формат 5.00 (с 01.01.2008 г.)',
		PROC_NAME = 'BK_EXPORT_F1152026',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152028'
	UNION ALL
	-- Форматы с 01.01.2012 --
	SELECT FORM_CODE = 'ND_IMU',
		FNAME = 'Формат 5.02 (с 01.01.2012 г.)',
		PROC_NAME = 'BK_EXPORT_F1152026_502',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	WHERE @YEAR < 2013
	UNION ALL
	SELECT FORM_CODE = 'AV_IMU',
		FNAME = 'Формат 5.02 (с 01.01.2012 г.)',
		PROC_NAME = 'BK_EXPORT_F1152028_502',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	WHERE @YEAR < 2014		
	UNION ALL
	-- Форматы с 01.01.2013 --
	SELECT FORM_CODE = 'ND_IMU',
		FNAME = 'Формат 5.03 (с 01.01.2013 г.)',
		PROC_NAME = 'BK_EXPORT_F1152026_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	UNION ALL
	SELECT FORM_CODE = 'AV_IMU',
		FNAME = 'Формат 5.03 (с 01.01.2014 г.)',
		PROC_NAME = 'BK_EXPORT_F1152028_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	WHERE @YEAR >= 2014		

	UNION ALL
	-- Форматы для 4ФСС --
	SELECT FORM_CODE = '4FSS',
		FNAME = 'формат, утвержденный приказом Минздравсоцразвития России от 06.11.2009 n 871н', PROC_NAME = 'SA_4FSS_EXPORT',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR <= 2010	
	UNION ALL	
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.3 (Приказ №19 от 12.02.2010 в ред. от 21.03.2011 (№53)', PROC_NAME = 'SA_4FSS_EXPORT_v03',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2011
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.4 (Приказ № от 22.11.2011)', PROC_NAME = 'SA_4FSS_EXPORT_v04',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2012
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.5 (Приказ №107н от 19.03.2013)', PROC_NAME = 'SA_4FSS_EXPORT_v05',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2013	
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.6 (Приказ №107н от 19.03.2013 в ред. от 11.02.2014 № 94н)', PROC_NAME = 'SA_4FSS_EXPORT_v05',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2014	
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.7 (Приказ ФСС №59 от 26.02.2015)', PROC_NAME = 'SA_4FSS_EXPORT_v07',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2015	
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.8 (Приказ ФСС №54 от 25.02.2016)', PROC_NAME = 'SA_4FSS_EXPORT_v08',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR >= 2016	
	UNION ALL
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (2011)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2011',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR = 2011	
	UNION ALL	
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (от 15.03.2012 г. №232н)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2012',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR = 2012			
	UNION ALL	
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (от 15.03.2012 г. №232н)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2013',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR = 2013
	UNION ALL	
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (от 03.03.2014 г. №25п)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2014',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR >= 2014	
	UNION ALL
	-- Формат выгрузки П-2 (краткая) --
	SELECT FORM_CODE = '0617005',
		FNAME = 'Формат выгрузки формы П-2 (краткая) для Росстата', PROC_NAME = 'BK_EXPORT_F0617005',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''

	UNION ALL
	-- Формат выгрузки П-2 (квартальная) --
	SELECT FORM_CODE = '0617004',
		FNAME = 'Формат выгрузки формы П-2 (квартальная) для Росстата', PROC_NAME = 'BK_EXPORT_F0617004',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- П-2 кв. с 01.01.2011 --
	SELECT FORM_CODE = '0617004_11',
		FNAME = 'Формат выгрузки формы П-2 (квартальная) для Росстата', PROC_NAME = 'BK_EXPORT_F0617004_11',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''

	-- Формат выгрузки П-2 ИНВ (годовая) --
	UNION ALL
	SELECT FORM_CODE = 'П2_ИНВ',
		FNAME = 'Формат выгрузки формы П-2(ИНВ) для Росстата', PROC_NAME = 'BK_EXPORT_F0617010',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE @YEAR < 2012	

	UNION ALL
	SELECT FORM_CODE = 'П2_ИНВ',
		FNAME = 'Формат выгрузки формы П-2(ИНВ) для Росстата', PROC_NAME = 'BK_EXPORT_F0617010_2012',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE @YEAR >= 2012	

	UNION ALL
	-- Формат выгрузки П-4 --
	SELECT FORM_CODE = '0606010',
		FNAME = 'Формат выгрузки формы П-4 для Росстата', PROC_NAME = 'SK_EXPORT_F0606010',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE
		@YEAR <= 2012	
	UNION ALL
	-- Формат выгрузки П-4 c 01.01.2013 --
	SELECT FORM_CODE = '0606010',
		FNAME = 'Формат выгрузки формы П-4 для Росстата', PROC_NAME = 'SK_EXPORT_F0606010_13',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE
		@YEAR >= 2013		


	UNION ALL
	-- Формат выгрузки 1-ГС --
	SELECT FORM_CODE = '1GS',
		FNAME = 'Формат выгрузки формы 1-ГС для Росстата', PROC_NAME = 'KJ_EXPORT_1GS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 2-ГС --
	SELECT FORM_CODE = '2GS_GZ',
		FNAME = 'Формат выгрузки формы 2-ГС для Росстата', PROC_NAME = 'KJ_EXPORT_2GS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-МС --
	SELECT FORM_CODE = '1MS',
		FNAME = 'Формат выгрузки формы 1-МС для Росстата', PROC_NAME = 'KJ_EXPORT_1MS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 2-МС --
	SELECT FORM_CODE = '2MS',
		FNAME = 'Формат выгрузки формы 2-МС для Росстата', PROC_NAME = 'KJ_EXPORT_2MS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-Т(ГМС) --
	SELECT FORM_CODE = '1T_GMS',
		FNAME = 'Формат выгрузки формы 1-Т(ГМС) для Росстата', PROC_NAME = 'KJ_EXPORT_1T_GMS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-торги (квартальная) --
	SELECT FORM_CODE = '0607006',
		FNAME = 'Формат выгрузки формы 1-торги для Росстата', PROC_NAME = 'BK_EXPORT_F0607006',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-торги (квартальная) --
	SELECT FORM_CODE = '1_ТОРГИ',
		FNAME = 'Формат выгрузки формы 1-торги для Росстата', PROC_NAME = 'BK_EXPORT_F0607006_11',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 11 краткая (годовая) --
	SELECT FORM_CODE = '0602002',
		FNAME = 'Формат выгрузки формы 11-краткая для Росстата', PROC_NAME = 'BK_EXPORT_F0602002',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''

	UNION ALL
	SELECT FORM_CODE = 'КРАТ_11',
		FNAME = 'Формат выгрузки формы 11-краткая для Росстата', PROC_NAME = 'BK_EXPORT_F0602002_2012',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE
		@YEAR >= 2012		
	
	-- Выгрузка АХД (МЗ 2013) --		
	UNION ALL
	SELECT
		FORM_CODE = 'AHD_EXPORT_REST',
		FNAME = 'Формат 1.00 (с 01.09.2013 г.)',
		PROC_NAME = 'BK_EXPORT_AHD_REST',
		PRG_SKRIPT = '',
		DIR = 'AHD',
		TEST_PROC = ''

	UNION ALL
	SELECT
		FORM_CODE = 'AHD_EXPORT_PROV',
		FNAME = 'Формат 1.00 (с 01.09.2013 г.)',
		PROC_NAME = 'BK_EXPORT_AHD_PROV',
		PRG_SKRIPT = '',
		DIR = 'AHD',
		TEST_PROC = ''
	

	-- Выгрузка данных об ОС --		
	UNION ALL
	SELECT
		FORM_CODE = 'EOD_EXPORT_INV1',
		FNAME = 'Формат 1.00 (с 01.01.2013 г.)',
		PROC_NAME = 'BK_EXPORT_INV1',
		PRG_SKRIPT = '',
		DIR = 'AHD',
		TEST_PROC = ''

	-- Выгрузка 6-НДФЛ --		
	UNION ALL
	SELECT
		FORM_CODE = '6-НДФЛ',
		FNAME = 'Формат 5.01 (приказ ФНС N ММВ-7-11/450@ от 14.10.2015 г.)',
		PROC_NAME = 'SA_6NDFL_EXPORT_v5_01',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''--'SA_6NDFL_EXPORT_TEST'
	-- Выгрузка СЗВ-М --		
	UNION ALL
	SELECT
		FORM_CODE = 'СЗВ-М',
		FNAME = 'Формат 2.40 (от 04.03.2016 г.)',
		PROC_NAME = 'SA_SZVM_EXPORT_v2_40',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = ''--'SA_SZVM_EXPORT_TEST'
		








GO


GRANT SELECT ON dbo.[BK_VIEW_EXPORT_FORMAT_NALOG_FN] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[sa_ssch_empls_4fss]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[sa_ssch_empls_4fss]

GO
CREATE FUNCTION dbo.sa_ssch_empls_4fss(
	@BDate datetime,
	@EDate	datetime,
	@DEP_LINK int = NULL,
	@sex tinyint = 0, -- 0 все, 1 - только мужчины, 2 - только женщины
	@status tinyint = 1, --0 - основные и внешние совместители, 1- только основные, 3 - только внешние совместители
	@invalid tinyint = 0, -- 0 все, 1 только инвалиды, 2 - только на работе с вредными факторами
	@BUFFER_SUBDIV VARCHAR(20) = NULL --Код буффера, для отбора подразделений	
	)
/*определение среднесписочной численности*/
RETURNS numeric(18,2)
AS  
BEGIN 
	DECLARE @Res numeric(18,2) 

	SET @DEP_LINK = COALESCE(@DEP_LINK,(SELECT TOP 1 DEP_LINK FROM dbo.USER_DEP))
	
	DECLARE @INV TABLE (DATE DATETIME, PERS_LINK INT)

	IF @invalid = 0 
		Set @Res = --Все
		Coalesce(Round((
			SELECT (SUM(SSCH)/COUNT(SSCH))
			FROM
				(
					Select SSCH = sum(cnt_empl) / DAY(dbo.DATEENDOFMONTH(dbo.ConvertDMY2Date(1,M,Y)))
					from
					(	
						Select cnt_empl = sum( CONVERT(NUMERIC(18,2),ssch) ), Y = YEAR(DATE), M = MONTH(DATE)
						FROM 
							dbo.empl e
							inner join dbo.person p on p.link = e.pers_link					
							inner join (select * from dbo.ku_EmplsInPeriod0(@BDate,@EDate, @DEP_LINK, 0, 0) group by date, empl_link,status, sch,ssch,comment) s on  e.link = s.empl_link                                  
							INNER JOIN dbo.SA_EMPLS_INFO_PERIOD(@BDate,@EDate, DEFAULT, @DEP_LINK) EI ON S.EMPL_LINK = EI.EMPL_LINK AND S.[DATE] BETWEEN EI.PERIOD_BEG AND EI.PERIOD_END
						where
							(@sex = 0 or (@sex <> 0 and sex = @sex))
							and
							((@status = 0 and S.[status] <> 2) or (@status in (1,3) and S.[status] = @status))
							and
							e.dep_link = @DEP_LINK
							AND
							(
								@BUFFER_SUBDIV IS NULL
								OR 
								@BUFFER_SUBDIV IS NOT NULL AND EI.SUBDIV_LINK IN (SELECT B.LINK FROM dbo.BUFFER B WHERE B.ID = @BUFFER_SUBDIV)
							)
							-- для 4ФСС в среднесписочную численность женщины в декрете не включаются
							AND EI.EMPL_LINK not IN (SELECT link_empl FROM dbo.sdoc_dis sd WHERE ((case when sd.DATE1 < @BDate THEN @BDate ELSE sd.DATE1 end  )  between @BDate AND @EDate)
																						AND ((case when sd.DATE2 > @BDate THEN @BDate ELSE sd.DATE2 end )  between @BDate AND @EDate)
																						 AND sd.[TYPE]  in (select LINK from dbo.NETRUD where DEKRET = 1)
													 )
						group by
							s.date
					) as A
					GROUP BY Y, M
				) AS B
		),2),0)

	IF @invalid = 1 
		Set @Res = --считаем только инвалидов 
		Coalesce(Round((
			SELECT (SUM(SSCH)/COUNT(SSCH))
			FROM
				(
					Select SSCH = sum(cnt_empl) / DAY(dbo.DATEENDOFMONTH(dbo.ConvertDMY2Date(1,M,Y)))
					from
					(	
						Select cnt_empl = sum( CONVERT(NUMERIC(18,2),ssch) ), Y = YEAR(DATE), M = MONTH(DATE)
						FROM 
							dbo.pers_invalid I
							inner join dbo.person p on I.pers_link = P.link
							inner join dbo.empl e on p.link = e.pers_link
							inner join dbo.ku_EmplsInPeriod0(@BDate,@EDate, @DEP_LINK, 0, 0) s on e.link = s.empl_link and s.[date] between I.DATE_BEGIN AND ISNULL(I.DATE_END,@EDate)
							INNER JOIN dbo.SA_EMPLS_INFO_PERIOD(@BDate,@EDate, DEFAULT, @DEP_LINK) EI ON S.EMPL_LINK = EI.EMPL_LINK AND S.DATE BETWEEN EI.PERIOD_BEG AND EI.PERIOD_END
						where
							(@sex = 0 or (@sex <> 0 and sex = @sex))
							and
							((@status = 0 and S.[status] <> 2) or (@status in (1,3) and S.[status] = @status))
							and
							e.dep_link = @DEP_LINK
							and
							I.DATE_BEGIN <= @EDate
							and isnull(I.DATE_END, @EDate) >= @BDate
							AND
							(
								@BUFFER_SUBDIV IS NULL
								OR 
								@BUFFER_SUBDIV IS NOT NULL AND EI.SUBDIV_LINK IN (SELECT B.LINK FROM dbo.BUFFER B WHERE B.ID = @BUFFER_SUBDIV)
							)
							-- для 4ФСС в среднесписочную численность женщины в декрете не включаются
							AND EI.EMPL_LINK not IN (SELECT link_empl FROM dbo.sdoc_dis sd WHERE ((case when sd.DATE1 < @BDate THEN @BDate ELSE sd.DATE1 end  )  between @BDate AND @EDate)
																						AND ((case when sd.DATE2 > @BDate THEN @BDate ELSE sd.DATE2 end )  between @BDate AND @EDate)
																						 AND sd.[TYPE]  in (select LINK from dbo.NETRUD where DEKRET = 1)
													 )				
						group by
							s.date
					) as A
					GROUP BY Y, M
				) AS B			
		),2),0)

	IF @invalid = 2 -- сотрудники с вредными факторами
	BEGIN
		DECLARE @FAKTOR TABLE (LINK INT)

		INSERT INTO @FAKTOR (LINK)
		SELECT DISTINCT EMPL_LINK
		FROM 
			dbo.STAFF_HEAD H
			INNER JOIN dbo.STAFF S ON S.LINK_UP = H.LINK
			INNER JOIN dbo.sa_item_move im ON H.LINK = IM.STAFF_LINK
		where
			H.DEP_LINK = @DEP_LINK
			AND
			(ISNULL(TERR_USL_TRUD,0) <> 0 OR ISNULL(TERR_RK,0) <> 0 OR ISNULL(OSOB_USL_TRUD,0) <> 0 OR ISNULL(COD_POS_SPISOK,0) <> 0 OR ISNULL(COD_POS_SPISOK2,0) <> 0 OR ISNULL(USL_DOSROCH_PENS,0) <> 0 OR ISNULL(STAVKA_PED_MED,0) <> 0)
			AND
			im.DATE_BEGIN <= @EDate and im.DATE_END3 >= @BDate
			and 
			S.DATE_BEGIN <= @EDate and S.DATE_END >= @BDate
	
		Set @Res = --только на работе с вредными факторами
		Coalesce(Round((
			SELECT (SUM(SSCH)/COUNT(SSCH))
			FROM
				(
					Select SSCH = sum(cnt_empl) / DAY(dbo.DATEENDOFMONTH(dbo.ConvertDMY2Date(1,M,Y)))
					from
					(	
						Select cnt_empl = sum( CONVERT(NUMERIC(18,2),ssch) ), Y = YEAR(DATE), M = MONTH(DATE)
						FROM 
							@FAKTOR F 	
							inner join dbo.empl e on F.LINK = e.LINK
							INNER JOIN dbo.PERSON P ON P.LINK = E.PERS_LINK
							inner join dbo.ku_EmplsInPeriod0(@BDate,@EDate, @DEP_LINK, 0, 0) s on e.link = s.empl_link
							INNER JOIN dbo.SA_EMPLS_INFO_PERIOD(@BDate,@EDate, DEFAULT, @DEP_LINK) EI ON S.EMPL_LINK = EI.EMPL_LINK AND S.DATE BETWEEN EI.PERIOD_BEG AND EI.PERIOD_END
						where
							(@sex = 0 or (@sex <> 0 and sex = @sex))
							and
							((@status = 0 and S.[status] <> 2) or (@status in (1,3) and S.[status] = @status))
							and
							e.dep_link = @DEP_LINK
							AND
							(
								@BUFFER_SUBDIV IS NULL
								OR 
								@BUFFER_SUBDIV IS NOT NULL AND EI.SUBDIV_LINK IN (SELECT B.LINK FROM dbo.BUFFER B WHERE B.ID = @BUFFER_SUBDIV)
							)	
							-- для 4ФСС в среднесписочную численность женщины в декрете не включаются
							AND EI.EMPL_LINK not IN (SELECT link_empl FROM dbo.sdoc_dis sd WHERE ((case when sd.DATE1 < @BDate THEN @BDate ELSE sd.DATE1 end  )  between @BDate AND @EDate)
																						AND ((case when sd.DATE2 > @BDate THEN @BDate ELSE sd.DATE2 end )  between @BDate AND @EDate)
																						AND sd.[TYPE]  in (select LINK from dbo.NETRUD where DEKRET = 1)
													 )			
						group by
							s.date
					) as A
					GROUP BY Y, M
				) AS B			
		),2),0)
	END					

	RETURN @Res
END





GO


GRANT EXECUTE ON dbo.[sa_ssch_empls_4fss] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_4FSS_EXPORT_v08]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_4FSS_EXPORT_v08]

GO

/*EXEC dbo.BK_SELECT_EXPORT_FORMAT 2486*/
/*exec [dbo].SA_4FSS_EXPORT_v05       42251*/
CREATE      PROCEDURE [dbo].SA_4FSS_EXPORT_v08 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT  ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))


INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------
-- Проставлять ОКАТО или ОКТМО по настройке
DECLARE @OKATO_OR_OKTMO int
SET @OKATO_OR_OKTMO = dbo.SA_GET_OPTION_BY_CODE('NASTR_USE_OKATO_OKTMO')


DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT,
		@Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,Period_Number*3,YEAR(Begin_Date))),
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS
WHERE LINK_SAVED_FORM = @link

DECLARE
	@first_month_of_quarter TINYINT,
	@second_month_of_quarter TINYINT,
	@third_month_of_quarter TINYINT

IF @Period_Number = 1
	SELECT @first_month_of_quarter = 1, @second_month_of_quarter = 2, @third_month_of_quarter = 3
IF @Period_Number = 2
	SELECT @first_month_of_quarter = 4, @second_month_of_quarter = 5, @third_month_of_quarter = 6
IF @Period_Number = 3
	SELECT @first_month_of_quarter = 7, @second_month_of_quarter = 8, @third_month_of_quarter = 9
IF @Period_Number = 4
	SELECT @first_month_of_quarter = 10, @second_month_of_quarter = 11, @third_month_of_quarter = 12

SELECT  @first_month_of_quarter = ISNULL(@first_month_of_quarter,1), @second_month_of_quarter = ISNULL(@second_month_of_quarter,2), @third_month_of_quarter = ISNULL(@third_month_of_quarter,3)

SELECT top 1
	DD1.OKPO AS OKPO1,
	DD1.INN AS INN1, DD1.KPP AS KPP1,
	FULL_NAME = UPPER(DD1.FULL_NAME),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	DD1.OGRN AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	DD1.OGRN,
	DD1.OKATO,
	DD1.OKTMO,
	DD1.OKVED,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TaxType = DD1.FSS_KP_PC1,
	TaxType2 = DD1.FSS_KP_PC2,
	TaxType3 = DD1.FSS_KP_PC3
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP

DECLARE @NumDotC VARCHAR(2), @NumDot INT
SELECT @NumDotC = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_NOM_OBR'),'00')
SET @NumDot = CASE WHEN ISNUMERIC(@NumDotC) =1 THEN CONVERT(INT,@NumDotC) ELSE 0 END

DECLARE @LIKV VARCHAR(3), @nLIKV INT
SELECT @LIKV = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_LIKVID'),'00')
SET @nLIKV = CASE WHEN LTRIM(RTRIM(@LIKV)) = 'Да' THEN 1 ELSE 0 END

DECLARE @Cur0 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @Cur CURSOR, @Cur1 CURSOR, @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254)

DECLARE @lcFNAME varchar(254)
SELECT @lcFNAME = FSS_REG_NUM + '_' + CONVERT(VARCHAR(4),@YEAR)  + '_' +  (CASE @Period_Number WHEN 1 THEN '03' WHEN 2 THEN '06' WHEN 3 THEN '09' ELSE '12' END) + '.XML' FROM #DEP_DATA

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'OEM' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="windows-1251"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?F4FORM version="0.8"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<F4REPORT xmlns="http://fz122.fss.ru" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:schemaLocation="http://fz122.fss.ru/doc/f4form_2015.xsd">'

/** Титул **/

	UNION ALL SELECT @lcFNAME, SPACE(1) + '<TITLE'
		+ ' REG_NUM="' + LTRIM(RTRIM(FSS_REG_NUM)) + '"'
		+ ' KPS_NUM="' + LTRIM(RTRIM(FSS_KOD_P)) + '"'
		--+ ' DOP_NUM="' + ISNULL(LTRIM(RTRIM(FSS_KOD_DOP)),'') + '"'
		+ ' YEAR_NUM="' + CONVERT(VARCHAR(4),@YEAR) + '"'
		+ ' QUART_NUM="' + (CASE @Period_Number WHEN 1 THEN '03' WHEN 2 THEN '06' WHEN 3 THEN '09' ELSE '12' END) + '"'
		+ ' NAME="' + LTRIM(RTRIM(REPLACE(FULL_NAME,'"','&quot;'))) + '"'
		+ ' INN="' + LTRIM(RTRIM(INN1)) + '"'
		+ ' KPP="' + LTRIM(RTRIM(KPP1)) + '"'
		+ ' OGRN="' + LTRIM(RTRIM(OGRN)) + '"'
		--+ ' OKOPF="' + LTRIM(RTRIM(OKOPF)) + '"'
		--+ CASE WHEN @OKATO_OR_OKTMO = 1 THEN  (' OKATO="' + REPLACE(LTRIM(RTRIM(OKATO)),' ','') + '"') ELSE (' OKTMO="' + REPLACE(LTRIM(RTRIM(OKTMO)),' ','') + '"') END
		--+ ' OKPO="' + LTRIM(RTRIM(OKPO)) + '"'
		--+ ' OKFS="' + LTRIM(RTRIM(OKFS)) + '"'
		--+ ' OKVED="' + LTRIM(RTRIM(OKVED)) + '"'
		+ ' PHONE="' +(SELECT LTRIM(RTRIM(phone)) FROM DICTIONARY_OTV_FACE  WHERE Dep_LINK=dbo.GetOwnDepLink() and name = 'Главный бухгалтер') + '"'
		+ ' LIKV="' +LTRIM(RTRIM(CONVERT(VARCHAR(1),@nLIKV))) + '"'
		+ ' NumCorr="' + LTRIM(RTRIM(CONVERT(VARCHAR(3),@Version))) + '"' --Номер корректировки
		+ ' NumDot="' + LTRIM(RTRIM(CONVERT(VARCHAR(2),@NumDot))) + '"' --Номер корректировки
		+ ' TaxType="' + LEFT(LTRIM(RTRIM(TaxType)),3) + '"' --Шифр (первая часть)
		+ ' TaxType2="' + LEFT(LTRIM(RTRIM(TaxType2)),2) + '"' --Шифр (вторая часть)
		+ ' TaxType3="' + LEFT(LTRIM(RTRIM(TaxType3)),2) + '"' --Шифр (третья часть)		
		+ ' T1R1C2="' + LTRIM(RTRIM(CONVERT(VARCHAR(6),ISNULL((SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 1, 1, 3)),0)))) + '"' --Численность работников	
		+ ' T1R2C2="' + LTRIM(RTRIM(CONVERT(VARCHAR(6),ISNULL((SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 1, 2, 3)),0)))) + '"' --из них: женщин	
		--+ ' T1R4C2="' + LTRIM(RTRIM(CONVERT(VARCHAR(6),ISNULL((SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 1, 3, 3)),0)))) + '"' --из них: работающих инвалидов	
		--+ ' T1R6C2="' + LTRIM(RTRIM(CONVERT(VARCHAR(6),ISNULL((SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 1, 4, 3)),0)))) + '"' --из них: работающих, занятых на работах с вредными и (или) опасными производственными факторами	
		+ ' CEO="' + LTRIM(RTRIM(CHIEF_FIO)) + '"'
		+ ' CRE_DATE="' + convert(varchar(10),@modify_date,120) + '"'
		--+ ' WRO="' + LEFT(FSS_REG_NUM,4) + '"'
		--+ ' CFO="' + LTRIM(RTRIM(GLBUH_FIO)) + '"'
		--+ ' AUTHOR="' + ISNULL(dbo.AdminGetUserFIO(default),'') + '"'
		+ '/>'
		FROM #DEP_DATA
--  /** Раздел I **/


		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(0) + '<F4INF1 '

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' OKVED="' + LTRIM(RTRIM(OKVED)) + '"' FROM #DEP_DATA
		--Таблица 1 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 1, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 3, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' Ch' + LTRIM(STR(ROW +1 - 5)) + '="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, 3) WHERE SUMMA2 <> 0 AND ROW IN (5,6,7)				
		--Таблица 1 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' N0="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 9, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' N' + LTRIM(STR(ROW + 1 - 11)) + '="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, 3) WHERE SUMMA2 <> 0 AND ROW IN (11,12,13)				
		--Таблица 1 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 14, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NRe0="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 16, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NRe1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 18, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NRe2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 19, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R13="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 20, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2F0="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 22, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2F1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 24, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2F2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 25, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R16="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 26, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2N="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 27, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 9
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' FssDebt="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 29, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 11
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R18="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 31, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 12
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R19="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 32, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 14
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R20="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 34, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 15
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R21="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 36, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' Re' + LTRIM(STR(ROW + 1 - 38)) + '="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, 3) WHERE SUMMA2 <> 0 AND ROW IN (38,39,40)				
		--Таблица 1 строка 16
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R27="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 42, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R29="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 44, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R30="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 45, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R26="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 46, 3) WHERE SUMMA2 <> 0
		--Таблица 1 строка 17
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R32="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 47, 3) WHERE SUMMA2 <> 0
		--Таблица 1 строка 19
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' InsDebt="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 49, 3) WHERE SUMMA2 <> 0
		--Таблица 1 строка 20
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' InsDelDebt="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 50, 3) WHERE SUMMA2 <> 0



		--Таблица 2 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 1, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R1C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 1, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R1C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 1, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R1C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 1, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 2, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R2C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 2, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R2C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 2, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R2C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 2, 6) WHERE SUMMA2 <> 0				
---------
		--Таблица 2 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 3, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R9C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 3, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R9C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 3, 5) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase6="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 4, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R10C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 4, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R10C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 4, 5) WHERE SUMMA2 <> 0		


----------
		--Таблица 2 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase4="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 5, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R4C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 5, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R4C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 5, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R4C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 5, 6) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 6, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R41C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 6, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R41C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 6, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R41C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 6, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R5C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 7, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R5C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 7, 5) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 8
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R6C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 8, 4) WHERE SUMMA2<> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R6C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 8, 5) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 9
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3RCP7="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 9, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R7C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 9, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R7C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 9, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R7C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 9, 6) WHERE SUMMA2 <> 0				

		--Таблица 2 строка 10
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3RCP71="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 10, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R71C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 10, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R71C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 10, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R71C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 10, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 11
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3RCP72="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 11, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R72C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 11, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R72C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 11, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R72C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 11, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 12
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R3C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 12, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R3C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 12, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R3C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 12, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 13
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R11C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 13, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R11C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 13, 6) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 14
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R8C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 14, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R8C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 14, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R8C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 14, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 16
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R12C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 16, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R12C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 16, 6) WHERE SUMMA2 <> 0				
	

		--Таблица 3 строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S1' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 1, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 2
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S2' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 2, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 3
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S4' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 3, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 5
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S6' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 5, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 6
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S7' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 6, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 7
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S8' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 7, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 8
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S9' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 8, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		

		/*--Таблица 4 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_C="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 1, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 1, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 1, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 1, 6) WHERE SUMMA2 <> 0				
		--Таблица 4 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_CI="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 2, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_CI1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 2, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_CI2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 2, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_CI3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 2, 6) WHERE SUMMA2 <> 0				
		
		--Таблица 4.1 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_C="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 1, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 1, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 1, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 1, 6) WHERE SUMMA2 <> 0				
		--Таблица 4.1 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_CI="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 2, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_CI1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 2, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_CI2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 2, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_CI3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 2, 6) WHERE SUMMA2 <> 0				
		--Таблица 4.1 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_S="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 4, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_S1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 4, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_S2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 4, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_S3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 4, 6) WHERE SUMMA2 <> 0				
		--Таблица 4.1 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_SI="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 5, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_SI1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 5, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_SI2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 5, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_SI3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 5, 6) WHERE SUMMA2 <> 0				
*/
		-- Таблица 4 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_WRK_CNT="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 1, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT2WRK_CNT1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 1, 4) WHERE SUMMA2 <> 0	
		-- Таблица 4 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_PRF_ALL="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 2, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT2PRF_ALL="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 2, 4) WHERE SUMMA <> 0				
		-- Таблица 4 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_PRF_SPC="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 3, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT2PRF_SPC="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 3, 4) WHERE SUMMA <> 0				
		-- Таблица 4 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_ACC_DT="'
							+ CASE LEN(LTRIM(RTRIM(LEFT(STR_VAL,10))))
								WHEN 10 THEN
									SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),7,4)
									+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),4,2)
									+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),1,2)
								WHEN 8 THEN
									'20' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),7,2)
									+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),4,2)
									+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),1,2)								
								ELSE
								''
							END	+ '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 5, 5) WHERE ISNULL(STR_VAL,'') <> ''
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_ACC_NM="' + LEFT(STR_VAL,8) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 5, 6) WHERE ISNULL(STR_VAL,'') <> ''
	
		--Таблица 4.1 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' OKV_S1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 9, 1, 3) WHERE SUMMA <> 0				
		--Таблица 4.1 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' OKV_S2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 9, 2, 3) WHERE SUMMA <> 0				


		--Таблица 4.1 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_SP1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 1, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_S1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 1, 4) WHERE SUMMA <> 0				
		--Таблица 4.1 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_SP2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 2, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_S2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 2, 4) WHERE SUMMA <> 0				
		--Таблица 4.1 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_SP3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 3, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_S3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 3, 4) WHERE SUMMA <> 0				
		--Таблица 4.1 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_SP4="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_S4="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, 4) WHERE SUMMA <> 0				
	
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(0) + ' >'

		/*Раздел I Платежное поручение*/
		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 44, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@first_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 44, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 44, 4)

		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 45, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@second_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 45, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 45, 4)

		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 46, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@third_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 46, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 46, 4)


		/*Сведения об иностранных гражданах*/
		CREATE TABLE #INOST (
			LINK INT, FIO VARCHAR(254), INN VARCHAR(12), SNILS VARCHAR(14),
			GR VARCHAR(100), GR_CODE VARCHAR(5))

		CREATE TABLE #TAB3 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
		INSERT INTO #TAB3 (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 5, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

		INSERT INTO #INOST (FIO, INN, SNILS,GR)
		SELECT DISTINCT
			FIO = (SELECT TOP 1 REPLACE(STR_VAL,SPACE(1), ', ') FROM #TAB3 T WHERE T.COL = 2 AND T.ROW_CODE = T3.ROW_CODE),
			INN = (SELECT TOP 1 STR_VAL FROM #TAB3 T WHERE T.COL = 3 AND T.ROW_CODE = T3.ROW_CODE),
			SNILS = (SELECT TOP 1 STR_VAL FROM #TAB3 T WHERE T.COL = 4 AND T.ROW_CODE = T3.ROW_CODE),
			GR = (SELECT TOP 1 STR_VAL FROM #TAB3 T WHERE T.COL = 5 AND T.ROW_CODE = T3.ROW_CODE)
		FROM
			#TAB3 T3
		
		UPDATE i
			SET gr_code = (select code FROM citizenship WHERE NAME LIKE i.GR)
		FROM #INOST  i
		

		DROP TABLE #TAB3



		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME,
			SPACE(1) + ' <F4INOST'  +
				' LNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO,1,','),'')))) + '"' +
				' FNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO,2,','),'')))) + '"' +
				' MNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO,3,','),'')))) + '"' +
				' INN="' + LTRIM(RTRIM(ISNULL(INN,''))) + '"' +
				' SNILS="' + LTRIM(RTRIM(ISNULL(SNILS,''))) + '"' +
				' GR="' + LTRIM(RTRIM(ISNULL(GR_CODE,''))) + '"' +
			' />'
		FROM #INOST
		ORDER BY FIO

		DROP TABLE #INOST

		

	/*--Сведения об инвалидах
		CREATE TABLE #INVALID (
			LINK INT, FIO VARCHAR(254), FIO2 VARCHAR(254), NUM_SPR VARCHAR(30), DATE_SPR VARCHAR(10),
			GRP VARCHAR(25), GRP2 VARCHAR(25), PER_BEG VARCHAR(10), PER_END VARCHAR(10),
			SM_ALL 	NUMERIC(18,2), SM_QWART NUMERIC(18,2), SM1 NUMERIC(18,2), SM2 NUMERIC(18,2), SM3 NUMERIC(18,2) )

		CREATE TABLE #TAB5 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
		INSERT INTO #TAB5 (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 5, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

		INSERT INTO #INVALID (FIO2, DATE_SPR, PER_END, SM_ALL, SM1, SM2, SM3)
		SELECT DISTINCT
			FIO2 = (SELECT TOP 1 REPLACE(STR_VAL,SPACE(1), ', ') FROM #TAB5 T WHERE T.COL = 2 AND T.ROW_CODE = T5.ROW_CODE),
			DATE_SPR = (SELECT TOP 1 STR_VAL FROM #TAB5 T WHERE T.COL = 3 AND T.ROW_CODE = T5.ROW_CODE),
			PER_END = (SELECT TOP 1 STR_VAL FROM #TAB5 T WHERE T.COL = 4 AND T.ROW_CODE = T5.ROW_CODE),
			SM_ALL = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 5 AND T.ROW_CODE = T5.ROW_CODE),
			SM1 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 6 AND T.ROW_CODE = T5.ROW_CODE),
			SM2 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 7 AND T.ROW_CODE = T5.ROW_CODE),
			SM3 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 8 AND T.ROW_CODE = T5.ROW_CODE)
		FROM
			#TAB5 T5

		DROP TABLE #TAB5

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME,
			SPACE(1) + ' <F4INVAL'  +
				' LNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,1,','),'')))) + '"' +
				' FNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,2,','),'')))) + '"' +
				' MNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,3,','),'')))) + '"' +
				' MSEDATE="' + CASE LEN(LTRIM(RTRIM(ISNULL(DATE_SPR,''))))
									WHEN 10 THEN
										SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),7,4)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),4,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),1,2)
									WHEN 8 THEN
										'20' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),7,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),4,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),1,2)								
									ELSE
										''
								END + '"' +
				CASE WHEN ISNULL(PER_END,'') <> ''
				THEN
					' MSEDATEF="'
								+ CASE LEN(LTRIM(RTRIM(ISNULL(PER_END,''))))
									WHEN 10 THEN
										SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),7,4)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),4,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),1,2)
									WHEN 8 THEN
										'20' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),7,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),4,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),1,2)								
									ELSE
									''
								END + '"'
				ELSE
					''	
				END +
				' S="' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM_ALL,0)))) + '"' +
				' S1="' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM1,0)))) + '"' +
				' S2="' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM2,0)))) + '"' +
				' S3="' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM3,0)))) + '"' +
			' />'
		FROM #INVALID
		ORDER BY FIO2

		DROP TABLE #INVALID

	*/	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(0) + '</F4INF1>'
		
/** Раздел II **/

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(1)

	
		
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(0) + '<F4INFO '		
		--Таблица 5 Строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 7) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 8) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 10) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 11) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C8="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 12) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C18="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 13) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C7="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 14) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 15) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 16) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 17) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C12="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 18) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C22="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 19) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C11="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 20) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 7) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 8) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 10) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 11) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 15) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 16) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 17) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C12="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 18) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C22="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 19) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C11="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 20) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R3C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 3, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R3C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 3, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R3C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 3, 15) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 7) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 8) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 10) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 11) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 15) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 16) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 17) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 7) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 8) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 10) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 11) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 15) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 16) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 17) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 6
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 6) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 7) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 8) WHERE SUMMA2 <> 0				

	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 9) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 10) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 11) WHERE SUMMA2 <> 0				

	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 15) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 16) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 17) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R5C="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 7, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R5C1="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 7, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R5C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 7,5) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 8
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R6C2="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 8, 5) WHERE SUMMA2 <> 0				


/*exec [dbo].SA_4FSS_EXPORT_v08  42483
* select *  FROM DBO.SA_SAVED_REPORT_VIEW (42483, 1, 4, 3) WHERE SUMMA2*/
		--Таблица 6 Строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1)		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' OKVED="' + LTRIM(RTRIM(OKVED)) + '"' FROM #DEP_DATA
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T1R4C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, 3, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T1R6C2="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, 4, 3) WHERE SUMMA2 <> 0
		--Таблица 6 Строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NC="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 2, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NC1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 2, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NC2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 2, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NC3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 2, 6) WHERE SUMMA2 <> 0				
		--Таблица 6 Строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T1R3C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 3, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 3, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 3, 5) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 3, 6) WHERE SUMMA2 <> 0

		--Таблица 6 Строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T1R5C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 4, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' I1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 4, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' I2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 4, 5) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' I3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 4, 6) WHERE SUMMA2 <> 0

		--Таблица 6 Строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' RATE_MIS="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,1),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 5, 3) WHERE SUMMA2 <> 0
		--Таблица 6 графа 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' RATE_DEC="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 6, 3) WHERE SUMMA2 <> 0
		--Таблица 6 графа 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' RATE_INC="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 7, 3) WHERE SUMMA2 <> 0

		--Таблица 6 графа 8
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' INC_DATE="'
					+ CASE LEN(LTRIM(RTRIM(LEFT(STR_VAL,10))))
						WHEN 10 THEN
							SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),7,4)
							+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),4,2)
							+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),1,2)
						WHEN 8 THEN
							'20' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),7,2)
							+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),4,2)
							+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),1,2)								
						ELSE
						''
					END + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 8, 7) WHERE ISNULL(STR_VAL,'') <> ''

		----Таблица 6 графа 9
		--UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' RATE_INC="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 1, 9) WHERE SUMMA2 <> 0


		--Таблица 7 строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1)		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R1C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 1, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R3C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 3, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R5C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 5, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R6C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 6, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R7C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 7, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R9C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 8, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R13C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 9, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R11C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 10, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R16C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 11, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R17C61="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 12, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 9
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R18C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 14, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 11
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R39C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 16, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 12
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R19C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 17, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 14
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R40C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 19, 3) WHERE SUMMA2 <> 0

		--Таблица 7 строка 15
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R21C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 21, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R23C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 23, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R24C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 24, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R25C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 25, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 16
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R27C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 27, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R29C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 29, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R30C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 30, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R31C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 31, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 17
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R38C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 32, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 19
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R34C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14,34, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 20
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R35C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 35, 3) WHERE SUMMA2 <> 0

		--Таблица 8 строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1)		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R3C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 1, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R3C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 1, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R13C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 2, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R13C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 2, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R4C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 3, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R4C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 3, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R8C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 4, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R8C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 4, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R14C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 5, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R14C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 5, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R9C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 6, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R9C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 6, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R5C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 7, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R5C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 7, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 8
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R6C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 8, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R6C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 8, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 9
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R10C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 9, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 11
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R11C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15,11, 4) WHERE SUMMA2 <> 0


		--Таблица 9
		UNION ALL SELECT @lcFNAME, SPACE(1)
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' M' + CONVERT(VARCHAR(2),ROW) + '="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 16, DEFAULT, 3) WHERE ROW IN (1,2,3,5) AND SUMMA <> 0

		--Таблица 10 строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1)
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' ATT_C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 1, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' ATT_C2="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 1, 4) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' ATT_CL3="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 1, 6) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' ATT_CL4="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 1, 7) WHERE SUMMA <> 0

		--Таблица 10 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' MED_C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 2, 8) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' MED_C2="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 2, 9) WHERE SUMMA <> 0
		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(0) + ' >'

		/*Раздел I Платежное поручение*/
		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 29, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@first_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 29, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 29, 4)

		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 30, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@second_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 30, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 30, 4)

		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 31, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@third_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 31, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 31, 4)


	
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(0) + '</F4INFO>'
	
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, SPACE(0) + '</F4REPORT>'
SET NOCOUNT OFF

select * from #OUTPUT order by [ID]











GO


GRANT EXECUTE ON dbo.[SA_4FSS_EXPORT_v08] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RA_IMPORT_FORM_769_16]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RA_IMPORT_FORM_769_16]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 2013

*******************************************************************************/
CREATE PROCEDURE dbo.[RA_IMPORT_FORM_769_16]
	@lbSvodWEB	     BIT     = 1,    -- 1 - Вызов с тонкого клиента, 0 - иначе.
	@liRepeatRequest INT     = NULL, -- Если IS NOT NULL - повторный вызов из Свод-WEB, если >0 - то подтверждение загрузки, <0 - импорт отклонен.
   @tIsAppend       TINYINT = 0,    -- 1 - Импорт отчета в режиме добавления, 0 - обычный импорт.
	@bDinamicRows    BIT     = 0,    -- Строки даже для статических таблиц хранятся динамически (для 14-х форм)
   @iLINK_SELF      INT     = NULL,
   @tMode           TINYINT = 0 -- Режим работы 0 - обычный, 1 - демо.
AS
SET NOCOUNT ON

SELECT 	@lbSvodWEB	 ,   -- 1 - Вызов с тонкого клиента, 0 - иначе.
	@liRepeatRequest , -- Если IS NOT NULL - повторный вызов из Свод-WEB, если >0 - то подтверждение загрузки, <0 - импорт отклонен.
   @tIsAppend       ,    -- 1 - Импорт отчета в режиме добавления, 0 - обычный импорт.
	@bDinamicRows   ,    -- Строки даже для статических таблиц хранятся динамически (для 14-х форм)
   @iLINK_SELF      ,
   @tMode

DECLARE @iOrder   INT,
        @liReturn INT,
        @iTB_01   INT,
        @iTB_02   INT

DECLARE @tabImport TABLE ([TXT]   VARCHAR(8000),
                          [ORDER] INT IDENTITY(1,1))
                          
DECLARE @tabImportRD TABLE ([TXT]   VARCHAR(8000),
                            [RD]    TINYINT)
                                   
                        
                           

IF ISNULL(@liRepeatRequest,0) > 0 
BEGIN
   EXEC @liReturn = dbo.[RA_IMPORT_FORM_STANDART] @lbSvodWEB,
                                                  @liRepeatRequest,
                                                  @tIsAppend,
                                                  @bDinamicRows,
                                                  @iLINK_SELF,
                                                  @tMode

   RETURN @liReturn
END

IF EXISTS (SELECT *
           FROM #IMPORT_TABLE
           WHERE [TXT] IN ('ВФ=0','ВФ=1'))
BEGIN
   EXEC @liReturn = dbo.[RA_IMPORT_FORM_STANDART] @lbSvodWEB,
                                                  @liRepeatRequest,
                                                  @tIsAppend,
                                                  @bDinamicRows,
                                                  @iLINK_SELF,
                                                  @tMode

   RETURN @liReturn
END


IF NOT EXISTS (SELECT *
               FROM #IMPORT_TABLE
               WHERE [TXT] IN ('ВФ=0','ВФ=1'))
BEGIN
   
      SELECT @iTB_01 = [ORDER]
      FROM #IMPORT_TABLE
      WHERE [TXT] = 'ТБ=01'
      
      SELECT @iTB_02 = [ORDER]
      FROM #IMPORT_TABLE
      WHERE [TXT] = 'ТБ=02'
   
      INSERT @tabImportRD([RD],
                          [TXT])
      SELECT [RD] = CASE
                       WHEN [ORDER] > @iTB_02 THEN 4
                       WHEN LEFT([TXT],3) IN ('10|','20|','50|') THEN 1
                       WHEN LEFT([TXT],3) IN ('30|','60|') THEN 2
                       WHEN LEFT([TXT],3) IN ('40|','70|') THEN 3
                    END,
             [TXT] = CASE 
                        WHEN [ORDER] > @iTB_02 THEN dbo.[RA_GETWORDNUM]([TXT],4,'|')+dbo.[RA_GETWORDNUM]([TXT],5,'|') +dbo.[RA_GETWORDNUM]([TXT],6,'|')++dbo.[RA_GETWORDNUM]([TXT],7,'|')+'|'+
                                                     dbo.[RA_GETWORDNUM]([TXT],8,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],6,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],7,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],9,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],10,'|')+'|' 
                           
                        ELSE REPLACE(dbo.[RA_GETWORDNUM]([TXT],5,'|')+dbo.[RA_GETWORDNUM]([TXT],6,'|'),'********','88888888')+'|'+dbo.[RA_GETWORDNUM]([TXT],7,'|')+'|'+
                             dbo.[RA_GETWORDNUM]([TXT],8,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],9,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],10,'|')+'|'
                     END
      FROM #IMPORT_TABLE
      WHERE [TXT] LIKE '%|%|%|%'
            
      INSERT @tabImport([TXT])
      SELECT [TXT]
      FROM #IMPORT_TABLE
      WHERE [ORDER] < @iTB_01 + 2
      ORDER BY [ORDER]
 
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 1

      INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=02')
      INSERT @tabImport(TXT) VALUES ('#$')

      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 2
      
      INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=03')
      INSERT @tabImport(TXT) VALUES ('#$')
      
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 3
      
      INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=04')
      INSERT @tabImport(TXT) VALUES ('#$')
      
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 4
      
	  INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=05')
      INSERT @tabImport(TXT) VALUES ('#$')
      
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 5

      TRUNCATE TABLE #IMPORT_TABLE
      
      INSERT #IMPORT_TABLE ([TXT])
      SELECT [TXT]
      FROM @tabImport
      ORDER BY [ORDER]
              
      EXEC @liReturn = dbo.[RA_IMPORT_FORM_STANDART] @lbSvodWEB,
                                                     @liRepeatRequest,
                                                     @tIsAppend,
                                                     @bDinamicRows,
                                                     @iLINK_SELF,
                                                     @tMode

END

RETURN @liReturn



GO


GRANT EXECUTE ON dbo.[RA_IMPORT_FORM_769_16] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_EXPORT_FORM_33]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RO_EXPORT_FORM_33]

GO
/*******************************************************************************

	© Кейсистемс (Keysystems), 2011

*******************************************************************************/
-- create table #FileExportReport (txt varchar(800), NameFile varchar(100), orders int)
CREATE PROCEDURE dbo.[RO_EXPORT_FORM_33]
	@iLINK_SAVED_FORM INT,	                   -- Линк выгружаемой формы
	@vcFILE_NAME	   VARCHAR(100)='' OUTPUT, -- Имя текстового файла
	@iMODE	         INT=1                   -- Формат: 1-внутренний, 2-минфиновский
AS

DECLARE @vcExec VARCHAR(8000), @vcNameFileArh VARCHAR(1000), @vcFILE_NAME1 varchar(1000), @vcNameFileArh1 VARCHAR(1000), @vcVidFO VARCHAR(10), @vcPostFix VARCHAR(10), @vcExportCode VARCHAR(30),
   @vcCodeForm VARCHAR(100), @iLinkOrg INT, @vcCB VARCHAR(1000), @vcFIO VARCHAR(1000), @vcPost VARCHAR(1000), @iLSF INT,
   @iTB_EPILOG INT 

DECLARE @tabFileExport TABLE ([TXT]	        VARCHAR(800), 
							         [NAMEFILE]    VARCHAR(100), 
                              [NAMEFILEARH] VARCHAR(100),
							         [ORDERS]      INT IDENTITY(1,1))    
DECLARE @tabLSF TABLE([LINK_SAVED_FORM] INT)                              
SET NOCOUNT ON

DECLARE @tPERIODIC      TINYINT,
        @tPERIOD_TYPE   TINYINT,
        @tPERIOD_NUMBER TINYINT,
        @bIsQuart       BIT,
        
        @iTB_01 INT,
        @iTB_02 INT,
        @iTB_03 INT,
        @iTB_04 INT,
        @iTB_05 INT



SELECT @vcCodeForm = rf.[Code],
       @iLinkOrg = rsf.[Link_Organization],
       @tPERIODIC = rf.[Periodic],
       @tPERIOD_TYPE = rsf.[Period_Type],
       @tPERIOD_NUMBER = rsf.[Period_Number]
FROM dbo.[REPORT_SAVED_FORMS] rsf
      JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
WHERE rsf.[Link_Saved_Form] = @iLINK_SAVED_FORM

SET @bIsQuart = CASE 
                   WHEN @tPERIOD_TYPE = 4 AND @tPERIOD_NUMBER % 3 = 0 THEN 1
                   ELSE 0
                END

SELECT @vcCB = RTRIM(r.[cb_name])  
               + CASE WHEN r.[cb_ogrn] = '' THEN '' ELSE ', ' + RTRIM(r.[cb_ogrn]) END
               + CASE WHEN r.[cb_inn] = '' THEN '' ELSE ', ' + RTRIM(r.[cb_inn]) END
               + CASE WHEN r.[cb_kpp] = '' THEN '' ELSE ', ' + RTRIM(r.[cb_kpp]) END
               + CASE WHEN r.[cb_address] = '' THEN '' ELSE ', ' + RTRIM(r.[cb_address]) END,
       @vcFIO = r.[ul_fio],
       @vcPost = r.[ul_post]
FROM dbo.[RT_VIEW_WEB_BOSS] r
WHERE r.[link] = @iLinkOrg      

EXEC dbo.[RA_EXPORT_FORM_STANDART] @iLINK_SAVED_FORM,
                                   @vcFILE_NAME OUTPUT,
                                   @iMODE
                                   
                            
IF @iMODE = 2
BEGIN  
   IF @bIsQuart = 1 
   BEGIN
      SET @vcFILE_NAME = REPLACE(@vcFILE_NAME,'M','Q')
            
      UPDATE #FileExportReport
      SET TXT = 'ПРД=4'
      WHERE TXT = 'ПРД=3'
   END

   UPDATE #FileExportReport
   SET TXT = 'ИСТ=' + CASE WHEN  LEN(dbo.[RA_GETWORDNUM](TXT, 2, '=')) = 2 
                                 THEN '0' + dbo.[RA_GETWORDNUM](TXT, 2, '=')
                           ELSE dbo.[RA_GETWORDNUM](TXT, 2, '=')
                      END 
--   RIGHT('0' + LTRIM(RTRIM(dbo.[RA_GETWORDNUM](TXT, 2, '='))),3)
   WHERE TXT LIKE 'ИСТ=%'
   
   set @vcVidFO = isnull(dbo.RN_GET_ATR_VALUE(@iLINK_SAVED_FORM,'REPORTS_ATR_VID'),'')
   
   SET @vcPostFix = CASE @vcVidFO WHEN '2' THEN 'd'
                                 WHEN '3' THEN 't'
                                 WHEN '4' THEN 'z'
                                 WHEN '5' THEN 'c'
                                 WHEN '6' THEN 'i'
                                 WHEN '7' THEN 'm'
                                 ELSE '' END   

   IF (@vcPostFix = 't' and LEFT(@vcCodeForm, 7) IN ('0503737')) 
         OR (@vcPostFix IN ('t') and LEFT(@vcCodeForm, 7) IN ('0503768'))
   BEGIN
      IF OBJECT_ID('tempdb..#tabExportLog') IS NOT NULL
     BEGIN 
         INSERT #tabExportLog([TXT])
         SELECT 'Для формы ' + RTRIM(@vcCodeForm) + ' не может быть указан вид финансового обеспечения с кодом ' + @vcVidFO

         INSERT #tabExportLog([TXT])
         SELECT 'Выгрузка отменена'
      END 
      RETURN -1
   END 

   SELECT TOP 1  @vcNameFileArh = [NameFileArh]
   FROM #FileExportReport
   
   IF @bIsQuart = 1 
   BEGIN
      SET @vcNameFileArh = REPLACE(@vcNameFileArh,'M','Q')      
   END

   SELECT @vcFILE_NAME = REPLACE(@vcFILE_NAME, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
         @vcNameFileArh = REPLACE(SUBSTRING(@vcNameFileArh, 2, 17) + 'F_' + SUBSTRING(@vcNameFileArh,19,10), RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
         @vcExportCode = RTRIM(rf.[ExportCode])
   FROM dbo.[REPORT_SAVED_FORMS] rsf
         JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
   WHERE rsf.[Link_Saved_Form] =  @iLINK_SAVED_FORM
   
   UPDATE #FileExportReport
   SET [NameFile] = @vcFILE_NAME,
         [NameFileArh] = @vcNameFileArh

   UPDATE #FileExportReport
   SET [TXT] = REPLACE([TXT], @vcExportCode, @vcExportCode + @vcPostFix)
   WHERE TXT LIKE 'КОДФ=%'        

   IF LEFT(@vcCodeForm, 7) IN ('0503730', '0503830')
   BEGIN
      UPDATE #FileExportReport
      SET [TXT] = REPLACE([TXT], 'ТБ=02', 'ТБ=03')
      WHERE TXT = 'ТБ=02'      

      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                           AND orders < (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
                           AND [TXT] > '470|')       

   END   
    
   IF LEFT(@vcCodeForm, 7) IN ('0503773', '0503779')
   BEGIN
      set @vcVidFO = isnull(dbo.RN_GET_ATR_VALUE(@iLINK_SAVED_FORM,'REPORTS_ATR_VID_773'),'')
      set @vcPostFix = @vcVidFO

      SELECT @vcFILE_NAME = REPLACE(@vcFILE_NAME, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
            @vcNameFileArh = REPLACE(LEFT(@vcNameFileArh, 17) + 'F_' + SUBSTRING(@vcNameFileArh,20,10), RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
            @vcExportCode = RTRIM(rf.[ExportCode])
      FROM dbo.[REPORT_SAVED_FORMS] rsf
            JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
      WHERE rsf.[Link_Saved_Form] =  @iLINK_SAVED_FORM
      
      UPDATE #FileExportReport
      SET [NameFile] = @vcFILE_NAME,
            [NameFileArh] = @vcNameFileArh

      UPDATE #FileExportReport
      SET [TXT] = REPLACE([TXT], @vcExportCode, @vcExportCode + @vcPostFix)
      WHERE TXT LIKE 'КОДФ=%'    
   END 

   IF LEFT(@vcCodeForm, 7) IN ('0503773')
   BEGIN
/*      
      --SELECT * FROM #FileExportReport
      SELECT [TXT],[ORDERS]
      INTO #tab773
      FROM #FileExportReport
      WHERE [ORDERS] <= (SELECT [ORDERS]
                         FROM #FileExportReport
                         WHERE [TXT] = 'ТБ=02') + 1
                        
      DELETE #FileExportReport
      FROM #FileExportReport
      WHERE [ORDERS] <= (SELECT [ORDERS]
                         FROM #FileExportReport
                         WHERE [TXT] = 'ТБ=02') + 1
      
      INSERT #FileExportReport([TXT])
      SELECT [TXT]
      FROM #tab773    
      WHERE orders = (SELECT MIN(orders)
                      FROM #tab773
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                           AND orders < (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
                           AND [TXT] > '470|')
      ORDER BY [ORDERS]
*/                     

      SELECT @iTB_01 = [ORDERS]
      FROM #FileExportReport
      WHERE TXT = 'ТБ=01'

      SELECT @iTB_02 = [ORDERS]
      FROM #FileExportReport
      WHERE TXT = 'ТБ=02'

      SELECT @iTB_EPILOG = [ORDERS]
      FROM #FileExportReport
      WHERE TXT = '#&'
      
      

      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] <= @iTB_01 + 1
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            [TXT] LIKE '%|%|%' AND 
            LEFT([TXT],4) BETWEEN '0100' AND '4100'
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH]) 
      SELECT [TXT] = REPLACE([TXT],'ТБ=01','ТБ=02'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 - 2 AND @iTB_01 + 1
      ORDER BY [ORDERS]
 
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            [TXT] LIKE '%|%|%' AND 
            LEFT([TXT],4) BETWEEN '4700' AND '9000'
      ORDER BY [ORDERS]

      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH]) 
      SELECT [TXT] = REPLACE([TXT],'ТБ=01','ТБ=03'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 - 2 AND @iTB_01 + 1
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT REPLACE([TXT],'8|88888|888|888|88888888|','*|*****|***|***|********|'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_02 AND @iTB_EPILOG AND
            [TXT] LIKE '%|%|%' AND
            LEFT(dbo.[RA_GETWORDNUM]([TXT],2,'|'),1) IN ('1','2','8')
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH]) 
      SELECT [TXT] = REPLACE([TXT],'ТБ=01','ТБ=04'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 - 2 AND @iTB_01 + 1
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT REPLACE([TXT],'9|99999|999|999|99999999|','*|*****|***|***|********|'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_02 AND @iTB_EPILOG AND
            [TXT] LIKE '%|%|%' AND
            LEFT(dbo.[RA_GETWORDNUM]([TXT],2,'|'),1) IN ('3','4','9')
      ORDER BY [ORDERS]

      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH]) 
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] > @iTB_EPILOG - 2
      ORDER BY [ORDERS]
      
/*          
      WHERE orders < (SELECT MIN(T.orders) 
                      FROM #FileExportReport T
                      WHERE [TXT] = '#$')              
      ORDER BY orders
      
      
                          
       
      
      
  
      UPDATE #FileExportReport
      SET [TXT] = REPLACE([TXT], 'ТБ=02', 'ТБ=03')
      WHERE TXT = 'ТБ=02'      

      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                           AND orders < (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
                           AND [TXT] > '470|')
      IF @@ROWCOUNT = 0
      BEGIN
         UPDATE #FileExportReport
         SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
         WHERE [ORDERS] = (SELECT [ORDERS]
                           FROM #FileExportReport
                           WHERE TXT = 'ТБ=03') - 2 
      END
                           
      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=04<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
                           AND [TXT] > '0|3'
                           AND [TXT] NOT LIKE '8|8%' ) - 1
           AND TXT LIKE '*|***%'                
                                  

      IF @@ROWCOUNT = 0
      BEGIN 
         UPDATE #FileExportReport
         SET [TXT] = '#<LN>#@<LN>ТБ=04<LN>#$<LN>' + [TXT]
         WHERE orders = (SELECT MIN(orders)
                         FROM #FileExportReport
                         WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03') AND
                               [TXT] = '#')
                         
                         /*
                               AND [TXT] > '0|3'
                               AND [TXT] NOT LIKE '8|8%' ) - 2
                           */       
      END 

      UPDATE @tabFileExport
      SET [TXT] = REPLACE([TXT], '|-|-|', '|***|********|')
      WHERE RTRIM([TXT]) LIKE '%|-|-|%|-|'
*/
     
      DELETE #FileExportReport
      INSERT #FileExportReport([TXT],
                               [NAMEFILE],
                               [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM @tabFileExport
      ORDER BY [ORDERS]
   END    
    

--   IF LEFT(@vcCodeForm, 7) IN ('0503772')
--   BEGIN
--      UPDATE #FileExportReport
--      SET [TXT] = REPLACE([TXT], 'ТБ=02', 'ТБ=03')
--      WHERE TXT = 'ТБ=02'      
--
--      UPDATE #FileExportReport
--      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
--      WHERE orders = (SELECT MIN(orders)
--                      FROM #FileExportReport
--                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
--                           AND orders < (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
--                           AND [TXT] > '470|')       
--   END    

   IF LEFT(@vcCodeForm, 7) IN ('0503771')
   BEGIN
            
      INSERT #FileExportReport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH], [ORDERS])
      SELECT  REPLACE([TXT], '#<LN>#@<LN>ТБ=02<LN>#$<LN>#<LN>#@<LN>ТБ=03<LN>#$<LN>***|**************|*|*****|***|', '***|****|*******|***|*|*****|***|'),
		        [NAMEFILE], 
              [NAMEFILEARH],
              [ORDERS] - 1
      FROM #FileExportReport
      WHERE TXT LIKE '#<LN>#@<LN>ТБ=02<LN>#$<LN>#<LN>#@<LN>ТБ=03<LN>#$<LN>***|**************|*|*****|***|%'

      
      UPDATE #FileExportReport
      SET [TXT] = REPLACE(REPLACE([TXT], '|000|', '|***|'),'000|0000|0000000|', '***|****|*******|')
      WHERE RTRIM(TXT) LIKE '%|000|%|-|-|000'

      UPDATE #FileExportReport
      SET [TXT] = LEFT([TXT],LEN([TXT])-CHARINDEX('|',REVERSE([TXT]))+1)
      WHERE [TXT] LIKE '%|%'

   END    


   IF LEFT(@vcCodeForm, 7) IN ('0503768')
   BEGIN
      UPDATE #FileExportReport
      SET [TXT] = REPLACE([TXT], 'ТБ=02', 'ТБ=03')
      WHERE TXT = 'ТБ=02'      

     UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                            AND dbo.[RA_GETWORDNUM]([TXT],4, '|') > '250' and LEN(dbo.[RA_GETWORDNUM]([TXT],1, '|'))=1)
      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=03<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] LIKE  '#<LN>#@<LN>ТБ=02<LN>#$<LN>%')
                            AND LEFT([TXT],6) >= '01|450')       
                                   
                                   
   END
   
   IF LEFT(@vcCodeForm, 7) IN ('0503737')
   BEGIN
      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                            AND LEFT([TXT],3) > '104')  

      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=03<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] LIKE  '#<LN>#@<LN>ТБ=02<LN>#$<LN>%')
                            AND LEFT([TXT],3) > '450')       
      
	 delete #FileExportReport 
	 where  orders between (SELECT MIN(orders)
								FROM #FileExportReport
							WHERE orders > (select orders from  #FileExportReport WHERE LEFT([TXT],3) LIKE  '830'  ) )
						and (SELECT MIN(orders)
								FROM #FileExportReport
							 WHERE orders > (select orders from  #FileExportReport WHERE LEFT([TXT],3) like '830' )
							 AND LEFT([TXT],2) = '#$' )
														
     
     UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=04<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] LIKE  '#<LN>#@<LN>ТБ=03<LN>#$<LN>%')
                            AND LEFT([TXT],3) > '830')                             

		
   END

   
   IF LEFT(@vcCodeForm, 7) IN ('0503769')
   BEGIN      
      SELECT @iTB_01 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=01'
      
      SELECT @iTB_02 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=02'

      SELECT @iTB_03 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=03'

      SELECT @iTB_04 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=04'
      
      SELECT @iTB_05 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=05'

       
   
      UPDATE #FileExportReport
      SET [TXT] = '10|000|00000000000000|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            LEFT([TXT],8) <>'88888888' AND SUBSTRING([TXT],4,5)<>'00000' -- Не итоговые строки 

      UPDATE #FileExportReport
      SET [TXT] = '20|***|**************|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            LEFT([TXT],8) <>'88888888' AND SUBSTRING([TXT],4,5)='00000' AND -- Не итоговые строки 
            LEFT([TXT],5) NOT IN ('21000','30400')


-- Хитропопые изменения с 210 и 304 счетом.
      DELETE #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
             LEFT([TXT],5) IN ('21000','30400')

      UPDATE #FileExportReport
      SET [TXT] = [TXT] +  '<LN>20|***|**************|' + SUBSTRING([TXT],23,8000)
      WHERE ([TXT] LIKE '10|000|00000000000000|_|21001|%' OR 
             [TXT] LIKE '10|000|00000000000000|_|30402|%' OR
             [TXT] LIKE '10|000|00000000000000|_|30403|%' OR
             [TXT] LIKE '10|000|00000000000000|_|30404|%') AND
            [ORDERS] BETWEEN @iTB_01 AND @iTB_02
      
      UPDATE #FileExportReport
      SET [TXT] = '50|***|**************|*|*****|***|'+SUBSTRING([TXT],10,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            LEFT([TXT],8) = '88888888' -- Всего
            
      UPDATE #FileExportReport
      SET [TXT] = '30|***|**************|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_02 AND @iTB_03 AND
            LEFT([TXT],8) <>'88888888' AND SUBSTRING([TXT],4,5)='00000' -- Итого по коду счета. Крупные сделки

      UPDATE #FileExportReport
      SET [TXT] = '60|***|**************|*|*****|***|'+SUBSTRING([TXT],10,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_02 AND @iTB_03 AND
            LEFT([TXT],8) = '88888888' -- Всего, в том числе: крупные сделки

      UPDATE #FileExportReport
      SET [TXT] = '40|***|**************|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_03 AND @iTB_04 AND
            LEFT([TXT],8) <>'88888888' AND SUBSTRING([TXT],4,5)='00000' -- Итого по коду счета. Крупные сделки

      UPDATE #FileExportReport
      SET [TXT] = '70|***|**************|*|*****|***|'+SUBSTRING([TXT],10,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_03 AND @iTB_04 AND
            LEFT([TXT],8) = '88888888' -- Всего, в том числе: крупные сделки


      DELETE #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_02-2 AND @iTB_02+1 OR
            [ORDERS] BETWEEN @iTB_03-2 AND @iTB_03+1
 
            
      UPDATE #FileExportReport
      SET [TXT] = 'ТБ=02'
      WHERE [ORDERS] = @iTB_04

      UPDATE #FileExportReport
      SET [TXT] = '000|00000000000000|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,3)+'|'+
                  dbo.[RA_GETWORDNUM]([TXT],3,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],4,'|')+'|'+
                  dbo.[RA_GETWORDNUM]([TXT],2,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],5,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],6,'|')+'|'
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] > @iTB_04 AND [ORDERS]  < @iTB_05
            
  
      UPDATE #FileExportReport
      SET [TXT] = 'ТБ=03'
      WHERE [ORDERS] = @iTB_05
/*           
      UPDATE #FileExportReport
      SET TXT = LEFT(TXT,22) + @vcVidFO + '|' +  REPLACE(SUBSTRING(TXT,23, 8000), '|0000|', '|****|')
      WHERE TXT LIKE '%|%|%' AND TXT NOT LIKE '%|88888|888%'
      
      DELETE #FileExportReport
      WHERE TXT LIKE '%|88888|888%'
            AND orders > (SELECT MAX(orders) FROM #FileExportReport WHERE TXT = 'ТБ=02')
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE TXT = 'ТБ=04')

      -- удаление строк итого по счету
   --    DELETE #FileExportReport
   --    WHERE LEFT(TXT,1)='2'


       UPDATE #FileExportReport
       SET TXT = REPLACE(REPLACE(REPLACE(TXT, '|88888|888', '|*|*****|***'), '|000|00000000000000|', '|***|**************|'),  '|0000|', '|****|')
       WHERE TXT LIKE '%|88888|888%'
      

       DELETE #FileExportReport
       WHERE TXT IN ('#', '#@', '#$', 'ТБ=02', 'ТБ=03', 'ТБ=04', 'ТБ=05')
           AND orders >= (SELECT MIN(orders) FROM #FileExportReport WHERE TXT = '#' AND orders > (SELECT MIN(orders) FROM #FileExportReport WHERE TXT = 'ТБ=01'))
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE TXT = '#&') - 1
*/            

      -- добавляем итогов по счету
      --INSERT #FileExportReport([TXT], 
						--	         [NAMEFILE], 
      --                        [NAMEFILEARH], [ORDERS])
      --SELECT '2'+SUBSTRING([txt],2,1)+'|***|**************|'+SUBSTRING(txt,23,17)+dbo.RN_GETWORDNUM([TXT],8,'|')+'|'+dbo.RN_GETWORDNUM([TXT],9,'|')+'|-|-|',
      -- [NAMEFILE], 
      -- [NAMEFILEARH],
      -- [ORDERS] 
      --FROM #FileExportReport
      --WHERE LEFT(TXT,1)='1'                                        
     

   END         

   IF LEFT(@vcCodeForm, 7) IN ('0503779')
   BEGIN
      UPDATE #FileExportReport
      SET TXT = REPLACE(TXT, '@a@', @vcVidFO)
      WHERE TXT LIKE '%|%' AND TXT NOT LIKE '88888888888888888888888888|%'
      
               

      UPDATE #FileExportReport
      SET TXT = REPLACE(TXT, '8|88888|888|', '*|*****|000|')
      WHERE TXT LIKE '8|88888|888|%'

      ---------------------------------------------
      -- объединение ксбу
      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = '#$')              
      ORDER BY orders                    

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT CASE WHEN LEFT([TXT], 12) LIKE '%|%'
                     THEN  LEFT([TXT], 12) +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],4, '|'))),20,2)) + '|' + 
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],5, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],6, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],7, '|'))),20,2)) + '|'
                     ELSE  
                        LEFT([TXT], 12)
                     END ,
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders > (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = 'ТБ=01')              
            AND orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] IN ('ТБ=02', 'ТБ=03', 'ТБ=04'))
      GROUP BY LEFT([TXT], 12),
               [NAMEFILE],
               [NAMEFILEARH]      
      ORDER BY MAX(ORDERS)                   

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT CASE WHEN LEFT([TXT], 12) LIKE '%|%'
                     THEN  LEFT([TXT], 12) +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],4, '|'))),20,2)) + '|' + 
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],5, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],6, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],7, '|'))),20,2)) + '|'
                     ELSE  
                        LEFT([TXT], 12)
                     END ,
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders >= (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = 'ТБ=02')              
            AND orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] IN ('ТБ=03', 'ТБ=04', '#&'))
      GROUP BY LEFT([TXT], 12),
               [NAMEFILE],
               [NAMEFILEARH]      
      ORDER BY MAX(ORDERS)      

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT CASE WHEN LEFT([TXT], 12) LIKE '%|%'
                     THEN  LEFT([TXT], 12) +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],4, '|'))),20,2)) + '|' + 
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],5, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],6, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],7, '|'))),20,2)) + '|'
                     ELSE  
                        LEFT([TXT], 12)
                     END ,
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders >= (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = 'ТБ=03')              
            AND orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] IN ( 'ТБ=04', '#&'))
      GROUP BY LEFT([TXT], 12),
               [NAMEFILE],
               [NAMEFILEARH]      
      ORDER BY MAX(ORDERS)

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT CASE WHEN LEFT([TXT], 12) LIKE '%|%'
                     THEN  LEFT([TXT], 12) +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],4, '|'))),20,2)) + '|' + 
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],5, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],6, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],7, '|'))),20,2)) + '|'
                     ELSE  
                        LEFT([TXT], 12)
                     END ,
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders >= (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = 'ТБ=04')              
            AND orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] IN ( '#&'))
      GROUP BY LEFT([TXT], 12),
               [NAMEFILE],
               [NAMEFILEARH]      
      ORDER BY MAX(ORDERS)

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders >= (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = '#&')              
      ORDER BY ORDERS
      
      TRUNCATE TABLE #FileExportReport
      
      INSERT #FileExportReport   ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH],
                              [ORDERS])
      SELECT [TXT],
            [NAMEFILE],
            [NAMEFILEARH],
            [ORDERS]                     
      FROM @tabFileExport
      ORDER BY [ORDERS]
   END       

   IF LEFT(@vcCodeForm, 7) IN ('0503772')
   BEGIN
      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  [TXT], 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders <= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$') 
      ORDER BY orders        

	  DECLARE @iOrder9 INT 
	  SELECT @iOrder9 = MAX(orders) FROM #FileExportReport WHERE [TXT] like '9|99999|999|%'

      --99999 может в форме не быть	
	  IF @iOrder9 IS NULL
		SELECT @iOrder9 = Min(orders) FROM #FileExportReport WHERE [TXT] ='#'


      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  [TXT], 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders > (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$')
            AND TXT NOT LIKE '0|00011|000|%'
            AND TXT NOT LIKE '8|88888|888|%'
AND orders <= @iOrder9
      ORDER BY orders
		
      UPDATE   @tabFileExport
      SET TXT = '000|0000|0000000|000|' + TXT
      WHERE TXT LIKE '%|%'

     
      UPDATE @tabFileExport
      SET TXT = REPLACE(REPLACE(REPLACE(TXT, '000|0000|0000000|000|', '***|****|*******|***|'), '|000|', '|***|'), '9|99999|999|', '*|*****|***|')
      WHERE RTRIM(TXT) LIKE '%|-|-|-|-|-|' AND SUBSTRING(TXT, 30, 3) in ('***', '999')

      
      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  TOP 1 '#<LN>#@<LN>ТБ=02<LN>#$<LN>#<LN>#@<LN>ТБ=03<LN>#$', 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport              

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  REPLACE([TXT], '0|00011|000|', '11|'), 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders > (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$')
            AND TXT LIKE '0|00011|000|%'  
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')  
      ORDER BY orders  

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  REPLACE([TXT], '0|00011|000|', '**|'), 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders > (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$')
            AND TXT LIKE '0|00011|000|%'  
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')  
      ORDER BY orders  
      

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  TOP 1 '#<LN>#@<LN>ТБ=04<LN>#$', 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport     

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  '***|**************|' + REPLACE([TXT], '8|88888|888|', '*|*****|***|'), 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders > (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$')
            AND TXT LIKE '8|88888|888|%'  
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')  
      ORDER BY orders 

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  TOP 1 '#', 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport


      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  [TXT], 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders >= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')  
      ORDER BY orders
      
      TRUNCATE TABLE #FileExportReport
      
      INSERT #FileExportReport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH], [ORDERS])
      SELECT  [TXT], 
		        [NAMEFILE], 
              [NAMEFILEARH],
              [ORDERS]
      FROM @tabFileExport
      ORDER BY orders


   END 

   IF LEFT(@vcCodeForm, 7) IN ('0503725')
   BEGIN
      INSERT @tabLSF([LINK_SAVED_FORM])
      SELECT [LINK]
      FROM dbo.[BufferGetTableByID]('REPORT_ATR_EXPORT')

      EXEC dbo.[BufferClear] 'REPORT_ATR_EXPORT'      
      
      IF ISNULL((SELECT COUNT(*) FROM @tabLSF),0) = 0
      BEGIN
         CREATE TABLE #tabLSF([ATR]             VARCHAR(8000),
                              [LINK_SAVED_FORM] INT)
         
         INSERT #tabLSF([ATR],
                        [LINK_SAVED_FORM])
         EXEC dbo.[RA_EXPORT_FORM_LIST_ATR] @iLINK_SAVED_FORM
         
         INSERT @tabLSF([LINK_SAVED_FORM])
         SELECT [LINK_SAVED_FORM]
         FROM #tabLSF
         
         DROP TABLE #tabLSF
      END 

      SET @vcVidFO = LEFT(isnull(dbo.RN_GET_ATR_VALUE(@iLINK_SAVED_FORM,'REPORTS_ATR_ACC_725'),''),1)
      SET @vcPostFix = CASE @vcVidFO WHEN '2' THEN 'd'
                                    WHEN '3' THEN 't'
                                    WHEN '4' THEN 'z'
                                    WHEN '5' THEN 'c'
                                    WHEN '6' THEN 'i'
                                    WHEN '7' THEN 'm'
                                    ELSE '' END
                                    
      SELECT @vcFILE_NAME1 = REPLACE(@vcFILE_NAME, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
            @vcNameFileArh1 = REPLACE(@vcNameFileArh, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
            @vcExportCode = RTRIM(rf.[ExportCode])
      FROM dbo.[REPORT_SAVED_FORMS] rsf
            JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
      WHERE rsf.[Link_Saved_Form] =  @iLINK_SAVED_FORM                                       



      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  [TXT], 
		        @vcFILE_NAME1, 
              @vcNameFileArh1
      FROM #FileExportReport
      WHERE orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&') 
      ORDER BY orders       
      
      UPDATE @tabFileExport
      SET [TXT] = REPLACE([TXT], @vcExportCode, @vcExportCode + @vcPostFix)
      WHERE TXT LIKE 'КОДФ=%'      
      
      
      DECLARE curLSF CURSOR LOCAL STATIC FOR
	      SELECT [LINK_SAVED_FORM]
	      FROM @tabLSF
         WHERE [LINK_SAVED_FORM] <> @iLINK_SAVED_FORM
      OPEN curLSF

      FETCH NEXT FROM curLSF INTO @iLSF
      WHILE @@FETCH_STATUS = 0
      BEGIN
         TRUNCATE TABLE #FileExportReport
         EXEC dbo.[RA_EXPORT_FORM_STANDART] @iLSF,
                                   @vcFILE_NAME OUTPUT,
                                   @iMODE 

         SET @vcVidFO = LEFT(isnull(dbo.RN_GET_ATR_VALUE(@iLSF,'REPORTS_ATR_ACC_725'),''),1)
         SET @vcPostFix = CASE @vcVidFO WHEN '2' THEN 'd'
                                       WHEN '3' THEN 't'
                                       WHEN '4' THEN 'z'
                                       WHEN '5' THEN 'c'
                                       WHEN '6' THEN 'i'
                                       WHEN '7' THEN 'm'
                                       ELSE '' END
                                       
         SELECT @vcFILE_NAME1 = REPLACE(@vcFILE_NAME, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
               @vcNameFileArh1 = REPLACE(@vcNameFileArh, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
               @vcExportCode = RTRIM(rf.[ExportCode])
         FROM dbo.[REPORT_SAVED_FORMS] rsf
               JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
         WHERE rsf.[Link_Saved_Form] =  @iLSF                                      

         IF EXISTS(SELECT * FROM @tabFileExport WHERE [NAMEFILE] =  @vcFILE_NAME1)
         BEGIN                        
            INSERT @tabFileExport ([TXT], 
							               [NAMEFILE], 
                                    [NAMEFILEARH])
            SELECT TOP 1 '#%',@vcFILE_NAME1, 
                                    @vcNameFileArh1
            FROM #FileExportReport                                                                       
            
            INSERT @tabFileExport ([TXT], 
							               [NAMEFILE], 
                                    [NAMEFILEARH])
            SELECT  [TXT], 
		              @vcFILE_NAME1, 
                    @vcNameFileArh1
            FROM #FileExportReport
            WHERE orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')
                  and orders >= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] LIKE  'ОКАТО=%') 
            ORDER BY orders
         END
         ELSE BEGIN

            UPDATE #FileExportReport
            SET [TXT] = REPLACE([TXT], @vcExportCode, @vcExportCode + @vcPostFix)
            WHERE TXT LIKE 'КОДФ=%'      

            INSERT @tabFileExport ([TXT], 
							               [NAMEFILE], 
                                    [NAMEFILEARH])
            SELECT  [TXT], 
		              @vcFILE_NAME1, 
                    @vcNameFileArh1
            FROM #FileExportReport
            WHERE orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')
       ORDER BY orders
         END    
                    
                                   
         FETCH NEXT FROM curLSF INTO @iLSF
      END     

 --не работает в 2008      
--      INSERT @tabFileExport ([TXT], 
--						            [NAMEFILE], 
--                              [NAMEFILEARH])
--      SELECT  [TXT], 
--	           T.[NAMEFILE], 
--              T.[NAMEFILEARH]
--      FROM #FileExportReport
--            JOIN (SELECT DISTINCT [NAMEFILE], [NAMEFILEARH] from @tabFileExport) T ON 1=1
--      WHERE orders >= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')
--      ORDER BY orders
      
      DECLARE cur cursor LOCAL STATIC 
      FOR  SELECT DISTINCT [NAMEFILE], [NAMEFILEARH] from @tabFileExport
      
      OPEN cur
      FETCH NEXT FROM cur INTO @vcFILE_NAME1, @vcNameFileArh1
      
      WHILE @@FETCH_STATUS = 0
      BEGIN

         INSERT @tabFileExport ([TXT], 
						               [NAMEFILE], 
                                 [NAMEFILEARH])
         SELECT  [TXT], 
	              @vcFILE_NAME1, 
                 @vcNameFileArh1
         FROM #FileExportReport
         WHERE orders >= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')
         ORDER BY orders

         FETCH NEXT FROM cur INTO @vcFILE_NAME1, @vcNameFileArh1
      END            
      
      CLOSE cur
      DEALLOCATE cur 
     
      TRUNCATE TABLE  #FileExportReport   


      INSERT #FileExportReport ([TXT], 
						            [NAMEFILE], 
                              [NAMEFILEARH], [ORDERS])
      SELECT  [TXT], 
	           [NAMEFILE], 
              [NAMEFILEARH], [ORDERS]
      FROM @tabFileExport
      ORDER BY orders   
      
   END   

   UPDATE #FileExportReport
   SET [TXT] = REPLACE(TXT, '|0.00|', '|0|')
   WHERE [TXT] LIKE '%|0.00|%' 

   UPDATE #FileExportReport
   SET [TXT] = REPLACE(TXT, '|0.00|', '|0|')
   WHERE [TXT] LIKE '%|0.00|%' 

   UPDATE #FileExportReport
   SET [TXT] = 'Центр.бух.=' + ISNULL(@vcCB, '') +'<LN>Руководитель=' + isnull(@vcFIO, '') + '<LN>Должность=' + isnull(@vcPost, '') + '<LN>' + [TXT]
   WHERE TXT LIKE 'Исполнитель=%' 
         AND orders > (SELECT MAX(orders) FROM #FileExportReport WHERE TXT = '#&')    

       
END



GO


GRANT EXECUTE ON dbo.[RO_EXPORT_FORM_33] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_BOOK_AMORT1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_BOOK_AMORT1]

GO


CREATE      PROCEDURE dbo.BK_REPORT_BOOK_AMORT1
	@varKSnMonth1		INT			,
	@varKScYear1		VARCHAR (4)		,
	@varKScVal1	char(1), @varKSnOtborLink1	int,
	@dDATE_BEGIN		DATETIME	= NULL,
	@dDATE_END		DATETIME	= NULL,
	@intREPORT_BY_PERIOD	TINYINT		= 0,
	@intNO_AMORT	INT,
	@intSVOD_ZB INT,
	@cVal_KBK char(1), @nOtborLinkKBK int,		-- Отбор КБК --
	@intGRP_KBK	INT = 0,
	@intAMORT_ONLY_PER	INT = 0
--
AS
BEGIN

/*
SELECT
	intNO_AMORT = @intNO_AMORT,
	intSVOD_ZB = @intSVOD_ZB,
	intGRP_KBK	= @intGRP_KBK,
	intAMORT_ONLY_PER	= @intAMORT_ONLY_PER

RETURN
*/
--select 'start', convert (varchar (100), getdate (), 121)

	DECLARE
		@varKSDATE_BEGIN	DATETIME,	
		@varKSDATE_END		DATETIME,	
		@varKSDATE_REST		DATETIME,	
		@varKSLINK_DEP		INT		,
		@varKScNEXT_PERIOD	VARCHAR (10),
		@varKScBEGIN_PERIOD	VARCHAR (10),
		@varKScOtborAccount	VARCHAR (100),

		@varKSMonth		VARCHAR (20),
		@varKSP_CODE		VARCHAR (20),
		@varKSDEP_CODE		VARCHAR (20),
		@varKSDEP_NAME		VARCHAR (254),
		@varKSDEP_OKPO		VARCHAR (20),
		@varKSEMP_CODE		VARCHAR (20),
		@strGLBUH		VARCHAR (100),
		@varKSnSel_Spr1		INT,
		@varKSEMP_NAME		VARCHAR (254),
		@strDATE_END_PERIOD	VARCHAR (10),
		@intDEP_LINK	INT

	IF @intREPORT_BY_PERIOD = 0
	BEGIN
		SET @varKSDATE_BEGIN = dbo.DateBeginOfMonth (dbo.ConvertDMY2Date (1, @varKSnMonth1, CONVERT (INT, @varKScYear1)))
		SET @varKSDATE_END = dbo.DateEndOfMonth (@varKSDATE_BEGIN)
	END
	ELSE
	BEGIN
		SET @varKSDATE_BEGIN = @dDATE_BEGIN
		SET @varKSDATE_END = @dDATE_END
	END

	SET @strDATE_END_PERIOD	= CONVERT (VARCHAR (10), @varKSDATE_END, 104)
	SET @intNO_AMORT = ISNULL (@intNO_AMORT, 0)
	SET @intDEP_LINK = dbo.BK_GetDepZB () 

	DECLARE @ACCT_BALANSE TABLE (LINK_ACCT [INT],
					cSOURCE CHAR (1),
					cSINTH CHAR (3),
					cANALIT CHAR (2),
					cUSER VARCHAR (4))

	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT_BALANSE
		SELECT RECORD,
			SA.cSOURCE,
			SA.cSINTH,
			SA.cANALIT,
			SA.cUSER
		FROM dbo.OBJECT_VAR_ACCT OV_AC
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OV_AC.RECORD)
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT_BALANSE
		SELECT T1.LINK,
			T1.cSOURCE,
			T1.cSINTH,
			T1.cANALIT,
			T1.cUSER
		FROM dbo.BK_GetAcctTableByCode ('101', DEFAULT, DEFAULT, DEFAULT) T1
		UNION ALL
		SELECT T1.LINK,
			T1.cSOURCE,
			T1.cSINTH,
			T1.cANALIT,
			T1.cUSER
		FROM dbo.BK_GetAcctTableByCode ('102', DEFAULT, DEFAULT, DEFAULT) T1
		UNION ALL
		SELECT T1.LINK,
			T1.cSOURCE,
			T1.cSINTH,
			T1.cANALIT,
			T1.cUSER
		FROM dbo.BK_GetAcctTableByCode ('108', '01,02,03', DEFAULT, DEFAULT) T1
		UNION ALL
		SELECT T1.LINK,
			T1.cSOURCE,
			T1.cSINTH,
			T1.cANALIT,
			T1.cUSER
		FROM dbo.BK_GetAcctTableByCode ('108', '51,52,54', DEFAULT, DEFAULT) T1

	DECLARE @ACCT_AMORT TABLE (LINK_ACCT [INT],
					cSOURCE CHAR (1),
					cSINTH CHAR (3),
					cANALIT CHAR (2),
					cUSER VARCHAR (4))

	INSERT INTO @ACCT_AMORT
	SELECT
		T1.LINK,
		T1.cSOURCE,
		T1.cSINTH,
		T1.cANALIT,
		T1.cUSER
	FROM dbo.BK_GetAcctTableByCode ('104', DEFAULT, DEFAULT, DEFAULT) T1

	--- Отбор КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- Параметры организации --- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT
		@varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = [NAME],
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'

	SET @varKSDATE_REST = DATEADD (DAY, 1, @varKSDATE_END)

	DECLARE @BALANSE_OS TABLE (DEP [INT], ACCOUNT [INT], INV [INT], KBK INT,
		IN_QTY [NUMERIC] (28,4), IN_SUMMA [NUMERIC] (28,4),
		OUT_QTY [NUMERIC] (28,4), OUT_SUMMA [NUMERIC] (28,4))

	INSERT INTO @BALANSE_OS
	SELECT T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.KBK,
		SUM (T1.IN_QTY),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_QTY),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSDATE_BEGIN, @varKSDATE_END, @intDEP_LINK) T1
	INNER JOIN @ACCT_BALANSE T2 ON (T2.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T3 ON (T3.LINK_KBK = T1.KBK)
	WHERE @intSVOD_ZB = 1 
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSLINK_DEP)
	GROUP BY T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.KBK

--select '@BALANSE_OS', convert (varchar (100), getdate (), 121)


	DECLARE @AMORT_OS TABLE (ACCOUNT [INT], INV [INT], KBK INT, 
		cSOURCE CHAR (1), cSINTH CHAR (3), cANALIT CHAR (2), cUSER VARCHAR (4),
		IN_SUMMA [NUMERIC] (28,4), K_SUMMA [NUMERIC] (28,4),
		OUT_SUMMA [NUMERIC] (28,4))

	INSERT INTO @AMORT_OS
	SELECT T1.ACCOUNT,
		T1.INV,
		T1.KBK,
		T2.cSOURCE,
		T2.cSINTH,
		T2.cANALIT,
		T2.cUSER,
		SUM (ISNULL (T1.IN_SUMMA, 0)),
		SUM (ISNULL (T1.K_SUMMA, 0)),
		SUM (ISNULL (T1.OUT_SUMMA, 0))
	FROM dbo.BK_GetTableOSVByDate (@varKSDATE_BEGIN, @varKSDATE_END, @intDEP_LINK) T1
	INNER JOIN @ACCT_AMORT T2 ON (T2.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T3 ON (T3.LINK_KBK = T1.KBK)
--	WHERE T1.DEP_LINK = @varKSLINK_DEP
	WHERE @intSVOD_ZB = 1 
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSLINK_DEP)
	GROUP BY T1.ACCOUNT,
		T1.INV,
		T1.KBK,
		T2.cSOURCE,
		T2.cSINTH,
		T2.cANALIT,
		T2.cUSER
	HAVING	SUM (ISNULL (T1.IN_SUMMA, 0)) <> 0
		OR SUM (ISNULL (T1.K_SUMMA, 0)) <> 0
		OR SUM (ISNULL (T1.OUT_SUMMA, 0)) <> 0

--select '@AMORT_OS', convert (varchar (100), getdate (), 121)

	DECLARE @TABLE_DATE_OUT_OS TABLE (INV [INT], DATE_OUT [DATETIME])
	INSERT INTO @TABLE_DATE_OUT_OS
	SELECT INV,
		MAX (DATE_OPER)
	FROM dbo.BK_GetDateTableOutOS (DEFAULT , @varKSDATE_END)
	GROUP BY INV

--select '@TABLE_DATE_OUT_OS', convert (varchar (100), getdate (), 121)

	-- ОС, по которым начислялась амортизация за указанный период --
	SET @intAMORT_ONLY_PER = ISNULL (@intAMORT_ONLY_PER, 0)
--SELECT @varKSDATE_END,  * FROM @TABLE_DATE_OUT_OS

	DECLARE
		@TAB_RES TABLE (ACCOUNT [INT], INV [INT],
		ACCT_CODE [VARCHAR] (30),
		INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
		CODE_OKOF [varchar] (11), NAME_OKOF [varchar] (50),
		BEGIN_USED [VARCHAR] (10), 
		QTY [NUMERIC] (28,4), BALANSE [NUMERIC] (28,4),
		ASUM_PB [NUMERIC] (28,4), ASUM_P [NUMERIC] (28,4), ASUM_PE [NUMERIC] (28,4),
		LSUM_BE  [NUMERIC] (28,4), LSUM_PE  [NUMERIC] (28,4),
		PERC_RATE [NUMERIC] (10,2),
		DEP_NAME [VARCHAR] (254),
		GLBUH [VARCHAR] (100),
		MONTH_NAME [VARCHAR] (20),
		YEAR_NAME [INT],
		DATE1 [VARCHAR] (10),
		DATE2 [VARCHAR] (10),
		YPERC_RATE [FLOAT],
		YSUM_RATE  [NUMERIC] (28,4),
		MSUM_RATE  [NUMERIC] (28,4),
		ISPERIOD   [TINYINT],
		PERIOD_END [VARCHAR] (10),
		DATE_OUT [VARCHAR] (10),
		KBK_CODE VARCHAR (30))

	SET @varKSMonth = dbo.DateMonthName (@varKSnMonth1)
	SET @varKSMonth = ISNULL (@varKSMonth, '')

	SELECT @strGLBUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@varKSLINK_DEP, 'Главный бухгалтер')

	SET @intGRP_KBK = ISNULL (@intGRP_KBK, 0)


	INSERT INTO @TAB_RES
	SELECT
		T1.ACCOUNT,
		T1.INV,
		RTRIM (SA.CODE),
		ISNULL (INV.CODE, ''),
		ISNULL (INV.NAME, ''),
		ISNULL(INV_DOP.CODE_OKOF,''), 
		ISNULL(INV_DOP.NAME_OKOF,''),
		ISNULL (CONVERT (VARCHAR (10), INV_DOP.DATE_BEGIN, 104), ''),
		CASE
			WHEN T1.OUT_QTY > 0 THEN T1.OUT_QTY
			WHEN T1.IN_QTY > 0 THEN T1.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN T1.OUT_SUMMA > 0 THEN T1.OUT_SUMMA
			WHEN T1.IN_SUMMA > 0 THEN T1.IN_SUMMA
			ELSE 0
		END,
		ISNULL (T2.IN_SUMMA, 0),
		ISNULL (T2.K_SUMMA, 0),
		ISNULL (T2.OUT_SUMMA, 0),
		T1.IN_SUMMA - ISNULL (T2.IN_SUMMA, 0),
		T1.OUT_SUMMA - ISNULL (T2.OUT_SUMMA, 0),
		0,
		@varKSDEP_NAME,
		@strGLBUH,
		@varKSMonth,
		YEAR (@varKSDATE_BEGIN),
		CONVERT (VARCHAR (10), @varKSDATE_BEGIN, 104),
		CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSDATE_END), 104),
/*		ISNULL (INV_DOP.DEPRE_RATE, CASE
						WHEN ISNULL (INV_DOP.PERIOD_USED, 0) <> 0
						THEN 100 / INV_DOP.PERIOD_USED
						ELSE 0
					END),
*/		ISNULL (NORM_D.DEPRE_RATE, 0),
		0, 0,
		@intREPORT_BY_PERIOD,
		@strDATE_END_PERIOD,
		ISNULL (CONVERT (VARCHAR (10), DATE_OUT, 104), ''),
		ISNULL (K.CODE, '')
	FROM @BALANSE_OS T1
--	INNER JOIN @AMORT_OS T2 ON (T2.INV = T1.INV)
	INNER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = T1.INV)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT OUTER JOIN @AMORT_OS T2 ON (T2.INV = T1.INV
				 AND T2.cSOURCE = SA.cSOURCE)
	LEFT OUTER JOIN dbo.BV_INVENTORY_CARD_DOP INV_DOP ON (INV_DOP.LINK_UP = T1.INV)
	LEFT OUTER JOIN @TABLE_DATE_OUT_OS OUT_OS ON (OUT_OS.INV = T1.INV)
	LEFT OUTER JOIN dbo.BK_GetNormDepreTableByOS (DEFAULT) NORM_D ON (NORM_D.INV = T1.INV)
	LEFT JOIN dbo.KL_KBK K ON (@intGRP_KBK = 1 AND K.LINK = T1.KBK)
	WHERE 
		(@intAMORT_ONLY_PER = 0 
			OR @intAMORT_ONLY_PER = 1 AND ISNULL (T2.K_SUMMA, 0) <> 0)
		AND (@intNO_AMORT = 0 AND T2.INV = T1.INV
			OR @intNO_AMORT = 1)


	UPDATE @TAB_RES SET PERC_RATE = ASUM_PE / BALANSE * 100
	WHERE BALANSE <> 0
	
	UPDATE @TAB_RES SET YSUM_RATE = BALANSE * YPERC_RATE /100
	UPDATE @TAB_RES SET MSUM_RATE = YSUM_RATE / 12

--select '@TAB_RES', convert (varchar (100), getdate (), 121)				

	SELECT * FROM @TAB_RES ORDER BY KBK_CODE, ACCT_CODE, RIGHT ('00000000000000000000' + INV_CODE, 20)

--select 'end', convert (varchar (100), getdate (), 121)
	
END







GO


GRANT EXECUTE ON dbo.[BK_REPORT_BOOK_AMORT1] TO PUBLIC

GO




GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KU_EMPL_LITE_SAVE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[KU_EMPL_LITE_SAVE]

GO


/*
© Кейсистемс (Keysystems), 2005
*/
CREATE          PROCEDURE [dbo].KU_EMPL_LITE_SAVE
	@parLINK	int	OUTPUT,
	@parTAB		varchar(10),
	@parPERS_LINK	int,
	@parSUBDIV_LINK	int,
	@parPOST_LINK	int,
	@parNUM_STAKE	numeric(5, 2) = 1,
	@parSTATUS	int = 1,
	@parDATE_BEGIN	datetime = null,
	@parOKLAD	numeric(10, 2) = 0.01,
	@parNOTWORK	tinyint = null
AS
DECLARE @trancount int, @SQLError int, @RowCount int, @comment varchar(254), @EventText varchar(254), @ObjectLink int,
	@DEP_LINK int, @order_link int, @WorkDate datetime, @staff_head int, @staff_link int, @move_link int

SET @trancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN
	
	IF @parPERS_LINK is null or @parSUBDIV_LINK is null or @parPOST_LINK is null
	BEGIN
		ROLLBACK
		RETURN 5
	END   

	IF @parOKLAD is null or @parOKLAD=0 SET @parOKLAD = 0.01

	SELECT @WorkDate = workdate FROM user_info
	SELECT @DEP_LINK = zb_link FROM ks_options_zb

	SET @parDATE_BEGIN = isnull(@parDATE_BEGIN, @WorkDate)
	
	SELECT @staff_head=link_up, @staff_link=link FROM staff WHERE subdiv_link=@parSUBDIV_LINK and post_link=@parPOST_LINK
		and link_up in (SELECT link FROM staff_head WHERE dep_link=@DEP_LINK)
	IF @@rowcount=0 BEGIN

		INSERT INTO staff_head (dep_link) VALUES (@DEP_LINK)
		SELECT @SQLError = @@ERROR, @staff_head = @@IDENTITY
		IF @SQLError <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END

		INSERT INTO staff (link_up, subdiv_link, post_link, oklad, num_stake, date_begin, date_end)
			VALUES (@staff_head, @parSUBDIV_LINK, @parPOST_LINK, @parOKLAD, @parNUM_STAKE, @parDATE_BEGIN, '99991231')
		IF @@Error <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
	ELSE
		UPDATE staff SET date_begin=@parDATE_BEGIN WHERE link=@staff_link and date_begin>@parDATE_BEGIN
	END
	
	IF @parLINK is null OR @parLINK = 0
	BEGIN
		INSERT INTO empl (pers_link, dep_link, tab)
			VALUES (@parPERS_LINK, @DEP_LINK, @parTAB)
		SELECT @SQLError = @@ERROR, @parLINK = @@IDENTITY
		IF @SQLError <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END

	END

	SELECT @move_link = link FROM item_move WHERE active=1 and empl_link=@parLINK and @WorkDate between date_begin and date_end
	IF @@rowcount=0 BEGIN

		INSERT INTO orders (type, number, date, status, dep_link)
			VALUES (1, 'без №', @parDATE_BEGIN, 1, @DEP_LINK)
		SELECT @SQLError = @@ERROR, @order_link = @@IDENTITY
		IF @SQLError <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END

		INSERT INTO item_move (new_face, empl_link, staff_link, num_stake, status, date_begin, date_end, order_link, active)
			VALUES (1, @parLINK, @staff_head, @parNUM_STAKE, @parSTATUS, @parDATE_BEGIN, '99991231', @order_link, 1)
		IF @@ERROR <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
	END ELSE BEGIN
	
		UPDATE item_move SET active = 0 WHERE link=@move_link
		UPDATE item_move SET staff_link = @staff_head, num_stake = @parNUM_STAKE, status = @parSTATUS WHERE link=@move_link
		UPDATE item_move SET active = 1 WHERE link=@move_link
	END

	exec ku_adjust_moves @parLINK
	exec ku_adjust_staff @staff_head

	UPDATE empl SET tab=@parTAB,notwork = @parNOTWORK WHERE link=@parLINK
			
	SELECT @ObjectLink = link FROM s_objects WHERE code='KU_EMPL_PLACING'
	SET @EventText = 'Список сотрудников ' + dbo.ku_GetEmplTFIO(@parLINK)
	EXECUTE WF_GENERATEEVENT 'Сохранение строки', @EventText, @ObjectLink, 'EMPL', @parLINK

IF @@TRANCOUNT > @trancount
	COMMIT TRAN
RETURN 0





GO


GRANT EXECUTE ON dbo.[KU_EMPL_LITE_SAVE] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RA_EXPORT_FORM_STANDART]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RA_EXPORT_FORM_STANDART]

GO

CREATE PROCEDURE [dbo].[RA_EXPORT_FORM_STANDART]
	@iLINK_SAVED_FORM  INT,	                   -- Линк выгружаемой формы
	@vcFILE_NAME	   VARCHAR(100)='' OUTPUT, -- Имя текстового файла
	@iMODE	           INT=1,                  -- Формат: 1-внутренний, 2-минфиновский	
    @vcFILE_NAME_ARH   VARCHAR(100)='' OUTPUT
	--@bSvodWEB         BIT = 0     -- 1 - выгрузка из Свода-WEB, 0 - из Свода-КС.
AS

SET NOCOUNT ON

CREATE TABLE #IMPORT_TABLE([TXT]   VARCHAR(8000), 
                           [ORDER] INT IDENTITY(1, 1))	   

CREATE TABLE #REPORT_DINAMICS([LINK_SF]   INT,
                              [LINK_COL]  INT,
                              [CODE_ROW]  VARCHAR(100),
                              [FLOAT_VAL] NUMERIC(20,4),
                              [STR_VAL]   VARCHAR(8000))

CREATE TABLE #REPORT_SUMMA([LINK_SAVED_FORM] INT,
                           [LINK_COL]        INT,
                           [LINK_ROW]        INT,
                           [SUMMA]           FLOAT(53))

CREATE TABLE #tabExportForms([LINK_SAVED_FORM] INT)

DECLARE @vcVersion       VARCHAR(50),
        @lbIsEmpty       BIT,
        @lcEXPORT_CODE   CHAR(10),
        @lcFORM_CODE     CHAR(20),
        @liFORM_LINK     INT, 
        @lvcPARAM_EXPORT VARCHAR(8000), 
        @ldBEGIN_DATE    DATETIME,
        @ldSTART_DATE    DATETIME,  
        @lvcOUTCODE      VARCHAR(10),
        @lvcDEP_BUDG     VARCHAR(10),
        @lvcDEP_NAME     VARCHAR(254),   
        @lsVERSION       SMALLINT,
        @lvcOKATO        VARCHAR(20),
           
        @liError           INT, 
        @lvcTXT            VARCHAR(8000), 
        @lvcExecTable      VARCHAR(8000), 
        @liORDERS          INT, 
		  @lvcORDERS			VARCHAR(50),
        @lvcTXTDataNotNull VARCHAR(4000),

        @liDEP_LINK	         INT,
        @liDEP_LINK_OWN       INT,
        @liTABLE_LINK	      INT,
        @liTABLE_ORDER	      INT,
        @liTABLE_VAL_TYPE	   INT,
        @liLINK_CODE_COL	   INT,
        @ltORDER_CODE_COL	   INT,
        @liCOL_LINK	         INT,
        @liCOL_TYPE	         INT,
        @liCOL_VAL_LEN        INT,
        @ltCOL_ISEDITED       TINYINT,
        @ltCOL_ISEXPORTED     TINYINT,
        @ltPERIOD_TYPE        TINYINT,
        @lvcDICTIONARY_COLUMNS_LIST VARCHAR(250),

        @lvcExec	            VARCHAR(8000),
        @lvcVersion           VARCHAR(50),

        @lvcATRIBUTS     VARCHAR(8000),
        @lvcATR          VARCHAR(8000),
        @liPosition      INT,
		  @lvcUpdateSelect VARCHAR(8000),
        @tVersionPlace   TINYINT,

        @bIsFormUnion    BIT,
        @vcBOSS          VARCHAR(1000),
          @vcBUH VARCHAR(1000),
          @vcISP VARCHAR(1000),
          @vcTel VARCHAR(1000)
        
IF OBJECT_ID('tempdb..#tabExportOutput') IS NOT NULL
BEGIN
   SELECT @vcVersion = [VERSION]
   FROM #tabExportOutput 
END

SET @bIsFormUnion = 0

IF @iLINK_SAVED_FORM = 0
BEGIN
	RETURN 2 -- Максимальное обрабатываемое Число способов выгрузки
END

-- Удалить запрещенные ячейки из формы.
DELETE [A]
FROM dbo.[REPORT_SUMMA]	  [A]
JOIN dbo.[REPORT_FORMULA] [B] ON [A].[LINK_COL]=[B].[LINK_COL] AND 
											[A].[LINK_ROW]=[B].[LINK_ROW]
WHERE [A].[LINK_SAVED_FORM] = @iLINK_SAVED_FORM AND
		[B].[FORMULA]='ЗАПРЕТ()'

SELECT @liFORM_LINK          = [B].[LINK_FORM],
       @ldSTART_DATE         = [B].[START_DATE],
       @lvcPARAM_EXPORT      = [B].[PARAM_EXPORT],
       @lcFORM_CODE          = [B].[CODE],
       @lcEXPORT_CODE        = [B].[ExportCode],
       @ltPERIOD_TYPE        = [A].[PERIOD_TYPE],
       @liDEP_LINK           = [A].[LINK_ORGANIZATION],
       @lvcDEP_BUDG          = [D].[BUDG],
       @lvcDEP_NAME          = [D].[NAME],
       @ldBEGIN_DATE         = [A].[BEGIN_DATE],
       @lvcOUTCODE            = ISNULL(CASE 
                                         WHEN [C].[OUTCODE] IS NULL THEN 
                                            (SELECT [OUTCODE]
                                             FROM dbo.[RA_VIEW_EMPTY_BUDGET])
                                         ELSE [C].[OUTCODE]
                                      END,'--'),
       @lvcATRIBUTS          = [ATRIBUTS],
       @lsVERSION            = [A].[VERSION] + 1
FROM dbo.[REPORT_SAVED_FORMS] [A]
JOIN dbo.[REPORT_FORMS]       [B] ON [A].[LINK_FORM] = [B].[LINK_FORM]
LEFT JOIN dbo.[KL_BUDG_TYPE]  [C] ON [A].[LINK_TYPE_SVOD] = [C].[LINK]
LEFT JOIN dbo.[DEPARTMENTS]   [D] ON [A].[LINK_ORGANIZATION] = [D].[LINK]
WHERE [A].[LINK_SAVED_FORM] = @iLINK_SAVED_FORM



IF @lcEXPORT_CODE IN ('624', '625')
BEGIN
   SET @tVersionPlace = 1
END
ELSE BEGIN
   SET @tVersionPlace = 2
END

IF @vcVersion IS NOT NULL
BEGIN
   IF dbo.[RA_ISNUMERIC](REPLACE(@vcVersion,'.','')) = 1
   BEGIN
      SET @lsVersion = CAST(@vcVersion AS INT)
   END
END

IF @lcEXPORT_CODE = '484' and @iMODE = 2
BEGIN
   INSERT #tabExportForms([LINK_SAVED_FORM])
   SELECT [LINK]
   FROM dbo.[BufferGetTableByID]('REPORT_ATR_EXPORT')

   IF @@ROWCOUNT = 0
   BEGIN
      INSERT #tabExportForms([LINK_SAVED_FORM]) VALUES (@iLINK_SAVED_FORM)
   END

   SET @bIsFormUnion = 1   

   INSERT #REPORT_DINAMICS([LINK_SF],
                           [LINK_COL],
                           [CODE_ROW],
                           [FLOAT_VAL],
                           [STR_VAL])

   SELECT @iLINK_SAVED_FORM,
          [A].[LINK_COL],
          [A].[CODE_ROW] + [B].[ADM],
          [A].[FLOAT_VAL],
          [A].[STR_VAL]
   FROM dbo.[REPORT_DINAMICS] [A]
   JOIN (SELECT [LINK_SAVED_FORM],
                [ADM] = RTRIM(dbo.[RN_GET_ATR_VALUE]([LINK_SAVED_FORM],'REPORTS_ATR_ADM'))
         FROM #tabExportForms) [B] ON [A].[LINK_SF] = [B].[LINK_SAVED_FORM]

   INSERT #REPORT_DINAMICS([LINK_SF],
                           [LINK_COL],
                           [CODE_ROW],
                           [FLOAT_VAL],
                           [STR_VAL])
   SELECT @iLINK_SAVED_FORM,
          [A].[LINK_COL],
          [A].[CODE_ROW] + '***',
          SUM([A].[FLOAT_VAL]),
          MAX([A].[STR_VAL])
   FROM dbo.[REPORT_DINAMICS] [A]
   JOIN #tabExportForms       [B] ON [A].[LINK_SF] = [B].[LINK_SAVED_FORM]
   WHERE [A].[CODE_ROW] IN ('85000000000000000','52001000000000000000')
   GROUP BY [A].[LINK_SF],
            [A].[LINK_COL],
            [A].[CODE_ROW]

   DELETE #REPORT_DINAMICS
   WHERE (LEFT([CODE_ROW],17) = '85000000000000000' AND SUBSTRING([CODE_ROW],18,3)<>'***') OR
         (LEFT([CODE_ROW],20) = '52001000000000000000' AND SUBSTRING([CODE_ROW],21,3)<>'***')

   INSERT #REPORT_SUMMA([LINK_SAVED_FORM],
                        [LINK_COL],
                        [LINK_ROW],
                        [SUMMA])
   SELECT @iLINK_SAVED_FORM,          
          [A].[LINK_COL],
          [A].[LINK_ROW],
          SUM([A].[SUMMA])
   FROM dbo.[REPORT_SUMMA] [A]
   JOIN #tabExportForms    [B] ON [A].[LINK_SAVED_FORM] = [B].[LINK_SAVED_FORM]
   GROUP BY [A].[LINK_COL],
            [A].[LINK_ROW]
END

SET @vcFILE_NAME = UPPER(CASE @iMODE
                      WHEN 2 THEN LTRIM(RTRIM(CASE 
                                                 WHEN @lcEXPORT_CODE = '' THEN @lcFORM_CODE
                                                 ELSE @lcEXPORT_CODE
                                              END)) + 
                                  CASE @ltPERIOD_TYPE
                                     WHEN 1 THEN 'Y' 
                                     WHEN 2 THEN 'M' --'Q' 
                                     ELSE 'M' 
                                  END + 
                                  REPLICATE('0',@tVersionPlace - LEN(RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), @tVersionPlace))) + RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), 2) 
                      ELSE RTRIM(ISNULL((SELECT [BUDG] 
                                         FROM dbo.[DEPARTMENTS] 
WHERE [LINK] = @liDEP_LINK),'00000')) + 
                           '_' +
                           RTRIM(@lvcOUTCODE) +
                           '_' +
                           LTRIM(RTRIM(@lcFORM_CODE)) 
                   END) +
                   '.txt'


IF @lcEXPORT_CODE IN ('624', '625')
BEGIN 
   SET @vcFILE_NAME_ARH = '4'+ 
                          ISNULL(RTRIM(REPLICATE('0',3 - LEN(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')))),'') +  
                          LTRIM(RIGHT(RTRIM(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')),3)) + 
                          RIGHT(CAST(YEAR(@ldBEGIN_DATE) AS VARCHAR(4)),1) +
                          RIGHT(RTRIM(CONVERT(CHAR(1), @lsVERSION)), 2) +
                          '.arj'
END
ELSE BEGIN   
   IF @lcEXPORT_CODE IN ('371','372','360')
   BEGIN
      SET @vcFILE_NAME_ARH = ISNULL(RTRIM(REPLICATE('0',CASE 
                                                           WHEN @lcEXPORT_CODE IN ('371', '372') THEN 3
                                                           ELSE 4
                                                        END - LEN(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')))),'') +  
                             LTRIM(RIGHT(RTRIM(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')),4)) + '_' +
                             RTRIM(REPLACE(CONVERT(VARCHAR(50),@ldBEGIN_DATE+1,4),'.','')) + '_' + 
                             RTRIM(RTRIM(CASE 
                                            WHEN @lcEXPORT_CODE = '' THEN @lcFORM_CODE
                                            ELSE @lcEXPORT_CODE
                                         END)) + '_' + 
                             CASE @ltPERIOD_TYPE
                                WHEN 1 THEN 'Y'
                                WHEN 2 THEN 'M' --'Q' 
                                ELSE 'M'
                             END + '_F_' + 
                             REPLICATE('0',@tVersionPlace - LEN(RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), @tVersionPlace))) + RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), 2) +
                             '.arj'
   END
   ELSE BEGIN
      SET @vcFILE_NAME_ARH = ISNULL(RTRIM(REPLICATE('0',4 - LEN(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')))),'') +  
                             LTRIM(RIGHT(RTRIM(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')),4)) + '_' +
                             RTRIM(REPLACE(CONVERT(VARCHAR(50),@ldBEGIN_DATE+1,4),'.','')) + '_' + 
                             RTRIM(RTRIM(CASE 
                                            WHEN @lcEXPORT_CODE = '' THEN @lcFORM_CODE
                                            ELSE @lcEXPORT_CODE
                                         END)) + '_' + 
                             CASE @ltPERIOD_TYPE
                                WHEN 1 THEN 'Y'
                                WHEN 2 THEN 'M' --'Q' 
                                ELSE 'M'
                             END + '_' + 
                             REPLICATE('0',@tVersionPlace - LEN(RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), @tVersionPlace))) + RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), 2) +
                             '.arj'
   END
END

EXEC dbo.[ВЕРСИЯ] @lvcVersion OUTPUT, 0

IF @lvcVersion IS NULL
BEGIN
   SET @lvcVersion = ''
END

-- Шапка внутреннего формата.
IF @iMode = 1
BEGIN
	INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcDEP_NAME)
	
	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ВФ=0'
	
   INSERT #IMPORT_TABLE([TXT])
	SELECT 'ПО=Свод-КС ' + REPLACE(REPLACE(@lvcVersion,'Версия',''),' ','')

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'КБП=' + @lvcDEP_BUDG

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ВБ=' + RTRIM(@lvcOUTCODE)

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'КФ=' + @lcFORM_CODE
	
	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ПРД=' + LTRIM(STR(@ltPERIOD_TYPE))
	
	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ДФ=' + CONVERT(CHAR(10), @ldSTART_DATE, 104) 
	
	INSERT #IMPORT_TABLE
	SELECT 'ДТ=' + CONVERT(CHAR(10), @ldBEGIN_DATE + 1, 104) 

	IF NULLIF(@lvcATRIBUTS,'') IS NOT NULL
	BEGIN
		INSERT #IMPORT_TABLE([TXT]) VALUES ('РА=0')

		WHILE @lvcATRIBUTS<>''
		BEGIN
			SET @liPosition = PATINDEX('%,%',@lvcATRIBUTS)

			IF @liPosition = 0
			BEGIN
			SET @liPosition = LEN(@lvcATRIBUTS) + 1
			END

			SET @lvcATR = LEFT(@lvcATRIBUTS,@liPosition-1)
			SET @lvcATRIBUTS = SUBSTRING(@lvcATRIBUTS,@liPosition+1,8000)
			SET @lvcTXT = @lvcATR + '=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,@lvcATR)
			INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcTXT)         
		END
	END
END

-- Шапка формата МФ.
IF @iMode = 2
BEGIN
		
   IF OBJECT_ID('tempdb..#tabPARAM_EXPORT') IS NULL
   BEGIN
      CREATE TABLE  #tabPARAM_EXPORT ([TXT]         VARCHAR(1000), 
                                      [TABLE_ORDER] INT IDENTITY(1,1))
	   WHILE LEN(@lvcPARAM_EXPORT) > 0
	   BEGIN
	   
			
		   EXEC dbo.[RO_FORMULA_FUNCTIONS] 1, 
										           @lvcPARAM_EXPORT OUTPUT, 
										           @lvcTXT OUTPUT, 
										           '#'
		   INSERT #tabPARAM_EXPORT([TXT]) VALUES (@lvcTXT)
		   
      END
   END

	INSERT #IMPORT_TABLE([TXT]) VALUES ('#%')

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'КОДФ=' + CASE @lcEXPORT_CODE
					   WHEN '' THEN @lcFORM_CODE
					   ELSE @lcEXPORT_CODE
					END   

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ПРД=' + CASE @ltPERIOD_TYPE
					   WHEN 1 THEN '5' -- Год.
					   WHEN 2 THEN '3' -- '4' -- Квартал. 
					   ELSE '3'        -- Месяц.
				   END

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'РДТ=' + CONVERT(CHAR(10), @ldBEGIN_DATE + 1, 104) 

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ВИД=' + RTRIM(@lvcOUTCODE)

   IF	(@lcFORM_CODE LIKE '05037%' OR 
       @lcFORM_CODE LIKE '05033%' OR 
       @lcFORM_CODE LIKE '425%' OR 
       @lcFORM_CODE LIKE '410G%') AND LEN(@lvcDEP_BUDG) = 2
   BEGIN
      SET @lvcDEP_BUDG = '0' + LTRIM(@lvcDEP_BUDG)
   END

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ИСТ=' + @lvcDEP_BUDG

	IF @lcFORM_CODE IN ('0503127M','0503127G','(72н)0503125','(72н)0503125М','(72н)425','425G','425M','(72н)425M','0503125G','0503125M','0503178G_Б','0503178M_Б', '0503725G', '0503725M')
	BEGIN	
	   IF	@lcFORM_CODE IN ('0503127M','0503127G','0503125G','0503125M','0503178G_Б','0503178M_Б')
	   BEGIN
     		INSERT #IMPORT_TABLE([TXT])
	   	SELECT 'ПРП=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,'REPORTS_ATR_PRP')
	   END
	
	   IF	@lcFORM_CODE NOT IN ('0503127M','0503127G','0503178G_Б','0503178M_Б', '0503725G', '0503725M')
	   BEGIN
			if YEAR(@ldSTART_DATE) >=2011
			begin
   				INSERT #IMPORT_TABLE([TXT])
				SELECT 'КСБУ=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,'REPORTS_ATR_ACC_2011')	
			end
			else begin
   				INSERT #IMPORT_TABLE([TXT])
				SELECT 'КСБУ=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,'REPORTS_ATR_ACC')	
			end
		END

	   IF	@lcFORM_CODE IN ('0503725G','0503725M')
	   BEGIN
	      SET @lvcOKATO = ''
	   	
	   	SELECT @lvcOKATO = REPLACE(ISNULL(RTRIM([B].[OKATO]),''),' ','')
	      FROM dbo.[REPORT_SAVED_FORMS] [A]
	      JOIN dbo.[DEPARTMENTS]        [B] ON [B].[LINK] = [A].[LINK_ORGANIZATION] 	      
	      WHERE [A].[LINK_SAVED_FORM] = @iLINK_SAVED_FORM
	
     		INSERT #IMPORT_TABLE([TXT])
	   	SELECT 'ОКАТО=' + LEFT(@lvcOKATO,8)
	   END
      		
	   IF	@lcFORM_CODE IN ( '0503725G', '0503725M')
	   BEGIN
			INSERT #IMPORT_TABLE([TXT])
			SELECT 'КСБУ=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,'REPORTS_ATR_ACC_725')	
		END

	   IF	@lcFORM_CODE IN ('0503125G','0503125M')
	   BEGIN
	      SET @lvcOKATO = ''
	   	
	   	SELECT @lvcOKATO = REPLACE(ISNULL(RTRIM([B].[OKATO]),''),' ','')
	      FROM dbo.[REPORT_SAVED_FORMS] [A]
	      JOIN dbo.[DEPARTMENTS]        [B] ON [B].[LINK] = [A].[LINK_ORGANIZATION] 	      
	      WHERE [A].[LINK_SAVED_FORM] = @iLINK_SAVED_FORM
	
     		INSERT #IMPORT_TABLE([TXT])
	   	SELECT 'ОКАТО=' + @lvcOKATO
	   END
	END	

	INSERT #IMPORT_TABLE ([TXT]) VALUES ('#')
END

CREATE TABLE #tabExcludeCodes([LINK_TABLE] INT,
                              [CODE]       VARCHAR(250))                  
INSERT #tabExcludeCodes([LINK_TABLE],
                        [CODE])                             
EXEC [RA_EXPORT_FORM_GET_EXCLUDE_CODES] @liFORM_LINK, @iLink_Saved_Form

-- Выгрузка части с данными.
DECLARE curTables CURSOR STATIC LOCAL FOR
	SELECT [A].[LINK_TABLE],
          [A].[ORDERS],
          [A].[VAL_TYPE],
          [A].[LINK_CODE_COL],
          [ORDER_CODE_COL] = [B].[ORDERS],
          [DICTIONARY_COLUMNS_LIST] = REPLACE(ISNULL([B].[DICTIONARY_COLUMNS_LIST] + ',',''),' ','') 
   FROM dbo.[REPORT_TABLES]   [A]
   JOIN dbo.[REPORT_COLOUMNS] [B] ON [A].[LINK_CODE_COL] = [B].[LINK_COL]
   WHERE [LINK_FORM] = @liFORM_LINK
   ORDER BY A.orders 

OPEN curTables

FETCH NEXT 
FROM curTables 
INTO @liTABLE_LINK, 
     @liTABLE_ORDER, 
     @liTABLE_VAL_TYPE, 
     @liLINK_CODE_COL,
     @ltORDER_CODE_COL,
     @lvcDICTIONARY_COLUMNS_LIST

SET @lbIsEmpty = 0
IF OBJECT_ID('tempdb..#tabPARAM_EXPORT') IS NOT NULL
BEGIN
   IF NOT EXISTS(SELECT *
                 FROM #tabPARAM_EXPORT)
   BEGIN
      SET @lbIsEmpty = 1
   END
END

WHILE @@FETCH_STATUS = 0
BEGIN
   --EXEC dbo.[I_REPORT_CREATE_PROC] @liTABLE_LINK,'#',3

	SET @lvcTXT = ''

   IF @iMode = 1 OR
      (@iMode = 2 AND @lbIsEmpty = 1)
   BEGIN

   	  -- для формы 0503128 по внутреннему формату добавляются коды Администратора	
/*	  IF @lcFORM_CODE like '0503128%' AND  @liTABLE_ORDER IN (1,2,4) AND 1=0  
	  BEGIN
	  		  SELECT @lvcTXT = @lvcTXT + 
							   CASE WHEN @liTABLE_ORDER = 1 AND [ORDERS] = 2 
									   THEN 	(CASE [COL_TYPE] 
												   WHEN 0 THEN 'STR(COL'
												   ELSE 'RTRIM(COL' 
											   END + 
											   CAST([ORDERS] AS VARCHAR(3)) + 
											   ')+''|''+ case when RTRIM(COL16) = ''96000000000000000'' then ''000'' else '''+dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,@lvcATR)+ ''' end +''|''+') 
									 WHEN @liTABLE_ORDER = 2 AND [ORDERS] = 13 
									   THEN 	(CASE [COL_TYPE] 
												   WHEN 0 THEN 'case when RTRIM(COL13) = ''50090000000000000000'' then ''000'' else '''+ dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,@lvcATR)+'''end +''|''+'+'STR(COL'
												   ELSE 'case when RTRIM(COL13) = ''50090000000000000000'' then ''000'' else '''+ dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,@lvcATR)+'''end +''|''+'+'RTRIM(COL' 
											   END + 
											   CAST([ORDERS] AS VARCHAR(3)) + 
											   ')+''|''+') 	
									  WHEN @liTABLE_ORDER = 4 AND [ORDERS] = 2 
									   THEN 	(CASE [COL_TYPE] 
												   WHEN 0 THEN 'STR(COL'
												   ELSE 'RTRIM(COL' 
											   END + 
											   CAST([ORDERS] AS VARCHAR(3)) + 
											   ')+''|''+') 			   
									   
									   ELSE    (CASE [COL_TYPE] 
												   WHEN 0 THEN 'STR(COL'
												   ELSE 'RTRIM(COL' 
											   END + 
											   CAST([ORDERS] AS VARCHAR(3)) + 
											   ')+''|''+')
								END	   
			  FROM dbo.[REPORT_COLOUMNS]
			  WHERE [ISEXPORTED] = 1 AND
					[LINK_TABLE] = @liTABLE_LINK 
			  ORDER BY [EXPORT_ORDER]

	  
		--SELECT @lvcTXT
			  
	  END   	
	  ELSE BEGIN
*/	       	

			  SELECT @lvcTXT = @lvcTXT + 
							   CASE [COL_TYPE] 
								   WHEN 0 THEN 'STR(COL'
								   ELSE 'RTRIM(COL' 
							   END + 
							   CAST([ORDERS] AS VARCHAR(3)) + 
							   ')+''|''+'
			  FROM dbo.[REPORT_COLOUMNS]
			  WHERE [ISEXPORTED] = 1 AND
					[LINK_TABLE] = @liTABLE_LINK 
			  ORDER BY [EXPORT_ORDER]
/*	   END	*/	
      
      IF LEN(@lvcTXT)>0
      BEGIN
         SET @lvcTXT = LEFT(@lvcTXT,LEN(@lvcTXT)-1)
      END


    --select @lvcTXT 
   END
   ELSE BEGIN

   	SELECT @lvcTXT = [TXT]
      FROM #tabPARAM_EXPORT 
      WHERE [TABLE_ORDER] = @liTABLE_ORDER
    END


	IF LEN(ISNULL(@lvcTXT, '')) > 0
	BEGIN
      IF @iMode = 1
	  BEGIN
   		INSERT #IMPORT_TABLE 
        SELECT [TXT] = 'РД=' + LTRIM(CONVERT(VARCHAR(2),@liTABLE_ORDER)) 
      END
      ELSE BEGIN
      	
       	    	INSERT #IMPORT_TABLE([TXT]) SELECT '#@'
   				INSERT #IMPORT_TABLE([TXT]) SELECT 'ТБ=' + RIGHT(RTRIM('0' + LTRIM(CONVERT(CHAR(2),@liTABLE_ORDER))),2)
   				INSERT #IMPORT_TABLE([TXT]) SELECT '#$'

      END

/*
		SELECT @liLINK_CODE_COL = [LINK_CODE_COL]
      FROM dbo.[REPORT_TABLES]
      WHERE [LINK_TABLE] = @liTABLE_LINK
*/

			SELECT @lvcExecTable = 'CREATE TABLE #tabRI_PROC_T ([CHECKED] INT, [UPD] INT, [DEL] INT, [LINK_SAVED_FORM] INT, [LINK_ROW] INT, [ORDERS] INT, [CALC_ORDERS] INT, [PRINT_NULL] INT, [CODE] ' + 
								 CASE 
									WHEN [A].[COL_TYPE] = 1 THEN 'VARCHAR(100)' 
									ELSE 'FLOAT' 
								 END,
					 @lvcUpdateSelect = 'SELECT [CHECKED], [UPD], [DEL], [LINK_SAVED_FORM], [LINK_ROW], [ORDERS], [CALC_ORDERS], [PRINT_NULL], [CODE] '
			FROM dbo.[REPORT_COLOUMNS]    [A]
		  LEFT JOIN dbo.[REPORT_TABLES] [B] ON [B].[LINK_CODE_COL] = [A].[LINK_COL]
			WHERE [B].[LINK_TABLE] = @liTABLE_LINK

      SET @lvcTXTDataNotNull = '1=2'

   IF EXISTS(SELECT * FROM REPORT_FORMS A 
   INNER JOIN REPORT_TABLES B ON A.Link_Form = B.Link_Form
             WHERE B.Link_Table = @liTABLE_LINK AND A.Code = '0503317M' AND B.Orders IN (1,3))
      SET @lvcTXTDataNotNull = '1=1'
       

   	DECLARE tabColumns CURSOR LOCAL STATIC FOR 
         SELECT [LINK_COL],
                [COL_TYPE],
                [ORDERS],
                [VAL_LEN],
                [ISEDITED],
                [ISEXPORTED]
         FROM dbo.[REPORT_COLOUMNS]
         WHERE [LINK_TABLE] = @liTABLE_LINK 
         ORDER BY [ORDERS]

		OPEN tabColumns

		FETCH 
      NEXT FROM tabColumns
		INTO @liCOL_LINK, 
           @liCOL_TYPE, 
           @liORDERS, 
           @liCOL_VAL_LEN, 
           @ltCOL_ISEDITED,
           @ltCOL_ISEXPORTED
      
   
		WHILE @@FETCH_STATUS = 0
		BEGIN
			    
			SELECT @lvcORDERS = LTRIM(STR(@liORDERS)),
					 @lvcExecTable = @lvcExecTable + ', COL' + @lvcORDERS + 
										  CASE 
	                                WHEN @liCOL_TYPE = 1 THEN ' VARCHAR(8000)' 
		                             ELSE ' NUMERIC(20,' + LTRIM(STR(@liCOL_VAL_LEN)) + ')' 
			                       END,
					 @lvcUpdateSelect = @lvcUpdateSelect + 
  											  ', COL' + @lvcORDERS + 
											  '=ISNULL(COL' + @lvcORDERS + ',' + 
											  CASE 
												  WHEN @liCOL_TYPE = 1 THEN '''''' 
												  ELSE '0'
											  END + ')'

			IF @ltCOL_ISEXPORTED = 1 AND 
			   @liORDERS <> @ltORDER_CODE_COL AND
			   @lvcDICTIONARY_COLUMNS_LIST not like '%COL' + @lvcORDERS + ',%'
			BEGIN			
			   IF @liCOL_TYPE = 0
			   BEGIN
				   SET @lvcTXTDataNotNull = @lvcTXTDataNotNull +                                       
                                        ' OR COL' + @lvcORDERS + ' <> 0'
			   END
			   ELSE BEGIN
				   SET @lvcTXTDataNotNull = @lvcTXTDataNotNull +                                       
                                        ' OR COL' + @lvcORDERS + ' <> '''''
			   END
			END

		   FETCH 
         NEXT FROM tabColumns
		   INTO @liCOL_LINK, 
              @liCOL_TYPE, 
              @liORDERS, 
              @liCOL_VAL_LEN, 
              @ltCOL_ISEDITED,
              @ltCOL_ISEXPORTED
		END

		CLOSE tabColumns
		DEALLOCATE tabColumns

		IF @liTABLE_VAL_TYPE = 0
      BEGIN
			SET @lvcExecTable = @lvcExecTable + ',[ITOG] TINYINT)'
      END
		ELSE BEGIN
			SET @lvcExecTable = @lvcExecTable + ')'
      END


		SET @lvcExec = @lvcExecTable + CHAR(13) +
                     ' INSERT #tabRI_PROC_T exec dbo.[RI_PROC_T' + 
                     CASE 
                        WHEN @bIsFormUnion = 1 THEN '#'
                        ELSE ''
                     END + 
                     LTRIM(STR(@liTABLE_LINK)) + 
     '] @DEL_FCOL=1, @varKSLSF=' + 
                     LTRIM(STR(@iLINK_SAVED_FORM)) 

      IF @iMode=2    
      BEGIN
  
         SET @lvcExec = @lvcExec + CHAR(13) +                        
                        ' EXEC dbo.[RA_EXPORT_FORM_UPDATE] ' + CAST(@liTABLE_LINK AS VARCHAR(50)) + ',DEFAULT,1' + CHAR(13) + 
								' INSERT #IMPORT_TABLE([TXT]) SELECT ' + REPLACE(REPLACE(REPLACE(@lvcTXT, 'STR(', 'CONVERT(VARCHAR(20), '),'$CODE4$','''+RIGHT(''0000''+CAST(ROW_NUMBER() OVER (ORDER BY [ORDERS],[CODE]) AS VARCHAR(100)),4)+'''),'$CODE3$','''+RIGHT(''000''+CAST(ROW_NUMBER() OVER (ORDER BY [ORDERS],[CODE]) AS VARCHAR(100)),3)+''') + CHAR(13) + 
								' FROM ('+@lvcUpdateSelect+' FROM #tabRI_PROC_T) [QQ] WHERE ' + @lvcTXTDataNotNull + CHAR(13) + 'ORDER BY [ORDERS],[CODE] ' + 
								' DROP TABLE #tabRI_PROC_T'
      END
		ELSE BEGIN
			SET @lvcExec = @lvcExec + CHAR(13) +
								' INSERT #IMPORT_TABLE([TXT]) SELECT ' + REPLACE(@lvcTXT, 'STR(', 'CONVERT(VARCHAR(20), ') + ' FROM #tabRI_PROC_T WHERE ' + @lvcTXTDataNotNull + CHAR(13) + 'ORDER BY [ORDERS],[CODE] ' + 
								' DROP TABLE #tabRI_PROC_T'

		END

   -- print @lvcDICTIONARY_COLUMNS_LIST
   --print @iLINK_SAVED_FORM
   -- print @lvcExec 

 		EXEC(@lvcExec)

		IF @iMODE = 2  
      BEGIN
   		INSERT #IMPORT_TABLE (Txt) SELECT '#'

      END
	END

	FETCH NEXT 
   FROM curTables 
   INTO @liTABLE_LINK, 
        @liTABLE_ORDER, 
        @liTABLE_VAL_TYPE, 
        @liLINK_CODE_COL,
        @ltORDER_CODE_COL,
        @lvcDICTIONARY_COLUMNS_LIST        
END

CLOSE curTables
DEALLOCATE curTables

DECLARE @iTB_01 INT,
		@iTB_02 INT,
		@iTB_03 INT 
		
IF @lcFORM_CODE like '0503169M%' 	
begin	
	SET @iTB_02 = (SELECT TOP 1 [order] FROM #IMPORT_TABLE WHERE txt = 'ТБ=02'  )
	SET @iTB_03 = (SELECT TOP 1 [order] FROM #IMPORT_TABLE WHERE txt = 'ТБ=03'  )
	
	DELETE #IMPORT_TABLE
     WHERE [ORDER] BETWEEN @iTB_02-2 AND @iTB_02+1 OR
           [ORDER] BETWEEN @iTB_03-2 AND @iTB_03+1
    
    UPDATE #IMPORT_TABLE
          SET txt = 'ТБ=03'
    WHERE  txt = 'ТБ=05'     

end           

IF @iMode = 2
BEGIN
-- Выгрузка подписей.

   SELECT @vcBOSS = r.[boss],
          @vcBUH = r.[buh],
          @vcISP = r.[isp],
          @vcTel = r.[isp_tel]
   FROM dbo.[RT_VIEW_WEB_BOSS] r
   WHERE r.[link] = @liDEP_LINK


	INSERT #IMPORT_TABLE([TXT]) SELECT '#&'

   SELECT @liDEP_LINK_OWN = [LINK]
   FROM dbo.[DEPARTMENTS]   
   WHERE [TYPE] = 4

   SET  @lvcExec = 'Руководитель='
	SELECT @lvcExec = @lvcExec + RTRIM(REPLACE(ISNULL([CHIEF],''),'. ','.'))
   FROM dbo.[PrintDoc_GetDepData2](@liDEP_LINK_OWN)
   
   INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcExec)

   SET @lvcExec = 'Гл. бухгалтер='
	SELECT @lvcExec = @lvcExec + RTRIM(REPLACE(ISNULL([GLBUH],''),'. ','.'))
   FROM dbo.[PrintDoc_GetDepData2](@liDEP_LINK_OWN)

	INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcExec)

   SET @lvcExec = 'Исполнитель='
	SELECT  @lvcExec = @lvcExec + RTRIM(ISNULL([FIO],''))
   FROM dbo.[RA_GET_USER_INFO](NULL)
   
   IF @lvcExec = 'Исполнитель='
   BEGIN
      SET @lvcExec = @lvcExec + ISNULL(@vcISP, '')
   END       

   INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcExec)

	SET @lvcExec = 'Тел.=' 
	SELECT  @lvcExec = @lvcExec + RTRIM(ISNULL([PHONES],''))
   FROM dbo.[RA_GET_USER_INFO](NULL)
   
   IF @lvcExec = 'Тел.='
   BEGIN
      SET @lvcExec = @lvcExec + ISNULL(@vcTel, '')
   END        

	IF ISNULL(@lvcExec, '') <> ''
   BEGIN
		INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcExec)
   END

	INSERT #IMPORT_TABLE([TXT]) SELECT '#'
	INSERT #IMPORT_TABLE([TXT]) SELECT '#~'

	INSERT #IMPORT_TABLE([TXT]) SELECT 'ППО=Свод-КС ' + RTRIM(@lvcVersion)
	FROM dbo.[REPORT_SAVED_FORMS]
	WHERE [LINK_SAVED_FORM] = @iLINK_SAVED_FORM	

	INSERT #IMPORT_TABLE (Txt) SELECT '#'
	INSERT #IMPORT_TABLE (Txt) SELECT '##'

   EXEC dbo.[RA_IMPORT_FORM_REPLACE_DATA] @tMode = 2,
                                          @cCODE_FORM = @lcFORM_CODE,
                                          @iLINK_SAVED_FORM = @iLINK_SAVED_FORM
                                                                 
   DROP TABLE #tabPARAM_EXPORT
END


INSERT #FileExportReport([TXT],
                         [NameFile],
                         [ORDERS],
                         [NameFileArh])
SELECT RTRIM(TXT), 
       @vcFILE_NAME, 
       [ORDER],
       @vcFILE_NAME_ARH
FROM #IMPORT_TABLE

--select * from #IMPORT_TABLE

DROP TABLE #IMPORT_TABLE 
DROP TABLE #REPORT_DINAMICS
DROP TABLE #REPORT_SUMMA
DROP TABLE #tabExportForms









GO


GRANT EXECUTE ON dbo.[RA_EXPORT_FORM_STANDART] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RSA_4FSS_20032015_PREPARE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RSA_4FSS_20032015_PREPARE]

GO

CREATE PROCEDURE dbo.RSA_4FSS_20032015_PREPARE
	@Res float output, @varcStr varchar(250), @vardBegin datetime = '20150101', @vardEnd datetime = '20151231', @variCol int, @variRow int, @variLSF int
AS 

EXEC dbo.BufferClear

DECLARE @OUT_VAL NUMERIC(20), @START_DATE DATETIME, @END_DATE DATETIME, @DEP_LINK INT

DECLARE --Для выравнивания погрешности
	@C3N NUMERIC(18,6), @C4N NUMERIC(18,6), @C5N NUMERIC(18,6), @C6N NUMERIC(18,6),
	@C3NS NUMERIC(18,6), @C4NS NUMERIC(18,6), @C5NS NUMERIC(18,6), @C6NS NUMERIC(18,6)


select @DEP_LINK = Link_Organization from report_saved_forms where link_saved_form =  @variLSF
set @res = 0
SELECT @START_DATE = @vardBegin, @END_DATE = @vardEnd

DECLARE @BYearDate	datetime
SET @BYearDate = dbo.DateBeginOfYear (@START_DATE)

declare @EndYear datetime
Set @EndYear = dbo.DateEndOfYear(@START_DATE)

DECLARE @nYEAR INT, @nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT

SELECT 
	@nYEAR = YEAR(@START_DATE),
	@nMONTH1 = MONTH(@START_DATE),
	@nMONTH2 = MONTH(@START_DATE)+1,
	@nMONTH3 = MONTH(@START_DATE)+2

create table #SPR_ESN ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(18,6) default 0.00, DED_M numeric(18,6) default 0.00, INV_M numeric(18,6) default 0.00, SUMMA numeric(18,6) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0, RESIDENT int default 2, KATEG TINYINT)

Insert InTo #SPR_ESN ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS , RESIDENT, KATEG)
Select s.[MONTH_BASE], s.SUMMA_BASE, s.DED_M, s.INV_M, s.SUMMA, s.WAY_CALC, s.REF_PHYS_PERS, (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) , s.KATEG
from dbo.SA_ESN_VIEW(@nYEAR, @nMONTH3, @DEP_LINK, 0) s
left join dbo.person p on p.link = s.REF_PHYS_PERS
left JOIN dbo.CITIZENSHIP c ON c.LINK = p.CITIZ_LINK
WHERE s.WAY_CALC = 2

---Суммы по договорникам
INSERT INTO #SPR_ESN 
	([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, resident, KATEG)
SELECT 
	MONTH(G.[DATE]) AS MONTH_BASE, GT.SUMMA_BASE, 0, 0, GT.SUMMA, P.WAY_CALC, GT.PERS_LINK, (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) , 
	KATEG = (CASE WHEN I.LINK IS NULL THEN (F.ENVD + 1) ELSE 3 END)
FROM 
	dbo.SDOC G
	INNER JOIN dbo.SDOC_DGH_TABLE GT ON G.LINK = GT.LINK_UP
	INNER JOIN dbo.PAYS P ON P.LINK = GT.LINK_PAY
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = GT.LINK_VKR
	left JOIN DBO.PERSON Pe on Pe.LINK = GT.PERS_LINK
	LEFT JOIN dbo.CITIZENSHIP c ON c.LINK = pe.CITIZ_LINK
	LEFT JOIN dbo.pers_invalid I ON GT.PERS_LINK = I.PERS_LINK 
	AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH(G.[DATE]),@nYEAR)) BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')
WHERE
	G.[OBJECT] =(SELECT LINK FROM S_OBJECTS WHERE CODE = 'DOCUMENTS_DGH')
	AND GT.[OBJECT] = 3
	AND FLAG_JC = 1
	AND P.WAY_CALC = 2
	AND YEAR(G.[DATE]) = @nYEAR
	AND MONTH(G.[DATE]) <= @nMONTH3
	AND LINK_DEP = @DEP_LINK


/*РАЗДЕЛ 2.1*/
DECLARE @BDate datetime, @EndDate datetime, @EDate datetime, @NAvgCount int

SELECT @BDate = @START_DATE, @EndDate = @END_DATE
SET @EDate = dateadd(year,1,convert(varchar, YEAR(@BDate))+'0101')

CREATE TABLE #RES2(CODE_STR VARCHAR(10), BASE_FSS NUMERIC(18,6), CNT_FSS INT, CNT_FEM INT , NUM_PP Varchar(50) default '')

--ОСТАТКИ ПО СЧЁТУ 303.02 НА НАЧАЛО ГОДА
CREATE TABLE #REST_30302_BY ([DATE] DATETIME, REST NUMERIC(18,2))

DECLARE @Cur1 CURSOR, @LINK_ACC INT
SET @Cur1 = CURSOR FORWARD_ONLY

FOR SELECT LINK FROM dbo.S_ACCOUNTS WHERE CODE LIKE '303.02%'

OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @LINK_ACC
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN

		INSERT INTO #REST_30302_BY ([DATE], REST)
		SELECT @BYearDate, REST = coalesce(sum(K_SUMMA)-sum(D_SUMMA),0) 
		FROM dbo.ARestGroupedTableByDate (@BYearDate, @LINK_ACC, DEFAULT)
		WHERE DEP_LINK = @DEP_LINK
	END

	FETCH NEXT FROM @Cur1 INTO @LINK_ACC
END

CLOSE @Cur1
DEALLOCATE @Cur1

--ОСТАТКИ ПО СЧЁТУ 303.02 НА КОНЕЦ ОТЧЕТНОГО КВАРТАЛА
DECLARE @QV_DATE DATETIME
SET @QV_DATE = @END_DATE+1

SET @Cur1 = CURSOR FORWARD_ONLY

FOR SELECT LINK FROM dbo.S_ACCOUNTS WHERE CODE LIKE '303.02%'

OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @LINK_ACC
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN

		INSERT INTO #REST_30302_BY ([DATE], REST)
		SELECT @END_DATE, REST = coalesce(sum(K_SUMMA)-sum(D_SUMMA),0) 
		FROM dbo.ARestGroupedTableByDate (@QV_DATE, @LINK_ACC, DEFAULT)
		WHERE DEP_LINK = @DEP_LINK
	END

	FETCH NEXT FROM @Cur1 INTO @LINK_ACC
END

CLOSE @Cur1
DEALLOCATE @Cur1

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0101', SUM(REST), 0, 0 FROM #REST_30302_BY WHERE [DATE] = @BYearDate HAVING SUM(REST) > 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0112', -SUM(REST), 0, 0 FROM #REST_30302_BY WHERE [DATE] = @BYearDate HAVING SUM(REST) < 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0109', -SUM(REST), 0, 0 FROM #REST_30302_BY WHERE [DATE] = @END_DATE HAVING SUM(REST) < 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0119', SUM(REST), 0, 0 FROM #REST_30302_BY WHERE [DATE] = @END_DATE HAVING SUM(REST) > 0



--- Номера платежек 
CREATE TABLE #PLAT (VID TINYINT, Y INT, MON TINYINT, SUMMA NUMERIC(18,2), Y_p INT, MON_p TINYINT, NUMBER VARCHAR(10))

	exec dbo.BufferClear 'DT'
	exec dbo.BufferClear 'KT'

	INSERT INTO BUFFER (link, id)
	select link, 'DT' from s_accounts where cSinth = '303' and cAnalit = '02' --С 290экр НЕ ДОЛЖЕН БРАТЬСЯ

	INSERT INTO BUFFER (link, id)
	select link, 'KT' from s_accounts where cSinth = '304' and cAnalit = '05'

	INSERT INTO BUFFER (link, id)
	select link, 'KT' from s_accounts where cSinth = '201' and (cAnalit = '11' or cAnalit = '21' or cAnalit = '27')

	INSERT INTO #PLAT (VID, Y, MON, SUMMA,Y_P,MON_P,NUMBER)
	SELECT  1,
		Y = CONVERT(INT,YEAR(p.DATE_PROV)), 
		MON = CONVERT(INT,MONTH(p.DATE_PROV)),
		P.SUMMA,  
		Y_P = CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,3,'.')), 
		MON_P = CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,2,'.')),
		P.NUMBER	
	from 
		dbo.AProvByBufferConditionsShortDate(@START_DATE, @END_DATE, 'DT', 'KT') P	
		inner join dbo.DOCUMENTS_PAY_ADD PA on P.link = PA.link
		inner join dbo.g_prov G on G.link = PA.link
		LEFT JOIN dbo.KOSGU DG ON DG.LINK = P.DT_EKR
	WHERE
		P.DEP_LINK = @DEP_LINK
		AND
		G.DEP = @DEP_LINK
		--AND
		--CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,2,'.')) <= @M
		--AND
		--CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,3,'.')) = @Y
		AND
		DG.CODE <> '290'

	exec dbo.BufferClear 'DT'
	exec dbo.BufferClear 'KT'
	
	
	
INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '01163', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT WHERE Y >= @nYEAR and MON = @nMONTH1), 
		'', 
		0   

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '01164', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT WHERE Y >= @nYEAR and MON = @nMONTH2), 
		'', 
		0   

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '01165', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT WHERE Y >= @nYEAR and MON = @nMONTH3), 
		'', 
		0   

--- Сведения по номерам платежек
SELECT  VID,
		Y , 
		MON ,
		NUMBER	
INTO #PLAT_PP
FROM #PLAT 
GROUP  BY VID , Y , MON, NUMBER

DROP TABLE #PLAT

BEGIN 
	declare @Cur cursor , @VID tinyint , @Y INT, @MON TINYINT, @NUMBER VARCHAR(10)

	SET @Cur = CURSOR FORWARD_ONLY
	FOR 
		select VID, Y, MON, NUMBER from #PLAT_PP order by VID, Y, MON, NUMBER
	OPEN @Cur
	FETCH NEXT FROM @Cur INTO @VID, @Y, @MON, @NUMBER
	
	WHILE (@@fetch_status <> -1)
	BEGIN
		
		IF (@@fetch_status <> -2)
		BEGIN	
			if  @Y = @nYEAR and @MON = @nMONTH1
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER)) end )
				where code_str = '01163' 

			if  @Y = @nYEAR and @MON = @nMONTH2
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER)) end )
				where code_str = '01164'

			if  @Y = @nYEAR and @MON = @nMONTH3
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER)) end )
				where code_str = '01165'				

		end
		FETCH NEXT FROM @Cur INTO @VID, @Y, @MON, @NUMBER
	end

CLOSE @Cur
DEALLOCATE @Cur

END 

drop table #PLAT_PP



/********СРЕДНЕСПИСОЧНАЯ ЧИСЛЕННОСТЬ**********/

/* Среднесписочная численность работающих инвалидов */ --- исключаем декретниц
Set @NAvgCount = convert(numeric(18,0), dbo.sa_ssch_empls_4fss(@START_DATE, @END_DATE, @DEP_LINK, 0, 1, 1, DEFAULT))
INSERT INTO #RES2
SELECT '3', 0, @NAvgCount, 0, ''

/* Среднесписочная численность мужчин и женщин */ --- исключаем декретниц
Set @NAvgCount = convert(numeric(18,0), dbo.sa_ssch_empls_4fss(@START_DATE, @END_DATE, @DEP_LINK, 0, 1, 0, DEFAULT))
INSERT INTO #RES2
SELECT '1', 0, @NAvgCount, 0, ''

/* Среднесписочная численность женщин */  --- исключаем декретниц
INSERT INTO #RES2
SELECT '2', 0, convert(numeric(18,0), dbo.sa_ssch_empls_4fss(@START_DATE, @END_DATE, @DEP_LINK, 2, 1, 0, DEFAULT)), 0 , ''

/* Среднесписочная численность работающих во вредных условиях */ --- исключаем декретниц
INSERT INTO #RES2
SELECT '4', 0, convert(numeric(18,0), dbo.sa_ssch_empls_4fss(@START_DATE, @END_DATE, @DEP_LINK, 0, 1, 2, DEFAULT)), 0 , ''



--Р1.ТАБЛИЦА 1
--Начислено ЕСН. На НАч квартала
INSERT INTO #RES2 --код=табл. 02, строка 2_1
SELECT '0121', ISNULL(SUM(SUMMA),0), 0, 0 , '' FROM #SPR_ESN WHERE MONTH_BASE < @nMONTH1  

--Начислено ЕСН. 1 мес
INSERT INTO #RES2 --код=табл. 02, строка 2_3
SELECT '0123', ISNULL(SUM(SUMMA),0), 0, 0 , '' FROM #SPR_ESN WHERE MONTH_BASE = @nMONTH1

--Начислено ЕСН. 2 мес
INSERT INTO #RES2 --код=табл. 02, строка 2_4
SELECT '0124', ISNULL(SUM(SUMMA),0), 0, 0, '' FROM #SPR_ESN WHERE MONTH_BASE = @nMONTH2
--
--Начислено ЕСН. 3 мес
INSERT INTO #RES2 --код=табл. 02, строка 2_5
SELECT '0125', ISNULL(SUM(SUMMA),0), 0, 0, '' FROM #SPR_ESN WHERE MONTH_BASE = @nMONTH3


--Р1.ТАБЛИЦА 2

DECLARE 
	@P02010 INT, --Количество больничных
	@P02013 NUMERIC(18,2),  --Количество больничных дней 
	@P02014 NUMERIC(18,2), --Сумма по больничным за счет ФСС

	@P02020 INT, --Количество больничных по внешнему совместительству
	@P02023 NUMERIC(18,2),  --Количество больничных дней по внешнему совместительству
	@P02024 NUMERIC(18,2), --Сумма по больничным за счет ФСС по внешнему совместительству
	
	@P02030 INT, --Количество больничных По иностранным гражданам
	@P02033 NUMERIC(18,2),  --Количество По иностранным гражданам дней
	@P02034 NUMERIC(18,2), --Сумма По иностранным гражданам за счет ФСС
	
	@P02040 INT, -- Количество больничных По иностранным гражданам по внешнему совместительству
	@P02043 NUMERIC(18,2),  --Количество дней По иностранным гражданам по внешнему совместительству
	@P02044 NUMERIC(18,2),  --Сумма По иностранным гражданам за счет ФСС по внешнему совместительству
	
	@P02050 INT, --Количество больничных По беременности и родам
	@P02053 NUMERIC(18,2),  --Количество По беременности и родам дней
	@P02054 NUMERIC(18,2), --Сумма По беременности и родам за счет ФСС

	@P02060 INT, -- Количество больничных по беременности и родам по внешнему совместительству
	@P02063 NUMERIC(18,2),  --Количество дней по беременности и родам по внешнему совместительству
	@P02064 NUMERIC(18,2),  --Сумма по беременности и родам за счет ФСС по внешнему совместительству

	-- Ежемесячное пособие по уходу за ребенком по основному месту работы за первым
	@P02100 INT, --количество получателей
	@P02103 NUMERIC(18,2),  -- количество произведенных выплат
	@P02104 NUMERIC(18,2), -- сумма расходов

	-- Ежемесячное пособие по уходу за ребенком по основному месту работы за вторым и последующим
	@P02110 INT, --количество получателей
	@P02113 NUMERIC(18,2),  -- количество произведенных выплат
	@P02114 NUMERIC(18,2) -- сумма расходов

---	
SELECT 
	@P02010 = COUNT(DISTINCT (CASE WHEN COALESCE(A.DEKRET,0) = 1 or  (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) <> 2 THEN NULL ELSE A.LINK END) ),
	@P02020 = COUNT( DISTINCT CASE WHEN STATUS_EMPL = 3 AND COALESCE(A.DEKRET,0) = 0 AND (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) = 2 THEN A.LINK ELSE NULL END), 
	@P02030 = COUNT(DISTINCT (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) <> 2 THEN A.LINK ELSE NULL END) ), 
	@P02040 = COUNT( DISTINCT CASE WHEN STATUS_EMPL = 3 AND COALESCE(A.DEKRET,0) = 0 AND (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) <> 2 THEN A.LINK ELSE NULL END), 
	@P02050 = COUNT(DISTINCT (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN A.LINK ELSE NULL END) ), 
	@P02060 = COUNT( DISTINCT CASE WHEN STATUS_EMPL = 3 AND COALESCE(A.DEKRET,0) = 1 THEN A.LINK ELSE NULL END) 
FROM 
	DBO.DOCUMENTS_ADD_ARCHE A INNER JOIN dbo.SD_EMPL E ON A.REF_EMPL = E.LINK
	INNER JOIN DBO.SDOC_ADIS_TABLE1 T ON T.LINK_UP = A.LINK AND T.PAYER = 0
	inner join dbo.DIS d on d.link = a.ref_arhe 
	left  JOIN dbo.person P ON p.LINK = e.PERS_LINK
	left  JOIN dbo.CITIZENSHIP c ON c.LINK = p.CITIZ_LINK 
WHERE 
	A.LINK_DEP = @DEP_LINK 
	AND A.FLAG_JC = 1 --НАЧИСЛЕННЫЕ
	AND YEAR(A.[DATE]) = YEAR(@BYearDate) --НАЧИСЛЕННЫЕ В ЗАДАННОМ ГОДУ
	AND MONTH(A.[DATE]) <= MONTH(@END_DATE) --НАЧИСЛЕННЫЕ ПО ЗАДАННЫЙ МЕСЯЦ
	and isnull(D.REF_DOC,0) = 0


---	
SELECT 
	--- по временной нетрудоспособности (без учета работающих иностранных граждан и лиц без гражданства)
	@P02013 = SUM( (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN 0 ELSE 1 END) * (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) =2  THEN 1 ELSE 0 END) * ISNULL(A.FSS_DAYS,0)), --(DATEDIFF(DAY,T.DATE1,T.DATE2)+1) ),	
	@P02023 = SUM( (CASE WHEN STATUS_EMPL = 3 THEN 1 ELSE 0 END) * (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN 0 ELSE 1 END) * (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) =2  THEN 1 ELSE 0 END)  * ISNULL(A.FSS_DAYS,0)),--* (DATEDIFF(DAY,T.DATE1,T.DATE2)+1) ),	

	--По иностранным гражданам записывать все оплачиваемые дни, а не только те, которые входят в оплачиваемый период
	@P02033 = SUM(  (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN 0 ELSE 1 END) * (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) =2  THEN 0 ELSE 1 END)  * ISNULL(A.FSS_DAYS,0)),--* (DATEDIFF(DAY,T.DATE1,T.DATE2)+1) ),	
	--По иностранным гражданам записывать все оплачиваемые дни, а не только те, которые входят в оплачиваемый период
	@P02043 = SUM( (CASE WHEN STATUS_EMPL = 3 THEN 1 ELSE 0 END) * (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN 0 ELSE 1 END) * (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) =2  THEN 0 ELSE 1 END) * ISNULL(A.FSS_DAYS,0)),--* (DATEDIFF(DAY,T.DATE1, T.DATE2)+1) )	

	--по беременности и родам записывать все оплачиваемые дни, а не только те, которые входят в оплачиваемый период
	@P02053 = SUM(  COALESCE(A.DEKRET,0)  * ISNULL(A.FSS_DAYS,0)),--* (DATEDIFF(DAY,T.DATE1,T.DATE2)+1) ),	
	--по беременности и родам записывать все оплачиваемые дни, а не только те, которые входят в оплачиваемый период
	@P02063 = SUM( (CASE WHEN STATUS_EMPL = 3  AND COALESCE(A.DEKRET,0) = 1 THEN 1 ELSE 0 END)  * ISNULL(A.FSS_DAYS,0))--* (DATEDIFF(DAY,T.DATE1, T.DATE2)+1) )	
FROM 
	DBO.DOCUMENTS_ADD_ARCHE A INNER JOIN dbo.SD_EMPL E ON A.REF_EMPL = E.LINK 
		INNER JOIN dbo.person P ON p.LINK = e.PERS_LINK
	left JOIN dbo.CITIZENSHIP c ON c.LINK = p.CITIZ_LINK 
WHERE 
	LINK_DEP = @DEP_LINK 
	AND FLAG_JC = 1 --НАЧИСЛЕННЫЕ
	AND YEAR(DATE) = YEAR(@BYearDate) --НАЧИСЛЕННЫЕ В ЗАДАННОМ ГОДУ
	AND MONTH(DATE) <= MONTH(@END_DATE) --НАЧИСЛЕННЫЕ ПО ЗАДАННЫЙ МЕСЯЦ


/*declare @Res float
set @Res = 0
 exec dbo.RSA_4FSS_20032015_PREPARE @Res output, '', '20150101', '20150331', 2, 1,  2193
*/

SELECT P.F4FSS, E.[STATUS], RESIDENT = (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) , CNT_EMPL = COUNT(DISTINCT J.LINK_EMPL), CNT = COUNT( J.LINK_EMPL),SUMMA = SUM(SUMMA), CNT_DAYS = SUM([DAYS])
INTO #ATR_4FSS
FROM 
	dbo.ATRIBUT_F4FSS A
	INNER JOIN dbo.PAYS P ON A.LINK = P.F4FSS
	INNER JOIN dbo.CALCULATE_JURNAL J ON P.LINK = J.LINK_PAYS
	INNER JOIN DBO.SA_EMPLS_INFO(@END_DATE, DEFAULT) E ON E.EMPL_LINK = J.LINK_EMPL 	
	INNER JOIN dbo.sd_empl se ON  sE.LINK = E.EMPL_LINK 
	INNER JOIN dbo.PERSON pe ON pe.LINK=se.PERS_LINK
	INNER JOIN dbo.CITIZENSHIP c ON c.LINK = pe.CITIZ_LINK
WHERE
	Year(period_begin) = @nYEAR and Month(period_begin) <= @nMONTH3
	and J.LINK_DEP = @DEP_LINK
	and P.[OBJECT] = 1	
	and P.F4FSS > 1
	AND J.LINK_EKR = (SELECT LINK FROM KOSGU WHERE CODE = '213')	
GROUP BY 	
	P.F4FSS, E.[STATUS],c.CODE 


--ВЫПЛАТА ПОСОБИЙ По временной нетрудоспособности
-----Число дней на больничном
INSERT INTO #RES2 --код=табл. 02, строка 01
SELECT '0201', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 2  AND  RESIDENT = 2 ),0), --ISNULL(@P02014,0), 
	@P02013, @P02010, ''
	

-----Число дней на больничном по внешнему совместительству
INSERT INTO #RES2 --код=табл. 02, строка 02
SELECT '0202', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 2 AND [STATUS] = 3 AND  RESIDENT = 2),0),--ISNULL(@P02024,0), 
	@P02023, @P02020, ''
/**/
-----Число дней По иностранным гражданам
INSERT INTO #RES2 --код=табл. 02, строка 03
SELECT '0203', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 2 AND RESIDENT <>2),0),--@P02034, 
	@P02033, @P02030, ''


-----Число дней По иностранным гражданам по внешнему совместительству
INSERT INTO #RES2 --код=табл. 02, строка 04
SELECT '0204', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 2 AND [STATUS] = 3 AND RESIDENT <>2),0),--@P02044, 
	@P02043, @P02040, ''
/**/


-----Число дней по берем и родам
INSERT INTO #RES2 --код=табл. 02, строка 05
SELECT '0205', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 3),0),--@P02054, 
	@P02053, @P02050, ''


-----Число дней по берем и родам по внешнему совместительству
INSERT INTO #RES2 --код=табл. 02, строка 06
SELECT '0206', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 3 AND [STATUS] = 3),0),--@P02064, 
	@P02063, @P02060, ''



--- Единовременное пособие женщинам, вставшим на учет
INSERT INTO #RES2
SELECT '0207', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 4),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 4),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 4),0)	, ''
--Единовременное пособие при рождении ребенка
INSERT INTO #RES2
SELECT '0208', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 5),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 5),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 5),0)	, ''

---- Ежемесячное пособие по уходу за ребенком по основному месту работы
INSERT INTO #RES2
SELECT '0210',
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 6),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 6),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 6),0)	, ''
----Ежемесячное пособие по уходу за вторым и последующими детьми
INSERT INTO #RES2
SELECT '0211',
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 7),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 7),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 7),0)	, ''
--Оплата дополнительных выходных дней для ухода за детьми-инвалидами
INSERT INTO #RES2
SELECT '0212', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 8),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 8),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 8),0)	, ''

--  Страховые взносы в государственные внебюджетные фонды, начисленные на оплату дополнительных выходных дней для ухода за детьми-инвалидами
---<<<<<<<<<<<
/**/
INSERT INTO #RES2
SELECT '0213', 0 , 0, 0 , '' 
	 --ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 9),0),
	 --ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 9),0),	
	 --ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 9),0)	, ''	
/**/
---->>>>>>>>>>>>>>>>
--Социальное пособие на погребение	
INSERT INTO #RES2
SELECT '0214', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 9),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 9),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 9),0)	, ''		

--  Справочно, начисленные и не выплаченные пособия
---<<<<<<<<<<<
/**/
INSERT INTO #RES2
SELECT '0216', 0,0,0,''
	/*ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 9),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 9),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 9),0)	, ''
	*/	
/**/
---->>>>>>>>>>>>>>>>



--Р1.ТАБЛИЦА 3

Declare @StBase2 table (link int)
Insert into @StBase2 (link)
select distinct link_pays from tax_ref where link_tax = (select top 1 link from pays where object = 3 and way_calc = 2)

DECLARE @LINK_EKR213 INT
SET @LINK_EKR213 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')

DECLARE @ESN_213 INT --Начислять страховые взносы на доходы с 213 ЭКР                                                    
SET @ESN_213 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_5')

--Фактическая база для договорников
SELECT GT.PERS_LINK, MONTH(G.[DATE]) AS MONTH_BASE, SUMMA_BASE = sum(GT.SUMMA_BASE) , resident  = (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) 
INTO #DGH_FAKT_BASE
FROM 
	dbo.DOCUMENTS_DGH G INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
	inner join dbo.person p on p.link = GT.PERS_LINK
	left join CITIZENSHIP c ON c.LINK= p.CITIZ_LINK
WHERE 
	FLAG_JC = 1
	AND GT.WAY_CALC  = 2
	AND YEAR(G.[DATE]) = @nYEAR
	AND MONTH(G.[DATE]) <= @nMONTH3 
GROUP BY GT.PERS_LINK, MONTH(G.[DATE]), c.code

CREATE TABLE #DGH_CJ (PERS_LINK INT, PERIOD_BEGIN DATETIME, SUMMA NUMERIC(18,6), RESIDENT int )
INSERT INTO #DGH_CJ (PERS_LINK, PERIOD_BEGIN, SUMMA, resident)
SELECT PERS_LINK, PERIOD_BEGIN, SUM(SUMMA), (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end)   
FROM dbo.CALCULATE_JURNAL CJ
	inner JOIN DBO.PERSON P1 ON P1.LINK = CJ.PERS_LINK
	INNER JOIN DBO.PAYS P ON P.LINK = CJ.LINK_PAYS
	left join CITIZENSHIP c ON c.LINK= P1.CITIZ_LINK
WHERE
	yEAR(CJ.period_begin) = @nYEAR
	AND CJ.LINK_DEP = @DEP_LINK
	AND P.[OBJECT] = 1
GROUP BY
	PERS_LINK, PERIOD_BEGIN, c.CODE


---------
SELECT MON, SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO)
INTO #SALARY_SUM2
FROM 
(
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA_ALL = SUM(SUMMA),
	SUMMA_NO = SUM(CASE WHEN B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0 THEN SUMMA ELSE 0 END) --на которые не начисляются страховые взносы
from 
	dbo.CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
	INNER JOIN DBO.EMPL E ON E.LINK = CJ.LINK_EMPL
	LEFT JOIN @StBase2 B ON B.LINK = cj.LINK_PAYS
where 	
	Year(CJ.period_begin) = @nYEAR and Month(CJ.period_begin) <= @nMONTH3 
	and CJ.LINK_DEP = @DEP_LINK
	and P.[OBJECT] = 1
GROUP BY
	Month(CJ.PERIOD_BEGIN)
UNION ALL	
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA_ALL = SUM(SUMMA),
	SUMMA_NO = SUM(SUMMA - ISNULL(B.SUMMA_BASE,0)) --на которые не начисляются страховые взносы
from 
	#DGH_CJ CJ
	LEFT JOIN #DGH_FAKT_BASE B ON B.PERS_LINK = CJ.PERS_LINK AND B.MONTH_BASE = Month(CJ.PERIOD_BEGIN)
where 	
	Month(CJ.period_begin) <= @nMONTH3 
GROUP BY
	Month(CJ.PERIOD_BEGIN)
) AS T
GROUP BY 
	MON
	
--Суммы выплат и иных вознаграждений, начисленных в пользу физических лиц, в соответствии со ст.7 Федерального закона от 24 июля 2009 г. № 212-ФЗ
INSERT INTO #RES2 SELECT '030103', SUM(SUMMA_ALL), 0, 0, '' FROM #SALARY_SUM2
INSERT INTO #RES2 SELECT '030104', SUM(SUMMA_ALL), 0, 0, '' FROM #SALARY_SUM2 WHERE MON = @nMONTH1
INSERT INTO #RES2 SELECT '030105', SUM(SUMMA_ALL), 0, 0, '' FROM #SALARY_SUM2 WHERE MON = @nMONTH2
INSERT INTO #RES2 SELECT '030106', SUM(SUMMA_ALL), 0, 0, '' FROM #SALARY_SUM2 WHERE MON = @nMONTH3


--select * from #RES2 where CODE_STR in ('030103', '030104', '030105', '030106')
DECLARE @TMP_VAL NUMERIC(18,2)
--Суммы, не подлежащие обложению страховыми взносами в соответствии со ст.9 Федерального закона от 24 июля 2009 г. № 212-ФЗ
--INV_M теперь содержит только льготы (100 тыс инвалидам теперь нет)
SET @TMP_VAL = ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN ) ,0) + ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM2),0)
INSERT INTO #RES2 VALUES('030203', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN  WHERE MONTH_BASE = @nMONTH1) ,0) + ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM2 WHERE MON = @nMONTH1),0)
INSERT INTO #RES2 VALUES('030204', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN  WHERE MONTH_BASE = @nMONTH2) ,0) + ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM2 WHERE MON = @nMONTH2),0)
INSERT INTO #RES2 VALUES('030205', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN  WHERE MONTH_BASE = @nMONTH3) ,0) + ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM2 WHERE MON = @nMONTH3),0)
INSERT INTO #RES2 VALUES('030206', @TMP_VAL, 0, 0, '')

--select * from #RES2 where CODE_STR in ('030203', '030204', '030205', '030206')



DECLARE @LIMIT NUMERIC(18,2)

SELECT @LIMIT = MAX(S.PREDEL)
FROM 
	dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2
WHERE 
	DATE = (SELECT TOP 1 [DATE] FROM dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2 AND DATE < @END_DATE ORDER BY [DATE] DESC) 
	AND
	S.PERCENT1 > 0

SET @LIMIT = ISNULL(@LIMIT,0)


--  тариф, применяемый  свыше установленного предела величины базы (%)
DECLARE 
	@PERCENT1 NUMERIC(18,2)--,
/*	@PERCENT1_IN NUMERIC(18,2)*/
--	@PERCENT_FSS NUMERIC(18,2)

-- Рабочие 	
SELECT @PERCENT1 = S.PERCENT1
FROM 
	dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2
WHERE 
	predel = @LIMIT
	and tarif =1
	and 
	DATE = (SELECT TOP 1 [DATE] FROM dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2 AND DATE < @END_DATE ORDER BY [DATE] DESC) 
	AND
	S.PERCENT1 > 0
/*-- нивалиды
SELECT @PERCENT1_IN = S.PERCENT1
FROM 
	dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2
WHERE 
	predel = @LIMIT
	and tarif =3
	and 
	DATE = (SELECT TOP 1 [DATE] FROM dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2 AND DATE < @END_DATE ORDER BY [DATE] DESC) 
	AND
	S.PERCENT1 > 0
*/
SET @PERCENT1 = ISNULL(@PERCENT1,0)
/*SET @PERCENT1_IN = ISNULL(@PERCENT1_IN,0)*/

SELECT MON = 1, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END INTO #SPR_ESN1 FROM #SPR_ESN WHERE MONTH_BASE <= 1 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 2, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 2 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 3, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 3 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 4, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 4 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 5, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 5 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 6, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 6 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 7, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 7 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 8, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 8 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 9, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 9 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 10, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 10 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 11, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 11 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 12, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 12 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS

SELECT DISTINCT T.REF_PHYS_PERS, M.M, SUMMA = ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)
INTO #SPR_ESN2
FROM 
	#SPR_ESN1 T INNER JOIN dbo.months_ex(@BYearDate, @END_DATE) M ON 1=1
	LEFT JOIN #SPR_ESN1 T1 ON T1.REF_PHYS_PERS = T.REF_PHYS_PERS AND T1.MON = M.M
	LEFT JOIN #SPR_ESN1 T2 ON T2.REF_PHYS_PERS = T.REF_PHYS_PERS AND T2.MON = M.M - 1

--Суммы, превышающие предельную величину базы для начисления страховых взносов, установленную в соответствии со ст. 8 Федерального закона от 24 
INSERT INTO #RES2 SELECT '030303', SUM(SUMMA), 0, 0, '' FROM #SPR_ESN2 WHERE M <= @nMONTH3
INSERT INTO #RES2 SELECT '030304', SUM(SUMMA), 0, 0, '' FROM #SPR_ESN2 WHERE M = @nMONTH1
INSERT INTO #RES2 SELECT '030305', SUM(SUMMA), 0, 0, '' FROM #SPR_ESN2 WHERE M = @nMONTH2
INSERT INTO #RES2 SELECT '030306', SUM(SUMMA), 0, 0, '' FROM #SPR_ESN2 WHERE M = @nMONTH3
-----<<<<<<<<<<<<<<<<<<<


--из них: сумма выплат и иных вознаграждений сумма выплат и иных вознаграждений начисленных в пользу  иностранных граждан и лиц без гражданства
SELECT MON = 1, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END INTO #SPR_ESN1Res FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 1 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 2, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 2 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 3, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 3 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 4, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 4 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 5, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 5 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 6, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 6 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 7, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 7 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 8, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 8 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 9, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 9 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 10, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 10 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 11, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 11 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 12, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 12 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS


SELECT DISTINCT T.REF_PHYS_PERS, M.M, SUMMA = ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)
INTO #SPR_ESN2Res
FROM 
	#SPR_ESN1Res T INNER JOIN dbo.months_ex(@BYearDate, @END_DATE) M ON 1=1
	LEFT JOIN #SPR_ESN1Res T1 ON T1.REF_PHYS_PERS = T.REF_PHYS_PERS AND T1.MON = M.M
	LEFT JOIN #SPR_ESN1Res T2 ON T2.REF_PHYS_PERS = T.REF_PHYS_PERS AND T2.MON = M.M - 1
WHERE
	(ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)) > 0


SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE resident <> 2) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2Res WHERE M <= @nMONTH3),0)
INSERT INTO #RES2 VALUES('030803', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE resident <> 2 AND MONTH_BASE = @nMONTH1) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH1),0)
INSERT INTO #RES2 VALUES('030804', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE resident <> 2 AND MONTH_BASE = @nMONTH2) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH2),0)
INSERT INTO #RES2 VALUES('030805', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE resident <> 2 AND MONTH_BASE = @nMONTH3) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH3),0)
INSERT INTO #RES2 VALUES('030806', @TMP_VAL, 0, 0, '')

-- exec dbo.RI_REPORT_FORMULA_ALL_CALCULATE '2014-01-01 00:00:00','2014-03-31 00:00:00',2,1,2745
/*declare @Res float
set @Res = 0
 exec dbo.RSA_4FSS_20032015_PREPARE @Res output, '', '20110101', '20110331', 2, 1, 42251
*/


/*--из них: сумма выплат и иных вознаграждений физическим лицам, являющимся инвалидами I, II, III группы
SELECT MON = 1, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END INTO #SPR_ESN1KATEG3 FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 1 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 2, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 2 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 3, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 3 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 4, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 4 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 5, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 5 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 6, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 6 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 7, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 7 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 8, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 8 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 9, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 9 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 10, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 10 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 11, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 11 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 12, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 12 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS

SELECT DISTINCT T.REF_PHYS_PERS, M.M, SUMMA = ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)
INTO #SPR_ESN2KATEG3
FROM 
	#SPR_ESN1KATEG3 T INNER JOIN dbo.months_ex(@BYearDate, @END_DATE) M ON 1=1
	LEFT JOIN #SPR_ESN1KATEG3 T1 ON T1.REF_PHYS_PERS = T.REF_PHYS_PERS AND T1.MON = M.M
	LEFT JOIN #SPR_ESN1KATEG3 T2 ON T2.REF_PHYS_PERS = T.REF_PHYS_PERS AND T2.MON = M.M - 1
WHERE
	(ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)) > 0


SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE KATEG = 3) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2KATEG3 WHERE M <= @nMONTH3),0)
INSERT INTO #RES2 VALUES('030503', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE KATEG = 3 AND MONTH_BASE = @nMONTH1) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2KATEG3 WHERE M = @nMONTH1),0)
INSERT INTO #RES2 VALUES('030504', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE KATEG = 3 AND MONTH_BASE = @nMONTH2) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2KATEG3 WHERE M = @nMONTH2),0)
INSERT INTO #RES2 VALUES('030505', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE KATEG = 3 AND MONTH_BASE = @nMONTH3) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2KATEG3 WHERE M = @nMONTH3),0)
INSERT INTO #RES2 VALUES('030506', @TMP_VAL, 0, 0, '')
*/--->>>>>>>>>>>>>>>>>
--select * from #RES2 where code_str in ('030503','030504', '030505','030506')
--ВЫРАВНИВАНИЕ ПОГРЕШНОСТИ ПО ОСНОВНОМУ ТАРИФУ
/*
--Способ заполнения страховых взносов
Выриант №1. Сумма всзносов по организации рассчитывается  по формулам расчёта для 4-ФСС от общих сумм дохода и необлагаемых сумм. 
Выриант №2. Сумма взносов по организации рассчитывается как сумма взносов, начисленных по физлицам. 
Выриант №3. Сумма взносов по организации рассчитывается как сумма взносов, начисленных по физлицам. 
Но при этом для того, чтобы выполнялись контрольные соотношения по форме, выполняется подгон необлагаемых сумм.
*/
DECLARE @SALARY_OPTIONS_OPT5_1 INT 
SET @SALARY_OPTIONS_OPT5_1 = dbo.SA_GET_OPTION_BY_CODE('SALARY_OPTIONS_OPT5_1')

--select @PERCENT1 , @PERCENT1_IN

--select * from 	#RES2
--	WHERE
--		CODE_STR IN ('030104', '030204', '030304', '030504')

/*declare @Res float
set @Res = 0
 exec dbo.RSA_4FSS_20032015_PREPARE @Res output, '', '20150101', '20150331', 2, 1,   255
*/
---------------------------------------------------------
---------------------------------------------------------

IF ISNULL(@PERCENT1,0) > 0
BEGIN

	--Вычисление погрешности для накопительной части	
	SELECT 
		@C3N = CONVERT(NUMERIC(18,2), 
			(
				SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030103' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030203' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030303' THEN BASE_FSS  ELSE 0 END)
			--	 	-(CASE WHEN CODE_STR = '030803' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих
				) * @PERCENT1/100
			/*	+ SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030803' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100		*/		
				- (SELECT SUM(BASE_FSS) FROM #RES2 WHERE CODE_STR in ('0121','0123', '0124','0125'))
			) / @PERCENT1/100
		),
		@C3NS = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030103' THEN BASE_FSS  ELSE 0 END) 
					-(CASE WHEN CODE_STR = '030203' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030303' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030803' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих
				) * @PERCENT1/100
				+
				SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030803' THEN BASE_FSS  ELSE 0 END)  -- база иностранных служащих
				) * 1.8/100			
			)
		),		
		@C4N = CONVERT(NUMERIC(18,2), 
			(
				SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030104' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030204' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030304' THEN BASE_FSS  ELSE 0 END)
				--	-(CASE WHEN CODE_STR = '030804' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих
				) * @PERCENT1/100
				/*+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030804' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100		*/		
				- (SELECT SUM(BASE_FSS) FROM #RES2 WHERE CODE_STR = '0123')
			) / @PERCENT1/100	
		),
		@C4NS = CONVERT(NUMERIC(18,2), 
			(
				SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030104' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030204' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030304' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030804' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих		
				) * @PERCENT1/100
				+ SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030804' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100		
			)
		),		
		@C5N = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030405)  = 
					(CASE WHEN CODE_STR = '030105' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030205' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030305' THEN BASE_FSS  ELSE 0 END)
				--	-(CASE WHEN CODE_STR = '030805' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих		
				) * @PERCENT1/100
				/*+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030805' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100	*/
				- (SELECT SUM(BASE_FSS) FROM #RES2 WHERE CODE_STR = '0124')
			) / @PERCENT1/100			
		),
		@C5NS = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030405)  = 
					(CASE WHEN CODE_STR = '030105' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030205' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030305' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030805' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих			
				) * @PERCENT1/100
				+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030805' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100			
			)
		),		
		@C6N = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030405)  = 
					(CASE WHEN CODE_STR = '030106' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030206' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030306' THEN BASE_FSS  ELSE 0 END)
				--	-(CASE WHEN CODE_STR = '030806' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих	
				) * @PERCENT1/100
				/*+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030806' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих	
				) * 1.8/100		*/	
				- (SELECT SUM(BASE_FSS) FROM #RES2 WHERE CODE_STR = '0125')
			) / @PERCENT1/100							
		),
		@C6NS = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030405)  = 
					(CASE WHEN CODE_STR = '030106' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030206' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030306' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030806' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих				
				) * @PERCENT1/100
				+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030806' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих	
				) * 1.8/100				
			)
		)		
	FROM #RES2
	WHERE
		CODE_STR IN ('030103', '030203', '030303', '030803','030104', '030204', '030304', '030804','030105', '030205', '030305', '030805','030106', '030206', '030306', '030806')

	IF @SALARY_OPTIONS_OPT5_1 = 1
	BEGIN
		--Начислено ЕСН. 1 мес
		UPDATE #RES2
		SET BASE_FSS = ISNULL(@C4NS,0)			 
		WHERE 
			CODE_STR = '0123'
		
		UPDATE #RES2
		SET BASE_FSS = ISNULL(@C5NS,0)		 
		WHERE 
			CODE_STR = '0124'
			
		UPDATE #RES2
		SET BASE_FSS = ISNULL(@C6NS,0)		 
		WHERE 
			CODE_STR = '0125'
	
	END

	IF @SALARY_OPTIONS_OPT5_1 = 3
	BEGIN
	
		UPDATE #RES2
		SET BASE_FSS = BASE_FSS + ISNULL(@C3N,0)			 
		WHERE 
			CODE_STR = '030203'
		
		UPDATE #RES2
		SET BASE_FSS = BASE_FSS + ISNULL(@C4N,0)			 
		WHERE 
			CODE_STR = '030204'
			
		UPDATE #RES2
		SET BASE_FSS = BASE_FSS + ISNULL(@C5N,0)			 
		WHERE 
			CODE_STR = '030205'
			
		UPDATE #RES2
		SET BASE_FSS = BASE_FSS + ISNULL(@C6N,0)			 
		WHERE 
			CODE_STR = '030206'
	
	END

end



--- ПО ИНОСТРАННЫМ ГРАЖДАНАМ
CREATE TABLE #RAZD31 (LINK INT, COL2 NUMERIC(18,2), COL3 NUMERIC(18,2), COL4 NUMERIC(18,2), COL5 NUMERIC(18,2))
INSERT INTO #RAZD31 (LINK)
SELECT DISTINCT 
	P.REF_PHYS_PERS
FROM 
	#SPR_ESN P
WHERE  RESIDENT <> 2
--- ЭТО БЫЛО ПО ИНВАЛИДАМ
/*-- Тоже выводим по физлицу в таблицу 3.1
CREATE TABLE #RAZD31 (LINK INT, COL5 NUMERIC(18,2), COL6 NUMERIC(18,2), COL7 NUMERIC(18,2), COL8 NUMERIC(18,2))

INSERT INTO #RAZD31 (LINK, COL5, COL6, COL7, COL8)
SELECT DISTINCT 
	P.REF_PHYS_PERS,
	S5 = ISNULL(S51.SUMMA,0) - ISNULL(S52.SUMMA,0),
	S6 = ISNULL(S61.SUMMA,0) - ISNULL(S62.SUMMA,0),
	S7 = ISNULL(S71.SUMMA,0) - ISNULL(S72.SUMMA,0),
	S8 = ISNULL(S81.SUMMA,0) - ISNULL(S82.SUMMA,0)
FROM 
	#SPR_ESN P

	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE RESIDENT <> 2 GROUP BY REF_PHYS_PERS) S51 ON S51.REF_PHYS_PERS = P.REF_PHYS_PERS
	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA) FROM #SPR_ESN2Res WHERE M <= @nMONTH3 GROUP BY REF_PHYS_PERS) S52 ON S52.REF_PHYS_PERS = P.REF_PHYS_PERS

	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE RESIDENT <> 2 AND MONTH_BASE = @nMONTH1 GROUP BY REF_PHYS_PERS) S61 ON S61.REF_PHYS_PERS = P.REF_PHYS_PERS
	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH1 GROUP BY REF_PHYS_PERS) S62 ON S62.REF_PHYS_PERS = P.REF_PHYS_PERS

	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE RESIDENT <> 2 AND MONTH_BASE = @nMONTH2 GROUP BY REF_PHYS_PERS) S71 ON S71.REF_PHYS_PERS = P.REF_PHYS_PERS
	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH2 GROUP BY REF_PHYS_PERS) S72 ON S72.REF_PHYS_PERS = P.REF_PHYS_PERS

	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE RESIDENT <> 2 AND MONTH_BASE = @nMONTH3 GROUP BY REF_PHYS_PERS) S81 ON S81.REF_PHYS_PERS = P.REF_PHYS_PERS
	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH3 GROUP BY REF_PHYS_PERS) S82 ON S82.REF_PHYS_PERS = P.REF_PHYS_PERS
	
WHERE KATEG = 3
*/
DECLARE @Table_Razd31 VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @Table_Razd31 OUTPUT
EXEC ('select * INTO ' + @Table_Razd31 + ' from #RAZD31')
EXEC dbo.BufferPush -116, @Table_Razd31



---P2.ТАБЛИЦА 7
--ОСТАТКИ ПО СЧЁТУ 303.06 НА НАЧАЛО ГОДА
CREATE TABLE #REST_30306_BY ([DATE] DATETIME, REST NUMERIC(18,2))

DECLARE @Cur2 CURSOR, @LINK_ACC2 INT
SET @Cur2 = CURSOR FORWARD_ONLY

FOR SELECT LINK FROM dbo.S_ACCOUNTS WHERE CODE LIKE '303.06%'

OPEN @Cur2
FETCH NEXT FROM @Cur2 INTO @LINK_ACC2
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN

		INSERT INTO #REST_30306_BY ([DATE], REST)
		SELECT @BYearDate, REST = coalesce(sum(K_SUMMA)-sum(D_SUMMA),0) 
		FROM dbo.ARestGroupedTableByDate (@BYearDate, @LINK_ACC2, DEFAULT)
		WHERE DEP_LINK = @DEP_LINK
	END

	FETCH NEXT FROM @Cur2 INTO @LINK_ACC2
END

CLOSE @Cur2
DEALLOCATE @Cur2

--ОСТАТКИ ПО СЧЁТУ 303.06 НА КОНЕЦ ОТЧЕТНОГО КВАРТАЛА
--DECLARE @QV_DATE DATETIME
--SET @QV_DATE = @END_DATE+1

SET @Cur2 = CURSOR FORWARD_ONLY

FOR SELECT LINK FROM dbo.S_ACCOUNTS WHERE CODE LIKE '303.06%'

OPEN @Cur2
FETCH NEXT FROM @Cur2 INTO @LINK_ACC2
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN

		INSERT INTO #REST_30306_BY ([DATE], REST)
		SELECT @END_DATE, REST = coalesce(sum(K_SUMMA)-sum(D_SUMMA),0) 
		FROM dbo.ARestGroupedTableByDate (@QV_DATE, @LINK_ACC2, DEFAULT)
		WHERE DEP_LINK = @DEP_LINK
	END

	FETCH NEXT FROM @Cur2 INTO @LINK_ACC2
END

CLOSE @Cur2
DEALLOCATE @Cur2

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0701', SUM(REST), 0, 0 FROM #REST_30306_BY WHERE [DATE] = @BYearDate HAVING SUM(REST) > 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0712', -SUM(REST), 0, 0 FROM #REST_30306_BY WHERE [DATE] = @BYearDate HAVING SUM(REST) < 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0709', -SUM(REST), 0, 0 FROM #REST_30306_BY WHERE [DATE] = @END_DATE HAVING SUM(REST) < 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0719', SUM(REST), 0, 0 FROM #REST_30306_BY WHERE [DATE] = @END_DATE HAVING SUM(REST) > 0







--Используется в хранимке SA_4FSS_28022011_PREPARE_INV

--Р3.ТАБЛИЦА 9

Declare @StBase5 table (link int)
Insert into @StBase5 (link)
select distinct link_pays from tax_ref where link_tax = (select top 1 link from pays where object = 3 and way_calc = 5)

--Фактическая база для договорников
SELECT GT.PERS_LINK, MONTH(G.[DATE]) AS MONTH_BASE, SUMMA_BASE = sum(CASE WHEN GT.WAY_CALC  = 5 THEN GT.SUMMA_BASE ELSE 0 END)
INTO #DGH_FAKT_BASE2
FROM 
	dbo.DOCUMENTS_DGH G 
	--INNER JOIN dbo.DOCUMENTS_DGH_T1 T1 ON T1.LINK = G.LINK
	--INNER JOIN dbo.REESTR_DGH R ON R.LINK = T1.LINK_DOG  --AND FLAG_TRAVMA = 1	
	INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK --AND T1.PERS_LINK = GT.PERS_LINK 
WHERE 
	G.LINK_DEP = @DEP_LINK
	AND FLAG_JC = 1
	--AND GT.WAY_CALC  = 5
	AND YEAR(G.[DATE]) = @nYEAR
	AND MONTH(G.[DATE]) <= @nMONTH3 
GROUP BY   GT.PERS_LINK,  MONTH(G.[DATE]) /*, GT.WAY_CALC*/


SELECT MON, SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO), SUMMA_ALL_I = SUM(SUMMA_ALL_I), SUMMA_NO_I = SUM(SUMMA_NO_I)
INTO #SALARY_SUM
FROM 
(
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA_ALL = SUM(SUMMA),
	SUMMA_NO = SUM(CASE WHEN B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0 THEN SUMMA ELSE 0 END), --на которые не начисляются страховые взносы
	SUMMA_ALL_I = SUM(CASE WHEN I.LINK IS NOT NULL AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN COALESCE(I.DATE_BEGIN,CJ.PERIOD_BEGIN) AND  COALESCE(I.DATE_END,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) THEN SUMMA ELSE 0 END),
	SUMMA_NO_I = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) AND I.LINK IS NOT NULL AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN COALESCE(I.DATE_BEGIN,CJ.PERIOD_BEGIN) AND  COALESCE(I.DATE_END,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) THEN SUMMA ELSE 0 END)
from 
	dbo.CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
	INNER JOIN DBO.EMPL E ON E.LINK = CJ.LINK_EMPL
	LEFT JOIN @StBase5 B ON B.LINK = cj.LINK_PAYS
	LEFT JOIN DBO.PERS_INVALID I ON I.PERS_LINK = E.PERS_LINK 
			AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN I.DATE_BEGIN AND ISNULL(I.DATE_END,'29990101')
			--AND COALESCE(I.DATE_BEGIN,@BYearDate) <= @EndYear AND COALESCE(I.DATE_END,@EndYear) >= @BYearDate
where 	
	Year(period_begin) = @nYEAR and Month(period_begin) <= @nMONTH3 
	and CJ.LINK_DEP = @DEP_LINK
	and P.[OBJECT] = 1
GROUP BY
	Month(CJ.PERIOD_BEGIN)
UNION ALL	
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA_ALL = SUM(CJ.SUMMA),
	SUMMA_NO = SUM( CJ.SUMMA - ISNULL(B.SUMMA_BASE,0)), --на которые не начисляются страховые взносы
	SUMMA_ALL_I = SUM(CASE WHEN I.LINK IS NOT NULL AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN COALESCE(I.DATE_BEGIN,CJ.PERIOD_BEGIN) AND  COALESCE(I.DATE_END,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) THEN SUMMA ELSE 0 END),
	SUMMA_NO_I = SUM(CASE WHEN I.LINK IS NOT NULL AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN COALESCE(I.DATE_BEGIN,CJ.PERIOD_BEGIN) AND  COALESCE(I.DATE_END,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) THEN SUMMA - ISNULL(B.SUMMA_BASE,0) ELSE 0 END)
from 
	#DGH_CJ CJ
	INNER JOIN #DGH_FAKT_BASE2 B ON B.PERS_LINK = CJ.PERS_LINK AND B.MONTH_BASE = Month(CJ.PERIOD_BEGIN)
	LEFT JOIN DBO.KU_PERS_INVALID I ON I.PERS_LINK = CJ.PERS_LINK 
		AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN I.DATE_BEGIN AND ISNULL(I.DATE_END,'29990101')
		--AND COALESCE(I.DATE_BEGIN,@BYearDate) <= @EndYear AND COALESCE(I.DATE_END,@EndYear) >= @BYearDate
where 	
	Month(period_begin) <= @nMONTH3 
GROUP BY
	Month(CJ.PERIOD_BEGIN)
) AS T
GROUP BY 
	MON
------------------------

--Льготы по травматизму
DECLARE @LINK_S_OBJ INT
SET @LINK_S_OBJ = (SELECT TOP 1 LINK FROM dbo.S_OBJECTS WHERE CODE = 'DOCUMENTS_CLOSE_MONTH')

CREATE TABLE #TRAVM_LGOTY (I TINYINT, M TINYINT, SUMMA NUMERIC(18,2))
--скидки по травматизму
INSERT INTO #TRAVM_LGOTY (I, M, SUMMA)
SELECT I = (CASE WHEN ISNULL(I.PERS_LINK,0) = 0 THEN 0 ELSE 1 END), MONTH(D.[DATE]), SUM(SUMMA)
FROM
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_SKIDKI S ON S.LINK_UP = D.LINK
	LEFT JOIN dbo.pers_invalid I ON S.LINK_PERS = I.PERS_LINK 
		AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH(D.[DATE]),YEAR(D.[DATE]))) BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')	
WHERE
	D.[OBJECT] = @LINK_S_OBJ AND D.FLAG_JC = 1 AND D.LINK_DEP = @DEP_LINK
	AND YEAR(D.[DATE]) = @nYEAR AND MONTH(D.[DATE]) <= @nMONTH3
GROUP BY
	ISNULL(I.PERS_LINK,0), MONTH(D.[DATE])
	
----Вычеты по травматизму	
INSERT INTO #TRAVM_LGOTY (I, M, SUMMA)
SELECT I = (CASE WHEN ISNULL(I.PERS_LINK,0) = 0 THEN 0 ELSE 1 END), MONTH(D.[DATE]), SUM(SUMMA)
FROM
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_VYCHET S ON S.LINK_UP = D.LINK
	LEFT JOIN dbo.pers_invalid I ON S.LINK_PERS = I.PERS_LINK 
		AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH(D.[DATE]),YEAR(D.[DATE]))) BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')	
WHERE
	D.[OBJECT] = @LINK_S_OBJ AND D.FLAG_JC = 1 AND D.LINK_DEP = @DEP_LINK
	AND YEAR(D.[DATE]) = @nYEAR AND MONTH(D.[DATE]) <= @nMONTH3
GROUP BY
	ISNULL(I.PERS_LINK,0), MONTH(D.[DATE])	

--Данные для таблицы 6
CREATE TABLE #TABLE6 (MON TINYINT, SUMMA3 NUMERIC(18,2), SUMMA4 NUMERIC(18,2), SUMMA5 NUMERIC(18,2) )
INSERT INTO #TABLE6 (MON, SUMMA3, SUMMA4, SUMMA5)
SELECT 
	M.NUM, 
	SUMMA3 = /*ROUND(*/ ISNULL( (SELECT SUM(SUMMA_ALL)/*-SUM(SUMMA_NO)*/ FROM #SALARY_SUM WHERE MON = M.NUM) ,0) /*- ISNULL((SELECT SUM(SUMMA) FROM #TRAVM_LGOTY WHERE M = M.NUM),0)*/ /*,0)*/,
	SUMMA4 = /*ROUND(*/ ISNULL( (SELECT SUM(SUMMA_ALL_I)-SUM(SUMMA_NO_I) FROM #SALARY_SUM WHERE MON = M.NUM) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #TRAVM_LGOTY WHERE I = 1 AND M = M.NUM),0) /*,0)*/,
	SUMMA5 = /*ROUND(*/ ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM WHERE MON = M.NUM) ,0) + ISNULL((SELECT SUM(SUMMA) FROM #TRAVM_LGOTY WHERE M = M.NUM),0) /*,0)*/
FROM
	dbo.MONTHS M
	
	
INSERT INTO #RES2 SELECT '060103', ISNULL( (SELECT SUM(SUMMA3) FROM #TABLE6) ,0) , 0, 0, ''
INSERT INTO #RES2 SELECT '060104', ISNULL( (SELECT SUM(SUMMA4) FROM #TABLE6) ,0), 0, 0, ''
INSERT INTO #RES2 SELECT '060105', ISNULL( (SELECT SUM(SUMMA5) FROM #TABLE6) ,0), 0, 0, ''
---
INSERT INTO #RES2 SELECT '060303', ISNULL( (SELECT SUM(SUMMA3) FROM #TABLE6 WHERE MON = @nMONTH1) ,0) , 0, 0, ''
INSERT INTO #RES2 SELECT '060304', ISNULL( (SELECT SUM(SUMMA4) FROM #TABLE6 WHERE MON = @nMONTH1) ,0), 0, 0, ''
INSERT INTO #RES2 SELECT '060305', ISNULL( (SELECT SUM(SUMMA5) FROM #TABLE6 WHERE MON = @nMONTH1) ,0), 0, 0, ''
---
INSERT INTO #RES2 SELECT '060403', ISNULL( (SELECT SUM(SUMMA3) FROM #TABLE6 WHERE MON = @nMONTH2) ,0) , 0, 0, ''
INSERT INTO #RES2 SELECT '060404', ISNULL( (SELECT SUM(SUMMA4) FROM #TABLE6 WHERE MON = @nMONTH2) ,0), 0, 0, ''
INSERT INTO #RES2 SELECT '060405', ISNULL( (SELECT SUM(SUMMA5) FROM #TABLE6 WHERE MON = @nMONTH2) ,0), 0, 0, ''
---
INSERT INTO #RES2 SELECT '060503', ISNULL( (SELECT SUM(SUMMA3) FROM #TABLE6 WHERE MON = @nMONTH3) ,0) , 0, 0, ''
INSERT INTO #RES2 SELECT '060504', ISNULL( (SELECT SUM(SUMMA4) FROM #TABLE6 WHERE MON = @nMONTH3) ,0), 0, 0, ''
INSERT INTO #RES2 SELECT '060505', ISNULL( (SELECT SUM(SUMMA5) FROM #TABLE6 WHERE MON = @nMONTH3) ,0), 0, 0, ''

--Р3.ТАБЛИЦА 10
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA = SUM(SUMMA)
INTO 
	#SALARY_SUM1
from 
	dbo.CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
where 	
	Year(period_begin) = @nYEAR and Month(period_begin) <= @nMONTH3 
	and CJ.LINK_DEP = @DEP_LINK
	and CJ.LINK_PAYS = (select top 1 link from pays where object = 3 and way_calc = 5)
GROUP BY
	Month(CJ.PERIOD_BEGIN)

INSERT INTO #RES2 SELECT '1021', SUM(SUMMA), 0, 0, '' FROM #SALARY_SUM1 WHERE MON < @nMONTH1
INSERT INTO #RES2 SELECT '1023', SUM(SUMMA), 0, 0, '' FROM #SALARY_SUM1 WHERE MON = @nMONTH1
INSERT INTO #RES2 SELECT '1024', SUM(SUMMA), 0, 0, '' FROM #SALARY_SUM1 WHERE MON = @nMONTH2
INSERT INTO #RES2 SELECT '1025', SUM(SUMMA), 0, 0, '' FROM #SALARY_SUM1 WHERE MON = @nMONTH3

--- Номера платежек 
CREATE TABLE #PLAT1(VID TINYINT, Y INT, MON TINYINT, SUMMA NUMERIC(18,2), Y_p INT, MON_p TINYINT, NUMBER VARCHAR(10))

	exec dbo.BufferClear 'DT'
	exec dbo.BufferClear 'KT'

	INSERT INTO BUFFER (link, id)
	select link, 'DT' from s_accounts where cSinth = '303' and cAnalit = '06' --С 290экр НЕ ДОЛЖЕН БРАТЬСЯ

	INSERT INTO BUFFER (link, id)
	select link, 'KT' from s_accounts where cSinth = '304' and cAnalit = '05'

	INSERT INTO BUFFER (link, id)
	select link, 'KT' from s_accounts where cSinth = '201' and (cAnalit = '11' or cAnalit = '21' or cAnalit = '27')

	INSERT INTO #PLAT1 (VID, Y, MON, SUMMA,Y_P,MON_P,NUMBER)
	SELECT  1,
		Y = CONVERT(INT,YEAR(p.DATE_PROV)), 
		MON = CONVERT(INT,MONTH(p.DATE_PROV)),
		P.SUMMA,  
		Y_P = CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,3,'.')), 
		MON_P = CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,2,'.')),
		P.NUMBER	
	from 
		dbo.AProvByBufferConditionsShortDate(@START_DATE, @END_DATE, 'DT', 'KT') P	
		inner join dbo.DOCUMENTS_PAY_ADD PA on P.link = PA.link
		inner join dbo.g_prov G on G.link = PA.link
		LEFT JOIN dbo.KOSGU DG ON DG.LINK = P.DT_EKR
	WHERE
		P.DEP_LINK = @DEP_LINK
		AND
		G.DEP = @DEP_LINK
		--AND
		--CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,2,'.')) <= @M
		--AND
		--CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,3,'.')) = @Y
		AND
		DG.CODE <> '290'

	exec dbo.BufferClear 'DT'
	exec dbo.BufferClear 'KT'
	
	
	
INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '10163', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT1 WHERE Y >= @nYEAR and MON = @nMONTH1), 
		'', 
		0   

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '10164', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT1 WHERE Y >= @nYEAR and MON = @nMONTH2), 
		'', 
		0   

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '10165', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT1 WHERE Y >= @nYEAR and MON = @nMONTH3), 
		'', 
		0   

--- Сведения по номерам платежек
SELECT  VID,
		Y , 
		MON ,
		NUMBER	
INTO #PLAT_PP1
FROM #PLAT1 
GROUP  BY VID , Y , MON, NUMBER

DROP TABLE #PLAT1

BEGIN 
	declare @Cur_1 cursor , @VID1 tinyint , @Y1 INT, @MON1 TINYINT, @NUMBER1 VARCHAR(10)

	SET @Cur_1 = CURSOR FORWARD_ONLY
	FOR 
		select VID, Y, MON, NUMBER from #PLAT_PP1 order by VID, Y, MON, NUMBER
	OPEN @Cur_1
	FETCH NEXT FROM @Cur_1 INTO @VID1, @Y1, @MON1, @NUMBER1
	
	WHILE (@@fetch_status <> -1)
	BEGIN
		
		IF (@@fetch_status <> -2)
		BEGIN	
			if  @Y1 = @nYEAR and @MON1 = @nMONTH1
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER1)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER1)) end )
				where code_str = '10163' 

			if  @Y1 = @nYEAR and @MON1 = @nMONTH2
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER1)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER1)) end )
				where code_str = '10164'

			if  @Y1 = @nYEAR and @MON1 = @nMONTH3
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER1)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER1)) end )
				where code_str = '10165'				

		end
		FETCH NEXT FROM @Cur_1 INTO @VID1, @Y1, @MON1, @NUMBER1
	end

CLOSE @Cur_1
DEALLOCATE @Cur_1

END 

drop table #PLAT_PP1

-- exec dbo.RI_REPORT_FORMULA_ALL_CALCULATE '2014-01-01 00:00:00','2014-03-31 00:00:00',2,1,2745
/*declare @Res float
set @Res = 0
 exec dbo.RSA_4FSS_09022012_PREPARE @Res output, '', '20140101', '20140331', 2, 1, 2745
*/




--Таблица 8

INSERT INTO #RES2
SELECT '1101', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 10),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 10),0),	
	0, ''

INSERT INTO #RES2
SELECT '1102', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 10 AND [STATUS] = 3),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 10 AND [STATUS] = 3),0),	
	0, ''	
	
INSERT INTO #RES2
SELECT '1104', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 11),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 11),0),	
	0, ''

INSERT INTO #RES2
SELECT '1105', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 11 AND [STATUS] = 3),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 11 AND [STATUS] = 3),0),	
	0, ''		

INSERT INTO #RES2
SELECT '1107', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 12),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 12),0),	
	0, ''

DECLARE  @SPO4 INT
SELECT @SPO4 = (SELECT distinct LINK FROM dbo.SA_SZV4_SPR WHERE code = 'О4' AND spr_code = 'SPO_USL_TRUDA' )




----- Таблица результатов по спецоценке
--Р2.ТАБЛИЦА 10
select [KOL_ALL] = SUM(S.NUM_STAKE),
		[KOL_SPO_ALL] = SUM(CASE WHEN S.COD_SPO_USL_TRUD IS NOT NULL THEN S.NUM_STAKE ELSE 0 END ),
		[KOL_SPO_3] =  SUM(CASE WHEN (ISNULL(S.COD_SPO_USL_TRUD, 0) <> 0 
							AND S.COD_SPO_USL_TRUD = @SPO4 
							)  
					   THEN  S.NUM_STAKE 
					   ELSE 0 END) ,	   
		[KOL_SPO_4] = SUM(CASE WHEN (ISNULL(S.COD_SPO_USL_TRUD, 0) <> 0 
							AND S.COD_SPO_USL_TRUD <> @SPO4 
							)  
					   THEN  S.NUM_STAKE 
					   ELSE 0 END) 	  
	
INTO 
	#STAF_ALL
from 
	dbo.staff s inner join dbo.staff_head sh on s.link_up = sh.LINK
where 	
	sh.DEP_LINK = @DEP_LINK
	and @vardEnd between s.date_begin and s.date_end 




INSERT INTO #RES2 SELECT '100103', KOL_ALL, 0, 0, '' FROM #STAF_ALL 
INSERT INTO #RES2 SELECT '100104', KOL_SPO_ALL, 0, 0, '' FROM #STAF_ALL 
INSERT INTO #RES2 SELECT '100105', KOL_SPO_3, 0, 0, '' FROM #STAF_ALL 
INSERT INTO #RES2 SELECT '100106', KOL_SPO_4, 0, 0, '' FROM #STAF_ALL 


/* Завершаем - списываем значения во временную таблицу */
DECLARE @Table_Razd1 VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @Table_Razd1 OUTPUT
EXEC ('select * INTO ' + @Table_Razd1 + ' from #RES2 order by code_str')
EXEC dbo.BufferPush -115, @Table_Razd1


DROP TABLE #RES2
DROP TABLE #SPR_ESN
DROP TABLE #ATR_4FSS
DROP TABLE #DGH_FAKT_BASE
DROP TABLE #SALARY_SUM2
DROP TABLE #SPR_ESN1
DROP TABLE #SPR_ESN2
--DROP TABLE #SPR_ESN1KATEG3
--DROP TABLE #SPR_ESN2KATEG3
DROP TABLE #SPR_ESN1Res
DROP TABLE #SPR_ESN2Res
DROP TABLE #RAZD31
DROP TABLE #DGH_FAKT_BASE2
DROP TABLE #SALARY_SUM
DROP TABLE #SALARY_SUM1
DROP TABLE #TRAVM_LGOTY
DROP TABLE #TABLE6







GO


GRANT EXECUTE ON dbo.[RSA_4FSS_20032015_PREPARE] TO PUBLIC

GO


GO

--AFTER CODE 11.04.2016
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (апр  4 2016 10:44:41:530AM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503128M (Отчет о принятых бюджетных  обязательствах)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-04-04 10:44:41.530
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503128M' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-04-04 10:44:41.530',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503128M',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503128M'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Отчет о принятых бюджетных  обязательствах',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_128#RA_IMPORT_FORM_128',0,1,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'svodprint_page_itog()','sv_0503128g_20141231.bas','','kirrepmakermultisheet.xls','sv_0503128g_20141231.xlt','',NULL,'RA_EXPORT_FORM_128#RA_IMPORT_FORM_128',0,'COL2+''|$ADM$|''+LEFT(COL15,4)+''|''+SUBSTRING(COL15,5,10)+''|''+SUBSTRING(COL15,15,3)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''+STR(COL13)+''|''+STR(COL14)+''|''
#
LEFT(COL13,3)+''|$ADM$|'' +SUBSTRING(COL13,4,17)+''|'' +STR(COL4)+''|''+STR(COL5) + ''|'' + STR(COL6)+''|''+STR(COL7) +''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''
#
COL2+''|''+STR(COL3)+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''
#
COL2+''|''+COL3+''|''+STR(COL4)+''|''+STR(COL5)+''|''+STR(COL6)+''|''+STR(COL7)+''|''+STR(COL8)+''|''+STR(COL9)+''|''+STR(COL10)+''|''+STR(COL11)+''|''+STR(COL12)+''|''
','C1+''|''+C3+C4+C5+''|''+C6+''|''+C7+''|''+C8+''|''+C9+''|''+C10+''|''+C11+''|''+C12+''|''+C13+''|''+C14
# C1+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7+''|''+C8 +''|''+C9+''|''+C10+''|''+C11+''|''+C12
#
C1+''|''+C2+''|''+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7+''|''+C8+''|''+C9+''|''+C10+''|''+C11+''|''+C12+''|''+C1+C2
#
C1+''|''+C2+''|''+C3+''|''+C4+''|''+C5+''|''+C6+''|''+C7+''|''+C8+''|''+C9+''|''+C10+''|''+C11
',NULL,'228       ','REPORTS_ATR_ADM',NULL,'RB_PRINT_0503128G_2016','|sv_0503128g_20141231.xlt',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Расходы бюджета', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,0,1,1500,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,2,100,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'РЗПР',@iLINK_TABLE,0,1,0,0,4,1,'R_SPR_RZPR_2011','COL3','CODE','NNNN',NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'ЦСР',@iLINK_TABLE,0,1,0,0,10,1,'R_SPR_CSR_USER_2016','COL4','CODE','NNNNNNNNNN',NULL,NULL,'dbo.RO_KBK_ORG_IS_VIEW(link, org, budg,%link_org%, %link_budg%, ''20110101'')=1 AND %date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'ВР',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_VR_USER_2011','COL1,COL2,COL5','NAME,CODE_STR,CODE','NNN',NULL,NULL,'dbo.RO_KBK_ORG_IS_VIEW(link, org, budg,%link_org%, %link_budg%, ''20110101'') = 1 AND %date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Утверждено (доведено)  на год бюджетных ассигнований',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Утверждено (доведено) лимитов бюджетных обязательств',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Принимаемые обязательства',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Принято бюджетных обязательств всего',@iLINK_TABLE,1,0,7,7,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Принято бюджетных обязательств с применением конкурентных способов',@iLINK_TABLE,1,0,8,8,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Денежные обязательства',@iLINK_TABLE,1,0,9,9,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,10,10,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Неисполнено принятых бюджетных обязательств',@iLINK_TABLE,1,0,11,11,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,12,12,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Код расхода по ППП, по ФКР, КЦСР, КВР',@iLINK_TABLE,1,1,2,0,17,1,'R_SPR_RASH_117_2016','COL1,COL2,COL15','NAME,CODE_STR,CODE',NULL,1,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Расходы бюджета', @iLINK_FORM,1, @iLINK_CODE_COL,1,'CALC_SMETA=exec dbo.RB_CALC_FORM_0503127G09 @lsf, 2, @dateEndPeriod, @depLink
CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503127M'',2,''20110101'')
KEY_FOX=PADR(RTRIM(COL3),4,''0'')+PADR(RTRIM(COL4),10,''0'')+PADR(RTRIM(COL5),3,''0'')
KEY_WEB=LEFT(RTRIM(isnull(COL3,''''))+''0000'',4)+LEFT(RTRIM(ISNULL(COL4,''''))+''0000000000000'',10)+LEFT(RTRIM(ISNULL(COL5,''''))+''000'',3)
SPLIT=COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000'',1,4)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000'',5,10)#COL5=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000'',15,3)
FILTER_GRID=Рзпр#COL3|ЦСР#COL4|ВР#COL5
AUTO_SPR_FORM=R_SPR_RASH_117_2016
AUTO_SPR_NAME_UPD=''COL5=SUBSTRING(CODE,15,3)=000#COL4=SUBSTRING(CODE,5,10)=0000000#COL3=SUBSTRING(CODE,1,4)=0000'', ''report_kbk'', ''CODE'', ''LONG_NAME'',''code_form=''''R_SPR_RASH_117_2016'''' and isnull(T.long_name,'''''''')=''''''''''
AUTOFILL_MASK=XXXXXXXXXXXXXXXXXddd
AUTO_SPR_CHECK= exists(select * from R_SPR_RZPR_2011 where code = SUBSTRING(T.code,1,4))  and ((exists(select * from R_SPR_CSR_USER_2016 where code = SUBSTRING(T.code,5,10)) and exists(select * from dbo.R_SPR_VR_2011 where code = SUBSTRING(T.code,15,3))) OR ISNULL((SELECT Val_int FROM dbo.report_options WHERE Razdel = ''COMMON'' AND Code = ''ITOG_117''),0) =1) and T.code <> ''00000000000000000'' and not (LEFT(T.code,4) = ''9600'' and SUBSTRING(T.Code, 15,3) <> ''000'') and not (LEFT(T.code,4) = ''7900'' and SUBSTRING(T.Code, 15,3) <> ''000'')

AUTO_SPR_CODE_STR=case when left(T.code,4) <> ''7900'' then ''200'' else ''450'' end
AUTO_SPR_PARENT=5#left(T.Code,14) + XXX','-1#LEFT(CODE,3)=''960''
1#LEFT(CODE,3)=''790''',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Источники финансирования дефицита бюджета', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,0,1,1000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,0,1,0,2,100,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код источника финансирования по бюджетной классификации',@iLINK_TABLE,0,1,0,0,50,1,'R_SPR_IST_17_2011','COL1,COL2,COL3','LONG_NAME,CODE_STR,CODE_IST','NN NN NN NN NN NNNN NNN',NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утверждено (доведено) на год бюджетных ассигнований',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Утверждено (доведено) лимитов бюджетных обязательств',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Принимаемые обязательства',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Принято бюджетных обязательств всего',@iLINK_TABLE,1,0,7,7,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Принято бюджетных обязательств с применением конкурентных способов',@iLINK_TABLE,1,0,8,8,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Денежные обязательства',@iLINK_TABLE,1,0,9,9,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,10,10,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Неисполнено принятых бюджетных обязательств',@iLINK_TABLE,1,0,11,11,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,12,12,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Код строки и Код источника',@iLINK_TABLE,1,1,2,0,20,1,'R_SPR_IST_17_2011','COL1,COL2,COL3,COL13','LONG_NAME,CODE_STR,CODE_IST,CODE',NULL,1,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Источники финансирования дефицита бюджета', @iLINK_FORM,2, @iLINK_CODE_COL,1,'CALC_SMETA=exec dbo.RB_CALC_FORM_0503127G09 @lsf, 3, @dateEndPeriod, @depLink
CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503127M'',3,''20110101'')
KEY_FOX=PADR(RTRIM(COL2),3,''0'')+PADR(RTRIM(COL3),17,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000'',3)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000000000'',17)
SPLIT=COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',1,3)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''0000000000000000000000000'',4,17)
KBK=4,5,6,7,-8,-9','-1#LEFT(CODE,4) =''9000''',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Обязательства финансовых годов', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,0,0,1000,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код источника финансирования по бюджетной классификации',@iLINK_TABLE,1,1,3,0,50,1,NULL,NULL,NULL,'NN NN NN NN NN NNNN NNN',1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утверждено ассигнований бюджетных',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Утверждено лимитов бюджетных обязательств',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Принимаемые обязательства',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Принято бюджетных обязательств всего',@iLINK_TABLE,1,0,7,7,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Принято бюджетных обязательств с применением конкурентных способов',@iLINK_TABLE,1,0,8,8,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Денежные обязательства',@iLINK_TABLE,1,0,9,9,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,10,10,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Неисполнено принятых бюджетных обязательств',@iLINK_TABLE,1,0,11,11,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,12,12,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Код строки и Код источника',@iLINK_TABLE,0,1,13,0,20,0,'R_SPR_IST_17_2011','COL1,COL2,COL3,COL13','LONG_NAME,CODE_STR,CODE_IST,CODE',NULL,1,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Обязательства финансовых годов', @iLINK_FORM,3, @iLINK_CODE_COL,0,'CALC_SMETA=exec dbo.RB_CALC_FORM_0503128G @lsf, 4
CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503128M'',4,''20141231'')
KEY_FOX=PADR(RTRIM(COL2),3,''0'')+PADR(RTRIM(COL3),17,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000'',3)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000000000'',17)
SPLIT=COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',1,3)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''0000000000000000000000000'',4,17)','-1#LEFT(CODE,4) =''9100''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Итого', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,0,0,250,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,0,3,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код по бюджетной классификации',@iLINK_TABLE,1,1,3,0,50,0,NULL,NULL,NULL,'NN NN NN NN NN NNNN NNN',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утверждено ассигнований бюджетных',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Утверждено лимитов бюджетных обязательств',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Принимаемые обязательства',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Принято бюджетных обязательств всего',@iLINK_TABLE,1,0,7,7,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Принято бюджетных обязательств с применением конкурентных способов',@iLINK_TABLE,1,0,8,8,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Принято денежных обязательств',@iLINK_TABLE,1,0,9,9,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Исполнено денежных обязательств',@iLINK_TABLE,1,0,10,10,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Неисполнено принятых бюджетных обязательств',@iLINK_TABLE,1,0,11,11,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Неисполнено принятых денежных обязательств',@iLINK_TABLE,1,0,12,12,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Итого', @iLINK_FORM,4, @iLINK_CODE_COL,0,'CALC_SMETA=exec dbo.RB_CALC_FORM_0503127G09 @lsf, 5, @dateEndPeriod, @depLink
CALC_SKELET=sql.call("dbo.RO_CALC_SKELET",m.cAlias,0x0,''0503127M'',5,''20081231'')
KEY_FOX=PADR(RTRIM(COL2),3,''0'')+PADR(RTRIM(COL3),17,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL2,''''))+''000'',3)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000000000'',17)
SPLIT=COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',1,3)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''0000000000000000000000000'',4,17)',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,3,1,1)
INSERT #R VALUES (2,3,2,1)
INSERT #R VALUES (3,3,3,1)
INSERT #R VALUES (1,4,1,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 4
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (3,1,1,'Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом, всего')
INSERT #F VALUES (3,2,1,'Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом, всего по расходам')
INSERT #F VALUES (3,3,1,'по выплатам источников финансирования дефицита бюджета')
INSERT #F VALUES (3,1,2,'900')
INSERT #F VALUES (3,2,2,'910                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,3,2,'920')
INSERT #F VALUES (3,3,6,'ЗАПРЕТ()')
INSERT #F VALUES (3,3,8,'ЗАПРЕТ()')
INSERT #F VALUES (3,1,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,2,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,3,10,'ЗАПРЕТ()')
INSERT #F VALUES (4,1,1,'Итого')
INSERT #F VALUES (4,1,2,'999')
INSERT #F VALUES (4,1,3,'99999999999999999')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 14
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,42,7,0,0,0,'т.2гр.7 >=  т.2гр.9',0,2,0,'20101210','1=0','','','0503128M','20160101','Киров','>=',4,'','')
INSERT #A VALUES(2,NULL,0,NULL,43,7,0,0,0,'т.1гр.7 >=  т.1гр.6',0,2,0,'20101210','1=0','','','0503128M','20160101','Киров','>=',4,'','')
INSERT #A VALUES(3,NULL,0,NULL,44,7,0,0,0,'т.2гр.9 >=  т.2гр.10',0,2,0,'20101210','1=0','','','0503128M','20160101','Киров','>=',4,'','')
INSERT #A VALUES(4,NULL,0,NULL,45,7,0,0,0,'т.1гр.6 >=  т.1гр.10',0,2,0,'20101210','1=0','','','0503128M','20160101','Киров','>=',4,'','')
INSERT #A VALUES(5,NULL,0,NULL,47,7,0,0,0,'т.2гр.8 =  т.2гр.8',1,2,0,'20130306','isnull(col(7),0)<convert(float,0) or isnull(col(4),0)<convert(float,0)','','','0503128M','20160101','Киров','=',4,'','')
INSERT #A VALUES(6,NULL,0,NULL,156,7,0,0,0,'т.3стр.900 =  т.3стр.910 +  т.3стр.920',1,0,0,'20150507','','','','0503128M','20160101','ks','=',2,'','')
INSERT #A VALUES(7,NULL,0,NULL,828,7,0,0,0,'т.1Фильтр:ЭКР 200 =  т.1Фильтр:ЭКР 210 +  т.1Фильтр:ЭКР 220 +  т.1Фильтр:ЭКР 230 +  т.1Фильтр:ЭКР 240 +  т.1Фильтр:ЭКР 250 +  т.1Фильтр:ЭКР 260 +  т.1Фильтр:ЭКР 290',1,4,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(8,NULL,0,NULL,829,7,0,0,0,'т.1Фильтр:ЭКР 250 =  т.1Фильтр:ЭКР 251 +  т.1Фильтр:ЭКР 252 +  т.1Фильтр:ЭКР 253',1,3,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(9,NULL,0,NULL,830,7,0,0,0,'т.1Фильтр:ЭКР 260 =  т.1Фильтр:ЭКР 261 +  т.1Фильтр:ЭКР 262 +  т.1Фильтр:ЭКР 263',1,3,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(10,NULL,0,NULL,831,7,0,0,0,'т.1Фильтр:ЭКР 210 =  т.1Фильтр:ЭКР 211 +  т.1Фильтр:ЭКР 212 +  т.1Фильтр:ЭКР 213',1,3,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(11,NULL,0,NULL,832,7,0,0,0,'т.1Фильтр:ЭКР 300 =  т.1Фильтр:ЭКР  310 +  т.1Фильтр:ЭКР 320 +  т.1Фильтр:ЭКР 340 +  т.1Фильтр:ЭКР 330',1,3,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(12,NULL,0,NULL,833,7,0,0,0,'т.1стр.96000000000000000 =  т.1Фильтр:ЭКР 200 +  т.1Фильтр:ЭКР 300 +  т.1Фильтр:ЭКР 600 +  т.1Фильтр:ЭКР 500',1,8,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(13,NULL,0,NULL,834,7,0,0,0,'т.1Фильтр:ЭКР 500 =  т.1Фильтр:ЭКР  540 +  т.1Фильтр:ЭКР  530',1,3,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(14,NULL,0,NULL,835,7,0,0,0,'т.1Фильтр:ЭКР 230 =  т.1Фильтр:ЭКР 231 +  т.1Фильтр:ЭКР 232',1,3,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(15,NULL,0,NULL,836,7,0,0,0,'т.1Фильтр:ЭКР  240 =  т.1Фильтр:ЭКР 241 +  т.1Фильтр:ЭКР 242',1,3,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(16,NULL,0,NULL,837,7,0,0,0,'т.1Фильтр:ЭКР 600 =  т.1Фильтр:ЭКР 620 +  т.1Фильтр:ЭКР  640',1,3,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(17,NULL,0,NULL,838,7,0,0,0,'т.1Фильтр:ЭКР 220 =  т.1Фильтр:ЭКР 221 +  т.1Фильтр:ЭКР 222 +  т.1Фильтр:ЭКР 223 +  т.1Фильтр:ЭКР 224 +  т.1Фильтр:ЭКР 225 +  т.1Фильтр:ЭКР 226',1,3,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(18,NULL,0,NULL,839,7,0,0,0,'т.1Фильтр:ЭКР 000 =  т.1Фильтр:ЭКР 200 +  т.1Фильтр:ЭКР 300 +  т.1Фильтр:ЭКР 500 +  т.1Фильтр:ЭКР 600',1,5,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(19,NULL,0,NULL,840,7,0,0,0,'т.1гр.11 =  т.1гр.7 -  т.1гр.10',1,0,1,'20160404','','','','0503128M','20160101',NULL,'=',3,'','')
INSERT #A VALUES(20,NULL,0,NULL,841,7,0,0,0,'т.1гр.12 =  т.1гр.9 -  т.1гр.10',1,0,1,'20160404','','','','0503128M','20160101','','=',3,'','')
INSERT #A VALUES(21,NULL,0,NULL,842,7,0,0,0,'т.2гр.11 =  т.2гр.7 -  т.2гр.10',1,0,1,'20160404','','','','0503128M','20160101',NULL,'=',3,'','')
INSERT #A VALUES(22,NULL,0,NULL,843,7,0,0,0,'т.2гр.12 =  т.2гр.9 -  т.2гр.10',1,0,1,'20160404','','','','0503128M','20160101',NULL,'=',3,'','')
INSERT #A VALUES(23,NULL,0,NULL,848,7,0,0,0,'т.4стр.99999999999999999гр.4 =  т.1стр.96000000000000000гр.4 +  т.2стр.50090000000000000000гр.4 +  т.3стр.900гр.4',1,113,1,'20160404','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(24,NULL,0,NULL,849,7,0,0,0,'т.4стр.99999999999999999гр.5 =  т.1стр.96000000000000000гр.5 +  т.2стр.50090000000000000000гр.5 +  т.3стр.900гр.5',1,113,1,'20160404','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(25,NULL,0,NULL,850,7,0,0,0,'т.4стр.99999999999999999гр.6 =  т.1стр.96000000000000000гр.6 +  т.2стр.50090000000000000000гр.6 +  т.3стр.900гр.6',1,113,1,'20160404','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(26,NULL,0,NULL,851,7,0,0,0,'т.4стр.99999999999999999гр.7 =  т.1стр.96000000000000000гр.7 +  т.2стр.50090000000000000000гр.7 +  т.3стр.900гр.7',1,113,1,'20160404','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(27,NULL,0,NULL,852,7,0,0,0,'т.4стр.99999999999999999гр.8 =  т.1стр.96000000000000000гр.8 +  т.2стр.50090000000000000000гр.8 +  т.3стр.900гр.8',1,113,1,'20160404','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(28,NULL,0,NULL,853,7,0,0,0,'т.4стр.99999999999999999гр.9 =  т.1стр.96000000000000000гр.9 +  т.2стр.50090000000000000000гр.9 +  т.3стр.900гр.8',1,113,1,'20160404','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(29,NULL,0,NULL,854,7,0,0,0,'т.4стр.99999999999999999гр.10 =  т.1стр.96000000000000000гр.10 +  т.2стр.50090000000000000000гр.10 +  т.3стр.900гр.10',1,113,1,'20160404','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(30,NULL,0,NULL,855,7,0,0,0,'т.4стр.99999999999999999гр.11 =  т.1стр.96000000000000000гр.11 +  т.2стр.50090000000000000000гр.11 +  т.3стр.900гр.11',1,113,1,'20160404','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(31,NULL,0,NULL,856,7,0,0,0,'т.4стр.99999999999999999гр.12 =  т.1стр.96000000000000000гр.12 +  т.2стр.50090000000000000000гр.12 +  т.3стр.900гр.12',1,113,1,'20160404','','','','0503128M','20160101','','=',1,'','')
INSERT #A VALUES(32,NULL,0,NULL,865,7,0,0,0,'т.1гр.7 >=  т.1гр.9',0,2,1,'20160404','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(33,NULL,0,NULL,866,7,0,0,0,'т.1гр.9 >=  т.1гр.10',0,2,1,'20160404','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(34,NULL,0,NULL,867,7,0,0,0,'|т.2гр.7| >=  |т.2гр.9|',0,2,1,'20160404','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(35,NULL,0,NULL,868,7,0,0,0,'|т.2гр.9| >=  |т.2гр.10|',0,2,1,'20160404','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(36,NULL,0,NULL,873,7,0,0,0,'т.2Фильтр:Подитоги по регион. кодам =  т.2Фильтр:Региональные кода',1,0,1,'20160404','','','','0503128M','20160101','','=',0,'','')
INSERT #A VALUES(37,NULL,0,NULL,888,7,0,0,0,'т.3гр.7 >=  т.3гр.9',0,2,1,'20160404','','','','0503128M','20160101','','>=',3,'','')
INSERT #A VALUES(38,NULL,0,NULL,889,7,0,0,0,'т.3стр.900 =  т.3стр.910 +  т.3стр.920',1,0,1,'20160404','','','','0503128M','20160101','','=',2,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 38
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','900','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','910','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','920','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','200','RIGHT(RTRIM(CODE),3)=''200''','ЭКР 200','LEFT(code,14)+''200''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(7,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','210','RIGHT(RTRIM(CODE),3)=''210''','ЭКР 210','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','220','RIGHT(RTRIM(CODE),3)=''220''','ЭКР 220','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','230','RIGHT(RTRIM(CODE),3)=''230''','ЭКР 230','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','240','RIGHT(RTRIM(CODE),3)=''240''','ЭКР 240','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,6,4,'+',NULL,NULL,NULL,NULL,0,0,'','','250','RIGHT(RTRIM(CODE),3)=''250''','ЭКР 250','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,7,4,'+',NULL,NULL,NULL,NULL,0,0,'','','260','RIGHT(RTRIM(CODE),3)=''260''','ЭКР 260','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(7,8,4,'+',NULL,NULL,NULL,NULL,0,0,'','','290','RIGHT(RTRIM(CODE),3)=''290''','ЭКР 290','LEFT(code,14)+''200''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(8,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','250','RIGHT(RTRIM(CODE),3)=''250''','ЭКР 250','LEFT(code,14)+''250''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(8,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','251','RIGHT(RTRIM(CODE),3)=''251''','ЭКР 251','LEFT(code,14)+''250''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(8,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','252','RIGHT(RTRIM(CODE),3)=''252''','ЭКР 252','LEFT(code,14)+''250''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(8,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','253','RIGHT(RTRIM(CODE),3)=''253''','ЭКР 253','LEFT(code,14)+''250''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(9,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','260','RIGHT(RTRIM(CODE),3)=''260''','ЭКР 260','LEFT(code,14)+''260''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','261','RIGHT(RTRIM(CODE),3)=''261''','ЭКР 261','LEFT(code,14)+''260''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(9,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','262','RIGHT(RTRIM(CODE),3)=''262''','ЭКР 262','LEFT(code,14)+''260''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(9,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','263','RIGHT(RTRIM(CODE),3)=''263''','ЭКР 263','LEFT(code,14)+''260''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','210','RIGHT(RTRIM(CODE),3)=''210''','ЭКР 210','LEFT(code,14)+''210''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','211','RIGHT(RTRIM(CODE),3)=''211''','ЭКР 211','LEFT(code,14)+''210''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(10,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','212','RIGHT(RTRIM(CODE),3)=''212''','ЭКР 212','LEFT(code,14)+''210''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(10,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','213','RIGHT(RTRIM(CODE),3)=''213''','ЭКР 213','LEFT(code,14)+''210''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','300','RIGHT(RTRIM(CODE),3)=''300''','ЭКР 300','LEFT(code,14)+''300''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','310','RIGHT(RTRIM(CODE),3)=''310''','ЭКР  310','LEFT(code,14)+''300''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(11,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','320','RIGHT(RTRIM(CODE),3)=''320''','ЭКР 320','LEFT(code,14)+''300''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(11,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','340','RIGHT(RTRIM(CODE),3)=''340''','ЭКР 340','LEFT(code,14)+''300''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(11,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','RIGHT(RTRIM(CODE),3)=''330''','ЭКР 330','LEFT(code,14)+''300''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','00000000000000000200','RIGHT(RTRIM(CODE),3)=''200''','ЭКР 200','','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(12,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','00000000000000000300','RIGHT(RTRIM(CODE),3)=''300''','ЭКР 300','','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(12,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','00000000000000000600','RIGHT(RTRIM(CODE),3)=''600''','ЭКР 600','','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(12,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','00000000000000000500','RIGHT(RTRIM(CODE),3)=''500''','ЭКР 500','','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','500','RIGHT(RTRIM(CODE),3)=''500''','ЭКР 500','LEFT(code,14)+''500''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','540','RIGHT(RTRIM(CODE),3)=''540''','ЭКР  540','LEFT(code,14)+''500''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(13,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','530','RIGHT(RTRIM(CODE),3)=''530''','ЭКР  530','LEFT(code,14)+''500''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','230','RIGHT(RTRIM(CODE),3)=''230''','ЭКР 230','LEFT(code,14)+''230''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','231','RIGHT(RTRIM(CODE),3)=''231''','ЭКР 231','LEFT(code,14)+''230''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(14,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','232','RIGHT(RTRIM(CODE),3)=''232''','ЭКР 232','LEFT(code,14)+''230''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','240','RIGHT(RTRIM(CODE),3)=''240''','ЭКР  240','LEFT(code,14)+''240''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','241','RIGHT(RTRIM(CODE),3)=''241''','ЭКР 241','LEFT(code,14)+''240''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(15,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','242','RIGHT(RTRIM(CODE),3)=''242''','ЭКР 242','LEFT(code,14)+''240''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(16,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','600','RIGHT(RTRIM(CODE),3)=''600''','ЭКР 600','LEFT(code,14)+''600''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(16,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','620','RIGHT(RTRIM(CODE),3)=''620''','ЭКР 620','LEFT(code,14)+''600''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(16,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','640','RIGHT(RTRIM(CODE),3)=''640''','ЭКР  640','LEFT(code,14)+''600''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','220','RIGHT(RTRIM(CODE),3)=''220''','ЭКР 220','LEFT(code,14)+''220''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(17,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','221','RIGHT(RTRIM(CODE),3)=''221''','ЭКР 221','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','222','RIGHT(RTRIM(CODE),3)=''222''','ЭКР 222','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','223','RIGHT(RTRIM(CODE),3)=''223''','ЭКР 223','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','224','RIGHT(RTRIM(CODE),3)=''224''','ЭКР 224','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,6,4,'+',NULL,NULL,NULL,NULL,0,0,'','','225','RIGHT(RTRIM(CODE),3)=''225''','ЭКР 225','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(17,7,4,'+',NULL,NULL,NULL,NULL,0,0,'','','226','RIGHT(RTRIM(CODE),3)=''226''','ЭКР 226','LEFT(code,14)+''220''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(18,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','500','RIGHT(RTRIM(CODE),3)=''000'' AND LEFT(CODE,1)  < ''7''','ЭКР 000','LEFT(code,14)+''000''','','','','','1',NULL,0,'',0,NULL,1,'',0)
INSERT #B VALUES(18,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','540','RIGHT(RTRIM(CODE),3)=''200''','ЭКР 200','LEFT(code,14)+''000''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(18,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','530','RIGHT(RTRIM(CODE),3)=''300''','ЭКР 300','LEFT(code,14)+''000''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(18,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','RIGHT(RTRIM(CODE),3)=''500''','ЭКР 500','LEFT(code,14)+''000''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(18,5,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','RIGHT(RTRIM(CODE),3)=''600''','ЭКР 600','LEFT(code,14)+''000''','','','','','1',NULL,0,'',1,NULL,1,'',0)
INSERT #B VALUES(19,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(19,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','14','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(20,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(21,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(22,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,3,3,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(23,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','4','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(24,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','7','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','5','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(25,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','8','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(26,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','7','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(27,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','10','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(28,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(29,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(29,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(29,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(29,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(30,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(30,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(30,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','11','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(30,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(31,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','99999999999999999','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(31,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','96000000000000000','','','','','','14','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(31,3,3,'+',NULL,NULL,NULL,NULL,0,0,'','','50090000000000000000','','','','','','12','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(31,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','900','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(32,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(32,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(33,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(33,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(34,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','2',NULL,NULL,'',0,NULL,1,'',2)
INSERT #B VALUES(34,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',1,NULL,1,'',2)
INSERT #B VALUES(35,1,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','2',NULL,NULL,'',0,NULL,1,'',2)
INSERT #B VALUES(35,2,3,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','2',NULL,NULL,'',1,NULL,1,'',2)
INSERT #B VALUES(36,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,14,4) = ''0000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and LEFT(RD1.Code_Row,13) = LEFT(CODE,13) and SUBSTRING(RD1.Code_Row,18,3) = SUBSTRING(CODE,18,3) and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = (select top 1 B5.Link_Table from report_coloumns B5 where B5.Link_Col = B.Link_Col)) and substring(RD1.Code_Row,14,4) <> ''0000'')','Подитоги по регион. кодам','LEFT(CODE,13)+''0000'' + RIGHT(RTRIM(CODE),3)','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(36,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,14,4)<>''0000''','Региональные кода','LEFT(CODE,13)+''0000'' + RIGHT(RTRIM(CODE),3)','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(37,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(37,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(38,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','900','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(38,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','910','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(38,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','920','3',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 130
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '5         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'5','Годовые формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-04-04 10:44:41.530',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-04-04 10:44:41.530'
	BEGIN
		SELECT @vcMessage = 'Форма 0503128M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503128M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-04-04 10:44:41.530. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (апр  8 2016  3:20:57:050PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503169M_БД (Сведения по дебиторской и кредиторской задолженности (Бюдж, Дебет))
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-04-08 15:20:57.050
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503169M_БД' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-04-08 15:20:57.050',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503169M_БД',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503169M_БД'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Сведения по дебиторской и кредиторской задолженности (Бюдж, Дебет)',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_STANDART',0,0,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'svodprint_new_gen()','sv_0503169g_20160101.bas','','KirRepMakerMultiSheet.xls','sv_0503169g_bd_20160101.xlt','',NULL,'RA_EXPORT_FORM_STANDART',0,'REPLACE(SUBSTRING(COL17,4,17),''00000000000000000'',''*****************'')+''|''+REPLACE(SUBSTRING(COL17,18,1)+''|''+SUBSTRING(COL17,19,5)+''|''+SUBSTRING(COL17,24,3),''8|88888|888'',''*|*****|***'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + RTRIM(COL6) + ''|'' + RTRIM(COL7) + ''|''+ RTRIM(COL8) + ''|''+ RTRIM(COL9) + ''|''+ RTRIM(COL10) + ''|''+ RTRIM(COL11) + ''|''+ RTRIM(COL12) + ''|''+ RTRIM(COL13) + ''|''+ RTRIM(COL14) + ''|''+ RTRIM(COL15) + ''|''+ RTRIM(COL16) + ''|'' #
REPLACE(SUBSTRING(COL19,4,17),''00000000000000000'',''*****************'')+''|''+REPLACE(SUBSTRING(COL19,21,1)+''|''+SUBSTRING(COL19,22,5),''8|88888'',''*|*****'')+''|''+(CASE when len(SUBSTRING(COL19,27,3))=0 then ''000'' else REPLACE(SUBSTRING(COL19,27,3),''888'',''***'' ) end)+''|''+LTRIM(STR(COL6)) +''|'' + LTRIM(STR(COL7)) + ''|'' + LTRIM(STR(COL8)) + ''|'' + LTRIM(STR(COL9)) + ''|'' + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' + LTRIM(STR(COL12)) + ''|'' + LTRIM(STR(COL13)) + ''|'' + LTRIM(STR(COL14)) + ''|'' + LTRIM(STR(COL15)) + ''|'' + LTRIM(STR(COL16)) + ''|'' + LTRIM(STR(COL17)) + ''|'' + LTRIM(STR(COL18)) + ''|'' # 
REPLACE(SUBSTRING(COL17,4,17),''00000000000000000'',''*****************'')+''|''+SUBSTRING(COL17,21,1)+''|''+SUBSTRING(COL17,22,5)+''|''+SUBSTRING(COL17,27,3)+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + LTRIM(STR(COL6)) + ''|'' + LTRIM(STR(COL7)) + ''|''  + LTRIM(STR(COL8)) + ''|''  + LTRIM(STR(COL9)) + ''|''  + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' + LTRIM(STR(COL12)) + ''|'' + LTRIM(STR(COL13)) + ''|'' + LTRIM(STR(COL14)) + ''|'' + LTRIM(STR(COL15)) + ''|'' + LTRIM(STR(COL16)) + ''|'' #
''00000000000000000|''+LEFT(COL9,1)+''|''+SUBSTRING(COL9,2,5)+''|''+SUBSTRING(COL9,7,3)+''|''+dbo.RO_EXP(COL2)+''|''+dbo.RO_EXP(COL3) +''|'' + dbo.RO_EXP(COL4) + ''|'' + dbo.RO_EXP(COL5) + ''|'' + dbo.RO_EXP(COL6) + ''|'' + dbo.RO_EXP(COL7) + ''|'' + dbo.RO_EXP(COL8) + ''|''#
RTRIM(COL2) + ''|'' +  dbo.RO_EXP(COL3) + ''|'' + dbo.RO_EXP(COL4) + ''|'' +  dbo.RO_EXP(COL5) + ''|''
','REPLACE(C1+C2+C3+C4+C5,''*****************'',''00000000000000000'')+''|''+C6+''|''+C7+''|''+C8+''|''+C9 # # #
C3+C4+C5+C6+C8+''|''+C7+''|''+C6+''|''+C8+''|''+C9+''|''+C10',NULL,'259       ','REPORTS_ATR_VIDDEYAT',NULL,NULL,'RN_PRINT_169_2016|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Доходы', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'КБК',@iLINK_TABLE,0,1,0,0,17,1,'R_SPR_DOH_14_2011','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169BD_2012','COL3','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года- всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб.-на конец периода прошл. года- из них:долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Доходы', @iLINK_FORM,1, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),17,''0'')+PADR(RTRIM(COL3),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000000'',17)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000000'',4,17)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)


','2#SUBSTRING(CODE,18,4)=''8888''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Расходы', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'РЗПР',@iLINK_TABLE,0,1,0,0,4,1,'R_SPR_RZPR_2011','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'ЦСР',@iLINK_TABLE,0,1,0,0,10,1,'R_SPR_CSR_USER_2016','COL3','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'ВР',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_VR_2011','COL4','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169BD_2012','COL5','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 18,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 19,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Расходы', @iLINK_FORM,2, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),4,''0'')+PADR(RTRIM(COL3),10,''0'')+PADR(RTRIM(COL4),3,''0'')+PADR(RTRIM(COL5),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000'',4)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',10)+LEFT(RTRIM(isnull(COL4,''''))+''00000000000000'',3)+LEFT(RTRIM(isnull(COL5,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,4)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',8,10)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',18,3)#COL5=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)

',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Источник', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'КБК',@iLINK_TABLE,0,1,0,0,17,1,'R_SPR_IST_17_2011','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169BD_2012','COL3','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Источник', @iLINK_FORM,3, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),17,''0'')+PADR(RTRIM(COL3),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000000'',17)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,17)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000000'',21,9)


',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '2. Сведения о просроченной задолженности', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169BD_2012','COL1','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма, руб.',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Дата - возникновения',@iLINK_TABLE,1,1,3,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Дата - Исполнения по правовому основанию',@iLINK_TABLE,1,1,4,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Дебитор (кредитор) - ИНН',@iLINK_TABLE,1,1,5,0,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Дебитор (кредитор) - наименование',@iLINK_TABLE,1,1,6,0,2000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Причины образования - код',@iLINK_TABLE,1,1,7,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Причины образования - пояснение',@iLINK_TABLE,1,1,8,0,8000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '2. Сведения о просроченной задолженности', @iLINK_FORM,4, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),9,''0'')+PADR(right(nvl(RTRIM(COL3),''''),4),4,''0'')+PADR(RTRIM(COL4),10,'' '')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',9)+LEFT(RIGHT(RTRIM(isnull(COL3,'''')),4)+''0000'',4)+LEFT(RTRIM(isnull(COL4,''''))+''          '',10)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000000000'',9)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',10,4)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''                      '',14,10)


',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '3. Аналитическая информация о движении просроченно', @iLINK_FORM,5
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование  показателя',@iLINK_TABLE,0,1,1,0,254,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма - всего',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма-в том числе: по доходам',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма-в том числе: по по расходам',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '3. Аналитическая информация о движении просроченно', @iLINK_FORM,5, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,5,1,1)
INSERT #R VALUES (2,5,2,1)
INSERT #R VALUES (3,5,3,1)
INSERT #R VALUES (4,5,4,1)
INSERT #R VALUES (5,5,5,1)
INSERT #R VALUES (6,5,6,1)
INSERT #R VALUES (7,5,7,1)
INSERT #R VALUES (8,5,8,1)
INSERT #R VALUES (9,5,9,1)
INSERT #R VALUES (10,5,10,1)
INSERT #R VALUES (11,5,11,1)
INSERT #R VALUES (12,5,12,1)
INSERT #R VALUES (13,5,13,1)
INSERT #R VALUES (14,5,14,1)
INSERT #R VALUES (15,5,15,1)
INSERT #R VALUES (16,5,16,1)
INSERT #R VALUES (17,5,17,1)
INSERT #R VALUES (18,5,18,1)
INSERT #R VALUES (19,5,19,1)
INSERT #R VALUES (20,5,20,1)
INSERT #R VALUES (21,5,21,1)
INSERT #R VALUES (22,5,22,1)
INSERT #R VALUES (23,5,23,1)
INSERT #R VALUES (24,5,24,1)
INSERT #R VALUES (25,5,25,1)
INSERT #R VALUES (26,5,26,1)
INSERT #R VALUES (27,5,27,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 27
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (5,1,1,'Остаток просроченной задолженности на начало года  (стр. 011 + 012 + 013)')
INSERT #F VALUES (5,2,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,3,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,4,1,'    присуждено судом')
INSERT #F VALUES (5,5,1,'    из них:
        находится на принудительном взыскании')
INSERT #F VALUES (5,6,1,'    находится в следственных органах')
INSERT #F VALUES (5,7,1,'    иная задолженность')
INSERT #F VALUES (5,8,1,'Отнесена к просроченной задолженности с начала года, всего (стр. 021 + 022 + 023)')
INSERT #F VALUES (5,9,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,10,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,11,1,'    присуждено судом')
INSERT #F VALUES (5,12,1,'    из них:      
       направлено на принудительное взыскание')
INSERT #F VALUES (5,13,1,'   находится в следственных органах')
INSERT #F VALUES (5,14,1,'   иная задолженность')
INSERT #F VALUES (5,15,1,'Исполнено с начала года, всего')
INSERT #F VALUES (5,16,1,'    из них:
    через принудительное взыскание')
INSERT #F VALUES (5,17,1,'Уточнено,с начала года, всего')
INSERT #F VALUES (5,18,1,'    из них:     
    переоценено')
INSERT #F VALUES (5,19,1,'Списано на финансовый результат')
INSERT #F VALUES (5,20,1,'    из них по невозобновляемым взысканиям')
INSERT #F VALUES (5,21,1,'Остаток просроченной задолженности на конец отчетного периода (стр. 010 + 020 - 030 - 040); (стр. 051 + 052 + 053)')
INSERT #F VALUES (5,22,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,23,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,24,1,'    присуждено судом')
INSERT #F VALUES (5,25,1,'    из них:    
        находится на принудительном взыскании')
INSERT #F VALUES (5,26,1,'    находится в следственных органах')
INSERT #F VALUES (5,27,1,'    иная задолженность')
INSERT #F VALUES (5,1,2,'010                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,2,2,'011                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,3,2,'012                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,4,2,'013                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,5,2,'014                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,6,2,'015                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,7,2,'016                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,8,2,'020                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,9,2,'021                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,10,2,'022                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,11,2,'023                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,12,2,'024                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,13,2,'025                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,14,2,'026                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,15,2,'030                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,16,2,'031                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,17,2,'040                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,18,2,'041                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,19,2,'050                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,20,2,'051                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,21,2,'060                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,22,2,'061                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,23,2,'062                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,24,2,'063                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,25,2,'064                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,26,2,'065                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,27,2,'066                                                                                                                                                                                                                                                           ')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 54
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1гр.2Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.2Фильтр:Неитоговые строки +  т.2гр.2Фильтр:Неитоговые строки +  т.3гр.2Фильтр:Неитоговые строки',1,2,1,'20160324','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.1гр.2Фильтр:Всего задолженности =  т.1гр.2Фильтр:Неитоговые строки +  т.2гр.2Фильтр:Неитоговые строки +  т.3гр.2Фильтр:Неитоговые строки',1,3,1,'20160324','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.1гр.4Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.4Фильтр:Неитоговые строки +  т.2гр.4Фильтр:Неитоговые строки +  т.3гр.4Фильтр:Неитоговые строки',1,2,1,'20160324','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(4,NULL,0,NULL,4,7,0,0,0,'т.1гр.9Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.9Фильтр:Неитоговые строки +  т.2гр.9Фильтр:Неитоговые строки +  т.3гр.9Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(5,NULL,0,NULL,5,7,0,0,0,'т.1гр.11Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.11Фильтр:Неитоговые строки +  т.2гр.11Фильтр:Неитоговые строки +  т.3гр.11Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(6,NULL,0,NULL,6,7,0,0,0,'т.1гр.4Фильтр:Всего задолженности =  т.1гр.4Фильтр:Неитоговые строки +  т.2гр.4Фильтр:Неитоговые строки +  т.3гр.4Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(7,NULL,0,NULL,7,7,0,0,0,'т.1гр.11 +  т.2гр.11 +  т.3гр.11 >=  т.4гр.2 Комментарий: сумма просроченной задолженности из раздела 1 должна быть больше или равна сумме просроченной задолженности из раздела 2',0,0,1,'20160325','','','','0503169M_БД','20160101','','>=',0,'','сумма просроченной задолженности из раздела 1 должна быть больше или равна сумме просроченной задолженности из раздела 2')
INSERT #A VALUES(8,NULL,0,NULL,8,7,0,0,0,'т.1гр.9Фильтр:Всего задолженности =  т.1гр.9Фильтр:Неитоговые строки +  т.2гр.9Фильтр:Неитоговые строки +  т.3гр.9Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(9,NULL,0,NULL,9,7,0,0,0,'т.1гр.11Фильтр:Всего задолженности =  т.1гр.11Фильтр:Неитоговые строки +  т.2гр.11Фильтр:Неитоговые строки +  т.3гр.11Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(10,NULL,0,NULL,10,7,0,0,0,'т.1 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(11,NULL,0,NULL,11,7,0,0,0,'т.1 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(12,NULL,0,NULL,12,7,0,0,0,'т.2 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(13,NULL,0,NULL,13,7,0,0,0,'т.2 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(14,NULL,0,NULL,14,7,0,0,0,'т.3 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(15,NULL,0,NULL,15,7,0,0,0,'т.3 =  0 Комментарий: Данный счет не допустим в форме',0,2,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','Данный счет не допустим в форме')
INSERT #A VALUES(16,NULL,0,NULL,16,7,0,0,0,'т.1Фильтр:Подитоги =  т.1Фильтр:КБК заполнена',1,0,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(17,NULL,0,NULL,17,7,0,0,0,'т.2Фильтр:Подитоги =  т.2Фильтр:КБК заполнена',1,0,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
INSERT #A VALUES(18,NULL,0,NULL,18,7,0,0,0,'т.3Фильтр:Подитоги =  т.3Фильтр:КБК заполнена',1,0,1,'20160325','','','','0503169M_БД','20160101','','=',0,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 18
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','4','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','15','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','6','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','13','','1',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(7,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','15','','2',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(7,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','13','','3',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(7,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','1=1','','substring(CODE,1,9)','','','2','','4',NULL,NULL,'',1,NULL,1,'#@@substring(CODE,1,9) + " " + substring(CODE,10,4)  + " " + substring(CODE,14,10)',0)
INSERT #B VALUES(8,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(8,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','11','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''000000000000000000000888888888''','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''000000000000000000000888888888''','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','15','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0''','','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,4)=''1207''','','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0''','','','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,4)=''1207''','','','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0''','','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,4)=''1207''','','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитоги','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(16,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнена','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(17,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитоги','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(17,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнена','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитоги','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(18,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнена','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','3',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 54
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-04-08 15:20:57.050',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-04-08 15:20:57.050'
	BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БД с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БД с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-04-08 15:20:57.050. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (апр  8 2016  3:20:57:500PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503169M_БК (Сведения по дебиторской и кредиторской задолженности (Бюдж, Кредит))
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-04-08 15:20:57.497
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503169M_БК' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-04-08 15:20:57.497',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503169M_БК',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503169M_БК'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Сведения по дебиторской и кредиторской задолженности (Бюдж, Кредит)',@vcNEW_FORM_CODE,@dNEW_START_DATE,6,1,1,1,18186,'RA_EXPORT_FORM_STANDART',0,0,'19000101',NULL,'191н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'svodprint_new_gen()','sv_0503169g_20160101.bas','','KirRepMakerMultiSheet.xls','sv_0503169g_bk_20160101.xlt','',NULL,'RA_EXPORT_FORM_STANDART',0,'REPLACE(SUBSTRING(COL17,4,17),''00000000000000000'',''*****************'')+''|''+REPLACE(SUBSTRING(COL17,18,1)+''|''+SUBSTRING(COL17,19,5)+''|''+SUBSTRING(COL17,24,3),''8|88888|888'',''*|*****|***'')+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + RTRIM(COL6) + ''|'' + RTRIM(COL7) + ''|''+ RTRIM(COL8) + ''|''+ RTRIM(COL9) + ''|''+ RTRIM(COL10) + ''|''+ RTRIM(COL11) + ''|''+ RTRIM(COL12) + ''|''+ RTRIM(COL13) + ''|''+ RTRIM(COL14) + ''|''+ RTRIM(COL15) + ''|''+ RTRIM(COL16) + ''|'' #
REPLACE(SUBSTRING(COL19,4,17),''00000000000000000'',''*****************'')+''|''+REPLACE(SUBSTRING(COL19,21,1)+''|''+SUBSTRING(COL19,22,5),''8|88888'',''*|*****'')+''|''+(CASE when len(SUBSTRING(COL19,27,3))=0 then ''000'' else REPLACE(SUBSTRING(COL19,27,3),''888'',''***'' ) end)+''|''+LTRIM(STR(COL6)) +''|'' + LTRIM(STR(COL7)) + ''|'' + LTRIM(STR(COL8)) + ''|'' + LTRIM(STR(COL9)) + ''|'' + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' + LTRIM(STR(COL12)) + ''|'' + LTRIM(STR(COL13)) + ''|'' + LTRIM(STR(COL14)) + ''|'' + LTRIM(STR(COL15)) + ''|'' + LTRIM(STR(COL16)) + ''|'' + LTRIM(STR(COL17)) + ''|'' + LTRIM(STR(COL18)) + ''|'' # 
REPLACE(SUBSTRING(COL17,4,17),''00000000000000000'',''*****************'')+''|''+SUBSTRING(COL17,21,1)+''|''+SUBSTRING(COL17,22,5)+''|''+SUBSTRING(COL17,27,3)+''|''+LTRIM(STR(COL4)) +''|'' + LTRIM(STR(COL5)) + ''|'' + LTRIM(STR(COL6)) + ''|'' + LTRIM(STR(COL7)) + ''|''  + LTRIM(STR(COL8)) + ''|''  + LTRIM(STR(COL9)) + ''|''  + LTRIM(STR(COL10)) + ''|'' + LTRIM(STR(COL11)) + ''|'' + LTRIM(STR(COL12)) + ''|'' + LTRIM(STR(COL13)) + ''|'' + LTRIM(STR(COL14)) + ''|'' + LTRIM(STR(COL15)) + ''|'' + LTRIM(STR(COL16)) + ''|'' #
''00000000000000000|''+LEFT(COL9,1)+''|''+SUBSTRING(COL9,2,5)+''|''+SUBSTRING(COL9,7,3)+''|''+dbo.RO_EXP(COL2)+''|''+dbo.RO_EXP(COL3) +''|'' + dbo.RO_EXP(COL4) + ''|'' + dbo.RO_EXP(COL5) + ''|'' + dbo.RO_EXP(COL6) + ''|'' + dbo.RO_EXP(COL7) + ''|'' + dbo.RO_EXP(COL8) + ''|''#
RTRIM(COL2) + ''|'' +  dbo.RO_EXP(COL3) + ''|'' + dbo.RO_EXP(COL4) + ''|'' +  dbo.RO_EXP(COL5) + ''|''
','REPLACE(C1+C2+C3+C4+C5,''*****************'',''00000000000000000'')+''|''+C6+''|''+C7+''|''+C8+''|''+C9 # # #
C3+C4+C5+C6+C8+''|''+C7+''|''+C6+''|''+C8+''|''+C9+''|''+C10',NULL,'269       ','REPORTS_ATR_VIDDEYAT',NULL,NULL,'RN_PRINT_169_2016|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Доходы', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'КБК',@iLINK_TABLE,0,1,0,0,17,1,'R_SPR_DOH_14_2011','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169KD_2011','COL3','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года- всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб.-на конец периода прошл. года- из них:долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Доходы', @iLINK_FORM,1, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),17,''0'')+PADR(RTRIM(COL3),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000000'',17)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,17)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)

','2#SUBSTRING(CODE,21,4)=''8888''',0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Расходы', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'РЗПР',@iLINK_TABLE,0,1,0,0,4,1,'R_SPR_RZPR_2011','COL2','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'ЦСР',@iLINK_TABLE,0,1,0,0,10,1,'R_SPR_CSR_2011','COL3','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'ВР',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_VR_2011','COL4','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169KD_2011','COL5','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 18,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 19,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Расходы', @iLINK_FORM,2, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),4,''0'')+PADR(RTRIM(COL3),10,''0'')+PADR(RTRIM(COL4),3,''0'')+PADR(RTRIM(COL5),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000'',4)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',10)+LEFT(RTRIM(isnull(COL4,''''))+''00000000000000'',3)+LEFT(RTRIM(isnull(COL5,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,4)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',8,10)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',18,3)#COL5=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)
',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '1.Сведения о дебит.(кредит) задолженности-Источник', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Адм',@iLINK_TABLE,0,1,0,0,3,1,'R_SPR_ADM_2011','COL1','CODE',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'КБК',@iLINK_TABLE,0,1,0,0,17,1,'R_SPR_IST_17_2011','COL2','CODE_IST',NULL,NULL,NULL,'%date%>=begin_date and %date%<=end_date'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169KD_2011','COL3','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма задолженности, руб. - на начало года - всего',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма задолженности, руб. - на начало года - из них: долгосрочная',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Сумма задолженности, руб. - на начало года - из них: просроченная',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Сумма задолженности-изменение-увеличение-ден.расчеты',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Сумма задолженности-изменение-увеличение-неден.расчеты',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Сумма задолженности-изменение-уменьшение-ден.расчеты',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Сумма задолженности-изменение-уменьшение-неден.расчеты',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'Сумма задолженности, руб. - на конец отчетного периода - всего',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'Сумма задолженности, руб. - на конец отчетного периода - из них: долгосрочная',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'Сумма задолженности, руб. - на конец отчетного периода - из них: просроченная',@iLINK_TABLE,1,0,11,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'Сумма задолженности, руб.-на конец периода прошл. года - всего',@iLINK_TABLE,1,0,12,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'Сумма задолженности, руб.-на конец периода прошл. года - из них: долгосрочная',@iLINK_TABLE,1,0,13,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'Сумма задолженности, руб.-на конец периода прошл. года - из них: просроченная',@iLINK_TABLE,1,0,14,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '1.Сведения о дебит.(кредит) задолженности-Источник', @iLINK_FORM,3, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),3,''0'')+PADR(RTRIM(COL2),14,''0'')+PADR(RTRIM(COL3),9,''0'')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',3)+LEFT(RTRIM(isnull(COL2,''''))+''00000000000000000'',17)+LEFT(RTRIM(isnull(COL3,''''))+''00000000000000'',9)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000'',3)#COL2=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',4,17)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',21,9)


',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '2. Сведения о просроченной задолженности', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер счета',@iLINK_TABLE,0,1,0,0,9,1,'R_SPR_plan_chet169KD_2011','COL1','CODE',NULL,4,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Сумма, руб.',@iLINK_TABLE,1,0,2,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Дата - возникновения',@iLINK_TABLE,1,1,3,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Дата - Исполнения по правовому основанию',@iLINK_TABLE,1,1,4,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Дебитор (кредитор) - ИНН',@iLINK_TABLE,1,1,5,0,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Дебитор (кредитор) - наименование',@iLINK_TABLE,1,1,6,0,2000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Причины образования - код',@iLINK_TABLE,1,1,7,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Причины образования - пояснение',@iLINK_TABLE,1,1,8,0,8000,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Ключ',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '2. Сведения о просроченной задолженности', @iLINK_FORM,4, @iLINK_CODE_COL,1,'KEY_FOX=PADR(RTRIM(COL1),9,''0'')+PADR(right(nvl(RTRIM(COL3),''''),4),4,''0'')+PADR(RTRIM(COL4),10,'' '')
KEY_WEB=LEFT(RTRIM(ISNULL(COL1,''''))+''000000000'',9)+LEFT(RIGHT(RTRIM(isnull(COL3,'''')),4)+''0000'',4)+LEFT(RTRIM(isnull(COL4,''''))+''          '',10)
SPLIT=COL1=LEFT(RTRIM(CODE_ROW)+''000000000'',9)#COL3=SUBSTRING(RTRIM(CODE_ROW)+''00000000000000000000'',10,4)#COL4=SUBSTRING(RTRIM(CODE_ROW)+''                      '',14,10)     


',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, '3. Аналитическая информация', @iLINK_FORM,5
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование  показателя',@iLINK_TABLE,0,1,1,0,254,1,NULL,'FCOL1','FCOL1',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма - всего',@iLINK_TABLE,1,0,3,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма-в том числе: по доходам',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сумма-в том числе: по по расходам',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, '3. Аналитическая информация', @iLINK_FORM,5, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,5,1,1)
INSERT #R VALUES (2,5,2,1)
INSERT #R VALUES (3,5,3,1)
INSERT #R VALUES (4,5,4,1)
INSERT #R VALUES (5,5,5,1)
INSERT #R VALUES (6,5,6,1)
INSERT #R VALUES (7,5,7,1)
INSERT #R VALUES (8,5,8,1)
INSERT #R VALUES (9,5,9,1)
INSERT #R VALUES (10,5,10,1)
INSERT #R VALUES (11,5,11,1)
INSERT #R VALUES (12,5,12,1)
INSERT #R VALUES (13,5,13,1)
INSERT #R VALUES (14,5,14,1)
INSERT #R VALUES (15,5,15,1)
INSERT #R VALUES (16,5,16,1)
INSERT #R VALUES (17,5,17,1)
INSERT #R VALUES (18,5,18,1)
INSERT #R VALUES (19,5,19,1)
INSERT #R VALUES (20,5,20,1)
INSERT #R VALUES (21,5,21,1)
INSERT #R VALUES (22,5,22,1)
INSERT #R VALUES (23,5,23,1)
INSERT #R VALUES (24,5,24,1)
INSERT #R VALUES (25,5,25,1)
INSERT #R VALUES (26,5,26,1)
INSERT #R VALUES (27,5,27,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 27
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (5,1,1,'Остаток просроченной задолженности на начало года  (стр. 011 + 012 + 013)')
INSERT #F VALUES (5,2,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,3,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,4,1,'    присуждено судом')
INSERT #F VALUES (5,5,1,'    из них:
        находится на принудительном взыскании')
INSERT #F VALUES (5,6,1,'    находится в следственных органах')
INSERT #F VALUES (5,7,1,'    иная задолженность')
INSERT #F VALUES (5,8,1,'Отнесена к просроченной задолженности с начала года, всего (стр. 021 + 022 + 023)')
INSERT #F VALUES (5,9,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,10,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,11,1,'    присуждено судом')
INSERT #F VALUES (5,12,1,'    из них:      
       направлено на принудительное взыскание')
INSERT #F VALUES (5,13,1,'   находится в следственных органах')
INSERT #F VALUES (5,14,1,'   иная задолженность')
INSERT #F VALUES (5,15,1,'Исполнено с начала года, всего')
INSERT #F VALUES (5,16,1,'    из них:
    через принудительное взыскание')
INSERT #F VALUES (5,17,1,'Уточнено,с начала года, всего')
INSERT #F VALUES (5,18,1,'    из них:     
    переоценено')
INSERT #F VALUES (5,19,1,'Списано на финансовый результат')
INSERT #F VALUES (5,20,1,'    из них по невозобновляемым взысканиям')
INSERT #F VALUES (5,21,1,'Остаток просроченной задолженности на конец отчетного периода (стр. 010 + 020 - 030 - 040); (стр. 051 + 052 + 053)')
INSERT #F VALUES (5,22,1,'    в том числе:
    ведется досудебная претензионная работа')
INSERT #F VALUES (5,23,1,'    направлено на взыскание через суд')
INSERT #F VALUES (5,24,1,'    присуждено судом')
INSERT #F VALUES (5,25,1,'    из них:    
        находится на принудительном взыскании')
INSERT #F VALUES (5,26,1,'    находится в следственных органах')
INSERT #F VALUES (5,27,1,'    иная задолженность')
INSERT #F VALUES (5,1,2,'010                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,2,2,'011                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,3,2,'012                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,4,2,'013                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,5,2,'014                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,6,2,'015                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,7,2,'016                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,8,2,'020                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,9,2,'021                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,10,2,'022                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,11,2,'023                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,12,2,'024                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,13,2,'025                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,14,2,'026                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,15,2,'030                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,16,2,'031                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,17,2,'040                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,18,2,'041                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,19,2,'050                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,20,2,'051                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,21,2,'060                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,22,2,'061                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,23,2,'062                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,24,2,'063                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,25,2,'064                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,26,2,'065                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (5,27,2,'066                                                                                                                                                                                                                                                           ')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 54
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.1гр.2Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.2Фильтр:Неитоговые строки +  т.2гр.2Фильтр:Неитоговые строки +  т.3гр.2Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.1гр.2Фильтр:Всего задолженности =  т.1гр.2Фильтр:Неитоговые строки +  т.2гр.2Фильтр:Неитоговые строки +  т.3гр.2Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.1гр.4Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.4Фильтр:Неитоговые строки +  т.2гр.4Фильтр:Неитоговые строки +  т.3гр.4Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(4,NULL,0,NULL,4,7,0,0,0,'т.1гр.9Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.9Фильтр:Неитоговые строки +  т.2гр.9Фильтр:Неитоговые строки +  т.3гр.9Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(5,NULL,0,NULL,5,7,0,0,0,'т.1гр.11Фильтр:Итого по БК и 4 знакам аналитеческого счета =  т.1гр.11Фильтр:Неитоговые строки +  т.2гр.11Фильтр:Неитоговые строки +  т.3гр.11Фильтр:Неитоговые строки',1,2,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(6,NULL,0,NULL,6,7,0,0,0,'т.1гр.4Фильтр:Всего задолженности =  т.1гр.4Фильтр:Неитоговые строки +  т.2гр.4Фильтр:Неитоговые строки +  т.3гр.4Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(7,NULL,0,NULL,7,7,0,0,0,'т.1гр.9Фильтр:Всего задолженности =  т.1гр.9Фильтр:Неитоговые строки +  т.2гр.9Фильтр:Неитоговые строки +  т.3гр.9Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(8,NULL,0,NULL,8,7,0,0,0,'т.1гр.11 +  т.2гр.11 +  т.3гр.11 >=  т.4гр.2 Комментарий: сумма просроченной задолженности из раздела 1 должна быть больше или равна сумме просроченной задолженности из раздела 2',0,0,1,'20160325','','','','0503169M_БК','20160101','','>=',0,'','сумма просроченной задолженности из раздела 1 должна быть больше или равна сумме просроченной задолженности из раздела 2')
INSERT #A VALUES(9,NULL,0,NULL,9,7,0,0,0,'т.1 =  0 Комментарий: Данный счет  в форме не допустим',0,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','Данный счет  в форме не допустим')
INSERT #A VALUES(10,NULL,0,NULL,10,7,0,0,0,'т.2 =  0 Комментарий: Данный счет  в форме не допустим',0,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','Данный счет  в форме не допустим')
INSERT #A VALUES(11,NULL,0,NULL,11,7,0,0,0,'т.3 =  0 Комментарий: Данный счет  в форме не допустим',0,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','Данный счет  в форме не допустим')
INSERT #A VALUES(12,NULL,0,NULL,12,7,0,0,0,'т.1Фильтр:Подитог =  т.1Фильтр:КБК заполнен',1,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(13,NULL,0,NULL,13,7,0,0,0,'т.2Фильтр:Подитог =  т.2Фильтр:КБК заполнен',1,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(14,NULL,0,NULL,14,7,0,0,0,'т.3Фильтр:Подитог =  т.3Фильтр:КБК заполнен',1,0,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
INSERT #A VALUES(15,NULL,0,NULL,15,7,0,0,0,'т.1гр.11Фильтр:Всего задолженности =  т.1гр.11Фильтр:Неитоговые строки +  т.2гр.11Фильтр:Неитоговые строки +  т.3гр.11Фильтр:Неитоговые строки',1,3,1,'20160325','','','','0503169M_БК','20160101','','=',0,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 15
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','4','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','4','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','6','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','11','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5)=''00000''','Итого по БК и 4 знакам аналитеческого счета','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','15','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000''+SUBSTRING(CODE,21,4)+''00000''','','','13','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','6','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','8','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','6','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','11','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(7,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','11','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','11','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','13','','1',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(8,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','15','','2',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(8,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','','SUBSTRING(CODE,21,9)','','','13','','3',NULL,NULL,'',0,NULL,1,'#@@substring(CODE,1,3) + " " + substring(CODE,4,17)  + " " + substring(CODE,21,1) + " " + substring(CODE,22,3)+ " " + substring(CODE,25,2) + " " + substring(CODE,27,3)',0)
INSERT #B VALUES(8,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','1=1','','SUBSTRING(CODE,1,9)','','','2','','4',NULL,NULL,'',1,NULL,1,'#@@substring(CODE,1,9) + " " + substring(CODE,10,4)  + " " + substring(CODE,14,10)',0)
INSERT #B VALUES(9,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0'' and SUBSTRING(CODE,21,6)<>''130310''','','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0'' and SUBSTRING(CODE,21,6)<>''130310''','','','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,26,1)=''0''  and SUBSTRING(CODE,25,1)<>''0'' and SUBSTRING(CODE,21,6)<>''130310''','','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитог','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнен','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитог','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнен','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) = ''00000000000000000000'' and exists(select top 1 * from report_dinamics_all RD1 where RD1.Link_SF = A.Link_SF and RIGHT(RD1.Code_Row,9) = RIGHT(CODE,9) and SUBSTRING(RD1.CODE_ROW,1,20)<>''00000000000000000000'' and RD1.Link_Col in (select Link_Col from report_coloumns C5 where C5.Link_Table = A.LINK_TABLE))','Подитог','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,1,20) <> ''00000000000000000000''','КБК заполнен','''00000000000000000000''+ RIGHT(RTRIM(CODE),9)','','','','','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,21,9)=''888888888''','Всего задолженности','''00000000000000000000888888888''','','','13','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,3,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','15','','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,4,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','SUBSTRING(CODE,25,5) not in (''00000'' ,''88888'' ) and SUBSTRING(CODE,1,20) in (''00000000000000000000'')','Неитоговые строки','''00000000000000000000888888888''','','','13','','3',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 48
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-04-08 15:20:57.497',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-04-08 15:20:57.497'
	BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БК с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503169M_БК с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-04-08 15:20:57.497. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (апр  7 2016 11:35:46:587AM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503737M (Отчет об исполнении учреждением плана его финансово-хозяйственной деятельности)
-- Дата ввода : 20150101
-- Дата окончания действия : 20151231
-- Версия : 2016-04-07 11:35:46.587
-- Параметры выгрузки :
-- только обновить  REPORT_FORMS              : да

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503737M' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-04-07 11:35:46.587',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Обновление только REPORT_FORMS.
UPDATE dbo.[REPORT_FORMS]
SET [NAME]                = 'Отчет об исполнении учреждением плана его финансово-хозяйственной деятельности',
    [ExportCode]          = '337       ',
    [START_DATE]          = '20150101',
    [END_DATE]            = '20151231',
    [PERIODIC]            = 4,
    [ISSVOD]              = 1,
    [ISEXPORTED]          = 1,
    [ISUSERFORM]          = 0,
    [IsKonsolid]          = 0,
    [IS_AUTOFILL]         = 0,
    [PRINT_OBJECT_METHOD] = '',
    [QUERY_ADD_MODULE]    = 'SV_0503737_20150101.bas',
    [QUERY_BEFORE]        = '',
    [QUERY_REPMAKER]      = 'KirRepMakerMultiSheet.xls',
    [QUERY_REPORT]        = 'SV_0503737_20150101.xlt',
    [QUERY_REPORT_PATH]   = '',
    [DECRIPT_PROC]        = NULL,
    [EXPORT_PROC]         = 'RO_EXPORT_FORM_33',
    [IsRemoteAccess]      = 0,
    [PARAM_EXPORT]        = 'RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL4) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9) + ''|'' + STR(COL10)+ ''|'' #
RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9) + ''|'' + STR(COL10)+ ''|''',
    [PARAM_IMPORT]        = 'C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|'' #
C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|''',
    [OBJECT]              = NULL,
    [ATRIBUTS]            = 'REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',
    [SvodProc]            = NULL,
    [COMMENT]             = '33н',
    [PRINT_OBJECT_METHOD_NEW] = NULL,
    [QUERY_BEFORE_PRINT_NEW]  = '',
    [QUERY_REPORT_NEW]        = '',
    [IS_CALC]        = 1
WHERE [LINK_FORM] = @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-04-07 11:35:46.587',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-04-07 11:35:46.587'
	BEGIN
		SELECT @vcMessage = 'Форма 0503737M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503737M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-04-07 11:35:46.587. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (апр  7 2016  4:57:42:670PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 0503737M (Отчет об исполнении учреждением плана его финансово-хозяйственной деятельности)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-04-07 16:57:42.670
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '0503737M' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-04-07 16:57:42.670',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '0503737M',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '0503737M'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SMETA'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Отчет об исполнении учреждением плана его финансово-хозяйственной деятельности',@vcNEW_FORM_CODE,@dNEW_START_DATE,4,1,1,1,18186,'RO_EXPORT_FORM_33',0,0,'19000101',NULL,'33н'
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, '','SV_0503737_20160101.bas','','KirRepMakerMultiSheet.xls','SV_0503737_20160101.xlt','',NULL,'RO_EXPORT_FORM_33',0,'RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL4) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9) + ''|'' + STR(COL10)+ ''|'' #
RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL4) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9)+ ''|''+ STR(COL10)+ ''|''#
RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9) + ''|'' + STR(COL10)+ ''|''#
RTRIM(COL2) +''|'' + RIGHT(''000''+RTRIM(REPLACE(REPLACE(COL3,''X'',''''),''Х'','''')),3) + ''|'' + STR(COL5) + ''|'' + STR(COL6) + ''|'' + STR(COL7) + ''|'' + STR(COL8) + ''|'' + STR(COL9) + ''|'' + STR(COL10)+ ''|''','C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|'' #
C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|''#
C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|''#
C1 + ''|'' + C2 + ''|'' + C3 + ''|'' + C4 + ''|'' + C5 + ''|'' + C6 + ''|'' + C7 + ''|'' + C8 + ''|'' + C9 + ''|''',NULL,'337       ','REPORTS_ATR_TYPE_ORG,REPORTS_ATR_VID,REPORTS_ATR_VID_NAME',NULL,NULL,'|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 1', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код аналитики',@iLINK_TABLE,1,1,3,0,3,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утвержденно плановых назначений',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Исполнено плановых назначений. Через лицевые счета',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Исполнено плановых назначений. Через банковские счета',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Исполнено плановых назначений. Через кассу учреждения',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Исполнено плановых назначений. Некассовыми операциями',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Исполнено плановых назначений. Итого',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Не исполнено плановых назначений',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 1', @iLINK_FORM,1, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 2 Расходы', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,3,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код аналитики',@iLINK_TABLE,1,1,3,0,3,1,'R_SPR_VR_USER_2011','COL3,COL1,COL2','CODE,NAME,CODE_STR',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утвержденно плановых назначений',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Исполнено плановых назначений. Через лицевые счета',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Исполнено плановых назначений. Через банковские счета',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Исполнено плановых назначений. Через кассу учреждения',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Исполнено плановых назначений. Некассовыми операциями',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Исполнено плановых назначений. Итого',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Не исполнено плановых назначений',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 2 Расходы', @iLINK_FORM,2, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Таблица 3 Источники', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код аналитики',@iLINK_TABLE,1,1,3,0,3,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утвержденно плановых назначений',@iLINK_TABLE,1,0,4,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Исполнено плановых назначений. Через лицевые счета',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Исполнено плановых назначений. Через банковские счета',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Исполнено плановых назначений. Через кассу учреждения',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Исполнено плановых назначений. Некассовыми операциями',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Исполнено плановых назначений. Итого',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Не исполнено плановых назначений',@iLINK_TABLE,1,0,10,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Таблица 3 Источники', @iLINK_FORM,3, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Возвраты', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,100,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код стр.',@iLINK_TABLE,1,1,2,0,4,1,'r_spr_str_737','COL1,COL2','Name,Code',NULL,8,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Код аналитики',@iLINK_TABLE,1,1,3,0,3,1,'R_SPR_ST_2011','COL3','CODE',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Утвержденно плановых назначений',@iLINK_TABLE,0,0,10,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Произведено возвратов. Через лицевые счета',@iLINK_TABLE,1,0,5,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Произведено возвратов. Через банковские счета',@iLINK_TABLE,1,0,6,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Произведено возвратов. Через кассу учреждения',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Произведено возвратов. Некассовыми операциями',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Произведено возвратов. Итого',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'Не исполнено плановых назначений',@iLINK_TABLE,0,0,10,0,0,1,NULL,NULL,NULL,NULL,1,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Возвраты', @iLINK_FORM,4, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,1,16,1)
INSERT #R VALUES (2,1,2,1)
INSERT #R VALUES (3,1,4,1)
INSERT #R VALUES (4,1,5,1)
INSERT #R VALUES (5,1,10,1)
INSERT #R VALUES (6,1,7,1)
INSERT #R VALUES (7,1,8,1)
INSERT #R VALUES (8,1,15,1)
INSERT #R VALUES (9,1,10,1)
INSERT #R VALUES (10,1,12,1)
INSERT #R VALUES (11,1,13,1)
INSERT #R VALUES (12,1,14,1)
INSERT #R VALUES (13,1,15,1)
INSERT #R VALUES (5,3,60,1)
INSERT #R VALUES (6,3,50,1)
INSERT #R VALUES (7,3,51,1)
INSERT #R VALUES (8,3,61,1)
INSERT #R VALUES (9,3,101,1)
INSERT #R VALUES (10,3,62,1)
INSERT #R VALUES (11,3,53,1)
INSERT #R VALUES (12,3,84,1)
INSERT #R VALUES (13,3,56,1)
INSERT #R VALUES (14,3,57,1)
INSERT #R VALUES (15,3,58,1)
INSERT #R VALUES (16,3,59,1)
INSERT #R VALUES (17,3,60,1)
INSERT #R VALUES (18,3,91,1)
INSERT #R VALUES (19,3,81,1)
INSERT #R VALUES (20,3,65,1)
INSERT #R VALUES (21,3,78,1)
INSERT #R VALUES (22,3,81,1)
INSERT #R VALUES (23,3,64,1)
INSERT #R VALUES (24,3,67,1)
INSERT #R VALUES (25,3,68,1)
INSERT #R VALUES (26,3,81,1)
INSERT #R VALUES (27,3,70,1)
INSERT #R VALUES (28,3,71,1)
INSERT #R VALUES (29,3,81,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 38
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (1,1,1,'Доходы - всего                                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,2,1,'Доходы от собственности                                                                                                                                                                                                                                   ')
INSERT #F VALUES (1,3,1,'Доходы от оказания платных услуг (работ)                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,4,1,'Доходы от штрафов, пеней, иных сумм принудительного изъятия                                                                                                                                                                                               ')
INSERT #F VALUES (1,5,1,'Безвозмездные  поступления от бюджетов                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,6,1,'в т.ч. поступления от наднациональных организаций и правительств  иностранных государств                                                                                                                                                                  ')
INSERT #F VALUES (1,7,1,'поступления от международных финансовых организаций                                                                                                                                                                                                       ')
INSERT #F VALUES (1,8,1,'Доходы от операций с активами                                                                                                                                                                                                                             ')
INSERT #F VALUES (1,9,1,'в т.ч. от выбытий основных средств                                                                                                                                                                                                                        ')
INSERT #F VALUES (1,10,1,'в т.ч. от выбытий нематериальных активов                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,11,1,'в т.ч. от выбытий непроизводственных активов                                                                                                                                                                                                              ')
INSERT #F VALUES (1,12,1,'в т.ч. от выбытий материальных запасов                                                                                                                                                                                                                    ')
INSERT #F VALUES (1,13,1,'Прочие доходы                                                                                                                                                                                                                                             ')
INSERT #F VALUES (1,1,2,'010                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,2,2,'030                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,3,2,'040                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,4,2,'050                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,5,2,'060                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,6,2,'062                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,7,2,'063                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,8,2,'090                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,9,2,'092                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,10,2,'093                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,11,2,'094                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,12,2,'095                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,13,2,'100                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,2,3,'120                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,3,3,'130                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,4,3,'140                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,5,3,'150                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,6,3,'152                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,7,3,'153                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,8,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,9,3,'410                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,10,3,'420                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,11,3,'430                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,12,3,'440                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (1,13,3,'180                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,5,1,'Источники финансирования дефицита средств - всего (стр. 520 + стр.590+ стр. 620 + стр. 700 + стр. 730 + стр. 820 + стр. 830)                                                                                                                                  ')
INSERT #F VALUES (3,6,1,'Внутренние источники                                                                                                                                                                                                                                      ')
INSERT #F VALUES (3,7,1,'из них: Доходы от переоценки активов*****                                                                                                                                                                                                                     ')
INSERT #F VALUES (3,8,1,'Увеличение стоимости ценных бумаг, кроме акций и иных форм участия в капитале *****                                                                                                                                                                           ')
INSERT #F VALUES (3,9,1,'Уменьшение стоимости ценных бумаг, кроме акций и иных форм участия в капитале *****                                                                                                                                                                           ')
INSERT #F VALUES (3,10,1,'Увеличение задолженности по  кредитам*****                                                                                                                                                                                                                    ')
INSERT #F VALUES (3,11,1,'Уменьшение задолженности по  ссудам и кредитам*****                                                                                                                                                                                                           ')
INSERT #F VALUES (3,12,1,'Увеличение задолженности по внутреннему государственному (муниципальному) долгу*****                                                                                                                                                                          ')
INSERT #F VALUES (3,13,1,'Уменьшение задолженности по внутреннему государственному (муниципальному) долгу*****                                                                                                                                                                          ')
INSERT #F VALUES (3,14,1,'Движение денежных средств                                                                                                                                                                                                                                     ')
INSERT #F VALUES (3,15,1,'поступления денежных средств прочие                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,16,1,'выбытие денежных средств                                                                                                                                                                                                                                      ')
INSERT #F VALUES (3,17,1,'Внешние источники                                                                                                                                                                                                                                         ')
INSERT #F VALUES (3,18,1,'Изменение остатков средств                                                                                                                                                                                                                                ')
INSERT #F VALUES (3,19,1,'увеличение остатков средств, всего                                                                                                                                                                                                                        ')
INSERT #F VALUES (3,20,1,'уменьшение остатков средств, всего                                                                                                                                                                                                                            ')
INSERT #F VALUES (3,21,1,'Изменение остатков по внутренним оборотам средств учреждения                                                                                                                                                                                              ')
INSERT #F VALUES (3,22,1,'в т.ч. увеличение остатков средств учреждения                                                                                                                                                                                                                 ')
INSERT #F VALUES (3,23,1,'в т.ч. уменьшение остатков средств учреждения                                                                                                                                                                                                                 ')
INSERT #F VALUES (3,24,1,'Изменение остатков по внутренним расчетам                                                                                                                                                                                                                 ')
INSERT #F VALUES (3,25,1,'в т.ч. увеличение остатков по внутренним расчетам (Кт 030404510)                                                                                                                                                                                          ')
INSERT #F VALUES (3,26,1,'уменьшение остатков по внутренним расчетам (Дт 030404610)                                                                                                                                                                                                 ')
INSERT #F VALUES (3,27,1,'Изменение остатков расчетов по внутренним привлечениям средств                                                                                                                                                                                            ')
INSERT #F VALUES (3,28,1,'в т.ч. увеличение расчетов по внутреннему привлечению остатков средств (Кт 030406000)                                                                                                                                                                     ')
INSERT #F VALUES (3,29,1,'уменьшение расчетов по внутреннему привлечению остатков средств (Дт 030406000)                                                                                                                                                                            ')
INSERT #F VALUES (3,5,2,'500                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,6,2,'520                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,7,2,'521                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,8,2,'522                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,9,2,'523                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,10,2,'524                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,11,2,'525                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,12,2,'527                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,13,2,'528                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,14,2,'590                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,15,2,'591                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,16,2,'592                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,17,2,'620                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,18,2,'700                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,19,2,'710                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,20,2,'720                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,21,2,'730                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,22,2,'731                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,23,2,'732                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,24,2,'820                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,25,2,'821                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,26,2,'822                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,27,2,'830                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,28,2,'831                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,29,2,'832                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,7,3,'171                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,8,3,'520                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,9,3,'620                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,10,3,'540                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,11,3,'640                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,12,3,'710                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,13,3,'810                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,14,3,'x                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,15,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,16,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,18,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,19,3,'510                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,20,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,21,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,22,3,'510                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,23,3,'610                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (3,24,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,27,3,'  x                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,19,4,'ЗАПРЕТ()')
INSERT #F VALUES (3,20,4,'ЗАПРЕТ()')
INSERT #F VALUES (3,19,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,20,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,22,10,'ЗАПРЕТ()')
INSERT #F VALUES (3,23,10,'ЗАПРЕТ() ')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 112
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,129,7,0,0,0,'т.1гр.4 >=  т.1гр.9',0,0,0,'20130422','code < ''450''','','','0503737M','20160101','Барнаул','>=',4,'','')
INSERT #A VALUES(2,NULL,0,NULL,130,7,0,0,0,'т.1гр.9 =  т.1гр.5 +  т.1гр.6 +  т.1гр.7 +  т.1гр.8',1,0,1,'20160326','','','','0503737M','20160101','','=',3,'','')
INSERT #A VALUES(3,NULL,0,NULL,131,7,0,0,0,'т.1гр.10 =  т.1гр.4 -  т.1гр.9',3,20,1,'20160326','code not in (''450'',''710'',''720'',''731'',''732'')','','','0503737M','20160101','','=',4,'','')
INSERT #A VALUES(4,NULL,0,NULL,132,7,0,0,0,'т.1стр.060 =  т.1стр.062 +  т.1стр.063 Дипазон колонок:4,5,6,7,8,9',1,3,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(5,NULL,0,NULL,133,7,0,0,0,'т.1стр.090 =  т.1стр.093 +  т.1стр.094 +  т.1стр.092 +  т.1стр.095 Дипазон колонок:4,5,6,7,8,9',1,3,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(6,NULL,0,NULL,134,7,0,0,0,'т.1стр.010 =  т.1стр.050 +  т.1стр.040 +  т.1стр.060 +  т.1стр.090 +  т.1стр.100 +  т.1стр.030 Дипазон колонок:4,5,6,7,8,9',1,4,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(7,NULL,0,NULL,145,7,0,0,0,'т.3стр.525 >=  0',0,0,1,'20160326','','','','0503737M','20160101','','>=',2,'','')
INSERT #A VALUES(8,NULL,0,NULL,146,7,0,0,0,'т.3стр.527 >=  0',0,0,1,'20160326','','','','0503737M','20160101','','>=',2,'','')
INSERT #A VALUES(9,NULL,0,NULL,147,7,0,0,0,'т.3стр.524 >=  0',0,0,1,'20160326','','','','0503737M','20160101','','>=',2,'','')
INSERT #A VALUES(10,NULL,0,NULL,148,7,0,0,0,'т.3стр.522 <=  0',0,0,1,'20160326','','','','0503737M','20160101','','<=',2,'','')
INSERT #A VALUES(11,NULL,0,NULL,149,7,0,0,0,'т.3стр.528 <=  0',0,0,1,'20160326','','','','0503737M','20160101','','<=',2,'','')
INSERT #A VALUES(12,NULL,0,NULL,150,7,0,0,0,'т.3стр.523 <=  0',0,0,1,'20160326','','','','0503737M','20160101','','<=',2,'','')
INSERT #A VALUES(13,NULL,0,NULL,151,7,0,0,0,'т.3стр.700 =  т.3стр.710 +  т.3стр.720 Дипазон колонок:5,6,7,9',1,3,1,'20160326','','5,6,7,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(14,NULL,0,NULL,152,7,0,0,0,'т.3стр.710 <=  0',0,0,1,'20160326','','','','0503737M','20160101','','<=',2,'','')
INSERT #A VALUES(15,NULL,0,NULL,153,7,0,0,0,'т.3стр.720 >=  0',0,0,1,'20160326','','','','0503737M','20160101','','>=',2,'','')
INSERT #A VALUES(16,NULL,0,NULL,154,7,0,0,0,'т.3стр.710гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(17,NULL,0,NULL,155,7,0,0,0,'т.3стр.720 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(18,NULL,0,NULL,156,7,0,0,0,'т.3стр.820 =  т.3стр.821 +  т.3стр.822 Дипазон колонок:5,6,9',1,3,1,'20160326','','5,6,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(19,NULL,0,NULL,157,7,0,0,0,'т.3стр.821гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(20,NULL,0,NULL,158,7,0,0,0,'т.3стр.821гр.7 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(21,NULL,0,NULL,159,7,0,0,0,'т.3стр.830 =  т.3стр.831 +  т.3стр.832 Дипазон колонок:4,5,6,7,8,9',1,4,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(22,NULL,0,NULL,160,7,0,0,0,'т.3стр.500 =  т.3стр.520 +  т.3стр.620 +  т.3стр.700 +  т.3стр.820 +  т.3стр.830 +  т.3стр.730 Дипазон колонок:4,5,6,7,8,9',1,5,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(23,NULL,0,NULL,162,7,0,0,0,'т.3стр.730 =  т.3стр.731 +  т.3стр.732 Дипазон колонок:5,6,7,9',1,2,1,'20160326','','5,6,7,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(24,NULL,0,NULL,163,7,0,0,0,'т.3стр.500гр.10 =  т.3стр.500гр.4 -  т.3стр.500гр.9',3,20,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(25,NULL,0,NULL,165,7,0,0,0,'т.3стр.520 =  т.3стр.521 +  т.3стр.522 +  т.3стр.523 +  т.3стр.524 +  т.3стр.525 +  т.3стр.527 +  т.3стр.528 Дипазон колонок:4,5,6,7,8,9',1,4,1,'20160326','','4,5,6,7,8,9','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(26,NULL,0,NULL,167,7,0,0,0,'т.3стр.700гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(27,NULL,0,NULL,168,7,0,0,0,'т.3стр.710гр.10 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(28,NULL,0,NULL,169,7,0,0,0,'т.3стр.720гр.10 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(29,NULL,0,NULL,170,7,0,0,0,'т.3стр.730гр.4 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(30,NULL,0,NULL,171,7,0,0,0,'т.3стр.731гр.4 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(31,NULL,0,NULL,172,7,0,0,0,'т.3стр.732гр.4 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(32,NULL,0,NULL,173,7,0,0,0,'т.3стр.730гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(33,NULL,0,NULL,174,7,0,0,0,'т.3стр.731гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(34,NULL,0,NULL,175,7,0,0,0,'т.3стр.732гр.8 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',1,'','')
INSERT #A VALUES(35,NULL,0,NULL,176,7,0,0,0,'т.1Фильтр:строка 060 =  0 Комментарий: Показатели по коду строки 060 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 060 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(36,NULL,0,NULL,177,7,0,0,0,'т.1Фильтр:строка 062 =  0 Комментарий: Показатели по коду строки 062 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 062 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(37,NULL,0,NULL,178,7,0,0,0,'т.1Фильтр:строка 063 =  0 Комментарий: Показатели по коду строки 063 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 063 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(38,NULL,0,NULL,184,7,0,0,0,'т.3Фильтр:строка 525 =  0 Комментарий: Показатели по коду строки 525 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 525 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(39,NULL,0,NULL,185,7,0,0,0,'т.3Фильтр:строка 523 =  0 Комментарий: Показатели по коду строки 523 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 523 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(40,NULL,0,NULL,186,7,0,0,0,'т.3Фильтр:строка 527 =  0 Комментарий: Показатели по коду строки 527 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 527 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(41,NULL,0,NULL,187,7,0,0,0,'т.3Фильтр:строка 528 =  0 Комментарий: Показатели по коду строки 528 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 528 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(42,NULL,0,NULL,188,7,0,0,0,'т.3Фильтр:строка 620 =  0 Комментарий: Показатели по коду строки 620 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 620 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(43,NULL,0,NULL,192,7,0,0,0,'т.1Фильтр:строка 060 =  0 Комментарий: Показатели по коду строки 060 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 060 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(44,NULL,0,NULL,193,7,0,0,0,'т.1Фильтр:строка 062 =  0 Комментарий: Показатели по коду строки 062 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 062 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(45,NULL,0,NULL,194,7,0,0,0,'т.1Фильтр:строка 063 =  0 Комментарий: Показатели по коду строки 063 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 063 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(46,NULL,0,NULL,203,7,0,0,0,'т.3Фильтр:строка 525 =  0 Комментарий: Показатели по коду строки 525 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 525 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(47,NULL,0,NULL,205,7,0,0,0,'т.3Фильтр:строка 527 =  0 Комментарий: Показатели по коду строки 527 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 527 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(48,NULL,0,NULL,206,7,0,0,0,'т.3Фильтр:строка 528 =  0 Комментарий: Показатели по коду строки 528 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 528 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(49,NULL,0,NULL,207,7,0,0,0,'т.3Фильтр:строка 620 =  0 Комментарий: Показатели по коду строки 620 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 620 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(50,NULL,0,NULL,208,7,0,0,0,'т.3Фильтр:строка 521 =  0 Комментарий: Показатели по коду строки 521 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 521 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(51,NULL,0,NULL,209,7,0,0,0,'т.3Фильтр:строка 522 =  0 Комментарий: Показатели по коду строки 522 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 522 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(52,NULL,0,NULL,210,7,0,0,0,'т.3Фильтр:строка 523 =  0 Комментарий: Показатели по коду строки 523 по виду деятельности 5 - Субсидии на иные цели недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 523 по виду деятельности 5 - Субсидии на иные цели недопустимы')
INSERT #A VALUES(53,NULL,0,NULL,211,7,0,0,0,'т.3Фильтр:строка 524 =  0 Комментарий: Показатели по коду строки 524 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 524 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(54,NULL,0,NULL,212,7,0,0,0,'т.3Фильтр:строка 521 =  0 Комментарий: Показатели по коду строки 521 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 521 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(55,NULL,0,NULL,213,7,0,0,0,'т.3Фильтр:строка 522 =  0 Комментарий: Показатели по коду строки 522 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 522 по виду деятельности 4 - Субсидии на выполнение государственного (муниципального) задания недопустимы')
INSERT #A VALUES(56,NULL,0,NULL,214,7,0,0,0,'т.1Фильтр:строка 060 =  0 Комментарий: Показатели по коду строки 060 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 060 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(57,NULL,0,NULL,215,7,0,0,0,'т.1Фильтр:строка 062 =  0 Комментарий: Показатели по коду строки 062 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 062 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(58,NULL,0,NULL,216,7,0,0,0,'т.1Фильтр:строка 063 =  0 Комментарий: Показатели по коду строки 063 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 063 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(59,NULL,0,NULL,225,7,0,0,0,'т.3Фильтр:строка 525 =  0 Комментарий: Показатели по коду строки 525 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 525 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(60,NULL,0,NULL,226,7,0,0,0,'т.3Фильтр:строка 524 =  0 Комментарий: Показатели по коду строки 524 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 524 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(61,NULL,0,NULL,227,7,0,0,0,'т.3Фильтр:строка 527 =  0 Комментарий: Показатели по коду строки 527 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 527 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(62,NULL,0,NULL,228,7,0,0,0,'т.3Фильтр:строка 528 =  0 Комментарий: Показатели по коду строки 528 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 528 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(63,NULL,0,NULL,229,7,0,0,0,'т.3Фильтр:строка 620 =  0 Комментарий: Показатели по коду строки 620 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 620 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(64,NULL,0,NULL,230,7,0,0,0,'т.3Фильтр:строка 521 =  0 Комментарий: Показатели по коду строки 521 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 521 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(65,NULL,0,NULL,231,7,0,0,0,'т.3Фильтр:строка 522 =  0 Комментарий: Показатели по коду строки 522 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 522 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(66,NULL,0,NULL,232,7,0,0,0,'т.1Фильтр:строка 523 =  0 Комментарий: Показатели по коду строки 523 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 523 по виду деятельности 6 - Субсидии на бюджетные инвестиции недопустимы')
INSERT #A VALUES(67,NULL,0,NULL,233,7,0,0,0,'т.1Фильтр:строка 062 =  0 Комментарий: Показатели по коду строки 062 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 062 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(68,NULL,0,NULL,234,7,0,0,0,'т.1Фильтр:строка 060 =  0 Комментарий: Показатели по коду строки 060 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 060 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(69,NULL,0,NULL,235,7,0,0,0,'т.1Фильтр:строка 063 =  0 Комментарий: Показатели по коду строки 063 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 063 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(70,NULL,0,NULL,245,7,0,0,0,'т.3Фильтр:строка 525 =  0 Комментарий: Показатели по коду строки 525 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 525 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(71,NULL,0,NULL,246,7,0,0,0,'т.3Фильтр:строка 524 =  0 Комментарий: Показатели по коду строки 524 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 524 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(72,NULL,0,NULL,247,7,0,0,0,'т.3Фильтр:строка 527 =  0 Комментарий: Показатели по коду строки 527 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 527 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(73,NULL,0,NULL,248,7,0,0,0,'т.3Фильтр:строка 528 =  0 Комментарий: Показатели по коду строки 528 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 528 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(74,NULL,0,NULL,249,7,0,0,0,'т.3Фильтр:строка 620 =  0 Комментарий: Показатели по коду строки 620 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 620 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(75,NULL,0,NULL,250,7,0,0,0,'т.3Фильтр:строка 521 =  0 Комментарий: Показатели по коду строки 521 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 521 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(76,NULL,0,NULL,251,7,0,0,0,'т.3Фильтр:строка 522 =  0 Комментарий: Показатели по коду строки 522 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 522 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(77,NULL,0,NULL,252,7,0,0,0,'т.3Фильтр:строка 523 =  0 Комментарий: Показатели по коду строки 523 по виду деятельности 7 - Средства ОМС недопустимы.',0,0,1,'20160326','','','','0503737M','20160101','','=',0,'','Показатели по коду строки 523 по виду деятельности 7 - Средства ОМС недопустимы.')
INSERT #A VALUES(78,NULL,0,NULL,253,7,0,0,0,'т.3стр.820 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(79,NULL,0,NULL,254,7,0,0,0,'т.3стр.821 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(80,NULL,0,NULL,255,7,0,0,0,'т.3стр.822 =  0',0,0,1,'20160326','','','','0503737M','20160101','','=',2,'','')
INSERT #A VALUES(81,NULL,0,NULL,256,7,0,0,0,'т.1гр.8 =  0 Комментарий: Показатели Гр.8 не равны 0 - требуются пояснения по отраженным операциям',0,0,1,'20160326','','','','0503737M','20160101','','=',3,'','Показатели Гр.8 не равны 0 - требуются пояснения по отраженным операциям')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 81
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','060','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','062','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','063','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','090','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','093','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','094','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','092','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','095','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','010','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','050','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','040','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','060','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','090','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','100','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','030','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','525','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(7,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','527','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(8,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','524','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','522','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','528','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','523','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','700','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','710','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','720','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','710','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','720','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','710','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(16,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(17,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','720','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(17,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','820','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(18,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','821','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','822','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','821','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(19,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','7','821','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(20,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','830','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(21,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','831','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','832','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','500','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(22,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','520','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','620','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','700','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','820','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','830','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','730','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','730','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(23,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','731','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','732','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','500','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(24,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','500','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','500','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','520','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(25,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','521','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','522','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','523','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','524','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','525','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','527','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','528','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','700','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(26,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','710','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(27,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','10','720','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(28,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(29,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','730','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(29,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(30,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','731','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(30,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(31,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','732','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(31,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(32,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','730','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(32,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(33,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','731','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(33,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(34,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','732','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(34,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(35,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''060''','строка 060','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(35,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(36,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''062''','строка 062','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(36,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(37,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''063''','строка 063','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(37,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(38,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''525''','строка 525','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(38,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(39,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''523''','строка 523','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(39,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(40,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''527''','строка 527','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(40,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(41,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''528''','строка 528','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(41,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(42,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''620''','строка 620','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(42,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(43,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''060''','строка 060','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(43,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(44,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''062''','строка 062','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(44,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(45,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''063''','строка 063','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(45,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(46,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''525''','строка 525','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(46,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(47,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''527''','строка 527','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(47,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(48,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''528''','строка 528','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(48,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(49,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''620''','строка 620','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(49,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(50,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''521''','строка 521','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(50,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(51,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''522''','строка 522','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(51,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(52,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''523''','строка 523','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(52,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(53,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''5'') AND CODE =''524''','строка 524','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(53,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(54,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''521''','строка 521','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(54,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(55,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''4'') AND CODE =''522''','строка 522','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(55,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(56,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''060''','строка 060','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(56,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(57,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''062''','строка 062','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(57,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(58,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''063''','строка 063','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(58,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(59,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''525''','строка 525','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(59,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(60,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''524''','строка 524','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(60,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''527''','строка 527','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(61,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''528''','строка 528','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(62,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(63,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''620''','строка 620','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(63,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(64,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''521''','строка 521','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(64,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(65,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''522''','строка 522','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(65,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(66,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''6'') AND CODE =''523''','строка 523','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(66,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(67,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''062''','строка 062','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(67,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(68,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''060''','строка 060','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(68,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(69,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''063''','строка 063','','','','','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(69,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(70,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''525''','строка 525','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(70,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(71,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''524''','строка 524','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(71,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(72,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''527''','строка 527','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(72,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(73,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''528''','строка 528','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(73,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(74,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''620''','строка 620','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(74,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''521''','строка 521','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(75,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''522''','строка 522','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(76,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(77,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','#REPORTS_ATR_VID# in (''7'') AND CODE =''523''','строка 523','','','','','','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(77,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(78,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','820','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(78,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(79,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','821','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(79,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(80,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','822','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(80,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(81,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(81,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 191
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '3         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'3','Квартальные формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '447       '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'447','Отчеты АУ, БУ по приказу 33Н',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-04-07 16:57:42.670',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-04-07 16:57:42.670'
	BEGIN
		SELECT @vcMessage = 'Форма 0503737M с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 0503737M с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-04-07 16:57:42.670. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (апр  5 2016  3:47:31:577PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 4fss (Расчетная ведомость по средствам ФСС РФ)
-- Дата ввода : 20150101
-- Дата окончания действия : 20151231
-- Версия : 2016-04-05 15:47:31.577
-- Параметры выгрузки :
-- только обновить  REPORT_FORMS              : да

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '4fss' AND [START_DATE] = '20150101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-04-05 15:47:31.577',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Обновление только REPORT_FORMS.
UPDATE dbo.[REPORT_FORMS]
SET [NAME]                = 'Расчетная ведомость по средствам ФСС РФ',
    [ExportCode]          = '          ',
    [START_DATE]          = '20150101',
    [END_DATE]            = '20151231',
    [PERIODIC]            = 2,
    [ISSVOD]              = 0,
    [ISEXPORTED]          = 0,
    [ISUSERFORM]          = 0,
    [IsKonsolid]          = 0,
    [IS_AUTOFILL]         = 0,
    [PRINT_OBJECT_METHOD] = 'sa_print_4FSS_200315()',
    [QUERY_ADD_MODULE]    = '4FSS_200315.bas',
    [QUERY_BEFORE]        = '',
    [QUERY_REPMAKER]      = 'KirRepMakerMultiSheet.XLS',
    [QUERY_REPORT]        = '4FSS_200315.xlt',
    [QUERY_REPORT_PATH]   = '',
    [DECRIPT_PROC]        = NULL,
    [EXPORT_PROC]         = 'i_report_export_nalog',
    [IsRemoteAccess]      = 0,
    [PARAM_EXPORT]        = NULL,
    [PARAM_IMPORT]        = NULL,
    [OBJECT]              = NULL,
    [ATRIBUTS]            = 'REPORTS_ATR_NOM_OBR,REPORTS_ATR_LIKVID',
    [SvodProc]            = NULL,
    [COMMENT]             = '',
    [PRINT_OBJECT_METHOD_NEW] = NULL,
    [QUERY_BEFORE_PRINT_NEW]  = '',
    [QUERY_REPORT_NEW]        = '',
    [IS_CALC]        = 1
WHERE [LINK_FORM] = @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-04-05 15:47:31.577',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-04-05 15:47:31.577'
	BEGIN
		SELECT @vcMessage = 'Форма 4fss с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 4fss с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-04-05 15:47:31.577. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (апр  8 2016  3:58:33:623PM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 4fss (Расчетная ведомость по средствам ФСС РФ)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-04-08 15:58:33.623
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '4fss' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-04-08 15:58:33.623',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '4fss',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '4fss'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SALARY'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Расчетная ведомость по средствам ФСС РФ',@vcNEW_FORM_CODE,@dNEW_START_DATE,2,0,0,1,2291,'i_report_export_nalog',0,0,'19000101',NULL,''
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'sa_print_4FSS_200315()','4FSS_250216.bas','','KirRepMakerMultiSheet.XLS','4FSS_250216.xlt','',NULL,'i_report_export_nalog',0,NULL,NULL,NULL,'          ','REPORTS_ATR_NOM_OBR,REPORTS_ATR_LIKVID',NULL,NULL,'|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р0. Титул', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование',@iLINK_TABLE,0,1,0,0,0,0,'','','',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,0,0,0,'','','',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Всего с начала года',@iLINK_TABLE,1,0,3,1,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р0. Титул', @iLINK_FORM,1, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Табл.1 Расчёты по обяз. страхованию', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование',@iLINK_TABLE,0,1,0,0,250,0,'','','',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,0,0,0,'','','',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма',@iLINK_TABLE,0,0,3,2,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Номер платеж. поручения',@iLINK_TABLE,0,1,4,0,254,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Табл.1 Расчёты по обяз. страхованию', @iLINK_FORM,2, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Табл.2. Расходы на цели обязат. соц. страх', @iLINK_FORM,3
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование статей',@iLINK_TABLE,0,1,0,0,0,0,'','','',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Число случаев / количество получателей',@iLINK_TABLE,0,0,2,1,0,1,NULL,NULL,NULL,'999999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Количество дней, выплат, пособий',@iLINK_TABLE,0,0,3,2,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Расходы. Всего',@iLINK_TABLE,0,0,4,3,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Расходы. в т.ч. выплаты за счет средств федерального бюджета',@iLINK_TABLE,0,0,5,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Табл.2. Расходы на цели обязат. соц. страх', @iLINK_FORM,3, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Табл.3. Расчет базы для взносов ФСС', @iLINK_FORM,4
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование',@iLINK_TABLE,1,1,1,0,250,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строк',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Всего с начала расчетного периода',@iLINK_TABLE,1,0,3,3,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'В т.ч. сумма за 1 мес отч. квартала',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'В т.ч. сумма за 2 мес отч. квартала',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'В т.ч. сумма за 3 мес отч. квартала',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Табл.3. Расчет базы для взносов ФСС', @iLINK_FORM,4, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Табл.3.1. Сведения об иностранных гражданах', @iLINK_FORM,5
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'№ п/п',@iLINK_TABLE,1,1,1,0,4,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'ФИО физического лица',@iLINK_TABLE,1,1,2,0,100,1,'KU_PERSON_RESIDENT','COL2,COL3,COL4,COL5','CODE,INN,INSUR_NUM,GR_NAME',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'ИНН',@iLINK_TABLE,1,1,3,0,14,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'СНИЛС №',@iLINK_TABLE,1,1,4,0,15,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Гражданство',@iLINK_TABLE,1,1,5,0,100,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Табл.3.1. Сведения об иностранных гражданах', @iLINK_FORM,5, @iLINK_CODE_COL,1,'CALC_SMETA=exec dbo.SA_4FSS_20032015_PREPARE_RESIDENT @Lsf',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Табл.4. Расчёт условий для орг. инф. техн.', @iLINK_FORM,8
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,1,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'По итогам  9-ти месяцев года, предшествующего текущему расчетному пери',@iLINK_TABLE,1,0,3,3,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'По итогам текущего отчетного (расчетного) периода',@iLINK_TABLE,1,0,4,4,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Дата записи в реестре аккредитованных организаций',@iLINK_TABLE,1,1,5,5,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'№ записи в реестре аккредитованных организаций',@iLINK_TABLE,1,1,6,6,50,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Табл.4. Расчёт условий для орг. инф. техн.', @iLINK_FORM,8, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Табл.4.1. Расчёт условий для орг. и и.п. - упро', @iLINK_FORM,9
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'С начала отчетного (расчетного) периода',@iLINK_TABLE,1,0,3,3,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Табл.4.1. Расчёт условий для орг. и и.п. - упро', @iLINK_FORM,9, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Табл.4.2. Расчёт условий для некомерч. орг.', @iLINK_FORM,10
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'По итогам года, предшествующего текущему расчетному периоду',@iLINK_TABLE,1,0,3,3,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'По итогам текущего расчетного периода',@iLINK_TABLE,1,0,4,4,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Табл.4.2. Расчёт условий для некомерч. орг.', @iLINK_FORM,10, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Табл.4.3.Свед., для прим. пониж. тарифа п14 ч1', @iLINK_FORM,11
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'№ п/п',@iLINK_TABLE,1,1,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'№ патента',@iLINK_TABLE,1,1,2,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Указанный в патенте вид предпринимательской деятельности, установленный законом субъекта Российской Федерации',@iLINK_TABLE,1,1,3,0,254,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сведения из патента - дата начала действия',@iLINK_TABLE,1,1,4,0,10,1,NULL,NULL,NULL,'99.99.9999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Сведения из патента - дата окончания действия',@iLINK_TABLE,1,1,5,0,10,1,NULL,NULL,NULL,'99.99.9999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Всего с начала расчетного периода',@iLINK_TABLE,0,0,6,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'В т.ч. за последние три месяца о.п. - 1 месяц',@iLINK_TABLE,1,0,7,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'В т.ч. за последние три месяца о.п. - 2 месяц',@iLINK_TABLE,1,0,8,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'В т.ч. за последние три месяца о.п. - 3 месяц',@iLINK_TABLE,1,0,9,0,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Табл.4.3.Свед., для прим. пониж. тарифа п14 ч1', @iLINK_FORM,11, @iLINK_CODE_COL,1,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Табл.5. Выпл. за счёт средств Федерал. бюджета', @iLINK_FORM,12
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование статей',@iLINK_TABLE,1,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Всего число получателей',@iLINK_TABLE,1,0,3,3,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Всего количество дней, выплат',@iLINK_TABLE,1,0,4,4,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'Всего расходы (сумма)',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'В т.ч. Чернобыльская АЭС число получателей',@iLINK_TABLE,1,0,6,6,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'В т.ч. Чернобыльская АЭС количество дней, выплат',@iLINK_TABLE,1,0,7,7,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'В т.ч. Чернобыльская АЭС расходы (сумма)',@iLINK_TABLE,1,0,8,8,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'В т.ч. ПО "Маяк" число получателей',@iLINK_TABLE,1,0,9,9,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 10,'В т.ч. ПО "Маяк" количество дней, выплат',@iLINK_TABLE,1,0,10,10,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 11,'В т.ч. ПО "Маяк" расходы (сумма)',@iLINK_TABLE,1,0,11,11,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 12,'В т.ч. Семипалатинский полигон число получателей',@iLINK_TABLE,1,0,12,12,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 13,'В т.ч. Семипалатинский полигон количество дней',@iLINK_TABLE,1,0,13,13,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 14,'В т.ч. Семипалатинский полигон расходы (сумма)',@iLINK_TABLE,1,0,14,14,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 15,'В т.ч. подразделения особого риска число получателей',@iLINK_TABLE,1,0,15,15,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 16,'В т.ч. подразделения особого риска количество дней, выплат',@iLINK_TABLE,1,0,16,16,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 17,'В т.ч. подразделения особого риска расходы (сумма)',@iLINK_TABLE,1,0,17,17,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 18,'В т.ч. доп.выпл. по № 255-ФЗ число получателей',@iLINK_TABLE,1,0,18,18,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 19,'В т.ч. доп.выпл. по № 255-ФЗ количество дней',@iLINK_TABLE,1,0,19,19,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 20,'В т.ч. доп.выпл. по № 255-ФЗ расходы (сумма)',@iLINK_TABLE,1,0,20,20,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Табл.5. Выпл. за счёт средств Федерал. бюджета', @iLINK_FORM,12, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р2.Табл.6. Несчастные случаи - база', @iLINK_FORM,13
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,1,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Всего с начала расчетного периода',@iLINK_TABLE,1,0,3,3,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'В том числе за последние три месяца отчетного периода: 1 месяц',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'В том числе за последние три месяца отчетного периода: 2 месяц',@iLINK_TABLE,1,0,5,5,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'В том числе за последние три месяца отчетного периода: 3 месяц',@iLINK_TABLE,1,0,6,6,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Дата',@iLINK_TABLE,1,1,7,9,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р2.Табл.6. Несчастные случаи - база', @iLINK_FORM,13, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р2.Табл.7. Несчастные случаи - расчёт', @iLINK_FORM,14
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,1,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма (руб.коп.)',@iLINK_TABLE,1,0,3,3,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Номер платеж. поручения',@iLINK_TABLE,1,1,4,0,50,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р2.Табл.7. Несчастные случаи - расчёт', @iLINK_FORM,14, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р2.Табл.8. Расходы по страхованию от несч. случ.', @iLINK_FORM,15
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование статей',@iLINK_TABLE,1,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Количество дней',@iLINK_TABLE,1,0,3,3,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Сумма (руб., коп.)',@iLINK_TABLE,1,0,4,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р2.Табл.8. Расходы по страхованию от несч. случ.', @iLINK_FORM,15, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р2.Табл.9. Численность пострадавших по стр. случ.', @iLINK_FORM,16
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,1,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Численность пострадавших человек',@iLINK_TABLE,1,0,3,3,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р2.Табл.9. Численность пострадавших по стр. случ.', @iLINK_FORM,16, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р2.Табл.10. Свед. о рез. провед. спец. оценке усл.', @iLINK_FORM,17
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование показателя',@iLINK_TABLE,0,1,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,2,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Общее количество рабочих мест страхователя',@iLINK_TABLE,1,0,3,3,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'Кол. раб. мест, в отн. усл.труд. на которых провед. спец.оценка у.т. - на начало года',@iLINK_TABLE,1,0,4,4,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'Кол. раб. мест, на которых провед. спец.оценка. Вред и опасн классы  - 3 класс',@iLINK_TABLE,1,0,6,6,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 7,'Кол. раб. мест, на которых провед. спец. оценка. Вред и опасн классы  - 4 класс',@iLINK_TABLE,1,0,7,7,0,1,NULL,NULL,NULL,'999 999 999 999 999',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 8,'Общ. число. раб., на вред. и (или) опас. производст. подлежащих медосмот',@iLINK_TABLE,1,0,8,8,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 9,'Кол. раб., на вред. и (или) опас. производ. прошедших медосмотр на нач',@iLINK_TABLE,1,0,9,9,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р2.Табл.10. Свед. о рез. провед. спец. оценке усл.', @iLINK_FORM,17, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,1,1,1)
INSERT #R VALUES (2,1,3,1)
INSERT #R VALUES (3,1,4,1)
INSERT #R VALUES (4,1,4,1)
INSERT #R VALUES (1,2,1,1)
INSERT #R VALUES (2,2,2,1)
INSERT #R VALUES (3,2,34,1)
INSERT #R VALUES (4,2,4,1)
INSERT #R VALUES (5,2,33,1)
INSERT #R VALUES (6,2,6,1)
INSERT #R VALUES (7,2,7,1)
INSERT #R VALUES (8,2,8,1)
INSERT #R VALUES (9,2,34,1)
INSERT #R VALUES (10,2,10,1)
INSERT #R VALUES (11,2,33,1)
INSERT #R VALUES (12,2,12,1)
INSERT #R VALUES (13,2,13,1)
INSERT #R VALUES (14,2,14,1)
INSERT #R VALUES (15,2,34,1)
INSERT #R VALUES (16,2,16,1)
INSERT #R VALUES (17,2,33,1)
INSERT #R VALUES (18,2,18,1)
INSERT #R VALUES (19,2,19,1)
INSERT #R VALUES (20,2,20,1)
INSERT #R VALUES (21,2,34,1)
INSERT #R VALUES (22,2,22,1)
INSERT #R VALUES (23,2,33,1)
INSERT #R VALUES (24,2,24,1)
INSERT #R VALUES (25,2,25,1)
INSERT #R VALUES (26,2,26,1)
INSERT #R VALUES (27,2,34,1)
INSERT #R VALUES (28,2,28,1)
INSERT #R VALUES (29,2,33,1)
INSERT #R VALUES (30,2,30,1)
INSERT #R VALUES (31,2,31,1)
INSERT #R VALUES (32,2,32,1)
INSERT #R VALUES (33,2,55,1)
INSERT #R VALUES (34,2,34,1)
INSERT #R VALUES (35,2,35,1)
INSERT #R VALUES (36,2,36,1)
INSERT #R VALUES (37,2,37,1)
INSERT #R VALUES (38,2,38,1)
INSERT #R VALUES (39,2,39,1)
INSERT #R VALUES (40,2,53,1)
INSERT #R VALUES (41,2,41,1)
INSERT #R VALUES (42,2,52,1)
INSERT #R VALUES (43,2,43,1)
INSERT #R VALUES (44,2,44,1)
INSERT #R VALUES (45,2,45,1)
INSERT #R VALUES (46,2,53,1)
INSERT #R VALUES (47,2,47,1)
INSERT #R VALUES (48,2,52,1)
INSERT #R VALUES (49,2,49,1)
INSERT #R VALUES (50,2,50,1)
INSERT #R VALUES (1,3,2,1)
INSERT #R VALUES (2,3,1,1)
INSERT #R VALUES (3,3,5,1)
INSERT #R VALUES (4,3,8,1)
INSERT #R VALUES (5,3,2,1)
INSERT #R VALUES (6,3,1,1)
INSERT #R VALUES (7,3,3,1)
INSERT #R VALUES (8,3,2,1)
INSERT #R VALUES (9,3,1,1)
INSERT #R VALUES (10,3,2,1)
INSERT #R VALUES (11,3,1,1)
INSERT #R VALUES (12,3,1,1)
INSERT #R VALUES (13,3,6,1)
INSERT #R VALUES (14,3,1,1)
INSERT #R VALUES (15,3,4,1)
INSERT #R VALUES (16,3,7,1)
INSERT #R VALUES (1,4,1,1)
INSERT #R VALUES (2,4,2,1)
INSERT #R VALUES (3,4,3,1)
INSERT #R VALUES (4,4,4,1)
INSERT #R VALUES (5,4,5,1)
INSERT #R VALUES (6,4,6,1)
INSERT #R VALUES (7,4,7,1)
INSERT #R VALUES (8,4,8,1)
INSERT #R VALUES (1,8,1,1)
INSERT #R VALUES (2,8,3,1)
INSERT #R VALUES (3,8,4,1)
INSERT #R VALUES (4,8,5,1)
INSERT #R VALUES (5,8,6,1)
INSERT #R VALUES (1,9,1,1)
INSERT #R VALUES (2,9,2,1)
INSERT #R VALUES (3,9,3,1)
INSERT #R VALUES (1,10,1,1)
INSERT #R VALUES (2,10,2,1)
INSERT #R VALUES (3,10,3,1)
INSERT #R VALUES (4,10,4,1)
INSERT #R VALUES (5,10,5,1)
INSERT #R VALUES (1,12,1,1)
INSERT #R VALUES (2,12,3,1)
INSERT #R VALUES (3,12,4,1)
INSERT #R VALUES (4,12,5,1)
INSERT #R VALUES (5,12,6,1)
INSERT #R VALUES (6,12,7,1)
INSERT #R VALUES (7,12,8,1)
INSERT #R VALUES (8,12,9,1)
INSERT #R VALUES (1,13,1,1)
INSERT #R VALUES (2,13,3,1)
INSERT #R VALUES (3,13,4,1)
INSERT #R VALUES (4,13,5,1)
INSERT #R VALUES (5,13,6,1)
INSERT #R VALUES (6,13,7,1)
INSERT #R VALUES (7,13,8,1)
INSERT #R VALUES (8,13,9,1)
INSERT #R VALUES (9,13,10,1)
INSERT #R VALUES (1,14,1,1)
INSERT #R VALUES (2,14,3,1)
INSERT #R VALUES (3,14,4,1)
INSERT #R VALUES (4,14,5,1)
INSERT #R VALUES (5,14,6,1)
INSERT #R VALUES (6,14,7,1)
INSERT #R VALUES (7,14,8,1)
INSERT #R VALUES (8,14,9,1)
INSERT #R VALUES (9,14,10,1)
INSERT #R VALUES (10,14,11,1)
INSERT #R VALUES (11,14,12,1)
INSERT #R VALUES (12,14,13,1)
INSERT #R VALUES (13,14,14,1)
INSERT #R VALUES (14,14,15,1)
INSERT #R VALUES (15,14,16,1)
INSERT #R VALUES (16,14,17,1)
INSERT #R VALUES (17,14,17,1)
INSERT #R VALUES (18,14,17,1)
INSERT #R VALUES (19,14,18,1)
INSERT #R VALUES (20,14,19,1)
INSERT #R VALUES (21,14,20,1)
INSERT #R VALUES (22,14,21,1)
INSERT #R VALUES (23,14,22,1)
INSERT #R VALUES (24,14,23,1)
INSERT #R VALUES (25,14,24,1)
INSERT #R VALUES (26,14,25,1)
INSERT #R VALUES (27,14,26,1)
INSERT #R VALUES (28,14,27,1)
INSERT #R VALUES (29,14,28,1)
INSERT #R VALUES (30,14,29,1)
INSERT #R VALUES (31,14,30,1)
INSERT #R VALUES (32,14,31,1)
INSERT #R VALUES (33,14,32,1)
INSERT #R VALUES (34,14,33,1)
INSERT #R VALUES (35,14,34,1)
INSERT #R VALUES (1,15,1,1)
INSERT #R VALUES (2,15,3,1)
INSERT #R VALUES (3,15,4,1)
INSERT #R VALUES (4,15,5,1)
INSERT #R VALUES (5,15,6,1)
INSERT #R VALUES (6,15,7,1)
INSERT #R VALUES (7,15,8,1)
INSERT #R VALUES (8,15,9,1)
INSERT #R VALUES (9,15,10,1)
INSERT #R VALUES (10,15,11,1)
INSERT #R VALUES (11,15,12,1)
INSERT #R VALUES (1,16,1,1)
INSERT #R VALUES (2,16,3,1)
INSERT #R VALUES (3,16,4,1)
INSERT #R VALUES (4,16,5,1)
INSERT #R VALUES (5,16,6,1)
INSERT #R VALUES (1,17,1,1)
INSERT #R VALUES (2,17,2,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 161
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (1,1,1,'Среднесписочная численность работников                                                                                                                                                                                                                        ')
INSERT #F VALUES (1,2,1,'из них: женщин                                                                                                                                                                                                                                            ')
INSERT #F VALUES (1,3,1,'Численность работающих инвалидов                                                                                                                                                                                                                              ')
INSERT #F VALUES (1,4,1,'Численность работников, занятых на работах с вредными и (или) опасными производственными факторами                                                                                                                                                            ')
INSERT #F VALUES (1,1,2,'1                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (1,2,2,'2                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (1,3,2,'3                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (1,4,2,'4                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (1,1,3,'4ФСС_20032015_УСТАНОВКА() + 4ФСС_РАЗДЕЛ1(К.СТР.,6)')
INSERT #F VALUES (1,2,3,'4ФСС_РАЗДЕЛ1(К.СТР.,6)')
INSERT #F VALUES (1,3,3,'4ФСС_РАЗДЕЛ1(К.СТР.,6)')
INSERT #F VALUES (1,4,3,'4ФСС_РАЗДЕЛ1(К.СТР.,6)')
INSERT #F VALUES (2,1,1,'Задолженность за страхователем на начало расчетного периода                                                                                                                                                                                               ')
INSERT #F VALUES (2,2,1,'Начислено страховых взносов                                                                                                                                                                                                                               ')
INSERT #F VALUES (2,3,1,'на начало отчетного периода                                                                                                                                                                                                                               ')
INSERT #F VALUES (2,4,1,'за последние три месяца отчетного периода                                                                                                                                                                                                                 ')
INSERT #F VALUES (2,5,1,'1 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,6,1,'2 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,7,1,'3 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,8,1,'Начислено страховых взносов по актам проверок                                                                                                                                                                                                             ')
INSERT #F VALUES (2,9,1,'на начало отчетного периода                                                                                                                                                                                                                               ')
INSERT #F VALUES (2,10,1,'за последние три месяца отчетного периода                                                                                                                                                                                                                 ')
INSERT #F VALUES (2,11,1,'1 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,12,1,'2 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,13,1,'3 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,14,1,'Начислено страховых взносов плательщиком страховых взносов (страхователем) за прошлые расчетные периоды                                                                                                                                                   ')
INSERT #F VALUES (2,15,1,'Не принято к зачету расходов территориальным органом Фонда за прошлые расчетные периоды                                                                                                                                                                   ')
INSERT #F VALUES (2,16,1,'на начало отчетного периода                                                                                                                                                                                                                               ')
INSERT #F VALUES (2,17,1,'за последние три месяца отчетного периода                                                                                                                                                                                                                 ')
INSERT #F VALUES (2,18,1,'1 месяц')
INSERT #F VALUES (2,19,1,'2 месяц')
INSERT #F VALUES (2,20,1,'3 месяц')
INSERT #F VALUES (2,21,1,'Получено от территориального органа Фонда на банковский счет в возмещение произведенных расходов                                                                                                                                                          ')
INSERT #F VALUES (2,22,1,'на начало отчетного периода                                                                                                                                                                                                                               ')
INSERT #F VALUES (2,23,1,'за последние три месяца отчетного периода                                                                                                                                                                                                                 ')
INSERT #F VALUES (2,24,1,'1 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,25,1,'2 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,26,1,'3 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,27,1,'Возврат (зачет) сумм излишне уплаченных (взысканных) страховых взносов                                                                                                                                                                                    ')
INSERT #F VALUES (2,28,1,'Всего (сумма строк 1+2+3+4+5+6+7)                                                                                                                                                                                                                         ')
INSERT #F VALUES (2,29,1,'Задолженность за территориальным органом Фонда на конец отчетного (расчетного) периода                                                                                                                                                                    ')
INSERT #F VALUES (2,30,1,'в том числе: за счет превышения расходов                                                                                                                                                                                                                  ')
INSERT #F VALUES (2,31,1,'                       за счет переплаты страховых взносов                                                                                                                                                                                                ')
INSERT #F VALUES (2,32,1,'Задолженность за территориальным органом Фонда на начало расчетного периода                                                                                                                                                                               ')
INSERT #F VALUES (2,33,1,'в том числе: за счет превышения расходов                                                                                                                                                                                                                  ')
INSERT #F VALUES (2,34,1,'                       за счет переплаты страховых взносов                                                                                                                                                                                                ')
INSERT #F VALUES (2,35,1,'Расходы на цели обязательного социального страхования                                                                                                                                                                                                     ')
INSERT #F VALUES (2,36,1,'на начало отчетного периода                                                                                                                                                                                                                               ')
INSERT #F VALUES (2,37,1,'за последние три месяца отчетного периода                                                                                                                                                                                                                 ')
INSERT #F VALUES (2,38,1,'1 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,39,1,'2 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,40,1,'3 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,41,1,'Уплачено страховых взносов                                                                                                                                                                                                                                ')
INSERT #F VALUES (2,42,1,'на начало отчетного периода                                                                                                                                                                                                                               ')
INSERT #F VALUES (2,43,1,'за последние три месяца отчетного периода                                                                                                                                                                                                                 ')
INSERT #F VALUES (2,44,1,'1 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,45,1,'2 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,46,1,'3 месяц                                                                                                                                                                                                                                                   ')
INSERT #F VALUES (2,47,1,'Списанная сумма задолженности страхователя                                                                                                                                                                                                                ')
INSERT #F VALUES (2,48,1,'Всего (сумма строк 12+15+16+17)                                                                                                                                                                                                                           ')
INSERT #F VALUES (2,49,1,'Задолженность за плательщиком страховых взнсов (страхователем) на конец отчетного (расчетного) периода                                                                                                                                                    ')
INSERT #F VALUES (2,50,1,'в том числе недоимка                                                                                                                                                                                                                                      ')
INSERT #F VALUES (2,1,2,'1                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (2,2,2,'2                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (2,3,2,'2_1                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (2,4,2,'2_2                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (2,5,2,'2_3                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (2,6,2,'2_4                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (2,7,2,'2_5                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (2,8,2,'3                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (2,9,2,'3_1                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (2,10,2,'3_2                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (2,11,2,'3_3                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (2,12,2,'3_4                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (2,13,2,'3_5                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (2,14,2,'4                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (2,15,2,'5                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (2,16,2,'5_1                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (2,17,2,'5_2                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (2,18,2,'5_3')
INSERT #F VALUES (2,19,2,'5_4')
INSERT #F VALUES (2,20,2,'5_5')
INSERT #F VALUES (2,21,2,'6                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (2,22,2,'6_1                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (2,23,2,'6_2                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (2,24,2,'6_3                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (2,25,2,'6_4                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (2,26,2,'6_5                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (2,27,2,'7                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (2,28,2,'8                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (2,29,2,'9                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (2,30,2,'10                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (2,31,2,'11                                                                                                                                                                                                                                                        ')
INSERT #F VALUES (2,32,2,'12                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (2,33,2,'13                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (2,34,2,'14                                                                                                                                                                                                                                                        ')
INSERT #F VALUES (2,35,2,'15                                                                                                                                                                                                                                                        ')
INSERT #F VALUES (2,36,2,'15_1                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (2,37,2,'15_2                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (2,38,2,'15_3                                                                                                                                                                                                                                                      ')
INSERT #F VALUES (2,39,2,'15_4                                                                                                                                                                                                                                                      ')
INSERT #F VALUES (2,40,2,'15_5                                                                                                                                                                                                                                                      ')
INSERT #F VALUES (2,41,2,'16                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (2,42,2,'16_1                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (2,43,2,'16_2                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (2,44,2,'16_3                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (2,45,2,'16_4                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (2,46,2,'16_5                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (2,47,2,'17                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (2,48,2,'18                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (2,49,2,'19                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (2,50,2,'20                                                                                                                                                                                                                                                        ')
INSERT #F VALUES (2,1,3,'4ФСС_РАЗДЕЛ1(''''0101'''',3)')
INSERT #F VALUES (2,3,3,'4ФСС_РАЗДЕЛ1(''0121'',3)')
INSERT #F VALUES (2,5,3,'4ФСС_РАЗДЕЛ1(''0123'',3)')
INSERT #F VALUES (2,6,3,'4ФСС_РАЗДЕЛ1(''0124'',3)')
INSERT #F VALUES (2,7,3,'4ФСС_РАЗДЕЛ1(''0125'',3)')
INSERT #F VALUES (2,18,3,'')
INSERT #F VALUES (2,19,3,'')
INSERT #F VALUES (2,20,3,'')
INSERT #F VALUES (2,22,3,'АДТКТ("_.304.05:_.201.11:_.201.21:_.201.27","_.303.02","ДЛЯ ДАТА>=''01.01'' И ДАТА<КВАРТАЛ")')
INSERT #F VALUES (2,24,3,'АДТКТ("_.304.05:_.201.11:_.201.21:_.201.27","_.303.02","ДЛЯ ДАТА=МЕСЯЦ(1)")')
INSERT #F VALUES (2,25,3,'АДТКТ("_.304.05:_.201.11:_.201.21:_.201.27","_.303.02","ДЛЯ ДАТА=МЕСЯЦ(2)")')
INSERT #F VALUES (2,26,3,'АДТКТ("_.304.05:_.201.11:_.201.21:_.201.27","_.303.02","ДЛЯ ДАТА=МЕСЯЦ(3)")')
INSERT #F VALUES (2,29,3,'4ФСС_РАЗДЕЛ1(''0109'',3)')
INSERT #F VALUES (2,30,3,'4ФСС_РАЗДЕЛ1(''0109'',3)')
INSERT #F VALUES (2,32,3,'4ФСС_РАЗДЕЛ1(''0112'',3)')
INSERT #F VALUES (2,33,3,'4ФСС_РАЗДЕЛ1(''0112'',3)')
INSERT #F VALUES (2,36,3,'АДТКТ("_.303.02","_.302.13","ДЛЯ ДАТА>=''01.01'' И ДАТА<КВАРТАЛ")')
INSERT #F VALUES (2,38,3,'АДТКТ("_.303.02","_.302.13","ДЛЯ ДАТА=МЕСЯЦ(1)")')
INSERT #F VALUES (2,39,3,'АДТКТ("_.303.02","_.302.13","ДЛЯ ДАТА=МЕСЯЦ(2)")')
INSERT #F VALUES (2,40,3,'АДТКТ("_.303.02","_.302.13","ДЛЯ ДАТА=МЕСЯЦ(3)")')
INSERT #F VALUES (2,42,3,'АДТКТ("_.303.02","_.304.05:_.201.11:_.201.21:_.201.27","ДЛЯ ДАТА>=''01.01'' И ДАТА<КВАРТАЛ")')
INSERT #F VALUES (2,44,3,'АДТКТ("_.303.02","_.304.05:_.201.11:_.201.21:_.201.27","ДЛЯ ДАТА=МЕСЯЦ(1)")')
INSERT #F VALUES (2,45,3,'АДТКТ("_.303.02","_.304.05:_.201.11:_.201.21:_.201.27","ДЛЯ ДАТА=МЕСЯЦ(2)")')
INSERT #F VALUES (2,46,3,'АДТКТ("_.303.02","_.304.05:_.201.11:_.201.21:_.201.27","ДЛЯ ДАТА=МЕСЯЦ(3)")')
INSERT #F VALUES (2,49,3,'4ФСС_РАЗДЕЛ1(''0119'',3)')
INSERT #F VALUES (2,1,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,2,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,3,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,4,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,5,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,6,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,7,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,8,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,9,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,10,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,11,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,12,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,13,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,14,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,15,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,16,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,17,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,18,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,19,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,20,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,21,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,22,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,23,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,24,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,25,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,26,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,27,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,28,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,29,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,30,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,31,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,32,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,33,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,34,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,35,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,36,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,37,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,38,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,39,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,40,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,41,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,42,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,43,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,44,4,'4ФСС_РАЗДЕЛ_ПП1(''01163'',3)')
INSERT #F VALUES (2,45,4,'4ФСС_РАЗДЕЛ_ПП1(''01164'',3)')
INSERT #F VALUES (2,46,4,'4ФСС_РАЗДЕЛ_ПП1(''01165'',3)')
INSERT #F VALUES (2,47,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,48,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,49,4,'ЗАПРЕТ()')
INSERT #F VALUES (2,50,4,'ЗАПРЕТ()')
INSERT #F VALUES (3,1,1,'Пособия по временной нетрудоспособности (без учета пособий, выплаченных в пользу работающих иностранных граждан и лиц без гражданства, временно пребывающих в Российской Федерации, кроме лиц, являющихся гражданами государств-членов ЕАЭС*)                 ')
INSERT #F VALUES (3,2,1,'      из них: по внешнему совместительству                                                                                                                                                                                                                    ')
INSERT #F VALUES (3,3,1,'Пособия по временной нетрудоспособности работающим иностранным гражданам и лицам без гражданства, временно пребывающим в Российской Федерации                                                                                                                 ')
INSERT #F VALUES (3,4,1,'      из них: по внешнему совместительству                                                                                                                                                                                                                    ')
INSERT #F VALUES (3,5,1,'По беременности и родам                                                                                                                                                                                                                                       ')
INSERT #F VALUES (3,6,1,'      из них: по внешнему совместительству                                                                                                                                                                                                                    ')
INSERT #F VALUES (3,7,1,'Единовременное пособие женщинам, вставшим на учет в медицинских учреждениях в ранние сроки беременности                                                                                                                                                       ')
INSERT #F VALUES (3,8,1,'Единовременное пособие при рождении ребенка                                                                                                                                                                                                                   ')
INSERT #F VALUES (3,9,1,'Ежемесячное пособие по уходу за ребенком                                                                                                                                                                                                                      ')
INSERT #F VALUES (3,10,1,'          в том числе: по уходу за первым ребенком                                                                                                                                                                                                            ')
INSERT #F VALUES (3,11,1,'          по уходу за вторым и последующими детьми                                                                                                                                                                                                            ')
INSERT #F VALUES (3,12,1,'Оплата дополнительных выходных дней для ухода за детьми-инвалидами                                                                                                                                                                                            ')
INSERT #F VALUES (3,13,1,'Страховые взносы в государственные внебюджетные фонды, начисленные на оплату дополнительных выходных дней для ухода за детьми-инвалидами                                                                                                                      ')
INSERT #F VALUES (3,14,1,'Социальное пособие на погребение                                                                                                                                                                                                                              ')
INSERT #F VALUES (3,15,1,'ИТОГО ( сумма строк 1+ 3+ 5+ 7+ 8+ 9+12+13+14)                                                                                                                                                                                                                ')
INSERT #F VALUES (3,16,1,'Справочно: начисленные и невыплаченные пособия                                                                                                                                                                                                                ')
INSERT #F VALUES (3,1,2,'1                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,2,2,'2                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,3,2,'3                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,4,2,'4                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,5,2,'5                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,6,2,'6                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,7,2,'7                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,8,2,'8                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,9,2,'9                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (3,10,2,'10                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (3,11,2,'11                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (3,12,2,'12                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (3,13,2,'13                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (3,14,2,'14                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (3,15,2,'15                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (3,16,2,'16                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (3,1,3,'4ФСС_РАЗДЕЛ1(''0201'',7)')
INSERT #F VALUES (3,2,3,'4ФСС_РАЗДЕЛ1(''0202'',7)')
INSERT #F VALUES (3,3,3,'4ФСС_РАЗДЕЛ1(''0203'',7)')
INSERT #F VALUES (3,4,3,'4ФСС_РАЗДЕЛ1(''0204'',7)')
INSERT #F VALUES (3,5,3,'4ФСС_РАЗДЕЛ1(''0205'',7)')
INSERT #F VALUES (3,6,3,'4ФСС_РАЗДЕЛ1(''0206'',7)')
INSERT #F VALUES (3,7,3,'ЗАПРЕТ()')
INSERT #F VALUES (3,8,3,'ЗАПРЕТ()')
INSERT #F VALUES (3,10,3,'4ФСС_РАЗДЕЛ1(''0210'',7)')
INSERT #F VALUES (3,11,3,'4ФСС_РАЗДЕЛ1(''0211'',7)')
INSERT #F VALUES (3,12,3,'ЗАПРЕТ()')
INSERT #F VALUES (3,13,3,'ЗАПРЕТ()')
INSERT #F VALUES (3,14,3,'ЗАПРЕТ()')
INSERT #F VALUES (3,15,3,'ЗАПРЕТ()')
INSERT #F VALUES (3,16,3,'ЗАПРЕТ()')
INSERT #F VALUES (3,1,4,'4ФСС_РАЗДЕЛ1(''0201'',6)')
INSERT #F VALUES (3,2,4,'4ФСС_РАЗДЕЛ1(''0202'',6)')
INSERT #F VALUES (3,3,4,'4ФСС_РАЗДЕЛ1(''0203'',6)')
INSERT #F VALUES (3,4,4,'4ФСС_РАЗДЕЛ1(''0204'',6)')
INSERT #F VALUES (3,5,4,'4ФСС_РАЗДЕЛ1(''0205'',6)')
INSERT #F VALUES (3,6,4,'4ФСС_РАЗДЕЛ1(''0206'',6)')
INSERT #F VALUES (3,7,4,'4ФСС_РАЗДЕЛ1(''0207'',6)')
INSERT #F VALUES (3,8,4,'4ФСС_РАЗДЕЛ1(''0208'',6)')
INSERT #F VALUES (3,10,4,'4ФСС_РАЗДЕЛ1(''0210'',6)')
INSERT #F VALUES (3,11,4,'4ФСС_РАЗДЕЛ1(''0211'',6)')
INSERT #F VALUES (3,12,4,'4ФСС_РАЗДЕЛ1(''0212'',6)')
INSERT #F VALUES (3,13,4,'ЗАПРЕТ()')
INSERT #F VALUES (3,14,4,'4ФСС_РАЗДЕЛ1(''0214'',6)')
INSERT #F VALUES (3,15,4,'ЗАПРЕТ()')
INSERT #F VALUES (3,16,4,'ЗАПРЕТ()')
INSERT #F VALUES (3,1,5,'4ФСС_РАЗДЕЛ1(''0201'',3)')
INSERT #F VALUES (3,2,5,'4ФСС_РАЗДЕЛ1(''0202'',3)')
INSERT #F VALUES (3,3,5,'4ФСС_РАЗДЕЛ1(''0203'',3)')
INSERT #F VALUES (3,4,5,'4ФСС_РАЗДЕЛ1(''0204'',3)')
INSERT #F VALUES (3,5,5,'4ФСС_РАЗДЕЛ1(''0205'',3)')
INSERT #F VALUES (3,6,5,'4ФСС_РАЗДЕЛ1(''0206'',3)')
INSERT #F VALUES (3,7,5,'4ФСС_РАЗДЕЛ1(''0207'',3)')
INSERT #F VALUES (3,8,5,'4ФСС_РАЗДЕЛ1(''0208'',3)')
INSERT #F VALUES (3,10,5,'4ФСС_РАЗДЕЛ1(''0210'',3)')
INSERT #F VALUES (3,11,5,'4ФСС_РАЗДЕЛ1(''0211'',3)')
INSERT #F VALUES (3,12,5,'4ФСС_РАЗДЕЛ1(''0212'',3)')
INSERT #F VALUES (3,13,5,'4ФСС_РАЗДЕЛ1(''0213'',3)')
INSERT #F VALUES (3,14,5,'4ФСС_РАЗДЕЛ1(''0214'',3)')
INSERT #F VALUES (3,16,5,'4ФСС_РАЗДЕЛ1(''0216'',3)')
INSERT #F VALUES (3,3,6,'ЗАПРЕТ()')
INSERT #F VALUES (3,4,6,'ЗАПРЕТ()')
INSERT #F VALUES (3,7,6,'ЗАПРЕТ()')
INSERT #F VALUES (3,8,6,'ЗАПРЕТ()')
INSERT #F VALUES (4,1,1,'Суммы выплат и иных вознаграждений, начисленных в пользу физических лиц, в соответствии со ст.7 Федерального закона от 24 июля 2009 г. № 212-ФЗ и в соответствии с международными договорами                                                              ')
INSERT #F VALUES (4,2,1,'Суммы, не подлежащие обложению страховыми взносами в соответствии со ст.9 Федерального закона от 24 июля 2009 г. № 212-ФЗ                                                                                                                                 ')
INSERT #F VALUES (4,3,1,'Суммы, превышающие предельную величину базы для начисления страховых взносов, установленную в соответствии со ст. 8 Федерального закона от 24                                                                                                             ')
INSERT #F VALUES (4,4,1,'Итого база для начисления страховых взносов  (строка 1 - строка 2 - строка 3)                                                                                                                                                                             ')
INSERT #F VALUES (4,5,1,'из них: сумма выплат и иных вознаграждений, производимых аптечными организациями и индивидуальными предпринимателями , имеющими лицензию на фармацевтическую деятельность, физическим лицам                                                               ')
INSERT #F VALUES (4,6,1,'сумма выплат и иных вознаграждений членам экипажей судов, зарегистрированных в Российском международном реестре судов, за исключением судов, используемых для хранения и перевалки нефти, нефтепродуктов в морских портах Российской Федерации            ')
INSERT #F VALUES (4,7,1,'Cумма выплат и иных вознаграждений,производимых физическим лицам индивидуальными предпринимателями, применяющими патентную систему налогообложения                                                                                                        ')
INSERT #F VALUES (4,8,1,'сумма выплат и иных вознаграждений начисленных в пользу  иностранных граждан и лиц без гражданства, временно пребывающих в Российской Федерации, кроме лиц, являющихся гражданами государств-членов ЕАЭС                                                  ')
INSERT #F VALUES (4,1,2,'1                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (4,2,2,'2                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (4,3,2,'3                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (4,4,2,'4                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (4,5,2,'5                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (4,6,2,'6                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (4,7,2,'7                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (4,8,2,'8                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (4,1,3,'4ФСС_РАЗДЕЛ1(''030103'',3)')
INSERT #F VALUES (4,2,3,'4ФСС_РАЗДЕЛ1(''030203'',3)')
INSERT #F VALUES (4,3,3,'4ФСС_РАЗДЕЛ1(''030303'',3)')
INSERT #F VALUES (4,5,3,'4ФСС_РАЗДЕЛ1(''030503'',3)')
INSERT #F VALUES (4,6,3,'4ФСС_РАЗДЕЛ1(''030603'',3)')
INSERT #F VALUES (4,7,3,'4ФСС_РАЗДЕЛ1(''030703'',3)')
INSERT #F VALUES (4,8,3,'4ФСС_РАЗДЕЛ1(''030803'',3)')
INSERT #F VALUES (4,1,4,'4ФСС_РАЗДЕЛ1(''030104'',3)')
INSERT #F VALUES (4,2,4,'4ФСС_РАЗДЕЛ1(''030204'',3)')
INSERT #F VALUES (4,3,4,'4ФСС_РАЗДЕЛ1(''030304'',3)')
INSERT #F VALUES (4,5,4,'4ФСС_РАЗДЕЛ1(''030504'',3)')
INSERT #F VALUES (4,6,4,'4ФСС_РАЗДЕЛ1(''030604'',3)')
INSERT #F VALUES (4,7,4,'4ФСС_РАЗДЕЛ1(''030704'',3)')
INSERT #F VALUES (4,8,4,'4ФСС_РАЗДЕЛ1(''030804'',3)')
INSERT #F VALUES (4,1,5,'4ФСС_РАЗДЕЛ1(''030105'',3)')
INSERT #F VALUES (4,2,5,'4ФСС_РАЗДЕЛ1(''030205'',3)')
INSERT #F VALUES (4,3,5,'4ФСС_РАЗДЕЛ1(''030305'',3)')
INSERT #F VALUES (4,5,5,'4ФСС_РАЗДЕЛ1(''030505'',3)')
INSERT #F VALUES (4,6,5,'4ФСС_РАЗДЕЛ1(''030605'',3)')
INSERT #F VALUES (4,7,5,'4ФСС_РАЗДЕЛ1(''030705'',3)')
INSERT #F VALUES (4,8,5,'4ФСС_РАЗДЕЛ1(''030805'',3)')
INSERT #F VALUES (4,1,6,'4ФСС_РАЗДЕЛ1(''030106'',3)')
INSERT #F VALUES (4,2,6,'4ФСС_РАЗДЕЛ1(''030206'',3)')
INSERT #F VALUES (4,3,6,'4ФСС_РАЗДЕЛ1(''030306'',3)')
INSERT #F VALUES (4,5,6,'4ФСС_РАЗДЕЛ1(''030506'',3)')
INSERT #F VALUES (4,6,6,'4ФСС_РАЗДЕЛ1(''030606'',3)')
INSERT #F VALUES (4,7,6,'4ФСС_РАЗДЕЛ1(''030706'',3)')
INSERT #F VALUES (4,8,6,'4ФСС_РАЗДЕЛ1(''030806'',3)')
INSERT #F VALUES (8,1,1,' Средняя численность работников/среднесписочная численность работников (чел.)                                                                                                                                                                             ')
INSERT #F VALUES (8,2,1,' Сумма доходов, определяемая в соответствии со статьей 248 Налогового кодекса Российской Федерации, всего (руб.)                                                                                                                                          ')
INSERT #F VALUES (8,3,1,'  из них: сумма доходов, определяемая  исходя из критериев, указанных в пункте 2 части 2.1 или пункте 2 части 2.2 статьи  57 Федерального закона от 24 июля 2009 г. № 212-ФЗ (руб.)                                                                           ')
INSERT #F VALUES (8,4,1,'  доля доходов, определяемая в целях применения  части 5 статьи  58 Федерального закона от 24 июля 2009 г. № 212-ФЗ (%)
(стр.3 / стр. 2) х 100                                                                                                               ')
INSERT #F VALUES (8,5,1,'Сведения из реестра аккредитованных организаций, осуществляющих деятельность в области информационных технологий*                                                                                                                                             ')
INSERT #F VALUES (8,1,2,'1                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (8,2,2,'2                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (8,3,2,'3                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (8,4,2,'4                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (8,5,2,'5                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (8,5,3,'ЗАПРЕТ()')
INSERT #F VALUES (8,5,4,'ЗАПРЕТ()')
INSERT #F VALUES (8,1,5,'ЗАПРЕТ()')
INSERT #F VALUES (8,2,5,'ЗАПРЕТ()')
INSERT #F VALUES (8,3,5,'ЗАПРЕТ()')
INSERT #F VALUES (8,4,5,'ЗАПРЕТ()')
INSERT #F VALUES (8,1,6,'ЗАПРЕТ()')
INSERT #F VALUES (8,2,6,'ЗАПРЕТ()')
INSERT #F VALUES (8,3,6,'ЗАПРЕТ()')
INSERT #F VALUES (8,4,6,'ЗАПРЕТ()')
INSERT #F VALUES (9,1,1,'Сумма доходов, определяемая в соответствии со статьей 346.15 Налогового кодекса Российской Федерации, всего (руб.)                                                                                                                                            ')
INSERT #F VALUES (9,2,1,'  из них: сумма доходов, определяемая в целях применения части 1.4 статьи 58 Федерального закона от 24 июля 2009 г.                                       № 212-ФЗ (руб.)                                                                                     ')
INSERT #F VALUES (9,3,1,'Доля доходов, определяемая в целях применения части 1.4 статьи 58 Федерального закона от 24 июля 2009 г.                                                              № 212-ФЗ (%)
(стр. 2 / стр. 1) х 100                                                   ')
INSERT #F VALUES (9,1,2,'1                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (9,2,2,'2                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (9,3,2,'3                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (10,1,1,'Сумма доходов*, всего (руб.)                                                                                                                                                                                                                                  ')
INSERT #F VALUES (10,2,1,'из них: сумма доходов в виде целевых поступлений на содержание некоммерческих организаций и ведение ими уставной деятельности, поименованной в пункте 11 части 1 статьи 58 Федерального закона от 24 июля 2009 г. № 212-ФЗ                                    ')
INSERT #F VALUES (10,3,1,'сумма доходов в виде грантов, получаемых для осуществления деятельности, поименованной в пункте 11 части 1 статьи 58 Федерального закона от 24 июля 2009 г. № 212-ФЗ                                                                                          ')
INSERT #F VALUES (10,4,1,'сумма доходов от осуществления видов экономической деятельности, указанных в подпунктах р - ф, я.4 - я.6 пункта 8 части 1 статьи 58 Федерального закона от 24 июля 2009 г. № 212-ФЗ (руб.)                                                                    ')
INSERT #F VALUES (10,5,1,'Доля доходов, определяемая в целях применения части 5.1 статьи 58 Федерального закона от 24 июля 2009 г. № 212-ФЗ (%)
((с. 2 + с. 3 + с.4) / с. 1) х 100                                                                                                     ')
INSERT #F VALUES (10,1,2,'1                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (10,2,2,'2                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (10,3,2,'3                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (10,4,2,'4                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (10,5,2,'5                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (12,1,1,'Пособие по временной нетрудоспособности                                                                                                                                                                                                                   ')
INSERT #F VALUES (12,2,1,'Пособие по беременности и родам                                                                                                                                                                                                                           ')
INSERT #F VALUES (12,3,1,'Ежемесячное пособие по уходу за ребенком, всего (стр. 4, 5)                                                                                                                                                                                               ')
INSERT #F VALUES (12,4,1,'в том числе: по уходу за первым ребенком                                                                                                                                                                                                                      ')
INSERT #F VALUES (12,5,1,'по уходу за вторым и 
последующими детьми                                                                                                                                                                                                                ')
INSERT #F VALUES (12,6,1,'Оплата дополнительных выходных дней для ухода за детьми-инвалидами                                                                                                                                                                                            ')
INSERT #F VALUES (12,7,1,'Страховые взносы в государственные внебюджетные фонды, начисленные на оплату дополнительных выходных дней для ухода за детьми-инвалидами                                                                                                                      ')
INSERT #F VALUES (12,8,1,'ВСЕГО (строки 1 - 3, 6)                                                                                                                                                                                                                                       ')
INSERT #F VALUES (12,1,2,'1                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (12,2,2,'2                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (12,3,2,'3                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (12,4,2,'4                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (12,5,2,'5                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (12,6,2,'6                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (12,7,2,'7                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (12,8,2,'8                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (12,7,3,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,4,'ЗАПРЕТ()')
INSERT #F VALUES (12,8,4,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,6,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,6,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,7,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,7,'ЗАПРЕТ()')
INSERT #F VALUES (12,8,7,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,8,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,8,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,9,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,9,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,10,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,10,'ЗАПРЕТ()')
INSERT #F VALUES (12,8,10,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,11,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,11,'ЗАПРЕТ()')
INSERT #F VALUES (12,2,12,'ЗАПРЕТ()')
INSERT #F VALUES (12,3,12,'ЗАПРЕТ()')
INSERT #F VALUES (12,4,12,'ЗАПРЕТ()')
INSERT #F VALUES (12,5,12,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,12,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,12,'ЗАПРЕТ()')
INSERT #F VALUES (12,2,13,'ЗАПРЕТ()')
INSERT #F VALUES (12,3,13,'ЗАПРЕТ()')
INSERT #F VALUES (12,4,13,'ЗАПРЕТ()')
INSERT #F VALUES (12,5,13,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,13,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,13,'ЗАПРЕТ()')
INSERT #F VALUES (12,8,13,'ЗАПРЕТ()')
INSERT #F VALUES (12,2,14,'ЗАПРЕТ()')
INSERT #F VALUES (12,3,14,'ЗАПРЕТ()')
INSERT #F VALUES (12,4,14,'ЗАПРЕТ()')
INSERT #F VALUES (12,5,14,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,14,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,14,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,15,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,15,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,16,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,16,'ЗАПРЕТ()')
INSERT #F VALUES (12,8,16,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,17,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,17,'ЗАПРЕТ()')
INSERT #F VALUES (12,3,18,'ЗАПРЕТ()')
INSERT #F VALUES (12,4,18,'ЗАПРЕТ()')
INSERT #F VALUES (12,5,18,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,18,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,18,'ЗАПРЕТ()')
INSERT #F VALUES (12,3,19,'ЗАПРЕТ()')
INSERT #F VALUES (12,4,19,'ЗАПРЕТ()')
INSERT #F VALUES (12,5,19,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,19,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,19,'ЗАПРЕТ()')
INSERT #F VALUES (12,8,19,'ЗАПРЕТ()')
INSERT #F VALUES (12,3,20,'ЗАПРЕТ()')
INSERT #F VALUES (12,4,20,'ЗАПРЕТ()')
INSERT #F VALUES (12,5,20,'ЗАПРЕТ()')
INSERT #F VALUES (12,6,20,'ЗАПРЕТ()')
INSERT #F VALUES (12,7,20,'ЗАПРЕТ()')
INSERT #F VALUES (13,1,1,'Суммы выплат и иных вознаграждений,начисленных в пользу физических лиц в соответствии со статьей 20.1 Федерального закона от 24 июля 1998 г. № 125-ФЗ                                                                                                         ')
INSERT #F VALUES (13,2,1,'Суммы, не подлежащие обложению страховыми взносами в соответствии со статьей 20.2 Федерального закона от 24 июля 1998 г. № 125-ФЗ                                                                                                                             ')
INSERT #F VALUES (13,3,1,'Итого база для начисления страховых взносов (стр. 1—стр. 2)                                                                                                                                                                                                   ')
INSERT #F VALUES (13,4,1,'из них: сумма выплат в пользу работающих инвалидов                                                                                                                                                                                                            ')
INSERT #F VALUES (13,5,1,'Размер страхового тарифа в соответствии с классом профессионального риска (%)                                                                                                                                                                                 ')
INSERT #F VALUES (13,6,1,'Скидка к страховому тарифу (%)                                                                                                                                                                                                                                ')
INSERT #F VALUES (13,7,1,'Надбавка к страховому тарифу (%)                                                                                                                                                                                                                              ')
INSERT #F VALUES (13,8,1,'Дата установления надбавки                                                                                                                                                                                                                                    ')
INSERT #F VALUES (13,9,1,'Размер страхового тарифа с учетом скидки (надбавки) (%) (заполняется с двумя десятичными знаками после запятой)                                                                                                                                               ')
INSERT #F VALUES (13,1,2,'1                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (13,2,2,'2                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (13,3,2,'3                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (13,4,2,'4                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (13,5,2,'5                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (13,6,2,'6                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (13,7,2,'7                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (13,8,2,'8                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (13,9,2,'9                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (13,1,3,'4ФСС_РАЗДЕЛ1(''060103'',3)')
INSERT #F VALUES (13,2,3,'4ФСС_РАЗДЕЛ1(''060105'',3)')
INSERT #F VALUES (13,4,3,'4ФСС_РАЗДЕЛ1(''060104'',3)')
INSERT #F VALUES (13,5,3,'4ФСС_СПРАВОЧНИК(''tax_rate'')')
INSERT #F VALUES (13,6,3,'4ФСС_СПРАВОЧНИК(''discount'')')
INSERT #F VALUES (13,7,3,'4ФСС_СПРАВОЧНИК(''raise_val'')')
INSERT #F VALUES (13,8,3,'ЗАПРЕТ()')
INSERT #F VALUES (13,9,3,'4ФСС_СПРАВОЧНИК(''tax_total'')')
INSERT #F VALUES (13,1,4,'4ФСС_РАЗДЕЛ1(''060303'',3)')
INSERT #F VALUES (13,2,4,'4ФСС_РАЗДЕЛ1(''060305'',3)')
INSERT #F VALUES (13,4,4,'4ФСС_РАЗДЕЛ1(''060304'',3)')
INSERT #F VALUES (13,5,4,'ЗАПРЕТ()')
INSERT #F VALUES (13,6,4,'ЗАПРЕТ()')
INSERT #F VALUES (13,7,4,'ЗАПРЕТ()')
INSERT #F VALUES (13,8,4,'ЗАПРЕТ()')
INSERT #F VALUES (13,9,4,'ЗАПРЕТ()')
INSERT #F VALUES (13,1,5,'4ФСС_РАЗДЕЛ1(''060403'',3)')
INSERT #F VALUES (13,2,5,'4ФСС_РАЗДЕЛ1(''060405'',3)')
INSERT #F VALUES (13,4,5,'4ФСС_РАЗДЕЛ1(''060404'',3)')
INSERT #F VALUES (13,5,5,'ЗАПРЕТ()')
INSERT #F VALUES (13,6,5,'ЗАПРЕТ()')
INSERT #F VALUES (13,7,5,'ЗАПРЕТ()')
INSERT #F VALUES (13,8,5,'ЗАПРЕТ()')
INSERT #F VALUES (13,9,5,'ЗАПРЕТ()')
INSERT #F VALUES (13,1,6,'4ФСС_РАЗДЕЛ1(''060503'',3)')
INSERT #F VALUES (13,2,6,'4ФСС_РАЗДЕЛ1(''060505'',3)')
INSERT #F VALUES (13,4,6,'4ФСС_РАЗДЕЛ1(''060504'',3)')
INSERT #F VALUES (13,5,6,'ЗАПРЕТ()')
INSERT #F VALUES (13,6,6,'ЗАПРЕТ()')
INSERT #F VALUES (13,7,6,'ЗАПРЕТ()')
INSERT #F VALUES (13,8,6,'ЗАПРЕТ()')
INSERT #F VALUES (13,9,6,'ЗАПРЕТ()')
INSERT #F VALUES (13,1,7,'ЗАПРЕТ()')
INSERT #F VALUES (13,2,7,'ЗАПРЕТ()')
INSERT #F VALUES (13,3,7,'ЗАПРЕТ()')
INSERT #F VALUES (13,4,7,'ЗАПРЕТ()')
INSERT #F VALUES (13,5,7,'ЗАПРЕТ()')
INSERT #F VALUES (13,6,7,'ЗАПРЕТ()')
INSERT #F VALUES (13,7,7,'ЗАПРЕТ()')
INSERT #F VALUES (13,8,7,'4ФСС_СПРАВОЧНИК(''raise_date'')')
INSERT #F VALUES (13,9,7,'ЗАПРЕТ()')
INSERT #F VALUES (14,1,1,'Задолженность за страхователем на начало расчетного периода                                                                                                                                                                                                   ')
INSERT #F VALUES (14,2,1,'Начислено страховых взносов                                                                                                                                                                                                                               ')
INSERT #F VALUES (14,3,1,'на начало отчетного периода                                                                                                                                                                                                                               ')
INSERT #F VALUES (14,4,1,'за последние три месяца отчетного периода                                                                                                                                                                                                                 ')
INSERT #F VALUES (14,5,1,'          1 месяц                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,6,1,'          2 месяц                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,7,1,'          3 месяц                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,8,1,'Начислено взносов по результатам проверок                                                                                                                                                                                                                 ')
INSERT #F VALUES (14,9,1,'Не принято к зачету расходов территориальным органом Фонда за прошлые расчетные периоды                                                                                                                                                                   ')
INSERT #F VALUES (14,10,1,'Начислено взносов страхователем за прошлые расчетные периоды                                                                                                                                                                                              ')
INSERT #F VALUES (14,11,1,'Получено от территориального органа Фонда на банковский счет                                                                                                                                                                                              ')
INSERT #F VALUES (14,12,1,'Возврат сумм излишне уплаченных (взысканных) страховых взносов                                                                                                                                                                                            ')
INSERT #F VALUES (14,13,1,'Всего  (сумма строк 1+2+3+4+5+6+7)                                                                                                                                                                                                                        ')
INSERT #F VALUES (14,14,1,'Задолженность за территориальным органом Фонда на конец отчетного периода                                                                                                                                                                                     ')
INSERT #F VALUES (14,15,1,'в том числе: за счет превышения расходов                                                                                                                                                                                                                      ')
INSERT #F VALUES (14,16,1,'                      за счет переплаты страховых взносов                                                                                                                                                                                                     ')
INSERT #F VALUES (14,17,1,'Задолженность за территориальным органом Фонда на начало расчетного периода                                                                                                                                                                                   ')
INSERT #F VALUES (14,18,1,'в том числе: за счет превышения расходов                                                                                                                                                                                                                      ')
INSERT #F VALUES (14,19,1,'                     за счет переплаты страховых взносов                                                                                                                                                                                                      ')
INSERT #F VALUES (14,20,1,'Расходы по обязательному социальному страхованию                                                                                                                                                                                                              ')
INSERT #F VALUES (14,21,1,'на начало отчетного периода                                                                                                                                                                                                                                   ')
INSERT #F VALUES (14,22,1,'за последние три месяца отчетного периода                                                                                                                                                                                                                     ')
INSERT #F VALUES (14,23,1,'          1 месяц                                                                                                                                                                                                                                             ')
INSERT #F VALUES (14,24,1,'          2 месяц                                                                                                                                                                                                                                             ')
INSERT #F VALUES (14,25,1,'          3 месяц                                                                                                                                                                                                                                             ')
INSERT #F VALUES (14,26,1,'Уплачено страховых взносов                                                                                                                                                                                                                                    ')
INSERT #F VALUES (14,27,1,'на начало отчетного периода                                                                                                                                                                                                                                   ')
INSERT #F VALUES (14,28,1,'за последние три месяца отчетного периода дата, № платежного  поручения                                                                                                                                                                                       ')
INSERT #F VALUES (14,29,1,'          1 месяц                                                                                                                                                                                                                                             ')
INSERT #F VALUES (14,30,1,'          2 месяц                                                                                                                                                                                                                                             ')
INSERT #F VALUES (14,31,1,'          3 месяц                                                                                                                                                                                                                                             ')
INSERT #F VALUES (14,32,1,'Списанная сумма задолженности страхователя                                                                                                                                                                                                                    ')
INSERT #F VALUES (14,33,1,'Всего (сумма строк 12+15+16+17)                                                                                                                                                                                                                               ')
INSERT #F VALUES (14,34,1,'Задолженность за страхователем на конец отчетного периода                                                                                                                                                                                                     ')
INSERT #F VALUES (14,35,1,'           в том числе недоимка                                                                                                                                                                                                                               ')
INSERT #F VALUES (14,1,2,'1                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (14,2,2,'2                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,3,2,'2_1                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (14,4,2,'2_2                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (14,5,2,'2_3                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (14,6,2,'2_4                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (14,7,2,'2_5                                                                                                                                                                                                                                                       ')
INSERT #F VALUES (14,8,2,'3                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,9,2,'4                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,10,2,'5                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,11,2,'6                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,12,2,'7                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,13,2,'8                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (14,14,2,'9                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (14,15,2,'10                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,16,2,'11                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,17,2,'12                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,18,2,'13                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,19,2,'14                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,20,2,'15                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,21,2,'15_1                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,22,2,'15_2                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,23,2,'15_3                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,24,2,'15_4                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,25,2,'15_5                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,26,2,'16                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,27,2,'16_1                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,28,2,'16_2                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,29,2,'16_3                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,30,2,'16_4                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,31,2,'16_5                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (14,32,2,'17                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,33,2,'18                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,34,2,'19                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,35,2,'20                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (14,1,3,'4ФСС_РАЗДЕЛ1(''0701'',3)')
INSERT #F VALUES (14,3,3,'4ФСС_РАЗДЕЛ1(''1021'',3)')
INSERT #F VALUES (14,5,3,'4ФСС_РАЗДЕЛ1(''1023'',3)')
INSERT #F VALUES (14,6,3,'4ФСС_РАЗДЕЛ1(''1024'',3)')
INSERT #F VALUES (14,7,3,'4ФСС_РАЗДЕЛ1(''1025'',3)')
INSERT #F VALUES (14,11,3,'АДТКТ("_.304.05:_.201.11:_.201.21:_.201.27","_.303.06")')
INSERT #F VALUES (14,14,3,'4ФСС_РАЗДЕЛ1(''0709'',3)')
INSERT #F VALUES (14,15,3,'4ФСС_РАЗДЕЛ1(''0709'',3)')
INSERT #F VALUES (14,17,3,'4ФСС_РАЗДЕЛ1(''0712'',3)')
INSERT #F VALUES (14,18,3,'4ФСС_РАЗДЕЛ1(''0712'',3)')
INSERT #F VALUES (14,21,3,'АДТКТ("_.303.06","_.302.13,"ДЛЯ ДАТА>=''01.01'' И ДАТА<КВАРТАЛ")')
INSERT #F VALUES (14,23,3,'АДТКТ("_.303.06","_.302.13,"ДЛЯ ДАТА=МЕСЯЦ(1)")')
INSERT #F VALUES (14,24,3,'АДТКТ("_.303.06","_.302.13","ДЛЯ ДАТА=МЕСЯЦ(2)")')
INSERT #F VALUES (14,25,3,'АДТКТ("_.303.06","_.302.13","ДЛЯ ДАТА=МЕСЯЦ(3)")')
INSERT #F VALUES (14,27,3,'АДТКТ("_.303.06","_.304.05:_.201.11:_.201.21:_.201.27","ДЛЯ ДАТА>=''01.01'' И ДАТА<КВАРТАЛ")')
INSERT #F VALUES (14,29,3,'АДТКТ("_.303.06","_.304.05:_.201.11:_.201.21:_.201.27","ДЛЯ ДАТА=МЕСЯЦ(1)")')
INSERT #F VALUES (14,30,3,'АДТКТ("_.303.06","_.304.05:_.201.11:_.201.21:_.201.27","ДЛЯ ДАТА=МЕСЯЦ(2)")')
INSERT #F VALUES (14,31,3,'АДТКТ("_.303.06","_.304.05:_.201.11:_.201.21:_.201.27","ДЛЯ ДАТА=МЕСЯЦ(3)")')
INSERT #F VALUES (14,34,3,'4ФСС_РАЗДЕЛ1(''0719'',3)')
INSERT #F VALUES (14,1,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,2,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,3,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,4,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,5,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,6,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,7,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,8,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,9,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,10,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,11,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,12,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,13,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,14,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,15,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,16,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,17,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,18,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,19,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,20,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,21,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,22,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,23,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,24,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,25,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,26,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,27,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,28,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,29,4,'4ФСС_РАЗДЕЛ_ПП1(''10163'',3)')
INSERT #F VALUES (14,30,4,'4ФСС_РАЗДЕЛ_ПП1(''10164'',3)')
INSERT #F VALUES (14,31,4,'4ФСС_РАЗДЕЛ_ПП1(''10165'',3)')
INSERT #F VALUES (14,32,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,33,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,34,4,'ЗАПРЕТ()')
INSERT #F VALUES (14,35,4,'ЗАПРЕТ()')
INSERT #F VALUES (15,1,1,'Пособия по временной нетрудоспособности в связи
с несчастными случаями на производстве, всего                                                                                                                                                            ')
INSERT #F VALUES (15,2,1,'      из них: по внешнему совместительству                                                                                                                                                                                                                ')
INSERT #F VALUES (15,3,1,'      пострадавшим в другой организации                                                                                                                                                                                                                       ')
INSERT #F VALUES (15,4,1,'Пособия по временной нетрудоспособности в связи
с профессиональными заболеваниями, всего                                                                                                                                                                 ')
INSERT #F VALUES (15,5,1,'      из них: по внешнему совместительству                                                                                                                                                                                                                ')
INSERT #F VALUES (15,6,1,'      пострадавшим в другой организации                                                                                                                                                                                                                       ')
INSERT #F VALUES (15,7,1,'Оплата отпуска для санаторно-курортного лечения застрахованным (сверх ежегодного оплачиваемого отпуска, установленного законодательством Российской Федерации)                                                                                            ')
INSERT #F VALUES (15,8,1,'      из них: пострадавшим в другой организации                                                                                                                                                                                                               ')
INSERT #F VALUES (15,9,1,'Финансирование предупредительных мер по сокращению производственного травматизма и профзаболеваний                                                                                                                                                        ')
INSERT #F VALUES (15,10,1,'Всего расходов (сумма строк 1, 4, 7, 9)                                                                                                                                                                                                                   ')
INSERT #F VALUES (15,11,1,'Справочно: начисленные и невыплаченные пособия                                                                                                                                                                                                                ')
INSERT #F VALUES (15,1,2,'1                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (15,2,2,'2                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (15,3,2,'3                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (15,4,2,'4                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (15,5,2,'5                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (15,6,2,'6                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (15,7,2,'7                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (15,8,2,'8                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (15,9,2,'9                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (15,10,2,'10                                                                                                                                                                                                                                                        ')
INSERT #F VALUES (15,11,2,'11                                                                                                                                                                                                                                                            ')
INSERT #F VALUES (15,1,3,'4ФСС_РАЗДЕЛ1(''1101'',6)')
INSERT #F VALUES (15,2,3,'4ФСС_РАЗДЕЛ1(''1102'',6)')
INSERT #F VALUES (15,4,3,'4ФСС_РАЗДЕЛ1(''1104'',6)')
INSERT #F VALUES (15,5,3,'4ФСС_РАЗДЕЛ1(''1105'',6)')
INSERT #F VALUES (15,7,3,'4ФСС_РАЗДЕЛ1(''1107'',6)')
INSERT #F VALUES (15,9,3,'ЗАПРЕТ()')
INSERT #F VALUES (15,10,3,'ЗАПРЕТ()')
INSERT #F VALUES (15,11,3,'ЗАПРЕТ()')
INSERT #F VALUES (15,1,4,'4ФСС_РАЗДЕЛ1(''1101'',3)')
INSERT #F VALUES (15,2,4,'4ФСС_РАЗДЕЛ1(''1102'',3)')
INSERT #F VALUES (15,4,4,'4ФСС_РАЗДЕЛ1(''1104'',3)')
INSERT #F VALUES (15,5,4,'4ФСС_РАЗДЕЛ1(''1105'',3)')
INSERT #F VALUES (15,7,4,'4ФСС_РАЗДЕЛ1(''1107'',3)')
INSERT #F VALUES (16,1,1,'По несчастным случаям                                                                                                                                                                                                                                     ')
INSERT #F VALUES (16,2,1,'      из них: со смертельным исходом                                                                                                                                                                                                                      ')
INSERT #F VALUES (16,3,1,'По профессиональным заболеваниям                                                                                                                                                                                                                          ')
INSERT #F VALUES (16,4,1,'ВСЕГО пострадавших (сумма строк 1, 3)                                                                                                                                                                                                                     ')
INSERT #F VALUES (16,5,1,'в том числе пострадавших (застрахованных) по случаям, закончившимся только временной нетрудоспособностью                                                                                                                                                  ')
INSERT #F VALUES (16,1,2,'1                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (16,2,2,'2                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (16,3,2,'3                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (16,4,2,'4                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (16,5,2,'5                                                                                                                                                                                                                                                         ')
INSERT #F VALUES (17,1,1,'Аттестация рабочих мест по условиям труда                                                                                                                                                                                                                     ')
INSERT #F VALUES (17,2,1,'Проведение обязательных предварительных и периодических медицинских осмотров (обследований) работников                                                                                                                                                        ')
INSERT #F VALUES (17,1,2,'1                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (17,2,2,'2                                                                                                                                                                                                                                                             ')
INSERT #F VALUES (17,1,3,'4ФСС_РАЗДЕЛ1(''100103'',3)')
INSERT #F VALUES (17,2,3,'ЗАПРЕТ()')
INSERT #F VALUES (17,1,4,'4ФСС_РАЗДЕЛ1(''100104'',3)')
INSERT #F VALUES (17,2,4,'ЗАПРЕТ()')
INSERT #F VALUES (17,1,6,'4ФСС_РАЗДЕЛ1(''100105'',3)')
INSERT #F VALUES (17,2,6,'ЗАПРЕТ()')
INSERT #F VALUES (17,1,7,'4ФСС_РАЗДЕЛ1(''100106'',3)')
INSERT #F VALUES (17,2,7,'ЗАПРЕТ()')
INSERT #F VALUES (17,1,8,'ЗАПРЕТ()')
INSERT #F VALUES (17,1,9,'ЗАПРЕТ()')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 664
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
INSERT #A VALUES(1,NULL,0,NULL,1,7,0,0,0,'т.2стр.2_2гр.3 =  т.2стр.2_3гр.3 +  т.2стр.2_4гр.3 +  т.2стр.2_5гр.3',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(2,NULL,0,NULL,2,7,0,0,0,'т.2стр.3_2гр.3 =  т.2стр.3_3гр.3 +  т.2стр.3_4гр.3 +  т.2стр.3_5гр.3',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(3,NULL,0,NULL,3,7,0,0,0,'т.2стр.5_2гр.3 =  т.2стр.5_3гр.3 +  т.2стр.5_4гр.3 +  т.2стр.5_5гр.3',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(4,NULL,0,NULL,4,7,0,0,0,'т.2стр.6_2гр.3 =  т.2стр.6_3гр.3 +  т.2стр.6_4гр.3 +  т.2стр.6_5гр.3',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(5,NULL,0,NULL,5,7,0,0,0,'т.2стр.15_2гр.3 =  т.2стр.15_3гр.3 +  т.2стр.15_4гр.3 +  т.2стр.15_5гр.3',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(6,NULL,0,NULL,6,7,0,0,0,'т.2стр.16_2гр.3 =  т.2стр.16_3гр.3 +  т.2стр.16_4гр.3 +  т.2стр.16_5гр.3',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(7,NULL,0,NULL,7,7,0,0,0,'т.2стр.15гр.3 =  т.3стр.15гр.4',0,0,1,'20150409','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(8,NULL,0,NULL,8,7,0,0,0,'т.4стр.4гр.3 =  т.4стр.1гр.3 -  т.4стр.2гр.3 -  т.4стр.3гр.3',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(9,NULL,0,NULL,9,7,0,0,0,'т.4стр.4гр.4 =  т.4стр.1гр.4 -  т.4стр.2гр.4 -  т.4стр.3гр.4',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(10,NULL,0,NULL,10,7,0,0,0,'т.4стр.4гр.5 =  т.4стр.1гр.5 -  т.4стр.2гр.5 -  т.4стр.3гр.5',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(11,NULL,0,NULL,11,7,0,0,0,'т.4стр.4гр.6 =  т.4стр.1гр.6 -  т.4стр.2гр.6 -  т.4стр.3гр.6',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(12,NULL,0,NULL,12,7,0,0,0,'т.8стр.4гр.3 =  т.8стр.3гр.3 /  т.8стр.2гр.3 *  100',1,0,1,'20150402','','','','4fss','20160101','','=',0,'','')
INSERT #A VALUES(13,NULL,0,NULL,13,7,0,0,0,'т.12стр.1гр.5 =  т.3стр.1гр.5',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(14,NULL,0,NULL,14,7,0,0,0,'т.12стр.2гр.5 =  т.3стр.5гр.5',1,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(15,NULL,0,NULL,15,7,0,0,0,'т.12стр.4гр.5 =  т.3стр.10гр.5',1,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(16,NULL,0,NULL,16,7,0,0,0,'т.12стр.5гр.5 =  т.3стр.11гр.5',1,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(17,NULL,0,NULL,18,7,0,0,0,'т.13стр.3гр.3 =  т.13стр.1гр.3 -  т.13стр.2гр.3',1,0,1,'20160405','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(18,NULL,0,NULL,19,7,0,0,0,'т.13стр.3гр.4 =  т.13стр.1гр.4 -  т.13стр.2гр.4',1,0,1,'20160405','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(19,NULL,0,NULL,20,7,0,0,0,'т.13стр.3гр.5 =  т.13стр.1гр.5 -  т.13стр.2гр.5',1,0,1,'20160405','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(20,NULL,0,NULL,21,7,0,0,0,'т.14стр.2_2гр.3 =  т.14стр.2_3гр.3 +  т.14стр.2_4гр.3 +  т.14стр.2_5гр.3',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(21,NULL,0,NULL,22,7,0,0,0,'т.14стр.15_2гр.3 =  т.14стр.15_3гр.3 +  т.14стр.15_4гр.3 +  т.14стр.15_5гр.3',1,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(22,NULL,0,NULL,23,7,0,0,0,'т.14стр.16_2гр.3 =  т.14стр.16_3гр.3 +  т.14стр.16_4гр.3 +  т.14стр.16_5гр.3',1,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(23,NULL,0,NULL,24,7,0,0,0,'т.15стр.10гр.4 =  т.15стр.1гр.4 +  т.15стр.4гр.4 +  т.15стр.7гр.4 +  т.15стр.9гр.4',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(24,NULL,0,NULL,25,7,0,0,0,'т.16стр.4гр.3 =  т.16стр.1гр.3 +  т.16стр.3гр.3',1,0,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(25,NULL,0,NULL,28,7,0,0,0,'т.3стр.9гр.2 =  т.3стр.10гр.2 +  т.3стр.11гр.2',1,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(26,NULL,0,NULL,29,7,0,0,0,'т.3стр.9гр.3 =  т.3стр.10гр.3 +  т.3стр.11гр.3',1,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(27,NULL,0,NULL,30,7,0,0,0,'т.3стр.9гр.4 =  т.3стр.10гр.4 +  т.3стр.11гр.4',1,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(28,NULL,0,NULL,31,7,0,0,0,'т.3стр.9гр.5 =  т.3стр.10гр.5 +  т.3стр.11гр.5',1,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(29,NULL,0,NULL,32,7,0,0,0,'т.1стр.2гр.3 <=  т.1стр.1гр.3',0,0,1,'20141113','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(30,NULL,0,NULL,33,7,0,0,0,'т.1стр.3гр.3 <=  т.1стр.1гр.3',0,0,1,'20141113','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(31,NULL,0,NULL,34,7,0,0,0,'т.1стр.4гр.3 <=  т.1стр.1гр.3',0,0,1,'20141113','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(32,NULL,0,NULL,35,7,0,0,0,'т.3стр.2гр.2 <=  т.3стр.1гр.2',0,0,1,'20141113','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(33,NULL,0,NULL,36,7,0,0,0,'т.3стр.2гр.3 <=  т.3стр.1гр.3',0,0,1,'20141113','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(34,NULL,0,NULL,37,7,0,0,0,'т.3стр.2гр.4 <=  т.3стр.1гр.4',0,0,1,'20141113','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(35,NULL,0,NULL,38,7,0,0,0,'т.3стр.2гр.5 <=  т.3стр.1гр.5',0,0,1,'20141113','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(36,NULL,0,NULL,39,7,0,0,0,'т.3стр.6гр.3 <=  т.3стр.5гр.3',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(37,NULL,0,NULL,40,7,0,0,0,'т.3стр.6гр.4 <=  т.3стр.5гр.4',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(38,NULL,0,NULL,41,7,0,0,0,'т.3стр.6гр.5 <=  т.3стр.5гр.5',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(39,NULL,0,NULL,42,7,0,0,0,'т.4стр.1гр.3 >=  т.4стр.1гр.4 +  т.4стр.1гр.5 +  т.4стр.1гр.6',0,0,1,'20150402','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(40,NULL,0,NULL,43,7,0,0,0,'т.4стр.2гр.3 >=  т.4стр.2гр.4 +  т.4стр.2гр.5 +  т.4стр.2гр.6',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(41,NULL,0,NULL,44,7,0,0,0,'т.4стр.3гр.3 >=  т.4стр.3гр.4 +  т.4стр.3гр.5 +  т.4стр.3гр.6',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(42,NULL,0,NULL,45,7,0,0,0,'т.4стр.4гр.3 >=  т.4стр.4гр.4 +  т.4стр.4гр.5 +  т.4стр.4гр.6',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(43,NULL,0,NULL,46,7,0,0,0,'т.4стр.5гр.3 >=  т.4стр.5гр.4 +  т.4стр.5гр.5 +  т.4стр.5гр.6',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(44,NULL,0,NULL,47,7,0,0,0,'т.4стр.8гр.3 <=  т.4стр.4гр.3',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(45,NULL,0,NULL,48,7,0,0,0,'т.4стр.8гр.4 <=  т.4стр.4гр.4',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(46,NULL,0,NULL,49,7,0,0,0,'т.4стр.8гр.5 <=  т.4стр.4гр.5',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(47,NULL,0,NULL,50,7,0,0,0,'т.4стр.8гр.6 <=  т.4стр.4гр.6',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(48,NULL,0,NULL,51,7,0,0,0,'т.13стр.4гр.3 <=  т.13стр.1гр.3',0,0,1,'20160405','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(49,NULL,0,NULL,52,7,0,0,0,'т.14стр.20гр.3 <=  т.14стр.19гр.3',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(50,NULL,0,NULL,53,7,0,0,0,'т.14стр.15гр.3 =  т.15стр.10гр.4',0,0,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(51,NULL,0,NULL,54,7,0,0,0,'т.15стр.1гр.3 >=  т.15стр.2гр.3 +  т.15стр.3гр.3',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(52,NULL,0,NULL,55,7,0,0,0,'т.15стр.1гр.4 >=  т.15стр.2гр.4 +  т.15стр.3гр.4',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(53,NULL,0,NULL,56,7,0,0,0,'т.15стр.4гр.3 >=  т.15стр.5гр.3 +  т.15стр.6гр.3',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(54,NULL,0,NULL,57,7,0,0,0,'т.15стр.4гр.4 >=  т.15стр.5гр.4 +  т.15стр.6гр.4',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(55,NULL,0,NULL,58,7,0,0,0,'т.15стр.7гр.3 >=  т.15стр.8гр.3',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(56,NULL,0,NULL,59,7,0,0,0,'т.15стр.7гр.4 >=  т.15стр.8гр.4',0,0,1,'20141113','','','','4fss','20160101','','>=',1,'','')
INSERT #A VALUES(57,NULL,0,NULL,60,7,0,0,0,'т.8стр.4гр.4 =  т.8стр.3гр.4 /  т.8стр.2гр.4 *  100',1,0,1,'20141113','','','','4fss','20160101','','=',0,'','')
INSERT #A VALUES(58,NULL,0,NULL,61,7,0,0,0,'т.9стр.3гр.3 =  т.9стр.2гр.3 /  т.9стр.1гр.3 *  100',1,0,1,'20150402','','','','4fss','20160101','','=',0,'','')
INSERT #A VALUES(59,NULL,0,NULL,62,7,0,0,0,'т.10стр.5гр.3 =  т.10стр.4гр.3 +  т.10стр.3гр.3 +  т.10стр.2гр.3 /  т.10стр.1гр.3 *  100',1,0,1,'20150402','','','','4fss','20160101','','=',0,'','')
INSERT #A VALUES(60,NULL,0,NULL,63,7,0,0,0,'т.10стр.5гр.4 =  т.10стр.4гр.4 +  т.10стр.3гр.4 +  т.10стр.2гр.4 /  т.10стр.1гр.4 *  100',1,0,1,'20141113','','','','4fss','20160101','','=',0,'','')
INSERT #A VALUES(61,NULL,0,NULL,64,7,0,0,0,'т.3стр.15гр.4 =  т.3стр.1гр.4 +  т.3стр.5гр.4 +  т.3стр.7гр.4 +  т.3стр.8гр.4 +  т.3стр.9гр.4 +  т.3стр.12гр.4 +  т.3стр.14гр.4 +  т.3стр.3гр.4 +  т.3стр.13гр.4',1,1,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(62,NULL,0,NULL,65,7,0,0,0,'т.3стр.15гр.5 =  т.3стр.1гр.5 +  т.3стр.5гр.5 +  т.3стр.7гр.5 +  т.3стр.8гр.5 +  т.3стр.9гр.5 +  т.3стр.12гр.5 +  т.3стр.14гр.5 +  т.3стр.3гр.5 +  т.3стр.13гр.5',1,1,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(63,NULL,0,NULL,66,7,0,0,0,'т.12стр.3гр.5 =  т.12стр.4гр.5 +  т.12стр.5гр.5',1,1,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(64,NULL,0,NULL,67,7,0,0,0,'т.14стр.2гр.3 =  т.14стр.2_1гр.3 +  т.14стр.2_2гр.3',1,1,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(65,NULL,0,NULL,68,7,0,0,0,'т.14стр.15гр.3 =  т.14стр.15_1гр.3 +  т.14стр.15_2гр.3',1,1,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(66,NULL,0,NULL,69,7,0,0,0,'т.14стр.16гр.3 =  т.14стр.16_1гр.3 +  т.14стр.16_2гр.3',1,1,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(67,NULL,0,NULL,70,7,0,0,0,'т.14гр.3 =  т.14гр.3 -  т.14гр.3',0,1,1,'20150402','','','','4fss','20160101','','=',0,'','')
INSERT #A VALUES(68,NULL,0,NULL,71,7,0,0,0,'т.14гр.3 =  т.14гр.3 -  т.14гр.3',1,1,1,'20150402','','','','4fss','20160101','','=',0,'','')
INSERT #A VALUES(69,NULL,0,NULL,72,7,0,0,0,'т.2стр.2гр.3 =  т.2стр.2_1гр.3 +  т.2стр.2_2гр.3',1,1,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(70,NULL,0,NULL,73,7,0,0,0,'т.2стр.3гр.3 =  т.2стр.3_1гр.3 +  т.2стр.3_2гр.3',1,1,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(71,NULL,0,NULL,74,7,0,0,0,'т.2стр.5гр.3 =  т.2стр.5_1гр.3 +  т.2стр.5_2гр.3',1,1,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(72,NULL,0,NULL,75,7,0,0,0,'т.2стр.6гр.3 =  т.2стр.6_1гр.3 +  т.2стр.6_2гр.3',1,1,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(73,NULL,0,NULL,76,7,0,0,0,'т.2стр.15гр.3 =  т.2стр.15_1гр.3 +  т.2стр.15_2гр.3',1,1,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(74,NULL,0,NULL,77,7,0,0,0,'т.2стр.16гр.3 =  т.2стр.16_1гр.3 +  т.2стр.16_2гр.3',1,1,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(75,NULL,0,NULL,78,7,0,0,0,'т.3стр.15гр.4 =  т.3стр.1гр.4 +  т.3стр.5гр.4 +  т.3стр.7гр.4 +  т.3стр.8гр.4 +  т.3стр.9гр.4 +  т.3стр.12гр.4 +  т.3стр.14гр.4 +  т.3стр.3гр.4 +  т.3стр.13гр.4',1,1,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(76,NULL,0,NULL,79,7,0,0,0,'т.3стр.15гр.5 =  т.3стр.1гр.5 +  т.3стр.5гр.5 +  т.3стр.7гр.5 +  т.3стр.8гр.5 +  т.3стр.9гр.5 +  т.3стр.12гр.5 +  т.3стр.14гр.5 +  т.3стр.3гр.5 +  т.3стр.13гр.5',1,1,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(77,NULL,0,NULL,80,7,0,0,0,'т.12стр.3гр.5 =  т.12стр.4гр.5 +  т.12стр.5гр.5',1,1,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(78,NULL,0,NULL,81,7,0,0,0,'т.14стр.2гр.3 =  т.14стр.2_1гр.3 +  т.14стр.2_2гр.3',1,1,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(79,NULL,0,NULL,82,7,0,0,0,'т.14стр.15гр.3 =  т.14стр.15_1гр.3 +  т.14стр.15_2гр.3',1,1,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(80,NULL,0,NULL,83,7,0,0,0,'т.14стр.16гр.3 =  т.14стр.16_1гр.3 +  т.14стр.16_2гр.3',1,1,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(81,NULL,0,NULL,84,7,0,0,0,'т.14гр.3 =  т.14гр.3 -  т.14гр.3',0,1,1,'20150402','','','','4fss','20160101','','=',0,'','')
INSERT #A VALUES(82,NULL,0,NULL,85,7,0,0,0,'т.14гр.3 =  т.14гр.3 -  т.14гр.3',1,1,1,'20150402','','','','4fss','20160101','','=',0,'','')
INSERT #A VALUES(83,NULL,0,NULL,86,7,0,0,0,'т.2стр.8гр.3 =  т.2стр.1гр.3 +  т.2стр.2гр.3 +  т.2стр.3гр.3 +  т.2стр.4гр.3 +  т.2стр.5гр.3 +  т.2стр.6гр.3 +  т.2стр.7гр.3',1,2,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(84,NULL,0,NULL,87,7,0,0,0,'т.2стр.18гр.3 =  т.2стр.12гр.3 +  т.2стр.15гр.3 +  т.2стр.16гр.3 +  т.2стр.17гр.3',1,2,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(85,NULL,0,NULL,88,7,0,0,0,'т.12стр.8гр.3 =  т.12стр.1гр.3 +  т.12стр.2гр.3 +  т.12стр.3гр.3 +  т.12стр.6гр.3 +  т.12стр.7гр.3',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(86,NULL,0,NULL,89,7,0,0,0,'т.12стр.8гр.5 =  т.12стр.1гр.5 +  т.12стр.2гр.5 +  т.12стр.3гр.5 +  т.12стр.6гр.5 +  т.12стр.7гр.5',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(87,NULL,0,NULL,90,7,0,0,0,'т.12стр.8гр.6 =  т.12стр.1гр.6 +  т.12стр.2гр.6 +  т.12стр.3гр.6 +  т.12стр.6гр.6 +  т.12стр.7гр.6',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(88,NULL,0,NULL,91,7,0,0,0,'т.12стр.8гр.8 =  т.12стр.1гр.8 +  т.12стр.2гр.8 +  т.12стр.3гр.8 +  т.12стр.6гр.8 +  т.12стр.7гр.8',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(89,NULL,0,NULL,92,7,0,0,0,'т.12стр.8гр.9 =  т.12стр.1гр.9 +  т.12стр.2гр.9 +  т.12стр.3гр.9 +  т.12стр.6гр.9 +  т.12стр.7гр.9',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(90,NULL,0,NULL,93,7,0,0,0,'т.12стр.8гр.11 =  т.12стр.1гр.11 +  т.12стр.2гр.11 +  т.12стр.3гр.11 +  т.12стр.6гр.11 +  т.12стр.7гр.11',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(91,NULL,0,NULL,94,7,0,0,0,'т.12стр.8гр.12 =  т.12стр.1гр.12 +  т.12стр.2гр.12 +  т.12стр.3гр.12 +  т.12стр.6гр.12 +  т.12стр.7гр.12',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(92,NULL,0,NULL,95,7,0,0,0,'т.12стр.8гр.14 =  т.12стр.1гр.14 +  т.12стр.2гр.14 +  т.12стр.3гр.14 +  т.12стр.6гр.14 +  т.12стр.7гр.14',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(93,NULL,0,NULL,96,7,0,0,0,'т.12стр.8гр.15 =  т.12стр.1гр.15 +  т.12стр.2гр.15 +  т.12стр.3гр.15 +  т.12стр.6гр.15 +  т.12стр.7гр.15',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(94,NULL,0,NULL,97,7,0,0,0,'т.12стр.8гр.17 =  т.12стр.1гр.17 +  т.12стр.2гр.17 +  т.12стр.3гр.17 +  т.12стр.6гр.17 +  т.12стр.7гр.17',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(95,NULL,0,NULL,98,7,0,0,0,'т.12стр.8гр.18 =  т.12стр.1гр.18 +  т.12стр.2гр.18 +  т.12стр.3гр.18 +  т.12стр.6гр.18 +  т.12стр.7гр.18',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(96,NULL,0,NULL,99,7,0,0,0,'т.12стр.8гр.20 =  т.12стр.1гр.20 +  т.12стр.2гр.20 +  т.12стр.3гр.20 +  т.12стр.6гр.20 +  т.12стр.7гр.20',1,2,1,'20160404','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(97,NULL,0,NULL,100,7,0,0,0,'т.14стр.8гр.3 =  т.14стр.1гр.3 +  т.14стр.2гр.3 +  т.14стр.3гр.3 +  т.14стр.4гр.3 +  т.14стр.5гр.3 +  т.14стр.6гр.3 +  т.14стр.7гр.3',1,2,1,'20141113','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(98,NULL,0,NULL,101,7,0,0,0,'т.14стр.18гр.3 =  т.14стр.12гр.3 +  т.14стр.15гр.3 +  т.14стр.16гр.3 +  т.14стр.17гр.3',1,2,1,'20150402','','','','4fss','20160101','','=',1,'','')
INSERT #A VALUES(99,NULL,0,NULL,102,7,0,0,0,'Проверки =  0',0,100,1,'20141113','','','','4fss','20160101','','=',9,'','')
INSERT #A VALUES(100,NULL,0,NULL,103,7,0,0,0,'т.3стр.4гр.3 <=  т.3стр.3гр.3',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(101,NULL,0,NULL,104,7,0,0,0,'т.3стр.4гр.4 <=  т.3стр.3гр.4',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(102,NULL,0,NULL,105,7,0,0,0,'т.3стр.4гр.5 <=  т.3стр.3гр.5',0,0,1,'20150402','','','','4fss','20160101','','<=',1,'','')
INSERT #A VALUES(103,NULL,0,NULL,106,7,0,0,0,'т.13стр.3гр.6 =  т.13стр.1гр.6 -  т.13стр.2гр.6',1,0,1,'20160408','','','','4fss','20160101','','=',1,'','')
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 103
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
INSERT #B VALUES(1,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_2','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(1,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_3','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_4','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(1,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_5','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3_2','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(2,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3_3','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3_4','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(2,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3_5','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5_2','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(3,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5_3','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5_4','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(3,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5_5','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6_2','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(4,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6_3','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6_4','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(4,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6_5','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_2','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(5,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_3','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_4','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(5,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_5','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_2','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(6,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_3','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_4','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(6,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_5','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(7,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(7,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','15','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(8,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(8,4,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','4','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(9,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','1','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','2','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(9,4,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','3','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','4','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(10,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','1','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','2','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(10,4,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','3','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','4','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(11,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','1','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','2','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(11,4,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','3','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','8',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(12,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','8',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,3,0,'/',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','8',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(12,4,1,'*',NULL,NULL,NULL,NULL,0,100,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(13,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','1','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(13,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','1','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(14,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','2','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(14,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','5','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(15,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','4','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(15,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','10','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(16,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','5','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(16,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','11','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(17,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','13',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(17,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','13',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(17,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','13',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','3','13',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(18,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','1','13',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(18,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','2','13',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','3','13',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(19,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','1','13',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(19,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','2','13',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_2','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(20,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_3','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_4','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(20,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_5','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_2','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(21,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_3','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_4','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(21,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_5','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_2','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(22,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_3','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_4','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(22,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_5','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','10','15',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(23,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','1','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','4','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','7','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(23,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','9','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','16',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(24,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','16',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(24,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','16',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','9','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(25,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','10','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(25,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','11','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','9','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(26,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','10','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(26,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','11','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','9','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(27,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','10','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(27,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','11','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','9','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(28,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','10','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(28,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','11','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(29,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(29,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(30,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(30,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(31,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','1',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(31,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','1',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(32,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(32,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(33,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','2','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(33,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','1','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(34,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','2','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(34,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','1','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(35,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','2','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(35,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','1','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(36,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','6','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(36,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','5','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(37,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','6','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(37,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','5','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(38,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','6','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(38,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','5','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(39,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(39,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','1','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(39,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','1','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(39,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','1','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(40,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(40,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','2','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(40,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','2','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(40,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','2','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(41,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(41,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','3','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(41,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','3','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(41,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','3','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(42,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(42,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','4','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(42,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','4','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(42,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','4','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(43,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(43,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','5','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(43,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','5','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(43,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','5','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(44,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','8','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(44,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(45,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','8','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(45,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','4','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(46,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','8','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(46,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','4','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(47,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','8','4',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(47,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','4','4',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(48,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','13',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(48,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','13',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(49,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','20','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(49,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','19','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(50,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(50,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','10','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(51,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','15',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(51,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(51,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(52,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','1','15',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(52,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','2','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(52,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','3','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(53,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','15',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(53,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(53,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(54,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','4','15',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(54,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','5','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(54,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','6','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(55,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','7','15',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(55,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','8','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(56,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','7','15',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(56,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','8','15',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(57,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','4','8',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(57,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','3','8',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(57,3,0,'/',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','2','8',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(57,4,1,'*',NULL,NULL,NULL,NULL,0,100,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(58,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','9',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(58,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','9',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(58,3,0,'/',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','9',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(58,4,1,'*',NULL,NULL,NULL,NULL,0,100,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(59,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5','10',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(59,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','10',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(59,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','10',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(59,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','10',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(59,5,0,'/',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','10',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(59,6,1,'*',NULL,NULL,NULL,NULL,0,100,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(60,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','5','10',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(60,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','4','10',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(60,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','3','10',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(60,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','2','10',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(60,5,0,'/',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','1','10',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(60,6,1,'*',NULL,NULL,NULL,NULL,0,100,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','15','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(61,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','1','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','5','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','7','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','8','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','9','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','12','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','14','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,9,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','3','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(61,10,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','13','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','15','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(62,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','1','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','5','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','7','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','8','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','9','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','12','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','14','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,9,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','3','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(62,10,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','13','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(63,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','3','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(63,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','4','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(63,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','5','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(64,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(64,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_1','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(64,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_2','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(65,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(65,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_1','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(65,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_2','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(66,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(66,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_1','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(66,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_2','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(67,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''1'' AND COL(3) < CONVERT(FLOAT,0)','','','','','3','','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(67,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''12''','','','','','3','','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(67,3,4,'-',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''12''','','','','','3','','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(68,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''19'' AND COL(3) < CONVERT(FLOAT,0)','','','','','3','','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(68,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''9''','','','','','3','','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(68,3,4,'-',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''9''','','','','','3','','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(69,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(69,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_1','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(69,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_2','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(70,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(70,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3_1','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(70,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3_2','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(71,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(71,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5_1','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(71,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5_2','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(72,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(72,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6_1','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(72,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6_2','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(73,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(73,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_1','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(73,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_2','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(74,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(74,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_1','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(74,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_2','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','15','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(75,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','1','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','5','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','7','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','8','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','9','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','12','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','14','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,9,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','3','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(75,10,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','13','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','15','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(76,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','1','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','5','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','7','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','8','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','9','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','12','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','14','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,9,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','3','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(76,10,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','13','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(77,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','3','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(77,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','4','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(77,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','5','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(78,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(78,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_1','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(78,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2_2','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(79,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(79,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_1','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(79,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15_2','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(80,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(80,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_1','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(80,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16_2','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(81,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''1'' AND COL(3) < CONVERT(FLOAT,0)','','','','','3','','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(81,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''12''','','','','','3','','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(81,3,4,'-',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''12''','','','','','3','','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(82,1,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''19'' AND COL(3) < CONVERT(FLOAT,0)','','','','','3','','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(82,2,4,'+',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''9''','','','','','3','','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(82,3,4,'-',NULL,NULL,NULL,NULL,0,0,'','','','CODE = ''9''','','','','','3','','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(83,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','8','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(83,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(83,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(83,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(83,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(83,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(83,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(83,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','7','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(84,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','18','2',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(84,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','12','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(84,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(84,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(84,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','17','2',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(85,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(85,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(85,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(85,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(85,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(85,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(86,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(86,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(86,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(86,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(86,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(86,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(87,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(87,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(87,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(87,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(87,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(87,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(88,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(88,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(88,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(88,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(88,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(88,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','8','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(89,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(89,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(89,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(89,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(89,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(89,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','9','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(90,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(90,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(90,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(90,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(90,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(90,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','11','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(91,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(91,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(91,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(91,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(91,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(91,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','12','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(92,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','14','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(92,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','14','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(92,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','14','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(92,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','14','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(92,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','14','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(92,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','14','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(93,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','15','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(93,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','15','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(93,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','15','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(93,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','15','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(93,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','15','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(93,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','15','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(94,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','17','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(94,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','17','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(94,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','17','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(94,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','17','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(94,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','17','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(94,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','17','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(95,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','18','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(95,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','18','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(95,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','18','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(95,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','18','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(95,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','18','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(95,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','18','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(96,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','20','8','12',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(96,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','20','1','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(96,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','20','2','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(96,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','20','3','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(96,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','20','6','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(96,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','20','7','12',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(97,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','8','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(97,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','1','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(97,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','2','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(97,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','3','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(97,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','4','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(97,6,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','5','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(97,7,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','6','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(97,8,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','7','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(98,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','18','14',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(98,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','12','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(98,3,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','15','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(98,4,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','16','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(98,5,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','3','17','14',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(99,1,2,'+',NULL,NULL,NULL,NULL,0,0,'SA_4FSS_EXPORT_TEST(0)','Проверки','','','','','','','','','',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(99,2,1,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','','','',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(100,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','4','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(100,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','4','3','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(101,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','4','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(101,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','5','3','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(102,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','4','3',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(102,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','3','3',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(103,1,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','3','13',NULL,NULL,'',0,NULL,1,'',0)
INSERT #B VALUES(103,2,0,'+',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','1','13',NULL,NULL,'',1,NULL,1,'',0)
INSERT #B VALUES(103,3,0,'-',NULL,NULL,NULL,NULL,0,0,'','','','','','','','','6','2','13',NULL,NULL,'',1,NULL,1,'',0)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 388
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '3         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'3','Квартальные формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-04-08 15:58:33.623',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-04-08 15:58:33.623'
	BEGIN
		SELECT @vcMessage = 'Форма 4fss с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 4fss с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-04-08 15:58:33.623. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO

GO

--BEFORE CODE 20.04.2016

--Добавление колонки LINK_VKR таблицы CALCULATE_JURNAL
IF COLUMNPROPERTY(object_id('[dbo].[CALCULATE_JURNAL]'), 'LINK_VKR2', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[CALCULATE_JURNAL] ADD [LINK_VKR2] int NULL 
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_CALCULATE_JURNAL_VKR2')
CREATE INDEX [IX_CALCULATE_JURNAL_VKR2] ON [dbo].[CALCULATE_JURNAL] ([LINK_VKR2]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_CALCULATE_JURNAL_SAL_SFIN2]'))
ALTER TABLE [dbo].[CALCULATE_JURNAL] 
ADD CONSTRAINT [FK_CALCULATE_JURNAL_SAL_SFIN2] FOREIGN KEY ([LINK_VKR2]) REFERENCES [dbo].[SAL_SFIN] ([LINK])
GO

ALTER TABLE [dbo].[CALCULATE_JURNAL] DISABLE TRIGGER ALL
GO

UPDATE J SET J.LINK_VKR2 = J.LINK_VKR
FROM
	dbo.CALCULATE_JURNAL J
	INNER JOIN dbo.SDOC S ON J.LINK_DOC = S.LINK
	INNER JOIN dbo.S_OBJECTS SO ON SO.LINK = S.[OBJECT]
WHERE
	SO.CODE = 'DOCUMENTS_DEDUCT_ESN_G'	
	AND
	J.LINK_VKR2 IS NULL	
GO

ALTER TABLE [dbo].[CALCULATE_JURNAL] ENABLE TRIGGER ALL
GO


--Добавление колонки LINK_VKR2 таблицы SDOC_DOT_SKIDKI
IF COLUMNPROPERTY(object_id('[dbo].[SDOC_DOT_SKIDKI]'), 'LINK_VKR2', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] ADD [LINK_VKR2] int NULL 
GO

ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] DISABLE TRIGGER ALL
GO

UPDATE [dbo].[SDOC_DOT_SKIDKI] SET [LINK_VKR2] = [LINK_VKR] WHERE [LINK_VKR2] IS NULL
GO

ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] ENABLE TRIGGER ALL
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_SDOC_DOT_SKIDKI_SAL_SFIN]'))
ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] 
ADD CONSTRAINT [FK_SDOC_DOT_SKIDKI_SAL_SFIN] FOREIGN KEY ([LINK_VKR2]) REFERENCES [dbo].[SAL_SFIN] ([LINK])
GO

--Добавление колонки LINK_VKR2 таблицы SDOC_DOT_VYCHET
IF COLUMNPROPERTY(object_id('[dbo].[SDOC_DOT_VYCHET]'), 'LINK_VKR2', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[SDOC_DOT_VYCHET] ADD [LINK_VKR2] int NULL 
GO

ALTER TABLE [dbo].[SDOC_DOT_VYCHET] DISABLE TRIGGER ALL
GO

UPDATE [dbo].[SDOC_DOT_VYCHET] SET [LINK_VKR2] = [LINK_VKR] WHERE [LINK_VKR2] IS NULL
GO

ALTER TABLE [dbo].[SDOC_DOT_VYCHET] ENABLE TRIGGER ALL
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_SDOC_DOT_VYCHET_SAL_SFIN]'))
ALTER TABLE [dbo].[SDOC_DOT_VYCHET] 
ADD CONSTRAINT [FK_SDOC_DOT_VYCHET_SAL_SFIN] FOREIGN KEY ([LINK_VKR2]) REFERENCES [dbo].[SAL_SFIN] ([LINK])
GO


GO

--PROC, VIEW, FUNC 20.04.2016
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[DOCUMENTS_DED_OTHER_TABLE]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[DOCUMENTS_DED_OTHER_TABLE]

GO

CREATE VIEW dbo.DOCUMENTS_DED_OTHER_TABLE
AS

SELECT
	[LINK]		= SD.LINK_UP,
	[ORDERS]	= SD.ORDERS,
	[CODE_DED]	= P.CODE,
	[NAME_DED]	= P.[NAME],
	[REF_DED]	= SD.LINK_PAY,
	[LINK_VKR]	= SD.LINK_VKR,
	[NAME_VKR]	= F.CODE,
	[LINK_EKR]	= SD.LINK_EKR,
	[NAME_EKR]	= G.CODE,
	[SUMMA_BASE]	= SD.SUMMA_BASE,
	[PERCENT]	= SD.PERC,
	[SUMMA]		= SUM(SD.SUMMA),
	[SKIDKA] = SUM(ISNULL(S.SUMMA,0)),
	[VYCHET] = SUM(ISNULL(S2.SUMMA,0)),
	[LINK_VKR2]	= SD.LINK_VKR2,
	[NAME_VKR2]	= F2.CODE
FROM 	
	dbo.SDOC_DOT_TABLE SD 
	INNER JOIN dbo.PAYS P ON SD.LINK_PAY = P.LINK
	INNER JOIN dbo.SAL_SFIN	F ON F.LINK = SD.LINK_VKR
	INNER JOIN dbo.KOSGU G ON G.LINK = SD.LINK_EKR
	LEFT JOIN dbo.SAL_SFIN	F2 ON F2.LINK = SD.LINK_VKR2
	LEFT JOIN 
	(  	SELECT 
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT], SUMMA = SUM(SUMMA)
		FROM
			dbo.SDOC_DOT_SKIDKI
		GROUP BY
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT]	
	) S ON S.LINK_UP = SD.LINK_UP AND S.LINK_TAX = SD.LINK_PAY AND S.LINK_VKR = SD.LINK_VKR AND S.LINK_VKR2 = SD.LINK_VKR2 AND S.LINK_EKR = SD.LINK_EKR AND S.[PERCENT] = SD.PERC
	LEFT JOIN 
	(  	SELECT 
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT], SUMMA = SUM(SUMMA)
		FROM
			dbo.SDOC_DOT_VYCHET
		GROUP BY
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT]	
	) S2 ON S2.LINK_UP = SD.LINK_UP AND S2.LINK_TAX = SD.LINK_PAY AND S2.LINK_VKR = SD.LINK_VKR AND S2.LINK_VKR2 = SD.LINK_VKR2 AND S.LINK_EKR = SD.LINK_EKR  AND S2.[PERCENT] = SD.PERC
GROUP BY
	SD.LINK_UP,
	SD.ORDERS,
	P.CODE,
	P.[NAME],
	SD.LINK_PAY,
	SD.LINK_VKR,
	F.CODE,
	SD.LINK_EKR,	
	G.CODE,	
	SD.SUMMA_BASE,
	SD.PERC,
	SD.LINK_VKR2,
	F2.CODE	


GO


GRANT SELECT ON dbo.[DOCUMENTS_DED_OTHER_TABLE] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SDOC_DOT_VYCHET_FIO]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SDOC_DOT_VYCHET_FIO]

GO

CREATE VIEW dbo.SDOC_DOT_VYCHET_FIO
AS
SELECT 
	LINK = LINK_UP,
	ORDERS = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	LINK_TAX,
	LINK_DED,
	CODE_DED = D.SNAME,
	S.LINK_PERS,
	FIO = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	S.LINK_VKR,
	CODE_S_FIN = F.CODE,
	S.LINK_VKR2,
	S.LINK_EKR,
	CODE_EKR = G.CODE,
	S.[PERCENT],
	S.SUMMA
FROM 
	[dbo].[SDOC_DOT_VYCHET] S
	INNER JOIN dbo.PERSON P ON P.LINK = S.LINK_PERS
	INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION D ON D.LINK = S.LINK_DED
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = S.LINK_VKR
	INNER JOIN dbo.KOSGU G ON G.LINK = S.LINK_EKR



GO


GRANT SELECT ON dbo.[SDOC_DOT_VYCHET_FIO] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[S_J_C_Short]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[S_J_C_Short]

GO

CREATE    VIEW dbo.S_J_C_Short

AS
SELECT
[LINK]			= JC.LINK,
[LINK_EMPL] 	=JC.LINK_EMPL,
LINK_SOVM		= COALESCE(JC.LINK_SOVM,0),	
[LINK_FACE] 	= E.PERS_LINK,
[LINK_PAYS]		= P.LINK,
[CODE_PAYS]		= P.CODE,
[NAME_PAYS]		= P.NAME,
[TYP_PER]		= P.TYP_PER,
[F14]				= P.F14,
[WAY_CALC] 		= P.WAY_CALC,
[MONTH_BEGIN]	= MONTH(JC.PERIOD_BEGIN),
[YEAR_BEGIN]	= YEAR(JC.PERIOD_BEGIN),
[PERIOD_BEGIN]	= JC.PERIOD_BEGIN,
[MONTH_END] 	= MONTH(PERIOD_END),
[YEAR_END]		= YEAR(PERIOD_END),
[PERIOD_END] 	= JC.PERIOD_END,
[HOURS]			= JC.HOURS,
[DAYS]			= JC.DAYS,
[SUMMA_BASE]	= JC.SUMMA_BASE,
[SUMMA]			= JC.SUMMA,
[LINK_DOC]		= JC.LINK_DOC,
[ORDERS]		= JC.ORDERS,
[DATE1]			= JC.DATE_BEGIN,
[DATE2]			= JC.DATE_END,
[LINK_INC] 		= P.LINK_INC,
[TYP_OPER]  	= P.OBJECT,
[LINK_VKR] 		= JC.LINK_VKR,
[LINK_EKR] 		= COALESCE(JC.LINK_EKR,P.LINK_EKR),
[LINK_ORG]		= JC.LINK_ORG,
[PERS_LINK]		= JC.PERS_LINK,
[LINK_DEP]		= JC.LINK_DEP,
[LINK_VKR2] 		= JC.LINK_VKR2	
FROM dbo.CALCULATE_JURNAL JC LEFT JOIN dbo.EMPL E 	ON JC.LINK_EMPL = E.LINK ----AND E.DEP_LINK = dbo.GetUserDepLink()
LEFT JOIN  PAYS P ON JC.LINK_PAYS = P.LINK



GO


GRANT SELECT ON dbo.[S_J_C_Short] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SDOC_DOT_SKIDKI_FIO]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SDOC_DOT_SKIDKI_FIO]
GO

CREATE VIEW dbo.SDOC_DOT_SKIDKI_FIO
AS
SELECT 
	LINK = LINK_UP,
	ORDERS = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	LINK_TAX,
	LINK_INC,
	CODE_INC = D.SNAME,
	S.LINK_PERS,
	FIO = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	S.LINK_VKR,
	CODE_S_FIN = F.CODE,
	S.LINK_VKR2,
	S.LINK_EKR,
	CODE_EKR = G.CODE,
	S.[PERCENT],
	S.SUMMA
FROM 
	[dbo].[SDOC_DOT_SKIDKI] S
	INNER JOIN dbo.PERSON P ON P.LINK = S.LINK_PERS
	INNER JOIN dbo.DICTIONARY_TYP_INCOMS D ON D.LINK = S.LINK_INC
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = S.LINK_VKR
	INNER JOIN dbo.KOSGU G ON G.LINK = S.LINK_EKR


GO


GRANT SELECT ON dbo.[SDOC_DOT_SKIDKI_FIO] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_OTHER_FILL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_OTHER_FILL]

GO

CREATE   PROCEDURE dbo.SD_O_OTHER_FILL
@LINK INT
AS  

DECLARE @Month int, 
		@Year int, 
		@Link1 int,
		@DEP_LINK INT,
		@Date DATETIME	

SELECT 
	@Year = YEAR(S.DATE_CALC),
	@Month = MONTH(S.DATE_CALC),
	@DEP_LINK = S.LINK_DEP,
	@Date = dbo.DATEENDOFMONTH(S.DATE_CALC)
FROM 
	dbo.SDOC S
WHERE 
	S.LINK = @LINK

IF @DEP_LINK IS NULL
	Set @DEP_LINK = Coalesce( (SELECT TOP 1 ZB_LINK FROM dbo.KS_OPTIONS_ZB), dbo.GetOwnDepLink())

---Справочник тарифов
--!!! Ставки берет от тарифа Общий и не учитывает шкалу. При необходимости требуется переделать
CREATE TABLE #RANGE(LINK_PAYS INT, PREDEL NUMERIC(18,2), [PERCENT] NUMERIC(18,2))
INSERT INTO #RANGE (LINK_PAYS, PREDEL,  [PERCENT])
SELECT 
	DR.LINK_PAYS, PREDEL, [PERCENT]
FROM 
	dbo.PAYS P
	INNER JOIN dbo.DICTIONARY_RANGE DR ON P.LINK = DR.LINK_PAYS
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5
	AND TARIF = 1
	AND DR.[DATE]= (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE DR1 
		WHERE DR1.TARIF = DR.TARIF AND LINK_PAYS = P.LINK AND [DATE] <= @Date ORDER BY [DATE] DESC) 	

DECLARE @COLUMN_REF_PAY_MROT_T3 INT
SET @COLUMN_REF_PAY_MROT_T3 = (SELECT TOP 1 LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T3')

----Инвалиды и процент по ним
CREATE TABLE #INV ([PERCENT] NUMERIC(18,2), LINK INT)
INSERT  INTO #INV ([PERCENT], LINK)
SELECT
	[PERCENT] = MP.summa, I.PERS_LINK
FROM	
	dbo.MINROT_PAYS MP
	INNER JOIN dbo.PERS_INVALID I ON 1=1
WHERE
	[OBJECT] = @COLUMN_REF_PAY_MROT_T3
	AND
	LINK_MINROT = (SELECT TOP 1 LINK FROM MINROT WHERE PERIOD<=@Date ORDER BY PERIOD DESC)
	AND
	dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@Month,@Year))
		BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')	

--===РАСЧЁТ СКИДКИ
--Информация о предельном размере скидки
CREATE TABLE #SKIDKA (LINK_INC INT, PREDEL NUMERIC(18,2))
INSERT INTO #SKIDKA (LINK_INC, PREDEL)
SELECT TI.LINK, D.PREDEL
FROM 
	dbo.Salary_deduct_esn(@Date) D	
	INNER JOIN dbo.DICTIONARY_TYP_INCOMS TI ON TI.REF_DEDUCT = D.REF_PAY
	AND dbo.SA_GET_OPTION_BY_CODE('ESNTR_OPTIONS_OPT3') = 1 -- Предоставлять скидки 
	
--База расчёта
CREATE TABLE #BASE (LINK_TAX INT, LINK_PAY INT)
INSERT INTO #BASE (LINK_TAX, LINK_PAY)
SELECT T.LINK_TAX, T.LINK_PAYS 
FROM
	dbo.PAYS P  
	INNER JOIN dbo.TAX_REF T ON T.LINK_TAX = P.LINK
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5	

--Базовые суммы по физлицам в разрезе кодов дохода и источников
DECLARE @LINK_EKR211 INT, @LINK_EKR212 INT, @LINK_EKR213 INT
SET @LINK_EKR211 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '211')
SET @LINK_EKR212 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '212')
SET @LINK_EKR213 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')

DECLARE @SALARY_PROV_OPT4 TINYINT
SET @SALARY_PROV_OPT4 = dbo.sa_get_option_by_code('SALARY_PROV_OPT4')

CREATE TABLE #SUMMA (LINK_TAX INT, LINK_PERS INT, LINK_INC INT, LINK_VKR INT, LINK_EKR INT, SUMMA_M NUMERIC(18,2),SUMMA NUMERIC(18,2), LINK_VKR2 INT)
INSERT INTO #SUMMA (LINK_TAX, LINK_PERS, LINK_INC, LINK_VKR, LINK_EKR, SUMMA_M, SUMMA, LINK_VKR2)
SELECT
	B.LINK_TAX,
	ISNULL(J.PERS_LINK,E.PERS_LINK),
	P.LINK_INC,
	LINK_VKR = ISNULL(SF.LINK_SS_SFIN,J.LINK_VKR),
	CASE WHEN @SALARY_PROV_OPT4 = 0 THEN 
		CASE WHEN COALESCE(J.LINK_EKR,@LINK_EKR213) = @LINK_EKR211 THEN @LINK_EKR213 ELSE COALESCE(J.LINK_EKR,@LINK_EKR213) END
	ELSE 
		CASE WHEN COALESCE(J.LINK_EKR,@LINK_EKR213) IN (@LINK_EKR211, @LINK_EKR212) THEN @LINK_EKR213 ELSE COALESCE(J.LINK_EKR,@LINK_EKR213) END				
	END,	
	SUMMA_M = SUM(CASE WHEN MONTH(J.PERIOD_BEGIN) = @Month THEN SUMMA ELSE 0 END),
	SUMMA  = SUM(SUMMA),
	LINK_VKR2 = J.LINK_VKR
FROM
	#BASE B 
	INNER JOIN dbo.PAYS P ON P.LINK = B.LINK_PAY
	INNER JOIN dbo.CALCULATE_JURNAL J ON J.LINK_PAYS = P.LINK
	INNER JOIN dbo.EMPL E ON E.LINK = J.LINK_EMPL
	INNER JOIN dbo.SAL_SFIN SF ON SF.LINK = J.LINK_VKR
WHERE
	J.LINK_DEP = @DEP_LINK
	AND
	P.[OBJECT] = 1 
	AND
	YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) <= @Month
	--AND
	--J.LINK_EKR <> @LINK_EKR213
GROUP BY
	B.LINK_TAX, ISNULL(J.PERS_LINK,E.PERS_LINK), P.LINK_INC, LINK_VKR, J.LINK_EKR, SF.LINK_SS_SFIN

		
-- Базовые суммы по физлицам в разрезе кодов дохода
CREATE TABLE #SUMMA2 (LINK_TAX INT, LINK_PERS INT, LINK_INC INT, SUMMA_M NUMERIC(18,2), SUMMA NUMERIC(18,2))
INSERT INTO #SUMMA2 (LINK_TAX, LINK_PERS, LINK_INC, SUMMA_M, SUMMA)
SELECT LINK_TAX, LINK_PERS, LINK_INC, SUM(SUMMA_M), SUM(SUMMA)
FROM #SUMMA
GROUP BY LINK_TAX, LINK_PERS, LINK_INC

--Удалить рассчитанную скидку по данному расчёту, чтобы рассчитать её заново
DELETE FROM dbo.SDOC_DOT_SKIDKI WHERE LINK_UP = @LINK

-- Размер уже предоставленной скидки с начала года в разрезе кодов дохода
CREATE TABLE #SKIDKA_PREV (LINK_TAX INT, LINK_PERS INT, LINK_INC INT, SUMMA NUMERIC(18,2))

INSERT INTO #SKIDKA_PREV (LINK_TAX, LINK_PERS, LINK_INC, SUMMA)
SELECT LINK_TAX, LINK_PERS, LINK_INC, SUM(SUMMA)
FROM 
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_SKIDKI S ON S.LINK_UP = D.LINK
WHERE
	D.LINK_DEP = @DEP_LINK
	AND 
	YEAR(DATE_CALC)	= @Year AND MONTH(DATE_CALC) < @Month
GROUP BY
	LINK_TAX, LINK_PERS, LINK_INC

--
DECLARE @ESNTR_OPTIONS_OPT5 INT
SET @ESNTR_OPTIONS_OPT5 = dbo.SA_GET_OPTION_BY_CODE('ESNTR_OPTIONS_OPT5')

--Предоставленные скидки с предыдущего места работы
CREATE TABLE #PREV_DED (LINK_PERS INT, LINK_INC INT, SUMMA NUMERIC(18,2))
--
INSERT INTO #PREV_DED (LINK_PERS, LINK_INC, SUMMA)
SELECT E.PERS_LINK, LINK_INC = T.LINK, SUMMA = SUM(PD.SUMMA_DED)
FROM 
	dbo.SD_EMPL_PREV_DED PD
	INNER JOIN dbo.DICTIONARY_TYP_INCOMS T with (nolock) ON T.REF_DEDUCT = PD.LINK_DED
	INNER JOIN dbo.EMPL E with (nolock) ON E.LINK = PD.LINK_EMPL
	INNER JOIN dbo.ITEM_MOVE IM with (nolock) ON IM.EMPL_LINK = E.LINK AND IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS] IN (1,3) AND IM.DATE_BEGIN <= @Date
	INNER JOIN (
		SELECT E.PERS_LINK, MAX(DATE_BEGIN) AS DATE_BEGIN
		FROM 
			dbo.EMPL E with (nolock)
			INNER JOIN dbo.ITEM_MOVE IM with (nolock) ON IM.EMPL_LINK = E.LINK AND IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS] IN (1,3) AND IM.DATE_BEGIN <= @Date
			LEFT JOIN DBO.ITEM_DIS_FACE IDF with (nolock) ON IDF.EMPL_LINK = E.LINK AND IDF.ACTIVE=1 AND COALESCE(IDF.DIS_DATE,'20990101') >= dbo.DateBeginOfMonth(@Date)	
		GROUP BY
			E.PERS_LINK	
	) A ON A.PERS_LINK = E.PERS_LINK AND A.DATE_BEGIN = IM.DATE_BEGIN
WHERE
	E.DEP_LINK = @DEP_LINK
	AND
	YEAR(IM.DATE_begin) = @Year --YEAR(dbo.kd_DateBeginWork(@linkEmpl,null)) = @Year
	AND
	@ESNTR_OPTIONS_OPT5 = 1 --Учитывать вычеты, предоставленные на предыдущем месте работы
GROUP BY
	E.PERS_LINK, T.LINK

-- Расчёт скидки за месяц по физлицам в разрезе кодов дохода и источников
INSERT INTO dbo.SDOC_DOT_SKIDKI (LINK_UP, LINK_TAX, LINK_PERS, LINK_INC, LINK_VKR, LINK_VKR2, LINK_EKR, SUMMA, [PERCENT])
SELECT 
	@LINK, S2.LINK_TAX, S2.LINK_PERS, S2.LINK_INC, S.LINK_VKR, S.LINK_VKR2, S.LINK_EKR,
	--Остаток скидки в пределах месячного дохода
	--CASE WHEN S2.SUMMA_M > CASE WHEN ISNULL(SP.SUMMA,0) < SK.PREDEL THEN (SK.PREDEL - ISNULL(SP.SUMMA,0)) * (S.SUMMA_M / S2.SUMMA_M) ELSE 0 END
	--	THEN CASE WHEN ISNULL(SP.SUMMA,0) < SK.PREDEL THEN (SK.PREDEL - ISNULL(SP.SUMMA,0)) * (S.SUMMA_M / S2.SUMMA_M) ELSE 0 END
	--	ELSE S2.SUMMA_M
	--END,
	(
		CASE WHEN
			--Всего надо скидку
			(CASE WHEN ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) > ISNULL(SK.PREDEL,0) THEN ISNULL(SK.PREDEL,0) ELSE ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) END) > 0 
		THEN
		(
			--Всего надо скидку
			(CASE WHEN ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) > ISNULL(SK.PREDEL,0) THEN ISNULL(SK.PREDEL,0) ELSE ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) END) 
			--Уже предоставили
			- ISNULL(SP.SUMMA,0) - ISNULL(PD.SUMMA,0)
		)	
			----пропорционально кодам доходов
			* (S.SUMMA_M / S2.SUMMA_M)
		ELSE
		0 
		END	
	),
	[PERCENT] = ISNULL(I.[PERCENT],DR.[PERCENT])
FROM 
	#RANGE DR --Ставка налога
	INNER JOIN #SUMMA2 S2 ON -- Базовые суммы по физлицам в разрезе кодов дохода
							S2.LINK_TAX = DR.LINK_PAYS
	INNER JOIN #SUMMA S ON --Базовые суммы по физлицам в разрезе кодов дохода и источников
							S.LINK_TAX = S2.LINK_TAX AND S.LINK_PERS = S2.LINK_PERS AND S.LINK_INC = S2.LINK_INC
	INNER JOIN #SKIDKA SK ON --Информация о предельном размере скидки
							SK.LINK_INC = S.LINK_INC
	LEFT JOIN #SKIDKA_PREV SP ON -- Размер уже предоставленной скидки с начала года в разрезе кодов дохода
							SP.LINK_TAX = S2.LINK_TAX AND SP.LINK_PERS = S2.LINK_PERS AND SP.LINK_INC = S2.LINK_INC
	LEFT JOIN #PREV_DED PD ON --Предоставленные скидки с предыдущего места работы
						PD.LINK_PERS = S2.LINK_PERS AND PD.LINK_INC = S2.LINK_INC								
	LEFT JOIN #INV I ON --Инвалиды и процент по ним
						I.LINK = S2.LINK_PERS
WHERE
	S2.SUMMA_M <> 0
	

--===РАСЧЁТ ВЫЧЕТОВ
--Информация о предельном размере ВЫЧЕТА
CREATE TABLE #VYCHET (LINK_DED INT, PREDEL NUMERIC(18,2))
INSERT INTO #VYCHET (LINK_DED, PREDEL)
SELECT TI.LINK, D.PREDEL
FROM 
	dbo.Salary_deduct_esn(@Date) D	
	INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION TI ON TI.LINK = D.REF_PAY
	LEFT JOIN dbo.DICTIONARY_TYP_INCOMS TI2 ON TI2.REF_DEDUCT = D.REF_PAY
WHERE 
	TI2.REF_DEDUCT IS NULL
	AND
	dbo.SA_GET_OPTION_BY_CODE('ESNTR_OPTIONS_OPT4') = 1 -- Предоставлять вычеты		
	
--Определение размера удержаний, дающие права на предоставление вычетов
CREATE TABLE #SUMMA_U (LINK_DED INT, LINK_PERS INT, SUMMA_M NUMERIC(18,2), SUMMA NUMERIC(18,2))
INSERT INTO #SUMMA_U (LINK_DED, LINK_PERS, SUMMA_M, SUMMA)
---Вычеты от удержаний
SELECT 
	TA.LINK_DED, ISNULL(J.PERS_LINK,E.PERS_LINK), 
	SUMMA_M = SUM(CASE WHEN MONTH(J.PERIOD_BEGIN) = @Month THEN SUMMA ELSE 0 END),
	SUMMA  = SUM(SUMMA)
FROM 
	dbo.EMPL E inner join dbo.calculate_jurnal J ON e.link = J.link_empl
	inner join dbo.TAX2_APP TA ON TA.LINK_UP = J.LINK_PAYS
WHERE 
	J.LINK_DEP = @DEP_LINK
	AND YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) <= @Month
	AND ISNULL(TA.LINK_DED,0) > 0
GROUP BY 
	TA.LINK_DED, ISNULL(J.PERS_LINK,E.PERS_LINK)

--Удалить рассчитанную скидку по данному расчёту, чтобы рассчитать её заново
DELETE FROM dbo.SDOC_DOT_VYCHET WHERE LINK_UP = @LINK	

-- Размер уже предоставленного вычета с начала года в разрезе кодов вычетов
CREATE TABLE #VYCHET_PREV (LINK_TAX INT, LINK_PERS INT, LINK_DED INT, SUMMA NUMERIC(18,2))

INSERT INTO #VYCHET_PREV (LINK_TAX, LINK_PERS, LINK_DED, SUMMA)
SELECT LINK_TAX, LINK_PERS, LINK_DED, SUM(SUMMA)
FROM 
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_VYCHET S ON S.LINK_UP = D.LINK
WHERE
	D.LINK_DEP = @DEP_LINK
	AND 
	YEAR(DATE_CALC)	= @Year AND MONTH(DATE_CALC) < @Month
GROUP BY
	LINK_TAX, LINK_PERS, LINK_DED

--==== Расчёт ВЫЧЕТА за месяц по физлицам в разрезе кодов дохода и источников

--Вычеты по сотрудникам в разрезе кодов вычетов
SELECT 
	LINK_TAX = P.LINK, S.LINK_PERS, S.LINK_DED,
	SUMMA_M = 
	--CASE WHEN S.SUMMA_M > CASE WHEN ISNULL(VP.SUMMA,0) < V.PREDEL THEN (V.PREDEL - ISNULL(VP.SUMMA,0)) * (S.SUMMA_M / S.SUMMA_M) ELSE 0 END
	--	THEN CASE WHEN ISNULL(VP.SUMMA,0) < V.PREDEL THEN (V.PREDEL - ISNULL(VP.SUMMA,0)) * (S.SUMMA_M / S.SUMMA_M) ELSE 0 END
	--	ELSE S.SUMMA_M
	--END,
	(
		--Всего надо скидку
		(CASE WHEN ISNULL(S.SUMMA,0) > ISNULL(V.PREDEL,0) THEN ISNULL(V.PREDEL,0) ELSE ISNULL(S.SUMMA,0) END) 
		--Уже предоставили
		- ISNULL(VP.SUMMA,0)
	),		
	[PERCENT] = ISNULL(I.[PERCENT],DR.[PERCENT])
INTO #TMP_VYCH
FROM
	dbo.PAYS P
	INNER JOIN #RANGE DR --Ставка налога
							ON P.LINK = DR.LINK_PAYS
	INNER JOIN #SUMMA_U S -- Вычеты по физлицам
							ON 1=1
	INNER JOIN #VYCHET V --Информация о предельном размере скидки
						ON V.LINK_DED = S.LINK_DED
	LEFT JOIN #VYCHET_PREV VP -- Размер уже предоставленного вычета с начала года
						ON VP.LINK_PERS = S.LINK_PERS AND VP.LINK_DED = S.LINK_DED
	LEFT JOIN #INV I --Инвалиды и процент по ним
					ON I.LINK = S.LINK_PERS
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5
	AND S.SUMMA_M <> 0

--Доход по сотрудникам в разрезе источников
SELECT LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR, SUMMA_M = SUM(SUMMA_M)
INTO #TMP_DOH FROM #SUMMA GROUP BY LINK_TAX, LINK_PERS, LINK_VKR, LINK_EKR, LINK_VKR2

--Доход по сотрудникам
SELECT LINK_TAX, LINK_PERS, SUMMA_M = SUM(SUMMA_M)
INTO #TMP_DOH2 FROM #SUMMA GROUP BY LINK_TAX, LINK_PERS

--Вычеты по сотрудникам в разрезе источников и кодов вычетов
INSERT INTO dbo.SDOC_DOT_VYCHET (LINK_UP, LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR, LINK_DED, SUMMA, [PERCENT])
SELECT 
	@LINK, D2.LINK_TAX, D2.LINK_PERS, D.LINK_VKR, D.LINK_VKR2, D.LINK_EKR, V.LINK_DED, ISNULL(V.SUMMA_M,0) * ISNULL(D.SUMMA_M,0) / D2.SUMMA_M, V.[PERCENT]
FROM
	#TMP_DOH2 D2 
	INNER JOIN #TMP_DOH D ON D.LINK_TAX = D2.LINK_TAX AND D.LINK_PERS = D2.LINK_PERS
	INNER JOIN #TMP_VYCH V ON D2.LINK_TAX = V.LINK_TAX AND D2.LINK_PERS = V.LINK_PERS
WHERE
	ISNULL(D2.SUMMA_M,0) <> 0	

SELECT 
	[PERCENT] = ISNULL(I.[PERCENT],DR.[PERCENT]),
	DR.LINK_PAYS,
	CODE_PAYS = P.CODE,
	NAME_PAYS = P.NAME,
	S.LINK_VKR,
	[NAME_VKR] = F.CODE,
	S.LINK_EKR,
	[NAME_EKR] = G.CODE,	
	SUMMA = SUM(S.SUMMA_M),
	SKIDKA = SUM(ISNULL(SK.SUMMA,0)),
	VYCHET = SUM(ISNULL(V.SUMMA,0)),
	S.LINK_VKR2,
	[NAME_VKR2] = F2.CODE	
FROM 
	#RANGE DR
	INNER JOIN dbo.PAYS P ON P.LINK = DR.LINK_PAYS
	INNER JOIN #TMP_DOH S ON S.LINK_TAX = DR.LINK_PAYS
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = S.LINK_VKR
	INNER JOIN dbo.SAL_SFIN F2 ON F2.LINK = S.LINK_VKR2
	INNER JOIN dbo.KOSGU G ON G.LINK = S.LINK_EKR
	LEFT JOIN dbo.SDOC_DOT_SKIDKI SK ON  SK.LINK_UP = @LINK AND SK.LINK_TAX = DR.LINK_PAYS AND SK.LINK_PERS = S.LINK_PERS 
					AND SK.LINK_VKR = S.LINK_VKR AND SK.LINK_VKR2 = S.LINK_VKR2 and SK.LINK_EKR = S.LINK_EKR
	LEFT JOIN 
	(
		SELECT LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR, SUMMA = SUM(SUMMA) FROM dbo.SDOC_DOT_VYCHET 
		WHERE LINK_UP = @LINK GROUP BY LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR
	) V
	ON V.LINK_TAX = DR.LINK_PAYS AND V.LINK_PERS = S.LINK_PERS AND V.LINK_VKR = S.LINK_VKR AND V.LINK_VKR2 = S.LINK_VKR2 AND V.LINK_EKR = S.LINK_EKR
	LEFT JOIN #INV I ON I.LINK = S.LINK_PERS
GROUP BY
	ISNULL(I.[PERCENT],DR.[PERCENT]),
	DR.LINK_PAYS,
	P.CODE,
	P.NAME,
	S.LINK_VKR,
	F.CODE,
	S.LINK_EKR,
	G.CODE,
	S.LINK_VKR2,
	F2.CODE

DROP TABLE #SKIDKA
DROP TABLE #BASE
DROP TABLE #SUMMA
DROP TABLE #SUMMA2
DROP TABLE #SKIDKA_PREV
DROP TABLE #INV
DROP TABLE #TMP_VYCH
DROP TABLE #TMP_DOH
DROP TABLE #RANGE

GO


GRANT EXECUTE ON dbo.[SD_O_OTHER_FILL] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SALARY_FILL_DED_ESN_VKR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SALARY_FILL_DED_ESN_VKR]

GO

CREATE PROCEDURE [dbo].SALARY_FILL_DED_ESN_VKR
--Начисление страховых взносов
@RefPay int, 
@LinkVKR int,
@LINK_EKR INT, 
@linkPers int, 
@Month int, 
@Year int, 
@FlagMS  tinyint,
@FlagShow int = 0,
@DEP_LINK INT  = NULL,
@LinkVKR2 INT = NULL 
AS

SET NOCOUNT ON



IF @LinkVKR2 IS NULL
	SET @LinkVKR2 = @LinkVKR

DECLARE 
	@DATE1 datetime, 
	@linkFace int,
	@LINK_213EKR INT,
	@LINK_211EKR INT,
	@TARIF TINYINT,
	@SHOW_212 TINYINT,
	@LINK_EKR_ADD INT
		  
SET @TARIF = ISNULL((SELECT TOP 1 ENVD FROM dbo.SAL_SFIN WHERE LINK = @LinkVKR),0) + 1	
		  
SET @LINK_211EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '211')
SET @LINK_EKR_ADD = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '212')
SET @LINK_213EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')
SET @FlagMS = 1
SET @SHOW_212 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_3')

IF @SHOW_212 = 1 OR @LINK_EKR <> @LINK_211EKR
	SET @LINK_EKR_ADD = @LINK_EKR
	
DECLARE @ESN_OPTIONS_7 INT --Начислять доп. тариф только для полной ставки
--При включенной опции программа будет начислять страховые взносы по доп. тарифам только если у сотрудника по основной должности полная ставка. 
--Если ставка не полная, то доп. тариф не начисляется.
SET @ESN_OPTIONS_7 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_7')

DECLARE @ESN_OPTIONS_8 INT --Начислять доп. тариф внутренним совместителям
--При включенной опции программа будет начислять страховые взносы по доп. тарифам на доходы внутренних совместителей.
SET @ESN_OPTIONS_8 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_8')

DECLARE @DATE_BEG DATETIME
SET @DATE_BEG = dbo.convertDMY2Date(1,@Month,@Year)
SET @DATE1 = dbo.DateEndOfMonth(@DATE_BEG)

DECLARE @DATE_YEAR_BEG DATETIME
SET @DATE_YEAR_BEG = dbo.convertDMY2Date(1,1,@Year)

SELECT @linkFace = @linkPers 

DECLARE @T1 TABLE
([NUM]			[int],
 [SUMMA]		[numeric](19,2),
 [SUMMA_VKR]		[numeric](19,2),
 [SUMMA_M]		[numeric](19,2),
 [SUMMA_M_VKR]		[numeric](19,2))


IF @DEP_LINK IS NULL
	exec dbo.xd_whats_zb @DEP_LINK output

declare @linkEmpl int,  @Pred_Mesto_Rab numeric(15,2), 	  @FlagD int

SET @linkEmpl = 
	(SELECT TOP 1 IM.EMPL_LINK
	FROM
		DBO.EMPL E with (nolock)
		LEFT JOIN DBO.ITEM_MOVE IM with (nolock) ON IM.EMPL_LINK = E.LINK AND IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS] IN (1,3) AND IM.DATE_BEGIN <= @DATE1
		LEFT JOIN DBO.ITEM_DIS_FACE IDF with (nolock) ON IDF.EMPL_LINK = E.LINK AND IDF.ACTIVE=1 AND COALESCE(IDF.DIS_DATE,'20990101') >= dbo.DateBeginOfMonth(@DATE1)
	WHERE
		E.DEP_LINK = @DEP_LINK
		AND
		E.PERS_LINK = @linkPers
	ORDER BY
		DATE_BEGIN DESC	
	)	

---------------------------------------------------
DECLARE @item_move TABLE (LINK INT, EMPL_LINK INT, STAFF_LINK INT, DATE_BEGIN DATETIME, DATE_END DATETIME, NUM_STAKE NUMERIC(5,3), active TINYINT, NEW_FACE TINYINT, [STATUS] TINYINT)
INSERT INTO @item_move (LINK, EMPL_LINK, STAFF_LINK, DATE_BEGIN, DATE_END, NUM_STAKE, active, NEW_FACE, [STATUS])
Select 
	P1.LINK, P1.EMPL_LINK, P1.STAFF_LINK, P1.DATE_BEGIN, P1.DATE_END, P1.NUM_STAKE, P1.active, P1.NEW_FACE, P1.[STATUS]
from 
	dbo.empl e INNER JOIN dbo.item_move P1 ON P1.EMPL_LINK = e.link
WHERE
	E.DEP_LINK = @DEP_LINK AND E.PERS_LINK	= @linkPers
---------------------------------------------------

--Информация о размере ставок по каждому табельному номеру
DECLARE @NUM_STAKE TABLE (LINK_EMPL INT, NUM_STAKE NUMERIC(18,4), DATE_BEG DATETIME, DATE_END DATETIME)
INSERT INTO @NUM_STAKE (LINK_EMPL, NUM_STAKE, DATE_BEG, DATE_END)
SELECT DISTINCT
	EMPL_LINK, NUM_STAKE, DATE_BEGIN, DATE_END 
FROM @item_move
WHERE active = 1 AND NEW_FACE <> 3 AND @DATE1 BETWEEN DATE_BEGIN AND DATE_END

if @FlagShow = 1 
	select 'Сотрудник:  '+ LTRIM(RTRIM(P.FM)) + ' ' + SUBSTRING(LTRIM(RTRIM(P.IM)),1,1) + '.' + SUBSTRING(LTRIM(RTRIM(P.OT)),1,1)
		+  ', месяц ' + convert(varchar(2),@Month)+ ', год ' +convert(varchar(4),@Year) as [Исходные данные],
		[Отчисление] = (select rtrim(name) from pays where link =@RefPay)  FROM dbo.PERSON P where link = @linkFace


DECLARE @NASTR TABLE
([LINK_MINROT] 	[int],
 [REF_PAY]			[int],
 [CODE]				[varchar](5),
 [NAME]				[varchar](254),
 [PREDEL]			[numeric](19, 2))

INSERT INTO @NASTR([LINK_MINROT],[REF_PAY],[CODE],[NAME],[PREDEL])
SELECT [LINK_MINROT],[REF_PAY],[CODE],[NAME],[PREDEL] FROM dbo.Salary_deduct_esn(@DATE1)

SELECT @Pred_Mesto_Rab = 0, @FlagD = 0

IF dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_6 ') = 1
BEGIN
	IF YEAR(dbo.kd_DateBeginWork(@linkEmpl,null)) = @Year
	BEGIN
		SET @Pred_Mesto_Rab = (SELECT ISNULL(SUM(SUMMA_DED),0) FROM dbo.SD_EMPL_PREV_DED WHERE LINK_EMPL = @linkEmpl and LINK_DED in (select REF_PAY from @NASTR))
		IF @Pred_Mesto_Rab IS null or @Pred_Mesto_Rab < 0
			SET @Pred_Mesto_Rab = 0
		SET @FlagD = 1
		
		IF  @FlagShow = 1 
			SELECT 'Совокупный доход: '+ rtrim(isnull(convert(varchar(100),(select sum(summa_TYP_INCOMS) from dbo.SD_EMPL_PREV_DOHOD where link_empl =@linkEmpl)),'0')) + ' , вычеты: '+
			 rtrim( isnull( convert(varchar(100),(select sum(summa_ded) from dbo.SD_EMPL_PREV_DED where link_empl =@linkEmpl and LINK_DED in (select REF_PAY from @NASTR) )),'0'))  as 'Данные с предыдущего места работы'
	END
END	

---Учитываются доходы по договорам ГПХ в данной организации, чтобы правильно применить регрессионную шкалу---
DECLARE @SUM_DGH numeric(15,2)
SET @SUM_DGH = 
	ISNULL(
	(
	SELECT SUM(GT.SUMMA_BASE)
	FROM dbo.DOCUMENTS_DGH G INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
	WHERE FLAG_JC = 1
			AND YEAR(G.[DATE]) = @Year
			AND MONTH(G.[DATE]) <= @Month
			AND G.LINK_DEP = @DEP_LINK
			AND GT.LINK_PAY = @RefPay
			AND GT.PERS_LINK = @linkFace
	),0)

IF @SUM_DGH <> 0 AND @FlagShow = 1 
	SELECT 'Совокупный доход: '+ rtrim(isnull(convert(varchar(100),@SUM_DGH),'0')) as 'Доход по договорам ГПХ'


CREATE TABLE #PERIODY (LINK_EMPL INT, LINK_PERSON INT, TAB VARCHAR(10), NUM_STAKE NUMERIC(18,4), POSTNAME VARCHAR(50), st_date1 datetime, st_date2 datetime, im_date1 datetime, im_date2 datetime, [COD_SPO_USL_TRUD] int)

---------------------------------------------------------------------------------------------------------------
IF EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC IN (10,11) AND LINK = @RefPay)
BEGIN

	--sa_item_move
	--	
	DECLARE @sa_item_move TABLE (EMPL_LINK INT, STAFF_LINK INT, DATE_BEGIN DATETIME, DATE_END3 DATETIME, NUM_STAKE NUMERIC(5,3), [STATUS] TINYINT )

	INSERT INTO @sa_item_move (EMPL_LINK, STAFF_LINK, DATE_BEGIN, DATE_END3, NUM_STAKE, [STATUS])
	Select 
		P1.EMPL_LINK, P1.STAFF_LINK, P1.DATE_BEGIN, date_end3 = min(P2.date_begin) - 1, P1.NUM_STAKE, P1.[STATUS]
	from 
		dbo.empl e
		INNER JOIN @item_move P1 ON P1.EMPL_LINK = e.link
		INNER JOIN @item_move P2 on P1.EMPL_LINK = P2.EMPL_LINK
	where
		E.PERS_LINK	= @linkPers 
		AND P1.active = 1 AND P2.active = 1 AND P1.NEW_FACE <> 3 AND P2.NEW_FACE <> 3
		AND P1.[date_begin] < P2.[date_begin] 
	group by 
		P1.EMPL_LINK, P1.STAFF_LINK, P1.DATE_BEGIN, P1.NUM_STAKE, P1.[STATUS]

	INSERT INTO @sa_item_move (EMPL_LINK, STAFF_LINK, DATE_BEGIN, DATE_END3, NUM_STAKE, [STATUS])
	Select 
		P3.EMPL_LINK, P3.STAFF_LINK, P3.DATE_BEGIN, date_end3 = '99991231', P3.NUM_STAKE, P3.[STATUS]
	from
		dbo.empl e 
		INNER JOIN @item_move P3 ON P3.EMPL_LINK = e.link
	where
		E.PERS_LINK	= @linkPers  
		AND
		P3.active = 1 AND P3.NEW_FACE <> 3
		AND
		NOT EXISTS (
					Select *
					from 
						@item_move P1 inner join @item_move P2 on P1.EMPL_LINK = P2.EMPL_LINK
					where
						P1.LINK = P3.link
						AND P1.active = 1 and P2.active = 1 AND P1.NEW_FACE <> 3 AND P2.NEW_FACE <> 3
						and P1.[date_begin] < P2.[date_begin] 
					)
	-----------------------------------------------------------------------------------------------------

	CREATE TABLE #ADD_TYPE (
		[type] INT IDENTITY(1,1),
		[TERR_USL_TRUD] int NULL ,
		[TERR_RK] numeric(3, 2) NULL ,
		[OSOB_USL_TRUD] int NULL ,
		[COD_POS_SPISOK] int NULL ,
		[COD_POS_SPISOK2] int NULL ,
		[USL_DOSROCH_PENS] int NULL ,
		[STAVKA_PED_MED] numeric(3, 2) NULL,
		[COD_SPO_USL_TRUD] int NULL
	)

	INSERT INTO #ADD_TYPE 
	SELECT DISTINCT ISNULL(TERR_USL_TRUD,0), ISNULL(TERR_RK,0), ISNULL(OSOB_USL_TRUD,0), ISNULL(COD_POS_SPISOK,0), ISNULL(COD_POS_SPISOK2,0), ISNULL(USL_DOSROCH_PENS,0), ISNULL(STAVKA_PED_MED,0), ISNULL([COD_SPO_USL_TRUD],0)
	FROM dbo.staff
	WHERE ISNULL(COD_POS_SPISOK,0) <> 0 OR ISNULL(COD_POS_SPISOK2,0) <> 0

	INSERT INTO 
		#PERIODY (LINK_EMPL, LINK_PERSON, TAB, NUM_STAKE, POSTNAME, st_date1, st_date2, im_date1, im_date2, [COD_SPO_USL_TRUD])
	SELECT DISTINCT
		E.LINK,
		E.PERS_LINK,
		TAB,
		IM.NUM_STAKE,
		LEFT(PT.NAME,50),
		st_date1 = dbo.DateBeginOfMonth((case when st.DATE_BEGIN >= @DATE_YEAR_BEG then st.DATE_BEGIN else @DATE_YEAR_BEG end)),
		st_date2 = dbo.DateEndOfMonth((case when coalesce(st.DATE_END,@DATE1) <= @DATE1 then coalesce(st.DATE_END,@DATE1) else @DATE1 end)	),
		im_date1 = dbo.DateBeginOfMonth((case when im.DATE_BEGIN >= @DATE_YEAR_BEG then im.DATE_BEGIN else @DATE_YEAR_BEG end)),
		im_date2 = dbo.DateEndOfMonth( 
							CASE WHEN COALESCE(U.DIS_DATE,'20990101') <= (case when ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) <= @DATE1 then ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) else @DATE1 end)
								THEN COALESCE(U.DIS_DATE,'20990101')
								ELSE (case when ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) <= @DATE1 then ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) else @DATE1 end)
							END	),
		T.[COD_SPO_USL_TRUD]							
	FROM 
		dbo.empl e
		INNER JOIN @sa_item_move im ON im.EMPL_LINK = e.link
		inner join dbo.staff_head sh on sh.link = STAFF_LINK
		inner join dbo.staff st on st.link_up = sh.link
		INNER JOIN dbo.POST PT ON PT.LINK = st.post_link
		INNER join #ADD_TYPE T on ISNULL(st.TERR_USL_TRUD,0) = ISNULL(T.TERR_USL_TRUD,0) 
								AND ISNULL(st.TERR_RK,0) = ISNULL(T.TERR_RK,0) 
								AND ISNULL(st.OSOB_USL_TRUD,0) = ISNULL(T.OSOB_USL_TRUD,0) 
								AND ISNULL(st.COD_POS_SPISOK,0) = ISNULL(T.COD_POS_SPISOK,0) 
								AND ISNULL(st.COD_POS_SPISOK2,0) = ISNULL(T.COD_POS_SPISOK2,0) 
								AND ISNULL(st.USL_DOSROCH_PENS,0) = ISNULL(T.USL_DOSROCH_PENS,0) 
								AND ISNULL(st.STAVKA_PED_MED,0) = ISNULL(T.STAVKA_PED_MED,0)
								AND ISNULL(st.COD_SPO_USL_TRUD,0) = ISNULL(T.COD_SPO_USL_TRUD,0)
		LEFT JOIN dbo.ITEM_DIS_FACE U on E.link = U.empl_link AND U.ACTIVE=1	
	where
		E.PERS_LINK	= @linkPers
		and  
		im.DATE_BEGIN <= @DATE1 and im.DATE_END3 >= @DATE_YEAR_BEG
		AND
		IM.[STATUS] <> 2 --Вредность у внутренних совместителей не учитываем (НЕ ДОЛЖНО БЫТЬ)
		AND
		st.DATE_BEGIN <= @DATE1 and st.DATE_END >= @DATE_YEAR_BEG
		AND
		T.[TYPE] IS NOT NULL
		AND
		(
			ISNULL(T.[COD_POS_SPISOK],0) <> 0 AND EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC = 10 AND LINK = @RefPay)
			OR
			ISNULL(T.[COD_POS_SPISOK2],0) <> 0 AND EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC = 11 AND LINK = @RefPay)	
		)	

	if @FlagShow = 1 
		SELECT DISTINCT TAB AS [Таб_номер],  LEFT(dbo.ku_GetEmplSubdivName(LINK_EMPL,@DATE1),50) AS [Отдел], POSTNAME AS [Должность], CONVERT(VARCHAR(10), ST_DATE1, 104) AS 'Нач_пер_с_вредн_ШР', CONVERT(VARCHAR(10),ST_DATE2,104) AS 'Оконч_пер_с_вредн_ШР' FROM #PERIODY
			
	if @FlagShow = 1 
		SELECT DISTINCT TAB AS [Таб_номер],  NUM_STAKE AS [Кол-во ставок], LEFT(dbo.ku_GetEmplSubdivName(LINK_EMPL,@DATE1),50) AS [Отдел], POSTNAME AS [Должность], CONVERT(VARCHAR(10), IM_DATE1, 104) AS 'Нач_пер_с_вредн_должность', CONVERT(VARCHAR(10),IM_DATE2,104) AS 'Оконч_пер_с_вредн_должность', CASE WHEN NUM_STAKE < 1 THEN 'Доп. тариф не начисляется, т.к. не полный день' ELSE '' END AS [Примечание]
		FROM #PERIODY
	
	INSERT INTO @T1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
	SELECT M.NUM,SUM(SJ.SUMMA) AS SUMMA, 			
			 [SUMMA_VKR]	= SUM(CASE WHEN SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M] 		= SUM(CASE WHEN MONTH(SJ.PERIOD_BEGIN) = M.NUM THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M_VKR] = SUM(CASE WHEN (MONTH(SJ.PERIOD_BEGIN) = M.NUM) 
								AND (SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) THEN SJ.SUMMA ELSE 0 END)
	FROM 
		dbo.MONTHS M
		INNER JOIN dbo.EMPL E ON 1=1
		INNER JOIN dbo.CALCULATE_JURNAL SJ ON SJ.LINK_EMPL = E.LINK
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
	WHERE 
		E.PERS_LINK = @linkFace
		AND (M.NUM <= @Month) 
		AND (MONTH(SJ.PERIOD_BEGIN) <= M.NUM) 
		AND (YEAR(SJ.PERIOD_BEGIN) = @Year)
		AND TR.LINK_TAX = @RefPay 
		AND EXISTS (SELECT * FROM #PERIODY P WHERE 
												(@ESN_OPTIONS_7 = 0 OR @ESN_OPTIONS_7 = 1 AND P.NUM_STAKE >=1)
												AND 
												(
													@ESN_OPTIONS_8 = 0 AND P.LINK_EMPL = SJ.LINK_EMPL 
													OR
													@ESN_OPTIONS_8 = 1 AND P.LINK_PERSON = E.PERS_LINK
												)	
												AND SJ.PERIOD_BEGIN <= P.ST_DATE2 
												AND SJ.PERIOD_END >= P.ST_DATE1 
												AND SJ.PERIOD_BEGIN <= P.IM_DATE2 
												AND SJ.PERIOD_END >= P.IM_DATE1)
	GROUP BY  M.NUM	

	
END
---------------------------------------------------------------------------------------------------------------
ELSE
	INSERT INTO @T1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
	SELECT M.NUM,SUM(SJ.SUMMA) AS SUMMA, 			
			 [SUMMA_VKR]	= SUM(CASE WHEN SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M] 		= SUM(CASE WHEN MONTH(SJ.PERIOD_BEGIN) = M.NUM THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M_VKR] = SUM(CASE WHEN (MONTH(SJ.PERIOD_BEGIN) = M.NUM) AND (SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) THEN SJ.SUMMA ELSE 0 END)
	FROM 
		dbo.MONTHS M
		INNER JOIN dbo.CALCULATE_JURNAL SJ ON 1=1 
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
		INNER JOIN dbo.EMPL E ON SJ.LINK_EMPL = E.LINK
	WHERE 
		(TR.LINK_TAX = @RefPay) 
		AND (E.PERS_LINK = @linkFace) 
		AND (MONTH(SJ.PERIOD_BEGIN) <= M.NUM) AND (M.NUM <= @Month) AND (YEAR(SJ.PERIOD_BEGIN)=@Year)
		AND sj.LINK_DEP = @DEP_LINK
	GROUP BY  M.NUM

if @FlagShow = 1 
	SELECT [num] as [Месяц], [summa] as [Сумма с нач года],summa_vkr as [Сумма с нач года по ВКР/ЕКР], summa_m as [Сумма за месяц], 
	summa_m_vkr as [Сумма за месяц по ВКР/ЕКР]  FROM @T1

--Если суммы, которые раньше были в базе убрали из базы, теперь базовой суммы вообще нет
IF NOT EXISTS(SELECT * FROM @T1)
	INSERT INTO @T1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
	VALUES(@Month, 0, 0, 0, 0)

DECLARE @Temp1_1 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [MP]				[numeric](19,2),
 [MP_M]			[numeric](19,2),
 [MP_M_VKR]		[numeric](19,2))

--------------------------------------------------
CREATE TABLE #DICTIONARY_TYP_INCOMS (LINK INT)
INSERT INTO #DICTIONARY_TYP_INCOMS (LINK)
SELECT LINK FROM dbo.DICTIONARY_TYP_INCOMS WHERE EXISTS (SELECT * FROM @NASTR WHERE REF_PAY = REF_DEDUCT)
CREATE INDEX #DICTIONARY_TYP_INCOMS_IDX1 ON #DICTIONARY_TYP_INCOMS (LINK)

-------------------------------------------------
CREATE TABLE #PAYS (LINK INT)
INSERT INTO #PAYS (LINK)
SELECT P.LINK FROM dbo.PAYS P INNER JOIN #DICTIONARY_TYP_INCOMS I ON I.LINK = P.LINK_INC
CREATE INDEX #PAYS_IDX1 ON #PAYS (LINK)


--------------------------------------------------------------------------------------------------
IF EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC IN (10,11) AND LINK = @RefPay)
	
	INSERT INTO @Temp1_1 ([NUM],[LINK_PAYS],[MP],[MP_M],[MP_M_VKR])
	SELECT M.NUM,
			 [LINK_PAYS]= (SELECT LINK_INC  from pays where link = sj.LINK_PAYS),
			 [MP] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end), 
			 [MP_M] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)=m.num then (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end),
			 [MP_M_VKR] = SUM(CASE WHEN ( month(SJ.PERIOD_BEGIN)=m.num)AND(sj.link_vkr = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) 
								THEN (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end)
	FROM 
		dbo.MONTHS M 
		INNER JOIN dbo.S_J_C_Short SJ ON 1=1
		INNER JOIN #PAYS P ON P.LINK = SJ.LINK_PAYS
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
	WHERE 
		TR.LINK_TAX = @RefPay 
		AND (SJ.LINK_FACE = @linkFace)
		AND YEAR(SJ.PERIOD_BEGIN)=@Year AND M.NUM <= @Month 
		AND sj.LINK_DEP = @DEP_LINK
		AND EXISTS (SELECT * FROM #PERIODY P WHERE 
									(
										@ESN_OPTIONS_8 = 0 AND P.LINK_EMPL = SJ.LINK_EMPL
										OR
										@ESN_OPTIONS_8 = 1 AND P.LINK_PERSON = SJ.LINK_FACE
									)									
									AND SJ.PERIOD_BEGIN <= P.ST_DATE2 AND SJ.PERIOD_END >= P.ST_DATE1)		
		AND EXISTS (SELECT * FROM #PERIODY P WHERE 
									(
										@ESN_OPTIONS_8 = 0 AND P.LINK_EMPL = SJ.LINK_EMPL
										OR
										@ESN_OPTIONS_8 = 1 AND P.LINK_PERSON = SJ.LINK_FACE
									)	
									AND (@ESN_OPTIONS_7 = 0 OR @ESN_OPTIONS_7 = 1 AND P.NUM_STAKE >=1)
									AND SJ.PERIOD_BEGIN <= P.IM_DATE2 AND SJ.PERIOD_END >= P.IM_DATE1)		
	GROUP BY 
		M.NUM,SJ.LINK_PAYS
ELSE
	INSERT INTO @Temp1_1 ([NUM],[LINK_PAYS],[MP],[MP_M],[MP_M_VKR])
	SELECT M.NUM,
			 [LINK_PAYS]= (SELECT LINK_INC  from pays where link = sj.LINK_PAYS),
			 [MP] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end), 
			 [MP_M] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)=m.num then (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end),
			 [MP_M_VKR] = SUM(CASE WHEN ( month(SJ.PERIOD_BEGIN)=m.num)AND(sj.link_vkr = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) 
								THEN (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end)
	FROM 
		dbo.MONTHS M 
		INNER JOIN dbo.S_J_C_Short SJ ON 1=1
		INNER JOIN #PAYS P ON P.LINK = SJ.LINK_PAYS
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
	WHERE 
		TR.LINK_TAX = @RefPay 
		AND (SJ.LINK_FACE = @linkFace)
		AND YEAR(SJ.PERIOD_BEGIN)=@Year AND M.NUM <= @Month 
		AND sj.LINK_DEP = @DEP_LINK
	GROUP BY 
		M.NUM,SJ.LINK_PAYS
	

/*if @FlagShow = 1  
	select *  from @Temp1_1*/

DECLARE @Temp1 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [PREDEL]		[numeric](19,2),
 [MP]				[numeric](19,2),
 [MP_M]			[numeric](19,2),
 [MP_M_VKR]		[numeric](19,2))

INSERT INTO @Temp1 ([NUM],[LINK_PAYS],[PREDEL],[MP],[MP_M],[MP_M_VKR])
SELECT NUM,LINK_PAYS,
		[PREDEL] =  ISNULL((SELECT TOP 1 PREDEL FROM @NASTR 
								WHERE REF_PAY = (SELECT TOP 1 REF_DEDUCT FROM dbo.DICTIONARY_TYP_INCOMS WHERE LINK = LINK_PAYS)),0),
		SUM(MP) AS MP,
		SUM(MP_M) AS MP_M, 
		SUM(MP_M_VKR) AS MP_M_VKR
FROM @Temp1_1
GROUP BY NUM,LINK_PAYS

DECLARE @Temp2 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [PREDEL]		[numeric](19,2),
 [MP]				[numeric](19,2),
 [MP_M]			[numeric](19,2),
 [MP_M_VKR]		[numeric](19,2),
 [SALDO]			[numeric](19,2),
 [KOEF]			[numeric](19,10))

---


INSERT INTO @Temp2 ([NUM],[LINK_PAYS],[PREDEL],[MP],[MP_M],[MP_M_VKR],[SALDO],[KOEF]) 
SELECT T1.[NUM],T1.[LINK_PAYS],T1.[PREDEL],T1.[MP],T1.[MP_M],T1.[MP_M_VKR],
		 [SALDO] = (CASE WHEN @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM <= T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0) > PREDEL
				THEN PREDEL
				ELSE @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM <= T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0)
				END)
				- (CASE WHEN @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM < T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0) > PREDEL
				THEN PREDEL
				ELSE @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM < T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0)
				END),
		 [KOEF] 	= (CASE WHEN (SELECT SUM(MP_M) FROM @Temp1 T3 WHERE T3.NUM = T1.NUM AND T3.LINK_PAYS = T1.LINK_PAYS) = 0 
						THEN 0 ELSE (CASE WHEN (SELECT SUM(MP_M) 
				                         FROM @Temp1 T3 WHERE T3.NUM = T1.NUM AND T3.LINK_PAYS = T1.LINK_PAYS)= 0 
										  THEN 0 ELSE 										
											MP_M_VKR/(SELECT SUM(MP_M) 
                    				     FROM @Temp1 T3 WHERE T3.NUM = T1.NUM AND T3.LINK_PAYS = T1.LINK_PAYS) END) END)
FROM @Temp1 T1

declare @predel numeric(18,2)
Set @predel = COALESCE((SELECT TOP 1 PREDEL FROM @Temp1),0)


DECLARE @Temp3 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [SUMMA]			[numeric](19,2),
 [SUMMA_ALL]	[numeric](19,2),
 [SUMMA_M]		[numeric](19,2),
 [SUMMA_M_VKR]		[numeric](19,2)
)

INSERT INTO @Temp3 ([NUM],[LINK_PAYS],[SUMMA],[SUMMA_ALL],[SUMMA_M], SUMMA_M_VKR)
SELECT  T.[NUM], T.[LINK_PAYS],
		  [SUMMA] 	= dbo.IS_MIN((SELECT SUM(T3.SALDO * KOEF) FROM @Temp2 T3 WHERE  T3.NUM <= T.NUM AND T3.LINK_PAYS = T.LINK_PAYS),T.PREDEL), 
		  [SUMMA_ALL] 	= dbo.IS_MIN((SELECT SUM(T3.SALDO) FROM @Temp2 T3 WHERE  T3.NUM <= T.NUM AND T3.LINK_PAYS = T.LINK_PAYS),T.PREDEL),
		  [SUMMA_M] 	= CASE WHEN ABS(SUM(MP_M)) < ABS(T.SALDO) THEN ABS(T.SALDO) ELSE T.SALDO END,
		SUMMA_M_VKR 	= CASE WHEN ABS(SUM(MP_M)) < ABS(T.SALDO) THEN ABS(T.SALDO) ELSE T.SALDO END * KOEF
FROM @Temp2 T --WHERE SALDO > 0
GROUP BY T.NUM,T.PREDEL,T.SALDO,T.LINK_PAYS, KOEF 
ORDER BY T.NUM

if @FlagShow = 1  
	select num as [Месяц], LINK_PAYS as [Вычет], summa as [Скидка по ВКР/ЕКР], summa_all as [Скидка с начала года], summa_m as [Скидка за месяц]  from @Temp3


DECLARE @PREDEL_INV [numeric](15, 2)
SET @PREDEL_INV = ISNULL((SELECT TOP 1 PREDEL FROM dbo.DICTIONARY_MROT_TABLE3 DMT 
									WHERE LINK_MINROT = (SELECT TOP 1 LINK FROM dbo.DICTIONARY_MROT 
									WHERE PERIOD <=@DATE1 ORDER BY PERIOD DESC) AND (REF_PAY = @RefPay)),0)

DECLARE @T2_1 TABLE
([NUM]			[int],
 [SUMMA]			[numeric](19, 2),
 [SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_VKR]	[numeric](19, 2),
 [MP]				[numeric](19, 2),
 [MP_VKR]		[numeric](19, 2),
 [MP_M]			[numeric](19, 2),
 [MP_M_VKR]		[numeric](19, 2),
 [STATUS]		[int],
 [INV]			[numeric](19, 2))


INSERT INTO @T2_1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[MP],[MP_VKR],[MP_M],[MP_M_VKR],[STATUS],[INV])
SELECT T1.[NUM],T1.[SUMMA],T1.[SUMMA_VKR],T1.[SUMMA_M],T1.[SUMMA_M_VKR],
--		 [MP] 		= ISNULL((SELECT SUM(SUMMA) FROM @Temp3 T WHERE T.NUM <= T1.NUM),0),  
		 [MP] 		= ISNULL((SELECT SUM(SUMMA_ALL) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [MP_VKR]	= ISNULL((SELECT SUM(SUMMA) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [MP_M] 	= ISNULL((SELECT SUM(SUMMA_M) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [MP_M_VKR] = ISNULL((SELECT SUM(SUMMA_M_VKR) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
--		 [MP_M_VKR] = ISNULL((SELECT SUM(SUMMA) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [STATUS] 	= dbo.is_invalid(@linkFace,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,T1.NUM,@Year))), 
		 [INV] 		= cast(0 as numeric(15,2))
FROM @T1 T1 
GROUP BY T1.NUM,T1.SUMMA,T1.SUMMA_VKR,T1.SUMMA_M,T1.SUMMA_M_VKR
ORDER BY T1.NUM


DECLARE @summa_m 	[numeric](15, 2), 
		  @mp_m 		[numeric](15, 2),
		  @num 		[int], 
		  @Flag 		[bit], 
		  @itog 		[numeric](15, 2)

SET @itog = 0
DECLARE TMP_CUR CURSOR
FOR SELECT SUMMA_M, MP_M,NUM FROM @T2_1 WHERE STATUS = 2
OPEN TMP_CUR
FETCH TMP_CUR INTO @summa_m,@mp_m,@num
WHILE (@@FETCH_STATUS  = 0) AND (@PREDEL_INV - @itog) > 0 BEGIN
	IF @PREDEL_INV < (@itog+ @summa_m - @mp_m)
		UPDATE @T2_1 SET INV =(@PREDEL_INV-@itog) WHERE NUM = @num
	ELSE
		UPDATE @T2_1 SET INV =(@summa_m - @mp_m) WHERE NUM = @num
	
	SET @itog = @itog + @summa_m - @mp_m
	FETCH TMP_CUR INTO @summa_m,@mp_m,@num
END
CLOSE TMP_CUR
DEALLOCATE TMP_CUR

-- Другие льготы за месяц помимо инвалидов
---Вычеты от удержаний
select 
	TA.LINK_DED, MON = MONTH(CJ.PERIOD_BEGIN),
	SUMMA_G = CAST(0 AS NUMERIC(18,2)),
	SUMMA_M = SUM(SUMMA),
	LIMIT = ISNULL((SELECT TOP 1 PREDEL FROM @NASTR WHERE REF_PAY = TA.LINK_DED),0)
INTO #DED_U
from 
	dbo.EMPL E inner join dbo.calculate_jurnal cj on e.link = cj.link_empl
	inner join dbo.TAX2_APP TA on TA.LINK_UP = CJ.LINK_PAYS
where 
	cj.LINK_DEP = @DEP_LINK
	AND
	year(period_begin) = @Year
	and
	E.PERS_LINK = @linkPers	
	and 
	MONTH(cj.PERIOD_BEGIN) <= @Month
	and
	ISNULL(TA.LINK_DED,0) > 0
GROUP BY 
	TA.LINK_DED, MONTH(CJ.PERIOD_BEGIN)


UPDATE A
SET SUMMA_G = (SELECT SUM(SUMMA_M) FROM #DED_U B WHERE B.MON <= A.MON )
FROM #DED_U A

UPDATE #DED_U
SET 
	SUMMA_G = CASE WHEN ISNULL(SUMMA_G,0) < ISNULL(LIMIT,0) THEN ISNULL(SUMMA_G,0) ELSE ISNULL(LIMIT,0) END,
	SUMMA_M = CASE WHEN ISNULL(SUMMA_G,0) < ISNULL(LIMIT,0) THEN ISNULL(SUMMA_M,0)
				ELSE 
					CASE WHEN ISNULL(LIMIT,0) - (ISNULL(SUMMA_G,0) - ISNULL(SUMMA_M,0)) > 0 THEN 
						ISNULL(LIMIT,0) - (ISNULL(SUMMA_G,0) - ISNULL(SUMMA_M,0))
					ELSE 0
					END
			  END

UPDATE @T2_1 SET INV = ISNULL(INV,0) + ISNULL((SELECT SUM(SUMMA_M) FROM #DED_U WHERE MON = NUM),0)

--Расчет налога
--
DECLARE @T2 TABLE 
([NUM]				[int],
 [SUMMA]			[numeric](19, 2),
 [SUMMA_VKR]		[numeric](19, 2),
 [SUMMA_M]			[numeric](19, 2),
 [SUMMA_M_VKR]		[numeric](19, 2),
 [MP]				[numeric](19, 2),
 [MP_VKR]			[numeric](19, 2),
 [MP_M]				[numeric](19, 2),
 [MP_M_VKR]			[numeric](19, 2),
 [STATUS]			[int],
 [INV]				[numeric](19, 2),
 [INV_VKR]			[numeric](19, 2),
 [TARIF]			[TINYINT],
 [SPECO] [INT]
  ) -- Категория тарифа

INSERT INTO @T2 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[MP],[MP_VKR],[MP_M],[MP_M_VKR],[STATUS],[INV],[INV_VKR],[TARIF],[SPECO])
SELECT [NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[MP],[MP_VKR],[MP_M],[MP_M_VKR],[STATUS],[INV],
		 [INV_VKR] = (CASE WHEN (SUMMA_M - MP_M) = 0 THEN 0 ELSE (SUMMA_M_VKR - MP_M_VKR)*INV/(SUMMA_M - MP_M) END),
		 TARIF = CASE WHEN dbo.is_invalid(@linkFace,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,NUM,@Year))) = 2 THEN 3 ELSE @TARIF END,
		 [SPECO] = (SELECT TOP 1 [COD_SPO_USL_TRUD] FROM #PERIODY 
						WHERE dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,NUM,@Year)) BETWEEN st_date1 AND st_date2
						AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,NUM,@Year)) BETWEEN im_date1 AND im_date2)
FROM 
	@T2_1

if @FlagShow = 1 
	select [num] as [Месяц], [summa] as [Сумма с Н/Г],summa_vkr as [Сумма с Н/Г по ВКР/ЕКР], summa_m as [За мес], 
	summa_m_vkr as [За мес.по ВКР/ЕКР], mp as [Ск.всего], mp_vkr as [Ск.всего по ВКР/ЕКР],mp_m as [Ск. за мес],
	mp_m_vkr as [Ск.за мес.по ВКР/ЕКР], inv as [Льготы], inv_vkr as [Льготы по ВКР/ЕКР], TARIF as [ТАРИФ], [SPECO]  from @T2


DECLARE @WAY_CALC [int]
SELECT @WAY_CALC = WAY_CALC FROM dbo.PAYS WHERE LINK = @RefPay

DECLARE @Pred table  
(
 TARIF TINYINT,	
 [PREDEL]  [numeric](15, 2), 
 [PERCENT] [numeric](8, 2),
 WAY_CALC TINYINT,
 SPECO INT,
 NSPECO VARCHAR(254) )

IF @WAY_CALC<5
	
	IF @FlagMS = 1
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],SPECO,NSPECO)
		SELECT TARIF, [PREDEL],[PERCENT],SPECO=0,NSPECO='' FROM dbo.DICTIONARY_RANGE D
		WHERE
			(LINK_PAYS = @RefPay) 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE D1 WHERE D1.TARIF = D.TARIF AND (LINK_PAYS = @RefPay) AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
	ELSE 
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],SPECO,NSPECO)
		SELECT TOP 1 TARIF, [PREDEL] = 999999999999, [PERCENT],SPECO=0,NSPECO='' 
		FROM dbo.DICTIONARY_RANGE D
		WHERE 
			(LINK_PAYS = @RefPay) 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE D1 WHERE D1.TARIF = D.TARIF AND (LINK_PAYS = @RefPay) AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
ELSE 
BEGIN	
		
	DECLARE @Sex 		[int], 
			  @YearB 	[int], 
			  @Type 		[int]

	SELECT @Sex = SEX, @YearB = CASE WHEN RESIDENT = 1 THEN ISNULL(YEAR(BIRTHDATE),0) 
												ELSE 1966 END -- иностранцы по тарифам как для 66 года и страрше
											FROM dbo.PERSON WHERE LINK =@linkFace
	SET 	@Type = (CASE WHEN (@Sex = 1 AND @YearB < 1953) OR (@Sex = 2 AND @YearB<1957) THEN 1
						WHEN (@Sex = 1 AND @YearB BETWEEN 1953 AND 1966) OR (@Sex = 2 AND  @YearB BETWEEN 1957 AND 1966) THEN 2 
						ELSE 3 END)

	IF @FlagMS = 1 
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],WAY_CALC,SPECO,NSPECO)
		SELECT 
			TARIF,  
			[PREDEL],
			[PERCENT] = (CASE WHEN @Type = 1 THEN PERCENT1 WHEN @Type = 2 THEN PERCENT2 ELSE PERCENT3 END),
			WAY_CALC,
			SPECO,
			NSPECO
		FROM 
			dbo.DICTIONARY_RANGE_PF D
		WHERE
			LINK_PAYS = @RefPay 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE_PF D1 WHERE D1.TARIF = D.TARIF AND ISNULL(D1.SPECO,0) = ISNULL(D.SPECO,0) AND LINK_PAYS = @RefPay AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
	ELSE 
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],WAY_CALC,SPECO,NSPECO)
		SELECT TOP 1 
			TARIF, 
			[PREDEL] = 999999999999,
			[PERCENT] = (CASE WHEN @Type = 1 THEN PERCENT1 WHEN @Type = 2 THEN PERCENT2 ELSE PERCENT3 END),
			WAY_CALC,
			SPECO,NSPECO
		FROM 
			dbo.DICTIONARY_RANGE_PF D
		WHERE
			LINK_PAYS = @RefPay 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE_PF D1 WHERE D1.TARIF = D.TARIF AND ISNULL(D1.SPECO,0) = ISNULL(D.SPECO,0) AND LINK_PAYS = @RefPay AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
	END

IF @FlagShow = 1 
	select TARIF as [Тариф], Predel as [Предел], [Percent] as [Процент], NSPECO AS [Спецоценка] from @Pred P
	WHERE EXISTS (SELECT * FROM @T2 B WHERE B.TARIF = P.TARIF AND ISNULL(B.[SPECO],0) = ISNULL(P.[SPECO],0))

DECLARE @res TABLE
([NUM]			[int],
 [SUMMA]		[numeric] (19, 2),
 [SUMMA_M_VKR]	[numeric] (19, 2),
 [PERC]			[numeric] (19, 2),
 [SUM_MON]		[numeric] (19, 2),
 [TARIF]		INT,
 [SPECO]		INT)

INSERT INTO @res([NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],[TARIF],[SPECO])
SELECT T7.[NUM],T7.[SUMMA],T7.[SUMMA_M_VKR],T7.[PERC], CAST(0 as numeric(15,2)) AS SUM_MON, [TARIF], [SPECO]
FROM  
	(
	SELECT 
		[NUM], 
		[SUMMA] 		 = SUMMA - MP, 
		[SUMMA_M_VKR] = SUMMA_M_VKR - MP_M_VKR,	
		[PERC] 		 = ISNULL((SELECT TOP 1 T.[PERCENT] FROM (SELECT TOP 1 * FROM @Pred P WHERE B.TARIF = P.TARIF AND ISNULL(B.SPECO,0) = ISNULL(P.[SPECO],0) AND PREDEL > (SUMMA - MP + @SUM_DGH) ORDER BY PREDEL) T),0),
		B.[TARIF],
		B.[SPECO]
	 FROM @T2	B
	 UNION
	 SELECT DISTINCT
		[NUM] 			= ISNULL((SELECT MIN(NUM) FROM @T2 B1 WHERE B1.TARIF = B.TARIF AND ISNULL(B1.[SPECO],0) = ISNULL(B.[SPECO],0) AND (SUMMA-MP+@SUM_DGH) > PREDEL),12), 
		[SUMMA] 		= PREDEL - @SUM_DGH, 
		[SUMMA_M_VKR]= 0, 
		[PERC] 		= [PERCENT],  
		B.[TARIF],
		B.[SPECO]		
 	 FROM 
 		@T2 B INNER JOIN @Pred T ON B.TARIF = T.TARIF AND ISNULL(B.[SPECO],0) = ISNULL(T.[SPECO],0)
 	 WHERE 
 		PREDEL < (SELECT TOP 1 (SUMMA - MP + @SUM_DGH) FROM @T2 B1 WHERE B1.TARIF = B.TARIF AND ISNULL(B1.[SPECO],0) = ISNULL(B.[SPECO],0) ORDER BY 1 DESC)
 	) T7


DECLARE Curs CURSOR FAST_FORWARD FOR
SELECT NUM,SUMMA FROM @res ORDER BY [NUM]  

DECLARE @Summa [numeric] (19, 2), 
	@summa_prev [numeric] (19, 2), 
	@num1 [int]


SET @summa_prev = 0
OPEN Curs
FETCH NEXT FROM Curs INTO @num1, @Summa
WHILE @@FETCH_STATUS = 0 BEGIN
	UPDATE @res SET SUM_MON = @Summa - @summa_prev WHERE NUM = @num1 AND SUMMA = @Summa
	SET @summa_prev = @Summa
  	FETCH NEXT FROM Curs INTO @num1, @Summa
END
CLOSE Curs
DEALLOCATE Curs

DECLARE @Result1 TABLE
([NUM]			[int],
 [SUMMA]			[numeric] (19, 2),
 [SUMMA_M_VKR]	[numeric] (19, 2),
 [PERC]			[numeric] (19, 2),
 [SUM_MON]		[numeric] (19, 2),
 [SKIDKA]		[numeric] (19, 2),
 [KOEF]			[numeric] (19, 10), 
 [TARIF]		INT,
 [SPECO]		INT)


INSERT INTO @Result1 ([NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],[SKIDKA],[KOEF], [TARIF], [SPECO])
SELECT [NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],
		 [SKIDKA] = dbo.is_min(T1.SUM_MON, ISNULL((SELECT INV FROM @T2 T4  WHERE T4.NUM = T1.NUM),0)  
						- ISNULL((SELECT SUM(T3.SUM_MON) FROM @res T3 WHERE T3.NUM = T1.NUM AND T3.SUMMA < T1.SUMMA), 0)),
		 [KOEF] = (SELECT (CASE WHEN (SUMMA_M - MP_M) = 0 THEN 0 ELSE (SUMMA_M_VKR - MP_M_VKR)/(SUMMA_M - MP_M) END) FROM @T2 T2 WHERE T2.NUM = T1.NUM),
		 [TARIF], [SPECO]
FROM @res T1

DECLARE @RESULT TABLE
([NUM]			[int],
 [SUMMA]			[numeric] (19, 2),
 [SUMMA_M_VKR]	[numeric] (19, 2),
 [PERC]			[numeric] (19, 2),
 [SUM_MON]		[numeric] (19, 2),
 [SKIDKA]		[numeric] (19, 2),
 [KOEF]			[numeric] (19, 10),
 [VYCH] 		[numeric] (19, 2),
 [TARIF]		INT,
 [SPECO]		INT)

INSERT INTO @RESULT ([NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],[SKIDKA],[KOEF], [TARIF], [SPECO])
SELECT [NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],
		 [SKIDKA] = (CASE WHEN SKIDKA < 0 THEN 0 ELSE SKIDKA END),
		 [KOEF], [TARIF], [SPECO]
FROM @Result1

DECLARE @Razn 			[numeric](15, 2), 
	  @NalCurr 	[numeric](15, 2),
	  @Sum1 		[numeric](15, 2)

--Расчет с копейками
SET @NalCurr = (SELECT sum(ROUND((PERC * (COALESCE(SUM_MON,0) - COALESCE(SKIDKA,0))* COALESCE(KOEF,0)/100) * 100, 2) / 100) FROM @RESULT )

--Сумма ранее начисленного взноса
SET @Sum1 = ISNULL((SELECT SUM(SJ.SUMMA) FROM dbo.S_J_C_Short SJ 
WHERE 
	SJ.LINK_VKR = @LinkVKR 
	AND SJ.LINK_VKR2 = @LinkVKR2
	--AND ( (SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) AND @LINK_EKR <> @LINK_211EKR) OR (@LINK_EKR = @LINK_211EKR AND SJ.LINK_EKR IN (@LINK_211EKR,@LINK_213EKR)) )
	AND ( (SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) AND @LINK_EKR <> @LINK_211EKR) OR (@LINK_EKR = @LINK_211EKR AND SJ.LINK_EKR = @LINK_EKR) )
	AND SJ.LINK_PAYS = @RefPay 
	AND (SJ.LINK_FACE = @linkFace) 
	AND MONTH_BEGIN <= @Month 
	AND YEAR_BEGIN=@Year 
	AND sj.LINK_DEP = @DEP_LINK),0)

--IF --ЕСЛИ ГОДОВОЙ ДОХОД ПО ВСЕМ ИСТОЧНИКАМ < 0
--	(SELECT SUM(SUMMA) FROM @RESULT) < 0 
--		--AND @Sum1 = 0 
--		-- И ЕСЛИ ТЕКУЩИЙ НАЛОГ ПОЛУЧАЕТСЯ < 0
--		AND @NalCurr < 0
--	SET @NalCurr = 0
	
SET @Razn = @NalCurr - @Sum1

DECLARE @FLG INT
SELECT TOP 1 @FLG = ISNULL(CONVERT(INT,VALUE),0) 
FROM S_OPTIONS WHERE OBJECT = (SELECT TOP 1 LINK FROM S_OBJECTS WHERE CODE = 'ESN_OPTIONS_FLG') AND SID IS NULL

IF @Razn <0 AND @FLG = 0
	SET @Razn=0

SELECT [SUMMA] 		= ISNULL(SUMMA_VKR,0), 
	 [SUMMA_VKR] 	= ISNULL(SUMMA_M_VKR, 0),
	 [SUM_DED] 		=	CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT TOP 1 MP_VKR FROM @T2 WHERE NUM = @Month), 0)
						ELSE 0 END,	
	 [INV_M] 		= CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT SUM(SKIDKA*KOEF) FROM @RESULT WHERE NUM = @Month),0)
						ELSE 0 END,
	 [INV] 			= CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT SUM(SKIDKA*KOEF) FROM @RESULT WHERE NUM <= @Month),0)
						ELSE 0 END,
	 [DED_M] 		= CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT TOP 1 MP_M_VKR FROM @T2 WHERE NUM = @Month), 0)
						ELSE 0 END,
	 [PERC]			= ISNULL((SELECT MIN(PERC) FROM @RESULT WHERE NUM = @Month),0),
	 [NALOG] 		= @NalCurr, 
	 [NAL_DED] 		= @Sum1, 
	 [NAL_CUR] 		= @Razn,
	 [TARIF]		= ISNULL((SELECT MIN([TARIF]) FROM @RESULT WHERE NUM = @Month),0), 
	 [SPECO]		= ISNULL((SELECT MIN([SPECO]) FROM @RESULT WHERE NUM = @Month),0),
	 [NSPECO]		= (SELECT TOP 1 CODE FROM dbo.SZV4_SPR WHERE LINK = ISNULL((SELECT MIN([SPECO]) FROM @RESULT WHERE NUM = @Month),0) )
FROM 
	@T1 
WHERE 
	NUM = @Month

SET NOCOUNT OFF





GO


GRANT EXECUTE ON dbo.[SALARY_FILL_DED_ESN_VKR] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_EMPL_INCOM_VKR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_EMPL_INCOM_VKR]

GO
CREATE   PROCEDURE [dbo].SD_EMPL_INCOM_VKR
	@VARKSNMODE	SMALLINT	= 0, 
	@VARKSNMONTH INT		= 0,
	@VARKSNYEAR	INT		= 0,
	@DEP_LINK INT = NULL,
	@DO_EKR TINYINT = 0 -- вразрезе ЭКР
AS

IF @DEP_LINK IS NULL
	EXEC DBO.XD_WHATS_ZB @DEP_LINK OUTPUT
	
DECLARE @LINK_211EKR INT, @LINK_R211EKR INT, @LINK_212EKR INT, @SHOW_212 TINYINT, @LINK_213EKR INT
		  
SET @LINK_211EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '211')
SET @LINK_R211EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = 'R211')
SET @LINK_212EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '212')
SET @LINK_213EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')
SET @SHOW_212 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_3')

DECLARE @ESN_213 INT --Начислять страховые взносы на доходы с 213 ЭКР                                                    
SET @ESN_213 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_5')


/*выбор последних линков сотрудников для статусов основной и внешний совместитель
берется последний табельный, если увольнялся, затем заново принимался*/
	
IF OBJECT_ID('TEMPDB..#EMPLS1','U') IS NOT NULL
DROP TABLE #EMPLS1

CREATE TABLE #EMPLS1 (DEP_LINK INT, PERS_LINK INT, LINK INT, TAB VARCHAR(254), NUM INT, LINK_EMPL2 INT)

INSERT INTO #EMPLS1 (DEP_LINK, PERS_LINK, LINK, TAB, NUM)
SELECT E.DEP_LINK, E.PERS_LINK, E.LINK, E.TAB, NUM = ROW_NUMBER () OVER (PARTITION BY E.DEP_LINK, E.PERS_LINK ORDER BY DATE_BEGIN DESC)
	FROM dbo.EMPL E INNER JOIN dbo.ITEM_MOVE IM ON E.LINK = IM.EMPL_LINK
		WHERE IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND (IM.[STATUS]=1 OR IM.[STATUS]=3) AND DATE_BEGIN <= dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@VARKSNMONTH,@VARKSNYEAR))
		--AND PERS_LINK = 17896

UPDATE A SET A.LINK_EMPL2 = B.LINK
FROM #EMPLS1 A INNER JOIN #EMPLS1 B ON A.DEP_LINK = B.DEP_LINK AND A.PERS_LINK = B.PERS_LINK
WHERE B.NUM = 1
		
/*выбор линков сотрудников для статусов внутренний совместитель*/

IF OBJECT_ID('TEMPDB..#EMPLS2','U') IS NOT NULL
DROP TABLE #EMPLS2

CREATE TABLE #EMPLS2 (DEP_LINK INT, PERS_LINK INT, LINK INT, TAB VARCHAR(254), NUM INT, LINK_EMPL2 INT)

INSERT INTO #EMPLS2 (DEP_LINK, PERS_LINK, LINK, TAB, NUM)
SELECT E.DEP_LINK, E.PERS_LINK, E.LINK, E.TAB, NUM = 1
	FROM dbo.EMPL E INNER JOIN dbo.ITEM_MOVE IM ON E.LINK = IM.EMPL_LINK
		WHERE IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS]=2 AND DATE_BEGIN <= dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@VARKSNMONTH,@VARKSNYEAR))
		--AND PERS_LINK = 17896

UPDATE A SET A.LINK_EMPL2 = B.LINK
FROM #EMPLS2 A INNER JOIN #EMPLS2 B ON A.DEP_LINK = B.DEP_LINK AND A.PERS_LINK = B.PERS_LINK
WHERE B.NUM = 1

SELECT 
	T.LINK,
	T.LINK_EMPL,
	T.TAB_NUM,
	T.[NAME_EMPL], 
	T.[STATUS],
	T.NUM_STAKE,	
	LINK_VKR = ISNULL(SF.LINK_SS_SFIN, T.LINK_VKR),
	NAME_VKR = ISNULL(SF2.CODE, T.NAME_VKR),
	T.LINK_EKR,
	T.CODE_EKR,
	LINK_VKR2 = T.LINK_VKR,
	NAME_VKR2 = T.NAME_VKR
FROM
(			
SELECT DISTINCT
	LINK= E.PERS_LINK,
	LINK_EMPL= E.LINK,
	TAB_NUM= E.TAB,
	[NAME_EMPL]= RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.', 
	[STATUS] = 1,
	NUM_STAKE = 1,	
	JC.LINK_VKR, 
	NAME_VKR = KBK.CODE,
	LINK_EKR = EKR.LINK,
	CODE_EKR = EKR.CODE
FROM
	DBO.PERSON P with (nolock)
	INNER JOIN DBO.EMPL E with (nolock) ON E.PERS_LINK = P.LINK AND E.DEP_LINK = COALESCE(@DEP_LINK,E.DEP_LINK)
	--Заполняем сотрудником с последним приказом о приеме
	INNER JOIN (
		/*выбор последних линков сотрудников для статусов основной и внешний совместитель
		берется последний табельный, если увольнялся, затем заново принимался*/
		SELECT DEP_LINK, LINK, LINK_EMPL2 FROM #EMPLS1
		/*выбор линков сотрудников для статусов внутренний совместитель*/
		UNION
		SELECT DEP_LINK, LINK, LINK_EMPL2 FROM #EMPLS2
			) T ON T.DEP_LINK = E.DEP_LINK AND T.LINK_EMPL2 = E.LINK
	INNER JOIN dbo.CALCULATE_JURNAL JC ON JC.LINK_EMPL = T.LINK
	INNER JOIN dbo.PAYS PS ON JC.LINK_PAYS = PS.LINK
	INNER JOIN DBO.SAL_SFIN KBK ON JC.LINK_VKR = KBK.LINK
	INNER JOIN DBO.KOSGU EKR ON 
		@SHOW_212 = 1 AND (EKR.LINK = JC.LINK_EKR OR (JC.LINK_EKR = @LINK_212EKR AND EKR.LINK = @LINK_211EKR)) --Источники с 212 ЭКР дублируем с 211 ЭКР --Временно до конца года
		OR 
		@SHOW_212 = 0 AND EKR.LINK = (CASE WHEN JC.LINK_EKR <> @LINK_212EKR THEN JC.LINK_EKR ELSE @LINK_211EKR END)	
		OR 
		@DO_EKR = 1 AND EKR.LINK = JC.LINK_EKR
WHERE
	EXISTS ( SELECT * FROM dbo.TAX_REF TR INNER JOIN dbo.PAYS P1 ON P1.LINK = TR.LINK_TAX WHERE P1.[OBJECT] = 3 AND TR.LINK_PAYS = JC.LINK_PAYS)
	AND
	E.DEP_LINK = @DEP_LINK
	AND
	PS.[OBJECT] = 1
	AND
	YEAR(JC.PERIOD_BEGIN) = @VARKSNYEAR
	AND
	JC.SUMMA<>0
	AND
	(
		(MONTH(JC.PERIOD_BEGIN) <= @VARKSNMONTH AND @VARKSNMODE <> 0)
		OR
		(MONTH(JC.PERIOD_BEGIN) = @VARKSNMONTH AND @VARKSNMODE = 0)
	)
	AND
	(@ESN_213 = 1 OR @ESN_213 = 0 AND EKR.LINK <> @LINK_213EKR)
) T
INNER JOIN dbo.SAL_SFIN SF ON SF.LINK = T.LINK_VKR
LEFT JOIN dbo.SAL_SFIN SF2 ON SF2.LINK = SF.LINK_SS_SFIN
--WHERE LINK_EMPL = 123	
ORDER BY
	4,6,8


GO


GRANT EXECUTE ON dbo.[SD_EMPL_INCOM_VKR] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_ESN_TABLE_SAVE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_ESN_TABLE_SAVE]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.SD_O_ESN_TABLE_SAVE
	@intLINK				int,
	@intORDERS			int,
	@intLINK_EMPL		int,
	@numSUMMA_BASE 	numeric(18,2)=0.0,
	@numCALC_TAX		numeric(18,2)=0.0,
	@numDED_M			numeric(18,2)=0.0,
	@numINV_M			numeric(18,2)=0.0,
	@numSUM_DED 		numeric(18,2)=0.0,
	@numSUMMA			numeric(18,2)=0.0,
	@numTOTAL_DED		numeric(18,2)=0.0,
	@numTOTAL_SUM		numeric(18,2)=0.0,
	@numTOTAL_TAX		numeric(18,2)=0.0, 
	@intLINK_PAY		int,
	@intLINK_VKR 		int,
	@LINK_EKR			INT,
	@DEL				TINYINT = 0,
	@PERC				numeric(18,2)=0.0,
	@TARIF				INT=null,	
	@SPECO				INT = null,
	@intLINK_VKR2 		int = NULL

AS
DECLARE @SQLError			tinyint,
		  @trancount	int,		
		  @strVALUE		varchar(7000),
		  @tintSTATUS	int,
		  @RowCount		int,
		  @linkFace 	int	

SET @trancount = @@TRANCOUNT

SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

IF @intLINK_VKR2 IS NULL
	SET @intLINK_VKR2 = @intLINK_VKR

SELECT @linkFace = PERS_LINK FROM dbo.EMPL WHERE LINK = @intLINK_EMPL
SELECT @tintSTATUS = dbo.IS_INVALID(@linkFace,dbo.SalaryPeriodCalcBegin())

IF @intLINK_EMPL IS NULL OR @intLINK_PAY IS NULL OR @intLINK_VKR IS NULL OR @LINK_EKR IS NULL
BEGIN
	ROLLBACK
	RETURN 8
END

IF ISNULL(@DEL,0) = 0

	IF NOT EXISTS (SELECT LINK_UP FROM DBO.SDOC_ESN_TABLE 
							WHERE LINK_UP = @intLINK AND LINK_EMPL = @intLINK_EMPL 
								AND LINK_PAY = @intLINK_PAY AND LINK_VKR = @intLINK_VKR AND LINK_VKR2 = @intLINK_VKR2
								AND LINK_EKR = @LINK_EKR)
								
		INSERT INTO SDOC_ESN_TABLE WITH (ROWLOCK) (LINK_UP,ORDERS,LINK_EMPL,SUMMA_BASE,CALC_TAX,DED_M,INV_M,SUM_DED,SUMMA, TOTAL_DED,TOTAL_SUM,TOTAL_TAX,LINK_PAY,LINK_VKR,[STATUS],LINK_EKR, PERC, TARIF, SPECO, LINK_VKR2)
		VALUES (@intLINK,@intORDERS,@intLINK_EMPL,@numSUMMA_BASE,@numCALC_TAX,@numDED_M,@numINV_M,@numSUM_DED,@numSUMMA,
				@numTOTAL_DED,@numTOTAL_SUM,@numTOTAL_TAX,@intLINK_PAY,@intLINK_VKR,@tintSTATUS,@LINK_EKR, @PERC, @TARIF, @SPECO, @intLINK_VKR2)

	ELSE
		UPDATE 
			DBO.SDOC_ESN_TABLE
		SET
			ORDERS = @intORDERS,
			SUMMA_BASE = @numSUMMA_BASE,
			CALC_TAX = @numCALC_TAX,
			DED_M = @numDED_M,
			INV_M = @numINV_M,
			SUM_DED = @numSUM_DED,
			SUMMA = @numSUMMA, 
			TOTAL_DED = @numTOTAL_DED,
			TOTAL_SUM = @numTOTAL_SUM,
			TOTAL_TAX = @numTOTAL_TAX,
			[STATUS] = @tintSTATUS,
			PERC = @PERC,
			TARIF = @TARIF,
			SPECO = @SPECO
		WHERE 
			LINK_UP = @intLINK AND LINK_EMPL = @intLINK_EMPL AND LINK_PAY = @intLINK_PAY AND LINK_VKR = @intLINK_VKR AND LINK_VKR2 = @intLINK_VKR2 AND LINK_EKR = @LINK_EKR
ELSE
		DELETE FROM DBO.SDOC_ESN_TABLE
		WHERE LINK_UP = @intLINK AND LINK_EMPL = @intLINK_EMPL AND LINK_PAY = @intLINK_PAY AND LINK_VKR = @intLINK_VKR AND LINK_EKR = @LINK_EKR

SELECT @SQLError = @@ERROR, @intLINK = @@IDENTITY
IF @SQLError <> 0
BEGIN
	ROLLBACK
	RETURN 7
END

WHILE @@TRANCOUNT > @trancount
	COMMIT TRAN
RETURN 0




GO


GRANT EXECUTE ON dbo.[SD_O_ESN_TABLE_SAVE] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_ESN_PROV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_ESN_PROV]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.SD_O_ESN_PROV

@varKSparLINK int
AS

IF (SELECT SO.CODE FROM S_OBJECTS SO,SDOC DOC WHERE DOC.LINK = @varKSparLINK AND
		 DOC.OBJECT = SO.LINK) <> 'DOCUMENTS_DEDUCT_ESN_G'
	RETURN 5

IF EXISTS (SELECT * FROM DBO.CALCULATE_JURNAL WHERE LINK_DOC = @varKSparLINK)
BEGIN
		RAISERROR('Документ уже проведен!', 11, 1)
		RETURN 0
END	

Declare @varKStrancount int

SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN


DECLARE @LinkEKR213 int
SELECT @LinkEKR213 = LINK FROM dbo.DICTIONARY_ITEM WHERE CODE = '213'

EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,0

INSERT INTO dbo.CALCULATE_JURNAL (LINK_EMPL,LINK_PAYS,LINK_DOC,PERIOD_BEGIN,PERIOD_END,DAYS,HOURS,SUMMA_BASE,SUMMA,ORDERS,DATE_BEGIN,DATE_END,LINK_DEP,LINK_ORG,LINK_VKR,LINK_EKR,TARIF,SPECO,PROCENT,LINK_VKR2)
SELECT 
		[LINK_EMPL] = T.LINK_EMPL,
		[LINK_PAYS] = T.LINK_PAY,
		[LINK_DOC] = s.LINK,
	  	[PERIOD_BEGIN] = dbo.DateBeginOfMonth(s.DATE),	
		[PERIOD_END] = dbo.DateEndOfMonth(s.DATE),	
		[DAYS] =0,
		[HOURS] = 0,
		[SUMMA_BASE] = T.SUMMA_BASE,
		[SUMMA] = T.SUMMA,
		[ORDERS] = T.ORDERS,
		[DATE_BEGIN] = dbo.DateBeginOfMonth(S.DATE_CALC), 
		[DATE_END] = dbo.DateEndOfMonth(S.DATE_CALC), 
		[LINK_DEP] = S.LINK_DEP,
		[LINK_ORG] = NULL,
		[LINK_VKR] = T.LINK_VKR,
		T.LINK_EKR,--CASE WHEN E.CODE IN ('211') THEN @LinkEKR213 ELSE T.LINK_EKR END
		T.TARIF,
		T.SPECO,
		T.PERC,
		ISNULL(T.[LINK_VKR2],T.[LINK_VKR])
FROM 
	dbo.SDOC S
	inner join dbo.SDOC_ESN_TABLE T on S.link = T.LINK_UP
	inner join dbo.USER_INFO UI on 1=1
	INNER JOIN dbo.KOSGU E ON E.LINK = T.LINK_EKR
WHERE 
	UI.SID = SUSER_SID() 
	and s.LINK = @varKSparLINK 
	and T.SUMMA<>0


EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,1


IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN
RETURN 0

GO


GRANT EXECUTE ON dbo.[SD_O_ESN_PROV] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_OTHER_PROV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_OTHER_PROV]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE  PROCEDURE dbo.SD_O_OTHER_PROV
@varKSparLINK int
AS

IF (SELECT SO.CODE FROM S_OBJECTS SO,SDOC DOC WHERE DOC.LINK = @varKSparLINK AND
		 DOC.OBJECT = SO.LINK) <> 'DOCUMENTS_CLOSE_MONTH'
	RETURN 5

IF EXISTS (SELECT * FROM DBO.CALCULATE_JURNAL WHERE LINK_DOC = @varKSparLINK)
BEGIN
		RAISERROR('Документ уже проведен!', 11, 1)
		RETURN 0
END

Declare @varKStrancount int

SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,0

DECLARE @LinkEKR213 int
SELECT @LinkEKR213 = LINK FROM dbo.DICTIONARY_ITEM WHERE CODE = '213'

INSERT INTO dbo.CALCULATE_JURNAL (LINK_EMPL,LINK_PAYS,LINK_DOC,PERIOD_BEGIN,PERIOD_END,DAYS,HOURS,SUMMA_BASE,PROCENT,SUMMA,ORDERS,DATE_BEGIN,DATE_END,LINK_DEP,LINK_ORG,LINK_VKR,LINK_EKR,LINK_VKR2)
SELECT [LINK_EMPL] =NULL,
		[LINK_PAYS] = TAB.REF_DED,
		[LINK_DOC] = DOC.LINK,
	  	[PERIOD_BEGIN] = dbo.DateBeginOfMonth(DOC.DATE),	
		[PERIOD_END] = dbo.DateEndOfMonth(DOC.DATE),	
		[DAYS] =0,
		[HOURS] = 0,
		[SUMMA_BASE] = TAB.SUMMA_BASE,
		[PERCENT],
		[SUMMA] = TAB.SUMMA,
		[ORDERS] = TAB.ORDERS,
		[DATE_BEGIN] = dbo.DateBeginOfMonth(CONVERT(DATETIME,('01/'+ RTRIM(DOC.MONTH)+'/'+RTRIM(DOC.YEAR)))), 
		[DATE_END] = dbo.DateEndOfMonth(CONVERT(DATETIME,('01/'+ RTRIM(DOC.MONTH)+'/'+RTRIM(DOC.YEAR)))), 
		[LINK_DEP] = LINK_DEP,
		[LINK_ORG] = NULL,
		[LINK_VKR] = TAB.LINK_VKR,
		[LINK_EKR] = TAB.LINK_EKR,
		[LINK_VKR2] = TAB.LINK_VKR2		
FROM dbo.DOCUMENTS_DED_OTHER DOC, dbo.DOCUMENTS_DED_OTHER_TABLE TAB, dbo.USER_INFO UI
WHERE UI.SID = SUSER_SID() AND DOC.LINK = TAB.LINK  AND  DOC.LINK = @varKSparLINK and TAB.SUMMA<>0


EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,1


IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN
RETURN 0

GO


GRANT EXECUTE ON dbo.[SD_O_OTHER_PROV] TO PUBLIC

GO

GO

--AFTER CODE 20.04.2016
/*Перепроведение расчетов за 2016 год по начислению страховых взносов*/
ALTER TABLE dbo.CALCULATE_JURNAL DISABLE TRIGGER ALL

---
DELETE J
FROM
	dbo.SDOC S
	INNER JOIN dbo.CALCULATE_JURNAL J ON J.LINK_DOC = S.LINK
WHERE 
	EXISTS (SELECT * FROM dbo.S_OBJECTS O WHERE O.CODE = 'DOCUMENTS_DEDUCT_ESN_G' AND O.LINK = S.[OBJECT])
	AND
	YEAR(s.DATE) = 2016

---
INSERT INTO dbo.CALCULATE_JURNAL (LINK_EMPL,LINK_PAYS,LINK_DOC,PERIOD_BEGIN,PERIOD_END,DAYS,HOURS,SUMMA_BASE,SUMMA,ORDERS,DATE_BEGIN,DATE_END,LINK_DEP,LINK_ORG,LINK_VKR,LINK_EKR,TARIF,SPECO,PROCENT,LINK_VKR2)
SELECT 
		[LINK_EMPL] = T.LINK_EMPL,
		[LINK_PAYS] = T.LINK_PAY,
		[LINK_DOC] = s.LINK,
	  	[PERIOD_BEGIN] = dbo.DateBeginOfMonth(s.DATE),	
		[PERIOD_END] = dbo.DateEndOfMonth(s.DATE),	
		[DAYS] =0,
		[HOURS] = 0,
		[SUMMA_BASE] = T.SUMMA_BASE,
		[SUMMA] = T.SUMMA,
		[ORDERS] = T.ORDERS,
		[DATE_BEGIN] = dbo.DateBeginOfMonth(S.DATE_CALC), 
		[DATE_END] = dbo.DateEndOfMonth(S.DATE_CALC), 
		[LINK_DEP] = S.LINK_DEP,
		[LINK_ORG] = NULL,
		[LINK_VKR] = T.LINK_VKR,
		T.LINK_EKR,
		T.TARIF,
		T.SPECO,
		T.PERC,
		ISNULL(T.[LINK_VKR2],T.[LINK_VKR])
FROM 
	dbo.SDOC S
	inner join dbo.SDOC_ESN_TABLE T on S.link = T.LINK_UP
	INNER JOIN dbo.KOSGU E ON E.LINK = T.LINK_EKR
WHERE 
	YEAR(s.DATE) = 2016
	AND T.SUMMA<>0
	AND S.FLAG_JC = 1

ALTER TABLE dbo.CALCULATE_JURNAL ENABLE TRIGGER ALL
GO

GO


IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZVM_EXPORT_v2_40]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZVM_EXPORT_v2_40]

GO

/*EXEC dbo.BK_SELECT_EXPORT_FORMAT 2486*/
/*exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451*/
CREATE      PROCEDURE [dbo].SA_SZVM_EXPORT_v2_40 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT  ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))


INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------


DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT,
		@Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = Begin_Date,
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS
WHERE LINK_SAVED_FORM = @link


DECLARE
	@first_month_of_quarter TINYINT,
	@second_month_of_quarter TINYINT,
	@third_month_of_quarter TINYINT

IF @Period_Number = 1
	SELECT @first_month_of_quarter = 1, @second_month_of_quarter = 2, @third_month_of_quarter = 3
IF @Period_Number = 2
	SELECT @first_month_of_quarter = 4, @second_month_of_quarter = 5, @third_month_of_quarter = 6
IF @Period_Number = 3
	SELECT @first_month_of_quarter = 7, @second_month_of_quarter = 8, @third_month_of_quarter = 9
IF @Period_Number = 4
	SELECT @first_month_of_quarter = 10, @second_month_of_quarter = 11, @third_month_of_quarter = 12

SELECT  @first_month_of_quarter = ISNULL(@first_month_of_quarter,1), @second_month_of_quarter = ISNULL(@second_month_of_quarter,2), @third_month_of_quarter = ISNULL(@third_month_of_quarter,3)


SELECT top 1
	DD1.OKPO AS OKPO1,
	DD1.INN AS INN1, DD1.KPP AS KPP1,
	FULL_NAME = UPPER(DD1.FULL_NAME),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	DD1.OGRN AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	CHIEF.FM as CHIEF_FM,
	CHIEF.IM as CHIEF_IM,
	CHIEF.OT as CHIEF_OT,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	DD1.OGRN,
	DD1.OKATO,
	DD1.OKTMO,
	DD1.OKVED,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TaxType = DD1.FSS_KP_PC1,
	TaxType2 = DD1.FSS_KP_PC2,
	TaxType3 = DD1.FSS_KP_PC3
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP

/*exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451*/

DECLARE @TYPE_FORM VARCHAR(5), @NumDot INT
SELECT @TYPE_FORM = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'RB_VIEW_ATR_TYPE_KORR'),'Исхд')
--SET @NumDot = CASE WHEN ISNUMERIC(@NumDotC) =1 THEN CONVERT(INT,@NumDotC) ELSE 0 END

DECLARE @Cur0 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @Cur CURSOR, @Cur1 CURSOR, @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254)

DECLARE @lcFNAME varchar(254),
		@lcFidNAME VARCHAR(254),
        @GUID UNIQUEIDENTIFIER
SET @GUID = NEWID()


SELECT @lcFNAME ='ПФР_'+ PFNUMBER + '_000000_СЗВ-М_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_'+ltrim(rtrim(@GUID))+'.XML' FROM #DEP_DATA
SELECT @lcFidNAME ='ПФР_'+ PFNUMBER + '_000000_СЗВ-М_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_'+ltrim(rtrim(@GUID))+'' FROM #DEP_DATA

--SELECT convert(varchar(10),@modify_date,104)



INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'UTF-8' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="UTF-8"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<ЭДПФР xmlns="http://пф.рф/ВС/СЗВ-М/2016-04-01" xmlns:УТ="http://пф.рф/унифицированныеТипы/2014-01-01" xmlns:АФ="http://пф.рф/АФ" xmlns:xs="http://www.w3.org/2001/XMLSchema">'
UNION ALL SELECT @lcFNAME, SPACE(1) + '<СЗВ-М>'



/** Титул **/
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<ТипФормы>1</ТипФормы>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<Страхователь>'

		UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегНомер>'+RTRIM(LTRIM(PFNUMBER))+'</РегНомер>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<НаименованиеКраткое>'+RTRIM(LTRIM(ORGNAME))+'</НаименованиеКраткое>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<ИНН>'+RTRIM(LTRIM(COALESCE(INN1,'')))+'</ИНН>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<КПП>'+RTRIM(LTRIM(KPP1))+'</КПП>' FROM #DEP_DATA
	UNION ALL SELECT @lcFNAME, SPACE(2) + '</Страхователь>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<ОтчетныйПериод>'
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<Месяц>'+RTRIM(LTRIM(CONVERT(char(2),month(@End_Date))))+'</Месяц>' 
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<КалендарныйГод>'+CONVERT(VARCHAR(4),@YEAR)+'</КалендарныйГод>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '</ОтчетныйПериод>'
	
--  /** Раздел I **/



CREATE TABLE #TAB_1 (NUM_PP  INT identity(1,1) , FIO VARCHAR(254),FM VARCHAR(100), IM VARCHAR(100) , OT VARCHAR(100),  INSUR_NUM VARCHAR(15), INN VARCHAR(12))

CREATE TABLE #TEMP_1 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TEMP_1  (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T ORDER BY T.COL , t.ROW_CODE


INSERT INTO #TAB_1 ( FIO, FM, IM, OT, INSUR_NUM, INN)
SELECT DISTINCT
	--NUM_PP = (SELECT TOP 1 ROW_CODE FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	FIO = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	FM = (SELECT TOP 1 left(STR_VAL, PATINDEX ( '% %' , STR_VAL)) FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	IM = (SELECT TOP 1 SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,PATINDEX ( '% %' ,SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1)))  FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	OT = (SELECT TOP 1 SUBSTRING(SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1), PATINDEX('% %', SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1)), LEN(SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1))) FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	INSUR_NUM = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 3 AND T.ROW_CODE = T1.ROW_CODE),
	INN = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 4 AND T.ROW_CODE = T1.ROW_CODE)
FROM
	#TEMP_1 T1 


DECLARE  @DEP_LINK1 INT , @ID1 INT /*Номер записи*/ , @nYear int, @nMonth int
set @ID1 = 0
--SET @nYear = year(@dDate1)
--set @nMonth = month(@dDate1)


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<СписокЗЛ>'

SET @Cur1 = CURSOR FORWARD_ONLY
FOR select NUM_PP from #TAB_1  ORDER BY NUM_PP
	
OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @ID1

	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME,SPACE(3) + '<ЗЛ НомерПП="'+RTRIM(LTRIM(STR(@ID1)))+'">' + CHAR(10)
								+ SPACE(4) + '<ФИО>' + CHAR(10)
									+ SPACE(5) + '<УТ:Фамилия>'+ RTRIM(LTRIM(COALESCE(FM,''))) +'</УТ:Фамилия>' + CHAR(10)
									+ SPACE(5) + '<УТ:Имя>'+RTRIM(LTRIM(COALESCE(IM,'')))+'</УТ:Имя>' + CHAR(10)
									+ SPACE(5) + '<УТ:Отчество>'+ RTRIM(LTRIM(COALESCE(OT,''))) +'</УТ:Отчество>' + CHAR(10)
								+ SPACE(4) + '</ФИО>' + CHAR(10)
								+ SPACE(4) + '<СНИЛС>'+ RTRIM(LTRIM(COALESCE(INSUR_NUM,''))) +'</СНИЛС>' + CHAR(10)
								+ SPACE(4) + (CASE WHEN COALESCE(INN,'') = '' THEN  '' 
										 WHEN len(COALESCE(INN,'')) <> 12  THEN    '' 
										 else '<ИНН>'+RTRIM(LTRIM(INN))+'</ИНН>' END )	 + CHAR(10)
						 + SPACE(3) + '</ЗЛ>' 
				FROM
					#TAB_1
				WHERE 
					NUM_PP = @ID1 
	
		END
		
		FETCH NEXT FROM @Cur1 INTO @ID1



	END

	CLOSE @Cur1
	DEALLOCATE @Cur1
	--exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '</СписокЗЛ>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '<ДатаЗаполнения>'+CONVERT(VARCHAR(10),ltrim(rtrim(replace(convert(varchar(10),@modify_date,126),'.',''))))+'</ДатаЗаполнения>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(1) + '</СЗВ-М>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '<СлужебнаяИнформация>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<АФ:GUID>'+RTRIM(LTRIM(COALESCE(@GUID,'')))+'</АФ:GUID>' + CHAR(10)
				   + SPACE(2) + '<АФ:ДатаВремя>'+CONVERT(VARCHAR(25),ltrim(rtrim(replace(convert(varchar(19),GETDATE(),126 ),'.','')+'+03:00')))+'</АФ:ДатаВремя>' + CHAR(10)
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '</СлужебнаяИнформация>'

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(0) + '</ЭДПФР>'



SET NOCOUNT OFF


select * from #OUTPUT order by [ID]










GO


GRANT EXECUTE ON dbo.[SA_SZVM_EXPORT_v2_40] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_KOSGU')
DROP INDEX [IX_KOSGU] ON [dbo].[KOSGU]
GO


ALTER TABLE [dbo].[KOSGU] ALTER COLUMN [CODE] varchar(4) NOT NULL 
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_KOSGU')
CREATE UNIQUE INDEX [IX_KOSGU] ON [dbo].[KOSGU] ([CODE]) ON [INDEX]
GO

IF NOT EXISTS (SELECT * FROM dbo.[KOSGU] WHERE CODE = 'R211')
	INSERT INTO dbo.[KOSGU]([CODE], [NAME], [DB_KR], [Is_Ekr])  
	VALUES ('R211', 'Заработная плата за счет резерва', 1, 1)
GO


update dbo.KOSGU
set code = left(CODE, 3)
where right(code,1) = ' ' 
GO

GO

--PROC, VIEW, FUNC 04.05.2016
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[next_work_day]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[next_work_day]

GO

CREATE FUNCTION dbo.next_work_day(@date datetime) 
returns datetime
AS BEGIN

DECLARE @RES datetime

SET @RES = 
(
SELECT MIN(P.DATE)
FROM 
	dbo.days_ex(@date, dateadd(m,1,@date)) P
WHERE
	NOT
	(
		EXISTS (SELECT * FROM dbo.HOLIDAYS H WHERE H.TYPE_HOL IN (1,3) AND dbo.ConvertDMY2Date(H.DAY,H.MONTH,H.year) = P.DATE)
		OR
		DATEPART(weekday, P.DATE) IN (7,1)
		AND NOT EXISTS (SELECT * FROM dbo.HOLIDAYS H WHERE H.TYPE_HOL = 2 AND dbo.ConvertDMY2Date(H.DAY,H.MONTH,H.year) = P.DATE)
	)
	AND
	P.DATE > @date	
)

RETURN @RES

END

GO


GRANT EXECUTE ON dbo.[next_work_day] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_6NDFL_16_PREPARE_R2]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_6NDFL_16_PREPARE_R2]

GO
CREATE PROCEDURE dbo.SA_6NDFL_16_PREPARE_R2 @LSF INT
AS

DECLARE
	@START_DATE DATETIME, @END_DATE DATETIME, @DEP_LINK INT, @BYearDate DATETIME,
	@nYEAR INT, @nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT

SET DATEFIRST 7

SELECT
	@DEP_LINK = Link_Organization,
	@START_DATE = BEGIN_DATE
FROM
	report_saved_forms
WHERE
	link_saved_form = @LSF
	

SET @BYearDate = dbo.DateBeginOfYear (@START_DATE)


SELECT
	@nYEAR = YEAR(@START_DATE),
	@nMONTH1 = MONTH(@START_DATE)-2,
	@nMONTH2 = MONTH(@START_DATE)-1,
	@nMONTH3 = MONTH(@START_DATE)
DECLARE @BDATE DATETIME , @EDATE DATETIME

SET @BDATE = dbo.ConvertDMY2Date(1,@nMONTH1,@nYEAR)
SET @EDATE = @START_DATE

DECLARE @varKSname VARCHAR(100), @varKSSQL VARCHAR(8000)
SET @varKSname = (SELECT ID FROM BUFFER WHERE LINK = -116 AND SID = SUSER_SID() )




--------------------------------------------

--------------------------------------------
--------------------------------------------

	create table #S_J_C_SHORT (link int,LINK_FACE int,PERS_LINK int, link_empl int, link_doc INT, link_pays int, 
							   name_pays VARCHAR(60), link_vkr int,link_ekr int, typ_per tinyint, typ_oper tinyint, 
							   summa numeric(18,2), link_inc int, period_begin datetime,period_end datetime, date1 datetime, 
							   date2 datetime, link_dep INT ,way_calc INT, way_name VARCHAR(50), type_doc VARCHAR(100), 
							   num_doc VARCHAR(30), Dt_doc datetime, comm_doc VARCHAR(254), CODE VARCHAR(30) )

	Insert into #S_J_C_SHORT (LINK_FACE, PERS_LINK, link_empl,link_doc, link_pays, 
							  name_pays,link_vkr, link_ekr, typ_per, typ_oper, 
							  summa,link_inc, period_begin, period_end, date1, 
							  date2,link_dep,way_calc, way_name,type_doc, 
							  num_doc,Dt_doc,comm_doc, CODE)
	Select  E.PERS_LINK, JC.PERS_LINK, JC.LINK_EMPL, JC.link_doc, P.LINK, 
			name_pays = p.name, link_vkr, ISNULL(JC.LINK_EKR,P.LINK_EKR), P.TYP_PER, P.OBJECT, 
			summa, P.LINK_INC,
		period_begin = (Case 
						when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code = 'DOCUMENTS_ADD_TABEL'
						then JC.DATE_BEGIN else JC.period_begin 
					end) ,
		JC.PERIOD_END,
		JC.DATE_BEGIN,
		JC.DATE_END,
		JC.LINK_DEP ,
		P.WAY_CALC ,
		way_name = w.name,
		type_doc = sd.[TYPE], 
		num_doc = sd.NUMBER,
		Dt_doc = sd.[DATE], 
		comm_doc = sd.COMMENTARY, 
		CODE = sd.CODE
		 
	from 
		dbo.CALCULATE_JURNAL JC 
		INNER JOIN dbo.NDFL_GroupTax() T ON JC.LINK_PAYS=T.LINK_PAYS
		LEFT JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
		LEFT JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
		LEFT JOIN dbo.WAY_CALC w ON w.CODE = p.way_calc AND w.[TYPE] = 1 
		LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
		LEFT JOIN dbo.SALARY_FULL_JURNAL_DOC sd ON sd.link = jc.LINK_DOC
	where
		(
				(ISNULL(d.code,'') <> 'DOCUMENTS_ADD_TABEL') and  (JC.PERIOD_BEGIN between @BDATE AND @EDATE)
				or 
				ISNULL(d.code,'') = 'DOCUMENTS_ADD_TABEL'
				and (JC.DATE_BEGIN between @BDATE AND @EDATE or  JC.PERIOD_BEGIN between @BDATE AND @EDATE )
				

			)
		AND  
			(	-->>NEW
			E.PERS_LINK in (select LINK from dbo.BufferGetTableById('REP2NDFL') )
			or
			JC.PERS_LINK in (select LINK from dbo.BufferGetTableById('REP2NDFL') )
			)	
		AND JC.LINK_DEP = @DEP_LINK 
	
	union all --Удержания
	SELECT   LINK_FACE, PERS_LINK, link_empl, link_doc, link_pays, 
			 name_pays = p.name, sjc.link_vkr, sjc.link_ekr, sjc.typ_per, sjc.typ_oper, 
			 summa,sjc.link_inc, period_begin, period_end, date1, 
			 date2,SJC.link_dep, sjc.WAY_CALC, way_name = w.name,
			 type_doc = sd.[TYPE], 
			 num_doc = sd.NUMBER,
		     Dt_doc = sd.[DATE], 
			 comm_doc = sd.COMMENTARY, 
			 CODE = sd.CODE
	from dbo.S_J_C_SHORT SJC 
		LEFT JOIN DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC 
		LEFT JOIN dbo.SALARY_FULL_JURNAL_DOC sd ON sd.link = SJC.LINK_DOC
		LEFT JOIN dbo.PAYS P ON SJC.LINK_PAYS = P.LINK
		LEFT JOIN dbo.WAY_CALC w ON w.CODE = sjc.way_calc AND w.[TYPE] = 1
	where 
		SJC.LINK_DEP = @DEP_LINK
		and SJC.PERIOD_BEGIN between @BDATE AND @EDATE
		and TYP_OPER = 2

-- таблица  #S_J_C_SHORT включает в себя все операции  по сотрудникам которые проводились за отчетный период , 
-- из нее выделим отдельно физлиц-сотрудников , гпх, и уволенных сотрудников в отдельную таблицу , для уволенных добавим флаг DIS , у которых были начисления в отчетном периоде
IF OBJECT_ID('tempdb..#FIZ_EMPL_TAB') IS NOT NULL DROP TABLE #FIZ_EMPL_TAB
CREATE TABLE #FIZ_EMPL_TAB (LINK_FACE INT, PERS_LINK  INT , LINK_EMPL INT, INOSTR int, DIS TINYINT , DATE_DIS DATETIME)
INSERT INTO #FIZ_EMPL_TAB (LINK_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS)
SELECT sjc.LINK_FACE,
	sjc.pers_link,
	sjc.link_empl,
	INOSTR = CASE WHEN (SELECT TOP 1 code FROM citizenship WHERE link = p.CITIZ_LINK ) NOT IN('1','2') THEN 1 
				  ELSE 0 END,
	dis = CASE WHEN IDF.empl_link IS NOT NULL THEN 1 ELSE 0 END,
	IDF.DIS_DATE
FROM 	#S_J_C_SHORT sjc
INNER JOIN dbo.PERSON p ON  p.link = ISNULL(sjc.LINK_FACE,sjc.pers_link)  
left JOIN dbo.item_dis_face IDF ON  IDF.empl_link = sjc.link_empl  AND IDF.DIS_DATE BETWEEN @BDATE AND  @EDATE AND IDF.ACTIVE = 1
WHERE sjc.typ_oper = 1
GROUP BY sjc.LINK_FACE, sjc.pers_link , sjc.link_empl,  IDF.DIS_DATE,  IDF.empl_link , p.CITIZ_LINK 




----------  Создание таблицы содержащей в себе данные по Сотрудникам и документам которые на них сформированы,
----------  Даты , суммы тоже будем добавлять в эту таблицу
IF OBJECT_ID('tempdb..#FIZ_VID_DOH') IS NOT NULL DROP TABLE #FIZ_VID_DOH
CREATE TABLE #FIZ_VID_DOH(link_FACE INT, PERS_LINK INT, LINK_EMPL INT, INOSTR int, DIS TINYINT , DATE_DIS datetime,OBJ_CODE CHAR(30), OBJ_NAME varchar(254)
							, VID_DOH CHAR(3), mon int,summa_doh NUMERIC(18,2),summa_nal NUMERIC(18,2),DATE_DOH DATETIME,DATE_NAL datetime, DATE_ISCH DATETIME , DED tinyint )

--- группа 1 ДОГОВОРНИКИ
;WITH V AS
(
SELECT PERS_LINK, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V
FROM
	DBO.sdoc s 
	INNER JOIN  dbo.SDOC_VEDOM_DGH sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT = 1
	INNER JOIN dbo.SDOC_VEDOM_DGH_TABLE1 T ON T.LINK_UP = s.LINK
WHERE
	sd.TYP_PAYMENT = 1
	AND
	S.DATE BETWEEN @BDATE AND @EDATE
GROUP BY	
	PERS_LINK, dbo.DateEndOfMonth(S.DATE_CALC)	 
),
sj AS 
(
SELECT 
	sj.PERS_LINK
	,period_end = dbo.dateendofmonth(sj.PERIOD_BEGIN)
	,summa_doh = SUM(sj.summa)
FROM 	
	#S_J_C_SHORT sj  
	INNER JOIN #FIZ_EMPL_TAB f ON f.PERS_LINK = sj.PERS_LINK
WHERE
	sj.typ_oper = 1
GROUP BY
	sj.PERS_LINK, dbo.dateendofmonth(sj.PERIOD_BEGIN)
)	
INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED)
SELECT NULL
	 , sj.PERS_LINK
	 , NULL
	 , INOSTR 
	 , F.DIS
	 , F.date_DIS
	 , OBJ_CODE  = NULL --sj.code
	 , OBJ_NAME  = null -- so.NAME
	 /* -- Вид дохода -  'DZP' - все начисления по ДГХ   
		              -  'UV'  - все увольнительные выплаты
		              -  'DR'  - Другие выплаты 
		              -  'ZP'  - Зарплата		              
	 */			   
	 , VID_DOH = 'DZP'		     						  				   						  
	 , MON = MONTH(sj.period_end)
	 , summa_doh = sj.summa_doh
	 , summa_nal = CASE WHEN INOSTR = 1
						THEN ROUND((sj.summa_doh * 0.30 ),0)
						ELSE ROUND((sj.summa_doh * 0.13 ),0)
					end
	 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
	 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
				  V.DATE_DV
						  
	  /*дата налога */
	  , DATE_NAL =  isnull( V.DATE_V,null) /*если документы по среднему (компенсации при увольнении)  -  дата увольнения */
	  , DATE_ISCH = CASE WHEN ISNULL(V.DATE_V,'') <> '' THEN  dbo.next_work_day(V.DATE_V) ELSE NULL END
					 
	  , DED = NULL
FROM 	
	#FIZ_EMPL_TAB f
	INNER JOIN sj ON f.PERS_LINK = sj.PERS_LINK
	INNER JOIN V ON V.PERS_LINK = sj.PERS_LINK AND V.DATE_DV = sj.period_end
----------------------------------------------------

-------------------------------------------------------------------------
--- группа 2 УВОЛЕННЫЕ


;WITH V AS
(
SELECT link_EMPL, LINK_FACE = null, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V
FROM
	DBO.sdoc s 
	INNER JOIN  dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT = 1
	INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
WHERE
	sd.TYP_PAYMENT = 1
	AND
	S.DATE BETWEEN @BDATE AND @EDATE
GROUP BY	
	link_EMPL, dbo.DateEndOfMonth(S.DATE_CALC) 
),
sj AS 
(
SELECT 
	sj.LINK_FACE , sj.LINK_EMPL
	,f.DATE_DIS
	,period_end = dbo.dateendofmonth(sj.PERIOD_BEGIN)
	,summa_doh = SUM(sj.summa)
FROM 	
	#S_J_C_SHORT sj  
	INNER JOIN #FIZ_EMPL_TAB f ON sj.LINK_FACE = f.LINK_FACE AND  sj.LINK_EMPL =  f.LINK_EMPL
	INNER JOIN dbo.sdoc s ON s.LINK = sj.link_doc
WHERE
	sj.typ_oper = 1
	AND F.DIS = 1
	AND (
	(sj.code = 'DOCUMENTS_CALC_AVG' AND s.[date]  BETWEEN f.date_DIS -14 and dbo.DateEndOfMonth(f.date_DIS))
	OR
	 (sj.code <> 'DOCUMENTS_CALC_AVG' AND s.[date] BETWEEN  f.date_DIS-14 and dbo.DateEndOfMonth(f.date_DIS) ) 
	)
GROUP BY
	sj.LINK_FACE , sj.LINK_EMPL, f.DATE_DIS, dbo.dateendofmonth(sj.PERIOD_BEGIN)
)	


INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED)
SELECT f.link_FACE
	 , null
	 , f.LINK_EMPL
	 , INOSTR 
	 , F.DIS
	 , F.date_DIS
	 , OBJ_CODE  = NULL --sj.code
	 , OBJ_NAME  = null -- so.NAME
	 /* -- Вид дохода -  'DZP' - все начисления по ДГХ   
		              -  'UV'  - все увольнительные выплаты
		              -  'DR'  - Другие выплаты 
		              -  'ZP'  - Зарплата		              
	 */			   
	 , VID_DOH = 'UV'		     						  				   						  
	 , MON = MONTH(sj.period_end)
	 , summa_doh = sj.summa_doh
	 , summa_nal = CASE WHEN INOSTR = 1
					THEN ROUND((sj.summa_doh * 0.30 ),0)
					ELSE ROUND((sj.summa_doh * 0.13 ),0)
				end
	 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
	 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
				  F.DATE_DIS
						  
	  /*дата налога */
	  , DATE_NAL =  V.DATE_V /*если документы по среднему (компенсации при увольнении)  -  дата увольнения */
	  , DATE_ISCH = dbo.next_work_day(V.DATE_V) 
					 
	  , DED = NULL
FROM 	
	#FIZ_EMPL_TAB f
	INNER JOIN sj ON  f.link_face = sj.link_face and  f.link_empl = sj.link_empl
	INNER JOIN V ON /*V.link_face = sj.link_face AND*/ v.link_empl = sj.link_empl AND V.DATE_DV = sj.period_end
WHERE F.DIS = 1 

-------------------------------------------------------------------------

	-- EXEC SA_6NDFL_16_PREPARE_R2        3195


--- группа 3 ДРУГОЕ (больничные, по уходу за ребенком, отпускные, расчеты по среднему (не компенсация) , расчеты по сумме)
;WITH V AS
(
SELECT link_EMPL, LINK_FACE = null, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V  , sv2.link_pay
FROM
	
	DBO.sdoc s 
	INNER JOIN  dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT =3
	INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
	LEFT JOIN SDOC_VEDOM_TABLE2 SV2 ON SV2.LINK_UP = s.LINK 
	
WHERE
	sd.TYP_PAYMENT =3
	AND
	S.DATE BETWEEN @BDATE AND @EDATE
	
GROUP BY	
	link_EMPL, dbo.DateEndOfMonth(S.DATE_CALC) , sv2.link_pay

),
sj AS 
(
SELECT 
	sj.LINK_FACE , sj.LINK_EMPL
	,period_end = sj.period_end
	,summa_doh = SUM(sj.summa)
	,sj.CODE , sj.link_pays
FROM 	
	#S_J_C_SHORT sj  
	INNER JOIN #FIZ_EMPL_TAB f ON sj.LINK_FACE = f.LINK_FACE AND  sj.LINK_EMPL =  f.LINK_EMPL
	INNER JOIN dbo.sdoc s ON s.LINK = sj.link_doc
	LEFT JOIN DBO.DICTIONARY_TYP_INCOMS AS dti ON dti.link = sj.link_inc 
WHERE
	sj.typ_oper = 1
	AND (f.dis = 0 AND sj.code = 'DOCUMENTS_CALC_AVG' AND s.[date]  BETWEEN f.date_DIS -14 and f.date_DIS)
	OR
	 (sj.code = 'DOCUMENTS_ADD_SUMMA' AND isnull(dti.COD_DED,'') <> '' ) 
	OR 
	  sj.code IN('DOCUMENTS_ADD_FURLOUGH' ,  'DOCUMENTS_ADD_ARCHE') 
GROUP BY
	sj.LINK_FACE , sj.LINK_EMPL, sj.period_end,sj.CODE, sj.link_pays
)	



INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED)
SELECT f.link_FACE
	 , null
	 , f.LINK_EMPL
	 , INOSTR 
	 , F.DIS
	 , F.date_DIS
	 , OBJ_CODE  = NULL --sj.code
	 , OBJ_NAME  = null -- so.NAME
	 /* -- Вид дохода -  'DZP' - все начисления по ДГХ   
		              -  'UV'  - все увольнительные выплаты
		              -  'DR'  - Другие выплаты 
		              -  'ZP'  - Зарплата		              
	 */			   
	 , VID_DOH = 'DR'		     						  				   						  
	 , MON = MONTH(sj.period_end)
	 , summa_doh = sj.summa_doh
	 , summa_nal = CASE WHEN INOSTR = 1
					THEN ROUND((sj.summa_doh * 0.30 ),0)
					ELSE ROUND((sj.summa_doh * 0.13 ),0)
				end
	 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
	 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
				  v.date_v
						  
	  /*дата налога */
	  , DATE_NAL = v.date_v
	   /*если документы по среднему (компенсации при увольнении)  -  дата увольнения */
	  , DATE_ISCH =  dbo.next_work_day (sj.period_end-1)-- dbo.is_it_work_day(sj.period_end)
		 
	  , DED = NULL
FROM 	
	#FIZ_EMPL_TAB f
	INNER JOIN sj ON  f.link_face = sj.link_face and  f.link_empl = sj.link_empl and sj.code IN( 'DOCUMENTS_ADD_FURLOUGH' ,  'DOCUMENTS_ADD_ARCHE')	 
	inner JOIN V ON /*V.link_face = sj.link_face AND*/ v.link_empl = sj.link_empl AND sj.period_end = V.DATE_DV  AND sj.link_pays = v.link_pay 
	
-- EXEC SA_6NDFL_16_PREPARE_R2        3195
--- Та же 3 группа , кроме больничных и отпускных



;WITH V AS
(
SELECT link_EMPL, LINK_FACE = null, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V  , SV2.link_pay
FROM
	
	DBO.sdoc s 
	INNER JOIN  dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT in (3)
	INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
	LEFT JOIN SDOC_VEDOM_TABLE2 SV2 ON SV2.LINK_UP = s.LINK 

WHERE
	sd.TYP_PAYMENT IN (3)
	AND
	S.DATE BETWEEN @BDATE AND @EDATE
GROUP BY	
	link_EMPL, dbo.DateEndOfMonth(S.DATE_CALC) , SV2.link_pay

),
sj AS 
(
SELECT 
	sj.LINK_FACE , sj.LINK_EMPL
	,f.DATE_DIS
	,period_end = sj.DT_DOC
	,summa_doh = SUM(sj.summa)
	,sj.CODE , sj.link_pays
	,COD_DED = ISNULL(dti.COD_DED,'')
FROM 	
	#S_J_C_SHORT sj  
	INNER JOIN #FIZ_EMPL_TAB f ON sj.LINK_FACE = f.LINK_FACE AND  sj.LINK_EMPL =  f.LINK_EMPL
	INNER JOIN dbo.sdoc s ON s.LINK = sj.link_doc
	LEFT JOIN DBO.DICTIONARY_TYP_INCOMS AS dti ON dti.link = sj.link_inc 
WHERE
	sj.typ_oper = 1
	AND (f.dis = 0 AND sj.code = 'DOCUMENTS_CALC_AVG' and s.[date]  BETWEEN f.date_DIS -14 and f.date_DIS)
	OR
	 (sj.code = 'DOCUMENTS_ADD_SUMMA' AND isnull(dti.COD_DED,'') <> '' 
	 						AND EXISTS (select * from #S_J_C_SHORT sj1  
												INNER JOIN #FIZ_EMPL_TAB f1 ON sj1.LINK_FACE = f1.LINK_FACE AND  sj1.LINK_EMPL =  f1.LINK_EMPL
												WHERE 
												 sj1.typ_oper = 2
												AND sj1.code ='DOCUMENTS_INCOME_TAX'          
												AND  sj1.LINK_FACE = sj.LINK_FACE	AND sj1.LINK_EMPL = sj.LINK_EMPL	
												AND dbo.dateendofmonth(sj1.period_end) =  dbo.dateendofmonth(sj.period_end)
	 									)	
	 )
	
GROUP BY
	sj.LINK_FACE , sj.LINK_EMPL, f.DATE_DIS, sj.DT_DOC,sj.CODE, sj.link_pays,dti.COD_DED
)	

INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED)
SELECT f.link_FACE
	 , null
	 , f.LINK_EMPL
	 , INOSTR 
	 , F.DIS
	 , F.date_DIS
	 , OBJ_CODE  = NULL --sj.code
	 , OBJ_NAME  = null -- so.NAME
	 /* -- Вид дохода -  'DZP' - все начисления по ДГХ   
		              -  'UV'  - все увольнительные выплаты
		              -  'DR'  - Другие выплаты 
		              -  'ZP'  - Зарплата		              
	 */			   
	 , VID_DOH = 'DR'		     						  				   						  
	 , MON = MONTH(sj.period_end)
	 , summa_doh = sj.summa_doh
	 , summa_nal = case WHEN INOSTR = 1 
							THEN ROUND((SUMMA_DOH * 0.30 ),0)
							ELSE ROUND((SUMMA_DOH * 0.13 ),0) END 	
				
	 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
	 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
				  sj.period_end
						  
	  /*дата налога */
	  , DATE_NAL =  sj.period_end/*если документы по среднему (компенсации при увольнении)  -  дата увольнения */
	  , DATE_ISCH = dbo.next_work_day(sj.period_end) 
					 
	  , DED = NULL
FROM 	
	#FIZ_EMPL_TAB f
	INNER JOIN sj ON  f.link_face = sj.link_face and  f.link_empl = sj.link_empl
--	inner JOIN V ON /*V.link_face = sj.link_face AND*/ v.link_empl = sj.link_empl AND sj.period_end = V.DATE_V 



-- EXEC SA_6NDFL_16_PREPARE_R2        3195
-------------------------------------------------------------------------
--- группа 4 Зарплата 
--- ОТСАЛЬНОЕ К ЗАРПЛАТЕ

;WITH V AS
(
SELECT link_EMPL, LINK_FACE = null, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V,  sv2.LINK_PAY
FROM
	DBO.sdoc s 
	INNER JOIN  dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT = 1
	INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
	LEFT JOIN SDOC_VEDOM_TABLE2 SV2 ON SV2.LINK_UP = s.LINK 
WHERE
	sd.TYP_PAYMENT = 1
	AND
	S.DATE BETWEEN @BDATE AND @EDATE
GROUP BY	
	link_EMPL, dbo.DateEndOfMonth(S.DATE_CALC),sv2.LINK_PAY 
),
sj AS 
(
SELECT 
	sj.LINK_FACE , sj.LINK_EMPL
	,period_end = case when sj.code IN( 'DOCUMENTS_ADD_FURLOUGH' ,  'DOCUMENTS_ADD_ARCHE') then sj.DATE2
				   ELSE  dbo.DateEndofMonth(SJ.PERIOD_END) END 
	,summa_doh = SUM(sj.summa)
	,sj.CODE
	,sj.LINK_PAYS
FROM 	
	#S_J_C_SHORT sj  
	INNER JOIN #FIZ_EMPL_TAB f ON sj.LINK_FACE = f.LINK_FACE AND  sj.LINK_EMPL =  f.LINK_EMPL
	INNER JOIN dbo.sdoc s ON s.LINK = sj.link_doc
	LEFT JOIN DBO.DICTIONARY_TYP_INCOMS AS dti ON dti.link = sj.link_inc 
WHERE
	sj.typ_oper = 1
	and 
	f.dis <> 1
	AND sj.code  <> 'DOCUMENTS_CALC_AVG' 
	AND isnull(dti.COD_DED,'') = (CASE sj.code WHEN 'DOCUMENTS_ADD_SUMMA' THEN  '' ELSE isnull(dti.COD_DED,'')  END )
    AND ( (sj.code IN( 'DOCUMENTS_ADD_FURLOUGH' ,  'DOCUMENTS_ADD_ARCHE') 
			AND not EXISTS (SELECT TOP 1 *
					FROM
						DBO.sdoc s 
						INNER JOIN  dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT = 1
						INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
						LEFT JOIN SDOC_VEDOM_TABLE2 SV2 ON SV2.LINK_UP = s.LINK 
					WHERE
						sd.TYP_PAYMENT = 1
						AND
						S.DATE BETWEEN SJ.PERIOD_BEGIN AND SJ.PERIOD_END
						AND sv2.LINK_PAY = sj.LINK_PAYS 
			)) OR 
			1=1) 
GROUP BY
	sj.LINK_FACE , sj.LINK_EMPL, f.DATE_DIS, 
	case when sj.code IN( 'DOCUMENTS_ADD_FURLOUGH' ,  'DOCUMENTS_ADD_ARCHE') then sj.DATE2 else dbo.DateEndofMonth(SJ.PERIOD_END) END 
	,sj.CODE,sj.LINK_PAYS
)	



INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED)
SELECT f.link_FACE
	 , null
	 , f.LINK_EMPL
	 , INOSTR 
	 , F.DIS
	 , F.date_DIS
	 , OBJ_CODE  = NULL --sj.code
	 , OBJ_NAME  = null -- so.NAME
	 /* -- Вид дохода -  'DZP' - все начисления по ДГХ   
		              -  'UV'  - все увольнительные выплаты
		              -  'DR'  - Другие выплаты 
		              -  'ZP'  - Зарплата		              
	 */			   
	 , VID_DOH = 'ZP'		     						  				   						  
	 , MON = MONTH(sj.period_end)
	 , summa_doh = sj.summa_doh
	 , summa_nal = CASE WHEN INOSTR = 1
					THEN ROUND((sj.summa_doh * 0.30 ),0)
					ELSE ROUND((sj.summa_doh * 0.13 ),0)
				end
	 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
	 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
				  sj.period_end
						  
	  /*дата налога */
	  , DATE_NAL = V.DATE_V /*если документы по среднему (компенсации при увольнении)  -  дата увольнения */
	  , DATE_ISCH = dbo.next_work_day(V.DATE_V) 
					 
	  , DED = NULL
FROM 	
	#FIZ_EMPL_TAB f
	INNER JOIN sj ON  f.link_face = sj.link_face and  f.link_empl = sj.link_empl
	INNER JOIN V ON /*V.link_face = sj.link_face AND*/ v.link_empl = sj.link_empl AND V.DATE_DV = sj.period_end

-- EXEC SA_6NDFL_16_PREPARE_R2        3195

/*IF OBJECT_ID('tempdb..#FIZ_VID_M') IS NOT NULL DROP TABLE #FIZ_VID_DOH
CREATE TABLE #FIZ_VID_M(link_FACE INT, PERS_LINK INT, LINK_EMPL INT, INOSTR int, DIS TINYINT , DATE_DIS datetime,OBJ_CODE CHAR(30), OBJ_NAME varchar(254)
							, VID_DOH CHAR(3), mon int,summa_doh NUMERIC(18,2),summa_nal NUMERIC(18,2),DATE_DOH DATETIME,DATE_NAL datetime, DATE_ISCH DATETIME , DED tinyint )

INSERT INTO #FIZ_VID_M(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED)
SELECT sj.link_FACE
	 , sj.PERS_LINK
	 , sj.LINK_EMPL
	 , INOSTR 
	 , F.DIS
	 , F.date_DIS
	 , OBJ_CODE  = sj.code
	 , OBJ_NAME  = so.NAME
	 /* -- Вид дохода -  'DZP' - все начисления по ДГХ   
		              -  'UV'  - все увольнительные выплаты
		              -  'DR'  - Другие выплаты 
		              -  'ZP'  - Зарплата		              
	 */			   
	 , VID_DOH = CASE WHEN sj.link_FACE IS NULL AND sj.LINK_EMPL IS NULL AND sj.PERS_LINK IS NOT NULL  THEN  'DZP'
				      WHEN sj.link_FACE IS NOT NULL AND  (f.dis = 1 AND sj.code = 'DOCUMENTS_CALC_AVG' AND f.date_DIS  BETWEEN s.[date]-14 and s.[date]  ) OR (f.dis = 1 AND sj.code <> 'DOCUMENTS_CALC_AVG' AND s.[date] BETWEEN  f.date_DIS-14 and dbo.DateEndOfMonth(f.date_DIS) )  THEN 'UV'
					  WHEN sj.link_FACE IS NOT NULL AND ( (f.dis = 0 AND sj.code = 'DOCUMENTS_CALC_AVG' AND f.date_DIS NOT BETWEEN s.[date]-14 and s.[date])
													  OR (sj.code = 'DOCUMENTS_ADD_SUMMA' AND isnull(dti.COD_DED,'') <> '') 
														OR sj.code = 'DOCUMENTS_ADD_FURLOUGH'  
													   
														OR sj.code = 'DOCUMENTS_ADD_ARCHE' ) THEN 'DR'
					  ELSE  'ZP'
				END	  								  
					   						  
	  , MON = MONTH(sj.PERIOD_BEGIN)
	  , summa_doh = sj.summa
	  , summa_nal = 0
	  /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
	  , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
				CASE WHEN sj.link_FACE IS NULL AND sj.LINK_EMPL IS NULL AND sj.PERS_LINK IS NOT NULL  THEN  sj.period_end
	  			    /*если документы по среднему (компенсации при увольнении)  -  дата увольнения */
	  			     WHEN sj.link_FACE IS NOT NULL AND  (f.dis = 1 AND sj.code = 'DOCUMENTS_CALC_AVG' AND f.date_DIS  BETWEEN s.[date]-14 and s.[date]  ) OR (f.dis = 1 AND sj.code <> 'DOCUMENTS_CALC_AVG' AND s.[date] BETWEEN  f.date_DIS-14 and dbo.DateEndOfMonth(f.date_DIS) )   THEN  f.date_dis
					/*если документы относятся к категории другие (больничные, по уходу за ребенком, отпускные, расчеты по среднему (не компенсация) , расчеты по сумме)
					* - дата их выплаты работникам  (дата расчета)*/
					 WHEN sj.link_FACE IS NOT NULL AND ( sj.code = 'DOCUMENTS_ADD_FURLOUGH' 
													  OR (f.dis = 0 AND sj.code = 'DOCUMENTS_CALC_AVG' AND f.date_DIS NOT BETWEEN s.[date]-14 and s.[date])
													  OR (sj.code = 'DOCUMENTS_ADD_SUMMA' AND isnull(dti.COD_DED,'') <> '' )
													  OR sj.code = 'DOCUMENTS_ADD_ARCHE' ) THEN sj.dt_doc	
					ELSE SJ.PERIOD_END
					END								  
	  /*дата налога */
	  , DATE_NAL =  /*если документы по среднему (компенсации при увольнении)  -  дата увольнения */
	  			   CASE   WHEN sj.link_FACE IS NOT NULL AND  (f.dis = 1 AND sj.code = 'DOCUMENTS_CALC_AVG' AND f.date_DIS  BETWEEN s.[date]-14 and s.[date]  ) OR (f.dis = 1 AND sj.code <> 'DOCUMENTS_CALC_AVG' AND s.[date] BETWEEN  f.date_DIS-14 and dbo.DateEndOfMonth(f.date_DIS) )  THEN  f.date_dis
					/*если документы относятся к категории другие ( отпускные, расчеты по среднему (не компенсация) , расчеты по сумме)
					* - дата их выплаты работникам  (дата расчета)*/
					 WHEN sj.link_FACE IS NOT NULL AND ( sj.code = 'DOCUMENTS_ADD_FURLOUGH' 
													  OR (f.dis = 0 AND sj.code = 'DOCUMENTS_CALC_AVG' AND f.date_DIS NOT BETWEEN s.[date]-14 and s.[date])
													  OR (sj.code = 'DOCUMENTS_ADD_SUMMA' AND isnull(dti.COD_DED,'') <> '') 
													  OR  sj.code = 'DOCUMENTS_ADD_ARCHE' ) THEN sj.dt_doc	
					ELSE null
					END	
	  , DATE_ISCH = NULL
	  , DED = CASE  WHEN sj.link_FACE IS NOT NULL  AND sj.code = 'DOCUMENTS_ADD_SUMMA' AND isnull(dti.COD_DED,'') <> ''   THEN 1 ELSE 0 end
FROM 	#S_J_C_SHORT sj  
INNER JOIN #FIZ_EMPL_TAB f ON (f.LINK_FACE = isnull(sj.link_face,NULL)  AND f.LINK_EMPL = isnull(sj.LINK_EMPL,NULL)  ) OR ( f.PERS_LINK = isnull(sj.PERS_LINK,NULL))
INNER JOIN DBO.sdoc s ON s.link = sj.link_doc

INNER JOIN  DBO.S_OBJECTS so ON so.link = s.[object] 
LEFT JOIN DBO.DICTIONARY_TYP_INCOMS AS dti ON dti.link = sj.link_inc 
WHERE  sj.typ_oper = 1

-- EXEC SA_6NDFL_16_PREPARE_R2    2539

---  дата налога -  максимальная дата ведомости на выплату по сотруднику  
--   Собирается финальная сумма за вычетом налога - будут считаться только для вида дохода Зарплата -  для остальных будет высчитываться от суммы дохода на процент (ИНОСТРАНЕЦ\НЕИНОСТРАНЕЦ)
IF OBJECT_ID('tempdb..#FIZ_SUM_FIN_NAL') IS NOT NULL DROP TABLE #FIZ_SUM_FIN_NAL
CREATE TABLE #FIZ_SUM_FIN_NAL(link_FACE INT, PERS_LINK INT, LINK_EMPL INT, INOSTR int, DIS TINYINT , DATE_DIS datetime,OBJ_CODE CHAR(30), OBJ_NAME varchar(254)
							, mon int, summa_Fin NUMERIC(18,2),SUMMA_NAL NUMERIC(18,2),DATE_NAL datetime, DATE_ISCH datetime )
INSERT INTO #FIZ_SUM_FIN_NAL(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS,OBJ_CODE, OBJ_NAME , MON ,SUMMA_FIN,SUMMA_NAL,DATE_NAL, DATE_ISCH)

SELECT sjc.link_FACE , sjc.PERS_LINK , sjc.LINK_EMPL , Fe.INOSTR , Fe.DIS , Fe.DATE_DIS , sjc.code, so.NAME, MON = MONTH(sjc.DATE1),
	   SUMMA_FIN = sum(summa) ,
	   SUMMA_NAL = (SELECT SUM(summa) 
						FROM #S_J_C_SHORT s 
						INNER JOIN PAYS p ON p.LINK = s.link_pays 
						WHERE (s.pers_link = sjc.PERS_LINK OR  ( s.link_face = sjc.LINK_FACE AND s.link_empl = sjc.LINK_empl )) 
						AND MONTH(s.dt_doc) =  MONTH(sjc.dt_doc) AND s.typ_oper = 2 
					    AND p.WAY_CALC =4  AND p.[OBJECT]=2 	
					),
	   DATE_NAL = (SELECT MAX(s.dt_doc) 
					FROM  #S_J_C_SHORT s 
					WHERE (s.pers_link = sjc.PERS_LINK OR  (s.link_face = sjc.LINK_FACE AND s.link_empl = sjc.LINK_empl )) 
					AND MONTH(s.dt_doc) =  MONTH(sjc.dt_doc) AND s.typ_oper = 2 AND  s.date1 = sjc.date1
					AND s.code IN ('DOCUMENTS_DED_PAYROLL','DOCUMENTS_DED_PAYROLL_DGH') )
	  , DATE_ISCH = null
 FROM #S_J_C_SHORT AS sjc 
INNER JOIN #FIZ_EMPL_TAB Fe ON (Fe.LINK_FACE = sjc.LINK_FACE  AND Fe.link_empl = sjc.link_empl) OR Fe.PERS_LINK = sjc.PERS_LINK
INNER JOIN DBO.sdoc s ON s.link = sjc.link_doc
INNER JOIN DBO.sdoc_vedom sv ON sv.LINK_UP = s.LINK
INNER JOIN  DBO.S_OBJECTS so ON so.link = s.[object] 
WHERE sjc.typ_oper = 2 
AND sv.TYP_PAYMENT = 1
AND sjc.code IN ('DOCUMENTS_DED_PAYROLL','DOCUMENTS_DED_PAYROLL_DGH')
GROUP BY   sjc.link_FACE , sjc.PERS_LINK , sjc.LINK_EMPL , Fe.LINK_FACE, Fe.link_empl ,Fe.PERS_LINK , Fe.INOSTR , Fe.DIS , Fe.DATE_DIS , sjc.code, so.NAME, MONTH(sjc.dt_doc), sjc.date1

SELECT * FROM #FIZ_VID_M  WHERE link_empl = 123
SELECT * FROM #FIZ_SUM_FIN_NAL WHERE link_empl = 123
*/

-- EXEC SA_6NDFL_16_PREPARE_R2    2539
-- EXEC SA_6NDFL_16_PREPARE_R2        3195
SELECT 
	  PERS_LINK = LINK_FACE
	  , DGH  = 0
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
INTO #TAB_ZP	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'ZP'
GROUP BY link_FACE,LINK_EMPL,PERS_LINK,DIS, INOSTR, VID_DOH, mon,DATE_DOH, DATE_NAL, DATE_ISCH	  


SELECT 
	  PERS_LINK
	  , DGH  = 1
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
INTO #TAB_DZP	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'DZP'
GROUP BY  link_FACE,LINK_EMPL,PERS_LINK,DIS, INOSTR, VID_DOH, mon,DATE_DOH, DATE_NAL, DATE_ISCH	


SELECT
	  PERS_LINK = LINK_FACE
	  , DGH  = 0
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
INTO #TAB_UV	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'UV'
GROUP BY link_FACE,LINK_EMPL,PERS_LINK,DIS, INOSTR, VID_DOH, mon,DATE_DOH, DATE_NAL, DATE_ISCH	


SELECT
	  PERS_LINK = LINK_FACE
	  , DGH  = 0
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
	  ,DED
INTO #TAB_DR	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'DR'
GROUP BY link_FACE,DIS, INOSTR, VID_DOH, mon, DATE_DOH, DATE_NAL, DATE_ISCH,DED


/*

-- расставим даты удержания налога для зарплаты и по ГПХ
UPDATE TZP 
SET DATE_NAL =   ISNULL((SELECT  max(DATE_NAL) FROM #FIZ_SUM_FIN_NAL WHERE link_FACE = TZP.PERS_LINK AND  mon = MONTH(TZP.DATE_DOH)   ),DATE_DOH)
					 
FROM #TAB_ZP AS TZP  


UPDATE TDZP 
SET DATE_NAL = CASE WHEN EXISTS (SELECT DATE_NAL FROM #FIZ_SUM_FIN_NAL WHERE PERS_LINK = TDZP.PERS_LINK AND mon = MONTH(TDZP.DATE_DOH) )
					THEN (SELECT DATE_NAL FROM #FIZ_SUM_FIN_NAL WHERE PERS_LINK = TDZP.PERS_LINK AND mon = MONTH(TDZP.DATE_DOH) )
					ELSE TDZP.DATE_DOH END 
FROM #TAB_DZP AS TDZP 
версия
--- Срок перечисления налога
--ДЕНЬ СЛЕДУЮЩИЙ ЗА ДНЕМ ВЫПЛАТЫ ДОХОДА
UPDATE TZP
SET DATE_ISCH = CASE WHEN (SELECT td_code FROM KD_GRAPH_TABLE WHERE [YEAR] = year(TZP.date_nal) AND [MONTH] = month(TZP.date_nal)  AND DAY = day(TZP.date_nal)+1  AND LINK_GR = (SELECT TOP 1 link FROM  GRAPH) ) = 'В' 
					 THEN (SELECT top 1 dbo.ConvertDMY2Date([day],[month],[year])
					       FROM KD_GRAPH_TABLE 
					       WHERE [YEAR] = year(TZP.date_nal) AND link > (SELECT link FROM KD_GRAPH_TABLE WHERE [YEAR] = year(TZP.date_nal) AND [MONTH] = month(TZP.date_nal)  AND [DAY] = day(TZP.date_nal)+1  AND LINK_GR = (SELECT TOP 1 link FROM  GRAPH) AND TD_CODE = 'В'  )  
					       AND LINK_GR = (SELECT TOP 1 link FROM  GRAPH) 
					       AND TD_CODE in ('Я','Ф') )
					 ELSE  TZP.date_nal + 1   END    
FROM #TAB_ZP AS TZP

--ДЕНЬ СЛЕДУЮЩИЙ ЗА ДНЕМ ВЫПЛАТЫ ДОХОДА
UPDATE TDZP
SET DATE_ISCH = CASE WHEN (SELECT td_code FROM KD_GRAPH_TABLE WHERE [YEAR] = year(TDZP.date_nal) AND [MONTH] = month(TDZP.date_nal)  AND DAY = day(TDZP.date_nal)+1  AND LINK_GR = (SELECT TOP 1 link FROM  GRAPH) ) = 'В' 
					 THEN (SELECT top 1 dbo.ConvertDMY2Date([day],[month],[year])
					       FROM KD_GRAPH_TABLE 
					       WHERE [YEAR] = year(TDZP.date_nal) AND link > (SELECT link FROM KD_GRAPH_TABLE WHERE [YEAR] = year(TDZP.date_nal) AND [MONTH] = month(TDZP.date_nal)  AND [DAY] = day(TDZP.date_nal)+1  AND LINK_GR = (SELECT TOP 1 link FROM  GRAPH) AND TD_CODE = 'В'  )  
					       AND LINK_GR = (SELECT TOP 1 link FROM  GRAPH) 
					       AND TD_CODE in ('Я','Ф') )
					 ELSE  TDZP.date_nal + 1   END    
FROM #TAB_DZP  AS TDZP

--ДЕНЬ СЛЕДУЮЩИЙ ЗА ДНЕМ ВЫПЛАТЫ ДОХОДА ()
UPDATE TUV
SET DATE_ISCH =  TUV.date_nal + 1 
FROM #TAB_UV AS TUV 

-- Последний день месяца (с учетом выходных и праздников) 

UPDATE TDR
SET DATE_ISCH =  (CASE WHEN (SELECT top 1 td_code FROM KD_GRAPH_TABLE WHERE [YEAR] = year(TDR.date_nal) AND [MONTH] = TDR.MON  AND DAY = day(dbo.DateEndOfMonth(TDR.date_nal))  AND LINK_GR = (SELECT TOP 1 link FROM  GRAPH) ) = 'В' 
					 THEN (SELECT top 1 dbo.ConvertDMY2Date([day],[month],[year])
					       FROM KD_GRAPH_TABLE 
					       WHERE [YEAR] = year(TDR.date_nal) AND link > (SELECT link FROM KD_GRAPH_TABLE WHERE [YEAR] = year(TDR.date_nal) AND [MONTH] = TDR.MON  AND [DAY] = day(dbo.DateEndOfMonth(TDR.date_nal))  AND LINK_GR = (SELECT TOP 1 link FROM  GRAPH) AND TD_CODE = 'В'  )  
					       AND LINK_GR = (SELECT TOP 1 link FROM  GRAPH) 
					       AND TD_CODE IN ('Я','Ф') )
					 ELSE dbo.DateEndOfMonth(TDR.date_nal)    END ) 
				 
FROM #TAB_DR AS TDR WHERE  TDR.DATE_ISCH IS null


-- -- EXEC SA_6NDFL_16_PREPARE_R2      553
----------
--- Проставим суммы налога 
UPDATE TZP
SET SUMMA_NAL = CASE WHEN INOSTR = 1
					THEN ROUND((SUMMA_DOH * 0.30 ),0)
					ELSE ROUND((SUMMA_DOH * 0.13 ),0)
				end
FROM #TAB_ZP AS TZP

UPDATE TDZP
SET SUMMA_NAL = CASE WHEN INOSTR = 1
					THEN ROUND((SUMMA_DOH * 0.30 ),0)
					ELSE ROUND((SUMMA_DOH * 0.13 ),0)
				end
FROM #TAB_DZP AS TDZP

UPDATE TUV
SET SUMMA_NAL = fsfn.SUMMA_NAL /* CASE WHEN INOSTR = 1
					THEN ROUND((SUMMA_DOH * 0.30 ),0)
					ELSE ROUND((SUMMA_DOH * 0.13 ),0)
				end*/ 
FROM #TAB_UV AS TUV
INNER JOIN #FIZ_SUM_FIN_NAL AS fsfn ON  fsfn.link_FACE = TUV.PERS_LINK AND fsfn.DATE_DIS=  TUV.DATE_DOH

UPDATE TDR
SET SUMMA_NAL = CASE when DED = 0 THEN (case WHEN INOSTR = 1 
							THEN ROUND((SUMMA_DOH * 0.30 ),0)
							ELSE ROUND((SUMMA_DOH * 0.13 ),0) END )
					ELSE 0		
				end
FROM #TAB_DR AS TDR 



-- EXEC SA_6NDFL_16_PREPARE_R2    2539

--SELECT * FROM #FIZ_EMPL_TAB /* WHERE link_face =  17255 *//*ORDER BY link_face*/ 
SELECT * FROM #S_J_C_SHORT /*WHERE  link_face =  17255*/ ORDER BY  Dt_doc, link_face, link_empl 
SELECT * FROM #FIZ_VID_DOH /*WHERE link_face =   17255*/
SELECT * FROM #FIZ_SUM_FIN_NAL AS fsfn /* WHERE link_face =   17255*/
SELECT * FROM #TAB_ZP /*WHERE PERS_LINK =   17255*/
SELECT * FROM #TAB_DZP /*WHERE PERS_LINK =   17255*/
SELECT * FROM #TAB_UV /*WHERE PERS_LINK =   17255*/
SELECT * FROM #TAB_DR /*WHERE PERS_LINK =   17255*/

-- EXEC SA_6NDFL_16_PREPARE_R2        3195



*/CREATE TABLE #PAYS_TMP (VID_DOH CHAR(3), SUMMA_DOH NUMERIC(18,2), SUMMA_NAL NUMERIC(18,2), MON tinyint, DATE_DOH datetime, DATE_NAL datetime, DATE_ISCH DATETIME)
INSERT INTO #PAYS_TMP(VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH)

--SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
--FROM #TAB_DR TDR

SELECT TB.VID_DOH, SUMMA_DOH = SUM(TB.SUMMA_DOH), SUMMA_NAL = SUM(TB.SUMMA_NAL),MON,TB.DATE_DOH,TB.DATE_NAL, TB.DATE_ISCH
FROM 
(SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_ZP TZP
UNION ALL
SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_DZP TDZP
UNION ALL
SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_UV TUV
UNION ALL
SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_DR TDR) TB
GROUP BY TB.VID_DOH,MON, TB.DATE_DOH, TB.DATE_NAL, TB.DATE_ISCH--, TB.SUMMA_DOH, TB.SUMMA_NAL



-- EXEC SA_6NDFL_16_PREPARE_R2    2539


CREATE TABLE #RAZD2 (LINK INT IDENTITY (1,1), COL2 VARCHAR(10),COL3 VARCHAR(10), COL4 VARCHAR(10), COL5 NUMERIC(18,2), COL6 NUMERIC(18,2))
INSERT INTO #RAZD2 ( COL2, COL3, COL4, COL5, COL6)
SELECT
	CONVERT (VARCHAR (10), A.DATE_DOH,104),
	CONVERT(VARCHAR (10), A.DATE_NAL,104),
	CONVERT(VARCHAR (10), A.DATE_ISCH,104),
	sum(A.SUMMA_DOH),
	SUM(A.SUMMA_NAL)
FROM 
	#PAYS_TMP  A
GROUP BY A.[mon],A.DATE_DOH, A.DATE_NAL,A.DATE_ISCH /*, B.PERIOD_ndfl*/
ORDER BY
	A.DATE_DOH, A.DATE_NAL,A.DATE_ISCH
	
--SELECT * FROM SYS.objects WHERE NAME LIKE '%DMY%'
--SCRIPT X, next_work_day
--SET @varKSSQL = '
--	INSERT INTO #RAZD2 ( COL2, COL3, COL4, COL5, COL6)
--	SELECT
--		CONVERT(VARCHAR (10), A.DATE_DOH,104),
--		CONVERT(VARCHAR (10), A.DATE_NAL,104), 
--		A.DATE_ISCH/*CONVERT(VARCHAR (10), A.DATE_ISCH,104), /*dbo.DateEndOfDay(A.DATE_ISCH)*/*/
--		sum(A.SUMMA_DOH),
--		SUM(A.SUMMA_NAL)
--	FROM 
--		#PAYS_TMP  A
--	GROUP BY A.[mon],A.DATE_DOH, A.DATE_NAL,A.DATE_ISCH /*, B.PERIOD_ndfl*/
--	ORDER BY
--		A.DATE_DOH, A.DATE_NAL,A.DATE_ISCH'

--EXEC (@varKSSQL)

SELECT
	CODE = REPLICATE( '0', 3-len(CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)) ))+CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)) ,
	COL1 = CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)),
	COL2,
	COL3,
	COL4,
	COL5,
	COL6
FROM
	#RAZD2 E
ORDER BY
	month(convert(datetime,COL2,104))


DROP TABLE #RAZD2


	

RETURN 0




GO


GRANT EXECUTE ON dbo.[SA_6NDFL_16_PREPARE_R2] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_6NDFL_EXPORT_v5_01]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_6NDFL_EXPORT_v5_01]

GO

/*EXEC dbo.BK_SELECT_EXPORT_FORMAT 2486*/
/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]       42251*/
CREATE      PROCEDURE [dbo].SA_6NDFL_EXPORT_v5_01 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT  ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))


INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------

DECLARE @FILTER_SUBDIV_NAME VARCHAR(254) , @FILTER_SUBDIV_LINK INT
SET @FILTER_SUBDIV_NAME = (SELECT DBO.RN_GET_ATR_VALUE(@Link, 'REPORTS_FILTER_SUBDIV'))

IF @FILTER_SUBDIV_NAME IS NOT NULL
	SET @FILTER_SUBDIV_LINK = 
		( SELECT TOP 1 LINK FROM DBO.REPORT_KBK 
		  WHERE 
		   ('№' + CONVERT(VARCHAR(3),PROPERTY) + ' - ' +  NAME ) =  @FILTER_SUBDIV_NAME
			AND 
			CODE_FORM='FILTER_NABOR' AND CODE='REPORTS_FILTER_SUBDIV')

DECLARE @BUFFER_SUBDIV VARCHAR(20) 
DECLARE @SUBDIV TABLE (LINK INT)

IF @FILTER_SUBDIV_LINK IS NOT NULL 
BEGIN

	EXEC DBO.GETRANDSTR 20, @BUFFER_SUBDIV OUT

	INSERT INTO @SUBDIV (LINK) 
	SELECT LINK FROM DBO.RN_VIEW_FILTER WHERE LINK_SELF = @FILTER_SUBDIV_LINK

END


DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT,
		@Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,Period_Number*3,YEAR(Begin_Date))),
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS
WHERE LINK_SAVED_FORM = @link


DECLARE
	@first_month_of_quarter TINYINT,
	@second_month_of_quarter TINYINT,
	@third_month_of_quarter TINYINT

IF @Period_Number = 1
	SELECT @first_month_of_quarter = 1, @second_month_of_quarter = 2, @third_month_of_quarter = 3
IF @Period_Number = 2
	SELECT @first_month_of_quarter = 4, @second_month_of_quarter = 5, @third_month_of_quarter = 6
IF @Period_Number = 3
	SELECT @first_month_of_quarter = 7, @second_month_of_quarter = 8, @third_month_of_quarter = 9
IF @Period_Number = 4
	SELECT @first_month_of_quarter = 10, @second_month_of_quarter = 11, @third_month_of_quarter = 12

SELECT  @first_month_of_quarter = ISNULL(@first_month_of_quarter,1), @second_month_of_quarter = ISNULL(@second_month_of_quarter,2), @third_month_of_quarter = ISNULL(@third_month_of_quarter,3)


SELECT top 1
	DD1.OKPO AS OKPO1,
	DD1.INN AS INN1, 
    KPP1 =  CASE WHEN EXISTS(SELECT * FROM @SUBDIV) 
				 then (SELECT TOP 1 O_KPP FROM  subdiv WHERE LINK_up = (SELECT TOP 1 link FROM @SUBDIV) AND  @End_Date BETWEEN DATE_BEGIN AND DATE_END )
				 else DD1.KPP END ,
	FULL_NAME = UPPER(DD1.FULL_NAME),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	DD1.OGRN AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	CHIEF.FM as CHIEF_FM,
	CHIEF.IM as CHIEF_IM,
	CHIEF.OT as CHIEF_OT,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	DD1.OGRN,
	DD1.OKATO,
	OKTMO = CASE WHEN EXISTS(SELECT * FROM @SUBDIV) 
				 then (SELECT TOP 1 O_OKATO FROM  subdiv WHERE LINK_up = (SELECT TOP 1 link FROM @SUBDIV) AND  @End_Date BETWEEN DATE_BEGIN AND DATE_END)
				 else DD1.OKTMO END ,
	DD1.OKVED,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TaxType = DD1.FSS_KP_PC1,
	TaxType2 = DD1.FSS_KP_PC2,
	TaxType3 = DD1.FSS_KP_PC3
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP

/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]        553*/



DECLARE @NumDotC VARCHAR(2), @NumDot INT
SELECT @NumDotC = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_NOM_OBR'),'00')
SET @NumDot = CASE WHEN ISNUMERIC(@NumDotC) =1 THEN CONVERT(INT,@NumDotC) ELSE 0 END

DECLARE @LIKV VARCHAR(3), @nLIKV INT
SELECT @LIKV = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_LIKVID'),'00')
SET @nLIKV = CASE WHEN LTRIM(RTRIM(@LIKV)) = 'Да' THEN 1 ELSE 0 END

DECLARE @Cur0 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @Cur CURSOR, @Cur1 CURSOR, @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254)

DECLARE @lcFNAME varchar(254),
		@lcFidNAME VARCHAR(254)

SELECT @lcFNAME ='NO_NDFL6_'+ IMNS_SONO + '_'+ SONO + '_'+ LTRIM(rtrim(INN1))+LTRIM(rtrim(KPP1))+ '_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_0.XML' FROM #DEP_DATA
SELECT @lcFidNAME ='NO_NDFL6_'+ IMNS_SONO + '_'+ SONO + '_'+ LTRIM(rtrim(INN1))+LTRIM(rtrim(KPP1))+ '_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_0' FROM #DEP_DATA
/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]       2060*/
--SELECT convert(varchar(10),@modify_date,104)

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'OEM' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="windows-1251"?>'
--UNION ALL SELECT @lcFNAME, SPACE(0) + '<?F4FORM version="0.7"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<Файл ИдФайл="'+LTRIM(RTRIM(@lcFidNAME))+'" ВерсПрог="'+@NAME_PROG+ ':'+ @VERS_PROG+'" ВерсФорм="5.01">'

/** Титул **/

	UNION ALL SELECT @lcFNAME, SPACE(1) + '<Документ'
		+ ' КНД="1151099"'
		+ ' ДатаДок="' + convert(varchar(10),@modify_date,104) + '"'
		--+ ' DOP_NUM="' + ISNULL(LTRIM(RTRIM(FSS_KOD_DOP)),'') + '"'
		+ ' Период="' + (CASE @Period_Number WHEN 1 THEN '21' WHEN 2 THEN '31' WHEN 3 THEN '33' ELSE '34' END) + '"'
		+ ' ОтчетГод="' + CONVERT(VARCHAR(4),@YEAR) + '"'
		+ ' КодНО="' + LTRIM(RTRIM(IMNS_SONO)) + '"'
		+ ' НомКорр="' + LTRIM(RTRIM(CONVERT(VARCHAR(3),@Version))) + '"' --Номер корректировки
		+ ' ПоМесту="212">'
	FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<СвНП'	
			+ ' ОКТМО="' + LTRIM(RTRIM(OKTMO)) + '"'
			+ CASE WHEN ISNULL((SELECT LTRIM(RTRIM(phone)) FROM DICTIONARY_OTV_FACE  WHERE Dep_LINK=dbo.GetOwnDepLink() and name = 'Руководитель'),'') = '' 
				THEN '' ELSE 
				' Тлф="' +(SELECT LTRIM(RTRIM(phone)) FROM DICTIONARY_OTV_FACE  WHERE Dep_LINK=dbo.GetOwnDepLink() and name = 'Руководитель') + '"'
				END 
				+ '>'
		FROM #DEP_DATA	
				UNION ALL SELECT @lcFNAME, SPACE(3) + '<НПЮЛ'	
					+ ' НаимОрг="' + LTRIM(RTRIM(REPLACE(FULL_NAME,'"',''))) + '"'
					+ ' ИННЮЛ="' +LTRIM(RTRIM(INN1)) + '"'
					+ ' КПП="' + LTRIM(RTRIM(KPP1)) + '"/>'
				FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '</СвНП>'	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<Подписант ПрПодп="1">'
				UNION ALL SELECT @lcFNAME, SPACE(3) + '<ФИО'	+ ' Фамилия="' + LTRIM(RTRIM(CHIEF_FM)) + '"'
					+ ' Имя="' +LTRIM(RTRIM(CHIEF_IM)) + '"'
					+ ' Отчество="' + LTRIM(RTRIM(CHIEF_OT)) + '"/>'
				FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '</Подписант>'

--  /** Раздел I **/

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<НДФЛ6>'

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(3) + '<ОбобщПоказ' 
					 +' КолФЛДоход="' + isnull((select ltrim(rtrim(SUMMA)) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3060' ),0) + '"'  
					 +' УдержНалИт="' + + isnull((select LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3070' ),0) + '"'
					 +' НеУдержНалИт="' + + isnull((select LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3080'),0) + '"'
					 +' ВозврНалИт="' + + isnull((select LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3090' ),0) + '">'
  
	IF		(SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='020')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='025')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='030')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='040')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='045')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='050')>0
	BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(4) + '<СумСтавка Ставка="' + (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='010')  +'" '
							+ 'НачислДох="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='020') +'" '
							+ 'НачислДохДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='025') +'" '
							+ 'ВычетНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='030') +'" '
							+ 'ИсчислНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='040') +'" '	
							+ 'ИсчислНалДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='045') +'" '
							+ 'АвансПлат="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='050') +'"/>'	
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE IN ('010')  ORDER BY T.COL
	END		
	IF		(SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1020')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1025')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1030')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1040')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1045')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1050')>0
	BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(4) + '<СумСтавка Ставка="' + (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1010')  +'" '
							+ 'НачислДох="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1020') +'" '
							+ 'НачислДохДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1025') +'" '
							+ 'ВычетНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1030') +'" '
							+ 'ИсчислНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1040') +'" '	
							+ 'ИсчислНалДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1045') +'" '
							+ 'АвансПлат="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1050') +'"/>'	
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE IN ('1010')  ORDER BY T.COL
	END		
	IF		(SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2020')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2025')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2030')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2040')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2045')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2050')>0
	BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(4) + '<СумСтавка Ставка="' + (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2010')  +'" '
							+ 'НачислДох="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2020') +'" '
							+ 'НачислДохДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2025') +'" '
							+ 'ВычетНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2030') +'" '
							+ 'ИсчислНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2040') +'" '	
							+ 'ИсчислНалДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2045') +'" '
							+ 'АвансПлат="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2050') +'"/>'	
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE IN ('2010')  ORDER BY T.COL
			
	END		
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</ОбобщПоказ>'



--  /** Раздел II **/

		CREATE TABLE #TAB_R2 (
			LINK INT identity(1,1), DATE_F_INC VARCHAR(10), DATE_U_NAL VARCHAR(10), DATE_PER VARCHAR(10), SUM_FAKT_INC NUMERIC(18,2), SUM_U_NAL NUMERIC(18,2))

		CREATE TABLE #TEMP_R2 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(10))
		INSERT INTO #TEMP_R2  (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, DEFAULT) T ORDER BY T.COL

		INSERT INTO #TAB_R2 (DATE_F_INC, DATE_U_NAL, DATE_PER, SUM_FAKT_INC,SUM_U_NAL)
		SELECT DISTINCT
			DATE_F_INC = (SELECT TOP 1 STR_VAL FROM #TEMP_R2 T WHERE T.COL = 2 AND T.ROW_CODE = T2.ROW_CODE),
			DATE_U_NAL = (SELECT TOP 1 STR_VAL FROM #TEMP_R2 T WHERE T.COL = 3 AND T.ROW_CODE = T2.ROW_CODE),
			DATE_PER = (SELECT TOP 1 STR_VAL FROM #TEMP_R2 T WHERE T.COL = 4 AND T.ROW_CODE = T2.ROW_CODE),
			SUM_FAKT_INC = (SELECT TOP 1 SUMMA FROM #TEMP_R2 T WHERE T.COL = 5 AND T.ROW_CODE = T2.ROW_CODE),
			SUM_U_NAL = (SELECT TOP 1 SUMMA FROM #TEMP_R2 T WHERE T.COL = 6 AND T.ROW_CODE = T2.ROW_CODE)
		FROM
			#TEMP_R2 T2 


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(3) + '<ДохНал>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(4) + '<СумДата ДатаФактДох="' + LTRIM(RTRIM(ISNULL(DATE_F_INC,''))) +'" '
					 + 'ДатаУдержНал="'+ LTRIM(RTRIM(ISNULL(DATE_U_NAL,'')))  +'" '
					 + 'СрокПрчслНал="'+ LTRIM(RTRIM(ISNULL(DATE_PER,'')))  +'" '
					 + 'ФактДоход="'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),SUM_FAKT_INC),'')))   +'" '
					 + 'УдержНал="'+ LTRIM(RTRIM(ISNULL(CONVERT(int,SUM_U_NAL),'')))   +'"/>'
	FROM #TAB_R2  ORDER BY convert(datetime,DATE_F_INC,104)

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</ДохНал>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '</НДФЛ6>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(1) + '</Документ>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(0) + '</Файл>'
/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]         2833*/


SET NOCOUNT OFF


select * from #OUTPUT order by [ID]











GO


GRANT EXECUTE ON dbo.[SA_6NDFL_EXPORT_v5_01] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZVM_EXPORT_v2_40]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZVM_EXPORT_v2_40]

GO

/*EXEC dbo.BK_SELECT_EXPORT_FORMAT 2486*/
/*exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451*/
CREATE      PROCEDURE [dbo].SA_SZVM_EXPORT_v2_40 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT  ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))


INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------


DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT,
		@Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = Begin_Date,
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS
WHERE LINK_SAVED_FORM = @link


DECLARE
	@first_month_of_quarter TINYINT,
	@second_month_of_quarter TINYINT,
	@third_month_of_quarter TINYINT

IF @Period_Number = 1
	SELECT @first_month_of_quarter = 1, @second_month_of_quarter = 2, @third_month_of_quarter = 3
IF @Period_Number = 2
	SELECT @first_month_of_quarter = 4, @second_month_of_quarter = 5, @third_month_of_quarter = 6
IF @Period_Number = 3
	SELECT @first_month_of_quarter = 7, @second_month_of_quarter = 8, @third_month_of_quarter = 9
IF @Period_Number = 4
	SELECT @first_month_of_quarter = 10, @second_month_of_quarter = 11, @third_month_of_quarter = 12

SELECT  @first_month_of_quarter = ISNULL(@first_month_of_quarter,1), @second_month_of_quarter = ISNULL(@second_month_of_quarter,2), @third_month_of_quarter = ISNULL(@third_month_of_quarter,3)


SELECT top 1
	DD1.OKPO AS OKPO1,
	DD1.INN AS INN1, DD1.KPP AS KPP1,
	FULL_NAME = UPPER(DD1.FULL_NAME),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	DD1.OGRN AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	CHIEF.FM as CHIEF_FM,
	CHIEF.IM as CHIEF_IM,
	CHIEF.OT as CHIEF_OT,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	DD1.OGRN,
	DD1.OKATO,
	DD1.OKTMO,
	DD1.OKVED,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TaxType = DD1.FSS_KP_PC1,
	TaxType2 = DD1.FSS_KP_PC2,
	TaxType3 = DD1.FSS_KP_PC3
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP

/*exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451*/

DECLARE @TYPE_FORM VARCHAR(5), @NumDot INT
SELECT @TYPE_FORM = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'RB_VIEW_ATR_TYPE_KORR'),'Исхд')
--SET @NumDot = CASE WHEN ISNUMERIC(@NumDotC) =1 THEN CONVERT(INT,@NumDotC) ELSE 0 END

DECLARE @Cur0 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @Cur CURSOR, @Cur1 CURSOR, @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254)

DECLARE @lcFNAME varchar(254),
		@lcFidNAME VARCHAR(254),
        @GUID UNIQUEIDENTIFIER
SET @GUID = NEWID()


SELECT @lcFNAME ='ПФР_'+ PFNUMBER + '_000000_СЗВ-М_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_'+ltrim(rtrim(@GUID))+'.XML' FROM #DEP_DATA
SELECT @lcFidNAME ='ПФР_'+ PFNUMBER + '_000000_СЗВ-М_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_'+ltrim(rtrim(@GUID))+'' FROM #DEP_DATA

--SELECT convert(varchar(10),@modify_date,104)



INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'UTF-8' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="UTF-8"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<ЭДПФР xmlns="http://пф.рф/ВС/СЗВ-М/2016-04-01" xmlns:УТ="http://пф.рф/унифицированныеТипы/2014-01-01" xmlns:АФ="http://пф.рф/АФ" xmlns:xs="http://www.w3.org/2001/XMLSchema">'
UNION ALL SELECT @lcFNAME, SPACE(1) + '<СЗВ-М>'



/** Титул **/
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<ТипФормы>1</ТипФормы>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<Страхователь>'

		UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегНомер>'+RTRIM(LTRIM(PFNUMBER))+'</РегНомер>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<НаименованиеКраткое>'+RTRIM(LTRIM(ORGNAME))+'</НаименованиеКраткое>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<ИНН>'+RTRIM(LTRIM(COALESCE(INN1,'')))+'</ИНН>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<КПП>'+RTRIM(LTRIM(KPP1))+'</КПП>' FROM #DEP_DATA
	UNION ALL SELECT @lcFNAME, SPACE(2) + '</Страхователь>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<ОтчетныйПериод>'
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<Месяц>'+RTRIM(LTRIM(CONVERT(char(2),month(@End_Date))))+'</Месяц>' 
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<КалендарныйГод>'+CONVERT(VARCHAR(4),@YEAR)+'</КалендарныйГод>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '</ОтчетныйПериод>'
	
--  /** Раздел I **/



CREATE TABLE #TAB_1 (NUM_PP  INT identity(1,1) , FIO VARCHAR(254),FM VARCHAR(100), IM VARCHAR(100) , OT VARCHAR(100),  INSUR_NUM VARCHAR(15), INN VARCHAR(12))

CREATE TABLE #TEMP_1 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TEMP_1  (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T ORDER BY T.COL , t.ROW_CODE


INSERT INTO #TAB_1 ( FIO, FM, IM, OT, INSUR_NUM, INN)
SELECT DISTINCT
	--NUM_PP = (SELECT TOP 1 ROW_CODE FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	FIO = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	FM = (SELECT TOP 1 left(STR_VAL, PATINDEX ( '% %' , STR_VAL)) FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	IM = (SELECT TOP 1 SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,PATINDEX ( '% %' ,SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1)))  FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	OT = (SELECT TOP 1 SUBSTRING(SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1), PATINDEX('% %', SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1)), LEN(SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1))) FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	INSUR_NUM = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 3 AND T.ROW_CODE = T1.ROW_CODE),
	INN = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 4 AND T.ROW_CODE = T1.ROW_CODE)
FROM
	#TEMP_1 T1 


DECLARE  @DEP_LINK1 INT , @ID1 INT /*Номер записи*/ , @nYear int, @nMonth int
set @ID1 = 0
--SET @nYear = year(@dDate1)
--set @nMonth = month(@dDate1)


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<СписокЗЛ>'

SET @Cur1 = CURSOR FORWARD_ONLY
FOR select NUM_PP from #TAB_1  ORDER BY NUM_PP
	
OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @ID1

	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME,SPACE(3) + '<ЗЛ НомерПП="'+RTRIM(LTRIM(STR(@ID1)))+'">' + CHAR(10)
								+ SPACE(4) + '<ФИО>' + CHAR(10)
									+ SPACE(5) + '<УТ:Фамилия>'+ RTRIM(LTRIM(COALESCE(FM,''))) +'</УТ:Фамилия>' + CHAR(10)
									+ SPACE(5) + '<УТ:Имя>'+RTRIM(LTRIM(COALESCE(IM,'')))+'</УТ:Имя>' + CHAR(10)
									+ SPACE(5) + '<УТ:Отчество>'+ RTRIM(LTRIM(COALESCE(OT,''))) +'</УТ:Отчество>' + CHAR(10)
								+ SPACE(4) + '</ФИО>' + CHAR(10)
								+ SPACE(4) + '<СНИЛС>'+ RTRIM(LTRIM(COALESCE(INSUR_NUM,''))) +'</СНИЛС>' + CHAR(10)
								+ SPACE(4) + (CASE WHEN COALESCE(INN,'') = '' THEN  '' 
										 WHEN len(COALESCE(INN,'')) <> 12  THEN    '' 
										 else '<ИНН>'+RTRIM(LTRIM(INN))+'</ИНН>' END )	 + CHAR(10)
						 + SPACE(3) + '</ЗЛ>' 
				FROM
					#TAB_1
				WHERE 
					NUM_PP = @ID1 
	
		END
		
		FETCH NEXT FROM @Cur1 INTO @ID1



	END

	CLOSE @Cur1
	DEALLOCATE @Cur1
	--exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '</СписокЗЛ>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '<ДатаЗаполнения>'+CONVERT(VARCHAR(10),ltrim(rtrim(replace(convert(varchar(10),@modify_date,126),'.',''))))+'</ДатаЗаполнения>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(1) + '</СЗВ-М>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '<СлужебнаяИнформация>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<АФ:GUID>'+RTRIM(LTRIM(COALESCE(@GUID,'')))+'</АФ:GUID>' + CHAR(10)
				   + SPACE(2) + '<АФ:ДатаВремя>'+CONVERT(VARCHAR(25),ltrim(rtrim(replace(convert(varchar(19),GETDATE(),126 ),'.','')+'+03:00')))+'</АФ:ДатаВремя>' + CHAR(10)
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '</СлужебнаяИнформация>'

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(0) + '</ЭДПФР>'



SET NOCOUNT OFF


select * from #OUTPUT order by [ID]










GO


GRANT EXECUTE ON dbo.[SA_SZVM_EXPORT_v2_40] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RSA_6NDFL_01012016_PREPARE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RSA_6NDFL_01012016_PREPARE]

GO

CREATE PROCEDURE dbo.RSA_6NDFL_01012016_PREPARE
	@Res float output, @varcStr varchar(250), @vardBegin datetime = '20150101', @vardEnd datetime = '20151231', @variCol int, @variRow int, @variLSF int


AS BEGIN

SET NOCOUNT ON

/*declare
	@varKScYear varchar(4),			
	@nPERIOD int,
	@varKSnFirstNum INT,
	@nCHECK_S int,					   /*Определить перечисленную сумму по проводкам*/
	@nSumm_For_Check numeric(18,2), /*Перечисленная сумма НДФЛ за период*/			
	@varKScVal1 char(1), @varKSnOtborLink1 int,	
	@varKScVal2 char(1), @varKSnOtborLink2 int,
	@nLinkEmpl int,
	@LINK_PERS INT*/



DECLARE @DEP_LINK INT,
		@START_DATE DATETIME, 
		@END_DATE DATETIME 

DECLARE @FILTER_SUBDIV_NAME VARCHAR(254) , @FILTER_SUBDIV_LINK INT
SET @FILTER_SUBDIV_NAME = (SELECT DBO.RN_GET_ATR_VALUE(@variLSF, 'REPORTS_FILTER_SUBDIV'))

IF @FILTER_SUBDIV_NAME IS NOT NULL
	SET @FILTER_SUBDIV_LINK = 
		( SELECT TOP 1 LINK FROM DBO.REPORT_KBK 
		  WHERE 
		   ('№' + CONVERT(VARCHAR(3),PROPERTY) + ' - ' +  NAME ) =  @FILTER_SUBDIV_NAME
			AND 
			CODE_FORM='FILTER_NABOR' AND CODE='REPORTS_FILTER_SUBDIV')

DECLARE @BUFFER_SUBDIV VARCHAR(20) 
DECLARE @SUBDIV TABLE (LINK INT)

IF @FILTER_SUBDIV_LINK IS NOT NULL 
BEGIN

	EXEC DBO.GETRANDSTR 20, @BUFFER_SUBDIV OUT

	INSERT INTO @SUBDIV (LINK) 
	SELECT LINK FROM DBO.RN_VIEW_FILTER WHERE LINK_SELF = @FILTER_SUBDIV_LINK

END


SELECT @DEP_LINK = Link_Organization from report_saved_forms where link_saved_form =  @variLSF
set @res = 0
SELECT @START_DATE = @vardBegin, @END_DATE = @vardEnd

DECLARE @BYearDate	datetime
SET @BYearDate = dbo.DateBeginOfYear (@START_DATE)

declare @EndYear datetime
Set @EndYear = dbo.DateEndOfYear(@START_DATE)

DECLARE @varKSnYear INT,
		@nMonth INT 				
Set @nMonth = ISNULL(month(@vardEnd),12)

SET @varKSnYear = CAST(year(@vardBegin) AS INT)	



	CREATE TABLE #RES0 (
		ID INT IDENTITY,
		NOM_SPR INT,
		LINK_FACE INT,
		SEX INT,
		INNFIZ VARCHAR(20),
		NUMB_SERT VARCHAR(20),
		STATUS VARCHAR(1),
		FIO VARCHAR(254),
		FM VARCHAR(254),
		IM VARCHAR(254),
		OT VARCHAR(254),
		KDVD VARCHAR(4),
		SERNOM VARCHAR(254), 
		BIRTH DATETIME,
		GRAZD VARCHAR(3),
		KSTR VARCHAR(3),
		LINK_ADR INT,
		IND_ADR VARCHAR(10),
		REGION VARCHAR(4),
		RAION VARCHAR(254),
		GOROD VARCHAR(254),
		NASEL VARCHAR(254),
		STREET VARCHAR(254),
		HOUSE VARCHAR(20),
		KORP VARCHAR(10),
		FLAT VARCHAR(10),

		KSTR_ino VARCHAR(3),
		Adr_ino VARCHAR(200),

		O_OKATO VARCHAR(14),
		O_OKTMO VARCHAR(11),
		O_KPP VARCHAR(9),		

		ksv1 varchar(3), ssv1 numeric(11,2),
		ksv2 varchar(3), ssv2 numeric(11,2),
		ksv3 varchar(3), ssv3 numeric(11,2),
		ksv4 varchar(3), ssv4 numeric(11,2),
		ksv5 varchar(3), ssv5 numeric(11,2),
		ksv6 varchar(3), ssv6 numeric(11,2),
		ksv7 varchar(3), ssv7 numeric(11,2),
		ksv8 varchar(3), ssv8 numeric(11,2),
		ksv9 varchar(3), ssv9 numeric(11,2),
		ksv10 varchar(3), ssv10 numeric(11,2),
		ksv11 varchar(3), ssv11 numeric(11,2),
		ksv12 varchar(3), ssv12 numeric(11,2),
		ssv numeric(11,2), siv numeric(11,2),
		osd13 numeric(11,2), sdo13 numeric(11,2), 
		nalogn13 numeric(18), nalogu13 numeric(18),
		NALOG13S numeric(18),
		osd30 numeric(11,2), sdo30 numeric(11,2), 
		nalogn30 numeric(18), nalogu30 numeric(18),
		NALOG30S numeric(18),
		osd35 numeric(11,2), sdo35 numeric(11,2), 
		nalogn35 numeric(18), nalogu35 numeric(18),
		NALOG35S numeric(18),
		err int,
		S_5_6 NUMERIC(18,2), S_5_7 NUMERIC(18,2),		
		dolg_np numeric(8), dolg_na numeric(8),
		kbkcode1 varchar(30), kbkcode2 varchar(30), kbkcode3 varchar(30), kbkcode4 varchar(30), 
		kbksum1 numeric(18,2), kbksum2 numeric(18,2),kbksum3 numeric(18,2),kbksum4 numeric(18,2),
		VIFNSPL numeric(18,2),
		ZSummPL numeric(18,2),
		UdSumPL numeric(18,2),
		VzkIFNS numeric(18,2)

	)	


CREATE TABLE #FACES (LINK int,PERS_LINK int)

	INSERT INTO #FACES
	SELECT distinct PERS_LINK,PERS_LINK FROM dbo.sd_empl WHERE DEP_LINK = @DEP_LINK 
			AND (
		@BUFFER_SUBDIV IS NULL 
			OR 
		@BUFFER_SUBDIV IS NOT NULL AND SUBDIV_head IN (SELECT LINK FROM @SUBDIV)
		)
	
	INSERT INTO #FACES
	SELECT distinct PERS_LINK,PERS_LINK FROM dbo.SALARY_REESTR_DGH WHERE DEP_LINK = @DEP_LINK
		AND PERS_LINK NOT IN (SELECT PERS_LINK FROM #FACES)		

/*
declare  @Res float 
set @Res = ''
 EXEC RSA_6NDFL_01012016_PREPARE @Res output, '', '20160101', '20161231',2,1,553


*/

	-----------------------------
	delete  from dbo.SAL_DED_MONTH
	where 
	YEAR(DATE_DED) =@varKSnYear 
	AND
	Month(DATE_DED) <= @nMonth
	AND
	LINK_EMPL IN (Select EM.LINK from dbo.EMPL EM INNER JOIN #FACES F on EM.PERS_LINK = F.PERS_LINK)
	AND
	LINK IN 
	(
		select D.LINK 
		from dbo.SAL_DED_MONTH D inner join dbo.empl E on D.link_empl = E.link
		where YEAR(D.DATE_DED) = @varKSnYear AND Month(D.DATE_DED) <= @nMonth  
		and not exists (Select * from dbo.CALCULATE_JURNAL JC where YEAR(JC.PERIOD_BEGIN) = @varKSnYear AND Month(JC.PERIOD_BEGIN) <= @nMonth AND JC.LINK_EMPL = E.LINK AND JC.LINK_VKR = D.LINK_VKR)
	)
	

	-----------------------------

	EXEC dbo.BufferClear
	EXEC dbo.BufferPushTable '#faces', 'REP2NDFL', 'pers_link'

			
	create table #S_J_C_SHORT (LINK_FACE int,PERS_LINK int, link_empl int, link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), link_inc int, period_begin datetime, date1 datetime, link_dep int)

	Insert into #S_J_C_SHORT (LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep)
	Select E.PERS_LINK, JC.PERS_LINK, JC.LINK_EMPL, P.LINK, link_vkr, ISNULL(JC.LINK_EKR,P.LINK_EKR), P.TYP_PER, P.OBJECT, summa, P.LINK_INC,
		period_begin = (Case 
						when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code = 'DOCUMENTS_ADD_TABEL'
						then JC.DATE_BEGIN else JC.period_begin 
					end) ,
		JC.DATE_BEGIN,
		JC.LINK_DEP  
	from 
		dbo.CALCULATE_JURNAL JC 
		INNER JOIN dbo.NDFL_GroupTax() T ON JC.LINK_PAYS=T.LINK_PAYS
		LEFT JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
		LEFT JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
		LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
	where
		(
				(ISNULL(d.code,'') <> 'DOCUMENTS_ADD_TABEL') and @nMonth >= month(JC.PERIOD_BEGIN) and @varKSnYear = year(JC.PERIOD_BEGIN)
				or 
				ISNULL(d.code,'') = 'DOCUMENTS_ADD_TABEL'
				and (@nMonth >= month(JC.DATE_BEGIN) or @nMonth >= month(JC.PERIOD_BEGIN) )
				and (@varKSnYear = year(JC.DATE_BEGIN) or @varKSnYear = year(JC.PERIOD_BEGIN) )

			)
		AND  
			(	-->>NEW
			E.PERS_LINK in (select PERS_LINK from #FACES )
			or
			JC.PERS_LINK in (select PERS_LINK from #FACES )
			)	
		AND JC.LINK_DEP = @DEP_LINK 
	
	union all --Удержания
	SELECT   LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep
	from dbo.S_J_C_SHORT SJC 
		LEFT JOIN DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC 
	where 
		SJC.LINK_DEP = @DEP_LINK
		and YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		and TYP_OPER = 2

CREATE TABLE #S_J_C_SHORT_RES ( link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), link_inc int, period_begin datetime, date1 datetime, link_dep int)
	
INSERT INTO #S_J_C_SHORT_RES ( link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep) 		
SELECT link_pays,
	   link_vkr, 
	   link_ekr, 
	   typ_per, 
	   typ_oper, 
	   sum(summa), 
	   link_inc, 
	   period_begin, 
	   date1, 
	   link_dep
FROM #S_J_C_SHORT
GROUP BY link_pays,link_vkr,link_ekr,typ_per,typ_oper,link_inc,period_begin,date1,link_dep


-----------------------------------------------------------
--Для обособленных подразделений
DECLARE @DATE DATETIME
SET @DATE = DBO.ConvertDMY2Date(1,@nMonth, @varKSnYear)
SET @DATE = DBO.DateEndOfMonth(@DATE)

CREATE TABLE #E_SUBDIV (EMPL_LINK INT, SUBDIV_LINK INT)
INSERT INTO #E_SUBDIV (EMPL_LINK, SUBDIV_LINK)
SELECT EMPL_LINK, SUBDIV_LINK
FROM DBO.SA_EMPLS_INFO(@DATE, DEFAULT)
WHERE [STATUS] = 1 OR [STATUS] = 3

CREATE TABLE #S_OBOSOB (SUBDIV_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #S_OBOSOB (SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP)
SELECT SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP 
FROM [dbo].SUBDIVISION(@DATE) 
WHERE OBOSOB = 1

CREATE TABLE #P_OBOSOB (PERS_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #P_OBOSOB(PERS_LINK, O_OKATO, O_OKTMO, O_KPP)
SELECT E.PERS_LINK, SO.O_OKATO , SO.O_OKTMO, SO.O_KPP 
FROM 
	#S_OBOSOB SO INNER JOIN #E_SUBDIV ES ON SO.SUBDIV_LINK = ES.SUBDIV_LINK
	INNER JOIN DBO.EMPL E ON E.LINK = ES.EMPL_LINK

-----------------------------------------------------------
	INSERT INTO #RES0 (
		LINK_FACE,
		SEX,
		INNFIZ, --NALOG,
		NUMB_SERT,
		STATUS,
		FIO,
		FM, IM, OT,
		KDVD,
		SERNOM, 
		BIRTH,
		GRAZD,
		KSTR,
		LINK_ADR,
		IND_ADR,
		REGION,
		RAION,
		GOROD,
		NASEL,
		STREET,
		HOUSE,
		KORP,
		FLAT, 
		KSTR_ino,
		Adr_ino,
		ERR,
		O_OKATO,
		O_OKTMO,
		O_KPP
	)

	SELECT 	distinct 
		P.LINK, P.SEX, P.INN, /*P.IFNS,*/ P.INSUR_NUM, 
		CASE 
			WHEN P.RESIDENT  IS NULL THEN ''
			WHEN P.RESIDENT = 1 THEN '1'
			WHEN P.RESIDENT = 0 THEN '2'
			WHEN P.RESIDENT = 2 THEN '2'
		END,
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT),
		RTRIM(P.FM), RTRIM(P.IM), RTRIM(P.OT),
		[KDVD] = (SELECT TOP 1 CODE FROM FACE_DOCUMENT WHERE LINK = P.DOC_LINK),
		P.DOC_NUM,
		P.BIRTHDATE,
		GRAZD= (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK),
		KSTR= (case when (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK) = '1' then '643' else '' END),
		ADR.LINK_ADDR,
		ADR.IND_ADR,
		ADR.REGION,
		ADR.RAION,
		ADR.GOROD,
		ADR.NASEL,
		ADR.STREET,
		ADR.HOUSE,
		ADR.KORP,
		ADR.FLAT,
		KSTR_ino = '',
		Adr_ino = '',
		0,
		PO.O_OKATO,
		PO.O_OKTMO,
		PO.O_KPP
	FROM 
		#FACES F 
		INNER JOIN PERSON P ON P.LINK = F.PERS_LINK
		INNER JOIN (SELECT LINK_FACE from #S_J_C_Short SJC where LINK_FACE is not null
			UNION SELECT LINK_FACE= PERS_LINK from #S_J_C_Short SJC where PERS_LINK is not null) J on P.LINK = J.LINK_FACE
		LEFT OUTER JOIN dbo.NDFL_GET_ADDRESS() ADR ON P.LINK = ADR.LINK_FACE
		LEFT JOIN #P_OBOSOB PO ON PO.PERS_LINK = F.PERS_LINK
	ORDER BY 
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT)



		
	select DISTINCT SJC.LINK_FACE, Y = year(SJC.PERIOD_BEGIN), M = month(SJC.PERIOD_BEGIN),		
					PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
						WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
						WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
						WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
						WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
					END ,  
					LINK_INC, LINK_VKR  
	into #spr_pays_kbk
	from 	#S_J_C_SHORT SJC
	LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
	 where SJC.TYP_OPER = 1

	CREATE TABLE #PAYS_0_tmp
	(
		ID INT IDENTITY,
		LINK_FACE INT,
		mes int, PERC_TAX INT , 
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	CREATE TABLE #PAYS_0
	(
		ID INT IDENTITY,
		LINK_FACE INT, 
		mes int, PERC_TAX INT ,  
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	INSERT INTO #PAYS_0_tmp
	(LINK_FACE, mes, PERC_TAX,
	LINK_INC, CODE_INC, SUMMA_INC,
	LINK_DED, CODE_DED, SUMMA_DED)
	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
						WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
						WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
						WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
						WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
					END ,
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM 
		#S_J_C_SHORT SJC 
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.LINK_FACE = F.PERS_LINK
	WHERE 
		SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.PERS_LINK,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK 
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED, DTI.FLAG

	---<< Добавление информации по внештатникам	
	union all 

	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
				WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
				WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
				WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
				WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
			END ,
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM #S_J_C_SHORT SJC 	
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC --AND DTI.SNAME <> '0000'
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 	SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.LINK_FACE,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED, DTI.FLAG
	ORDER BY 
		1, ISNULL(DTI.SNAME,'0000'), COD_DED

	--- Авансовые платежи , как в Налоговой декларации ПФР 
	--- --------------------------------------------------
	/*create table #SPR_ESN ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0)

	INSERT INTO #SPR_ESN ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS)
	Select [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS
	from dbo.SA_ESN_VIEW(@varKSnYear, @nMonth, @DEP_LINK, 0)
	
	SELECT * FROM #SPR_ESN
	*/-----------------------------------------------------
	-----------------------------------------------------
-- select( 8297996.42 - 1019455.00) * 0.13

	INSERT INTO #PAYS_0
	Select LINK_FACE, mes,perc_tax, LINK_INC, CODE_INC, sum(SUMMA_INC), LINK_DED, CODE_DED, sum(SUMMA_DED)
	from #PAYS_0_tmp
	group by LINK_FACE, mes,perc_tax, LINK_INC, CODE_INC, LINK_DED, CODE_DED
	having Sum(SUMMA_INC) <> 0

	drop table #PAYS_0_tmp

	---->>
	--СКИДКИ
	SELECT D.LINK_FACE, D.mes, kbk.perc_tax, SUM(D.SUMMA) as SUMMA, D.REF_DED INTO #DED 
	FROM 
		dbo.SA_NDFL_MONTH_DED_ALL(@varKSnYear) D 
		inner join #spr_pays_kbk kbk on kbk.LINK_FACE = d.LINK_FACE and kbk.m = d.mes and kbk.link_inc = d.REF_INC and kbk.LINK_VKR = d.LINK_VKR
	where 
		kbk.y = @varKSnYear
		and kbk.m <= @nMonth
	GROUP BY 
		D.LINK_FACE, d.mes, d.REF_DED, kbk.perc_tax


	UPDATE #PAYS_0
	SET SUMMA_DED = 
		(SELECT SUM(SUMMA) FROM #DED D WHERE D.LINK_FACE = R.LINK_FACE AND D.REF_DED = R.LINK_DED AND D.mes = R.mes ) 
	FROM #PAYS_0 R 
	WHERE LINK_DED IS NOT NULL

	update #PAYS_0 
		Set CODE_DED = ''
		where ISNULL(SUMMA_DED,0) = 0


	CREATE TABLE #P0 (LINK_FACE INT, ID1 INT)

	--- 1
	CREATE TABLE #PAYS1_TMP (LINK_FACE INT , SM NUMERIC(18,2) , [MONTH] INT, PERC_TAX INT ) 
	INSERT INTO #PAYS1_TMP (LINK_FACE, SM, [MONTH], PERC_TAX) 
		SELECT EP.PERS_LINK, ISNULL(SUM(SJ.summa), 0) , MONTH(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END) , 																																
				PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
				WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
				WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
				WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
				WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
			END 
		
		FROM SALARY_JURNAL_CALCULAT_SHORT SJ 
		INNER JOIN dbo.NDFL_GroupTax() T ON SJ.link_PAYS=T.LINK_PAYS
		INNER JOIN dbo.KU_EMPL_PLACING EP ON EP.LINK = SJ.LINK_EMPL
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.dictionary_typ_incoms dti ON dti.link = SJ.LINK_INC
		WHERE 
			SJ.PERIOD_BEGIN >= @BYearDate AND SJ.PERIOD_END <=@vardEND
--			(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_BEGIN WHEN SJ.TYP_PER = 2 THEN SJ.DATE1 END) >= @varKSdDate1 
--			AND (CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END)<=@varKSdDate2
			AND EP.DEP_LINK = @DEP_LINK
		GROUP BY EP.PERS_LINK, MONTH(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END) , DTI.FLAG




	CREATE TABLE #PAYS1(LINK_FACE INT, SM NUMERIC(11,2), MONTH_NUM INT, PERC_TAX int)
	INSERT INTO #PAYS1
	SELECT LINK_FACE, SM, [MONTH], PERC_TAX 	 
	FROM #PAYS1_TMP ORDER BY  [MONTH], LINK_FACE

	DROP TABLE #PAYS1_TMP
	---<< Добавление информации по внештатникам
	insert into #pays1

	SELECT 
		F.PERS_LINK,
		SUM(SUMMA) AS SUMMA_INC,
		Month(SJC.PERIOD_BEGIN),
		PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
				WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
				WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
				WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
				WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
			END 
	FROM 
		#S_J_C_SHORT SJC 
		INNER JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND ISNULL(SJC.LINK_FACE,0) = 0
		AND SJC.LINK_DEP = @DEP_LINK 
	GROUP BY F.PERS_LINK, SJC.PERIOD_BEGIN, DTI.FLAG


	---->>

	SELECT LINK_FACE, SUM(SM) AS SM, PERC_TAX
	INTO #PAYS_R
	FROM #PAYS1
	GROUP BY LINK_FACE,PERC_TAX


	INSERT INTO #PAYS1
	SELECT 
		EP.PERS_LINK, -SUM(SUMMA), MONTH(DATE_DED),NULL
	FROM    
		dbo.empl EP 
		inner join SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND [TYPE] = 2)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
	where 
		EP.DEP_LINK = @DEP_LINK	
	GROUP BY 
		EP.PERS_LINK, MONTH(DATE_DED)




	CREATE TABLE #PAYS3(ID INT IDENTITY, LINK_FACE INT, LINK_DED INT, CODE_DED VARCHAR(6), SUMMA NUMERIC(18,2), SUMMA_FAKT NUMERIC(18,2))
	--Стандартные и скидки на мат помощь
	--ПО СОТРУДНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.empl EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BYearDate) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE


	--ПО ДОГОВОРНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.REESTR_DGH EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_DGH AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND S.[TYPE] = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BYearDate) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE
		
	--UPDATE #PAYS3
	--SET
	--	SUMMA = (Select sum(SUM_DED) from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	
	--where
	--	exists (Select * from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	

	UPDATE #PAYS3
	SET
		SUMMA = ISNULL(SUMMA_FAKT,0)
	where
		ISNULL(SUMMA,0) = 0

	--Прочие вычеты (имущественные, добровольное пенс страхование и пр.)
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, SUM(S.SUMMA), SUM(S.SUMMA) 
	FROM 
		dbo.EMPL EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		--INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
	where 
		T.NUMBER NOT IN (	1, --Стандартные
							6 --скидки на мат помощь 
							)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE


/*
declare  @Res float 
set @Res = ''
  EXEC RSA_6NDFL_01012016_PREPARE @Res output, '', '20160101', '20160331',1 ,0  ,703

*/	

	-- Общая сумма имущ. вычетов
	update #RES0
	Set siv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0),
		ssv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED NOT IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0)		
	from #RES0 R

--SELECT * FROM #RES0

	--
	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV1 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV1 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV2 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV2 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV3 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV3 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV4 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV4 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV5 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV5 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV6 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV6 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV7 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV7 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV8 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV8 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV9 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV9 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV10 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV10 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV11 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV11 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV12 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV12 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END



	UPDATE #RES0 SET OSD13 = ISNULL((SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE AND PR.PERC_TAX = 13),0) FROM #RES0 R
	UPDATE #RES0 SET OSD30 = ISNULL((SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE AND PR.PERC_TAX = 30),0) FROM #RES0 R
	UPDATE #RES0 SET OSD35 = ISNULL((SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE AND PR.PERC_TAX = 35),0) FROM #RES0 R

	----
	UPDATE #RES0 SET SDO13 = OSD13 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0  WHERE PERC_TAX = 13 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE

	UPDATE #RES0 SET SDO30 = OSD30 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0  WHERE PERC_TAX = 30 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE
	
	UPDATE #RES0 SET SDO35 = OSD35 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0  WHERE PERC_TAX = 35 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE

	-----
	UPDATE #RES0 SET SDO13 = 0 WHERE SDO13 < 0
	UPDATE #RES0 SET SDO30 = 0 WHERE SDO30 < 0
	UPDATE #RES0 SET SDO35 = 0 WHERE SDO35 < 0
	

	CREATE TABLE #NDFL_TAX(LINK_TAX INT, PERC_TAX INT )
	INSERT INTO #NDFL_TAX
	SELECT LINK, PERC_TAX = CASE WHEN P.WAY_CALC = 4 THEN 13 
								 WHEN P.WAY_CALC = 5 THEN 30
								 WHEN P.WAY_CALC = 6 THEN 35  end	
	FROM PAYS P WHERE P.OBJECT = 2 AND P.WAY_CALC IN (4,5,6)
	
	--- 13%
	Create table #NDLF13_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF13 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF13_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  AND  T.PERC_TAX = 13
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX AND  T.PERC_TAX = 13  
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF13 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF13_tmp group by LINK
	
	drop table #NDLF13_tmp


	-- 30% 
		Create table #NDLF30_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF30 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF30_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  AND  T.PERC_TAX = 30
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX AND  T.PERC_TAX = 30  
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF30 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF30_tmp group by LINK
	
	drop table #NDLF30_tmp
	
	-- 35% 
		Create table #NDLF35_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF35 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF35_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  AND  T.PERC_TAX = 35
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX AND  T.PERC_TAX = 35
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF35 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF35_tmp group by LINK
	
	drop table #NDLF35_tmp
	

	--->>

	UPDATE #RES0 SET NALOGU13 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF13 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN13 = SDO13 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX AND T.PERC_TAX =13 WHERE TARIF = 1)
								ELSE 0.30 END)
	
	UPDATE #RES0 SET NALOGU30 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF30 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN30 = SDO30 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX  AND T.PERC_TAX =30 WHERE TARIF = 1)
								ELSE 0.30 END)	
	
	UPDATE #RES0 SET NALOGU35 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF35 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN35 = SDO35 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX  AND T.PERC_TAX =35 WHERE TARIF = 1)
								ELSE 0.30 END)														



	--Перечисленная сумма по всем за период
	DECLARE @SUMMA_PLAT_ALL NUMERIC(18,2)
		
/*	IF @nCHECK_S = 0
		BEGIN
			SET @SUMMA_PLAT_ALL =  @nSumm_For_Check 	
		END
	ELSE
		BEGIN 
*/			EXEC dbo.SA_NDFL_PLAT @varKSnYear, @DATE, @DEP_LINK, @SUMMA_PLAT_ALL OUT
/*		END */
	--Начисленная сумма по всем за период
	DECLARE @SUMMA_NACH_ALL NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL @varKSnYear, @DATE, @DEP_LINK, @SUMMA_NACH_ALL OUT
	
	--Начисленная сумма 30% по всем за период
	DECLARE @SUMMA_NACH_ALL30 NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL30 @varKSnYear, @DATE, @DEP_LINK, @SUMMA_NACH_ALL30 OUT
	
	--Начисленная сумма 35% по всем за период
	DECLARE @SUMMA_NACH_ALL35 NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL35 @varKSnYear, @DATE, @DEP_LINK, @SUMMA_NACH_ALL35 OUT
	
	--Перечисленная за сотрудника 13%	
	UPDATE #RES0 SET NALOG13S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL > 0 THEN (NALOGU13	/ @SUMMA_NACH_ALL) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG13S = CASE WHEN NALOG13S > NALOGU13 THEN NALOGU13 ELSE NALOG13S END

	UPDATE #RES0 SET NOM_SPR = ID --+ @varKSnFirstNum - 1
	
	--Перечисленная за сотрудника 30%	
	UPDATE #RES0 SET NALOG30S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL30 > 0 THEN (NALOGU30/ @SUMMA_NACH_ALL30) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG30S = CASE WHEN NALOG30S > NALOGU30 THEN NALOGU30 ELSE NALOG30S END

	UPDATE #RES0 SET NOM_SPR = ID --+ @varKSnFirstNum - 1

	--Перечисленная за сотрудника 35%	
	UPDATE #RES0 SET NALOG35S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL35 > 0 THEN (NALOGU35	/ @SUMMA_NACH_ALL35) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG35S = CASE WHEN NALOG35S > NALOGU35 THEN NALOGU35 ELSE NALOG35S END

	UPDATE #RES0 SET NOM_SPR = ID --+ @varKSnFirstNum - 1	

	---Учет переплаты/недоплаты НДФЛ из остатков с прошлого года
	UPDATE A SET 
		S_5_6 = (CASE WHEN R.NDFL > 0 THEN R.NDFL ELSE 0 END),
		S_5_7 = (CASE WHEN R.NDFL <= 0 THEN - R.NDFL ELSE 0 END)
	FROM
		#RES0 A INNER JOIN 
		(SELECT E.PERS_LINK, NDFL = SUM(SR.NDFL) FROM dbo.SAL_REMAIN SR INNER JOIN dbo.EMPL E ON E.LINK = SR.LINK_EMPL WHERE SR.YEAR_SAL = @varKSnYear GROUP BY E.PERS_LINK) R 
			ON R.PERS_LINK = A.LINK_FACE
			
		
	--	
	UPDATE #RES0 SET DOLG_NP = CASE WHEN NALOGN13 - NALOGU13 > 0 THEN NALOGN13 - NALOGU13 ELSE 0 END - ISNULL(S_5_6,0)
	UPDATE #RES0 SET DOLG_NA = CASE WHEN NALOGU13 - NALOGN13 > 0 THEN NALOGU13 - NALOGN13 ELSE 0 END - ISNULL(S_5_7,0)


	--^^^^^^^^^Распределение налога по КБК^^^^^^^^^^
	create table  #PAYS_NDFL (ID INT IDENTITY, LINK_FACE int, LINK_PAYS int, kbk_code varchar(30), SUMMA numeric(18,2))

	INSERT INTO #PAYS_NDFL (LINK_FACE, LINK_PAYS, kbk_code, SUMMA)
	SELECT LINK_FACE, SJC.LINK_PAYS, left(kbk.CODE,30), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.PERS_LINK,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)
	GROUP BY 
		LINK_FACE, LINK_PAYS, kbk.CODE

	union all ---<< Добавление информации по внештатникам	

	SELECT  PERS_LINK, SJC.LINK_PAYS, left(kbk.CODE,20), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.LINK_FACE,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)

	GROUP BY 
		PERS_LINK, LINK_PAYS, kbk.CODE
	ORDER BY 
		1, 2, 3


	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode1 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum1 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode2 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum2 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode3 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum3 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode4 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum4 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	-------------------------------------
	update #res0
	set 	VIFNSPL =0, ZSummPL =0, UdSumPL =0, VzkIFNS =0


	DECLARE @varKSCNT INT

	SELECT @varKSCNT  = COUNT(*) FROM #RES0

	SELECT TOP 1 
		LTRIM(RTRIM(STR(@varKSCNT))) AS DOCCOUNT, 
		ISNULL(IMNS, '') AS NALOG,
		ISNULL(dd.INN, '') AS INN,
		ISNULL(KPP, '') AS KPP,
		ISNULL(OKATO, '')  AS OKATO,
		ISNULL(OKTMO, '')AS OKTMO,
		convert(varchar (254),(ISNULL(FULL_NAME, ''))) AS FULL_NAME,
		ISNULL(DOTF.PHONE, '') AS PHONE,
		ISNULL(RTRIM(FM), '') + ' ' + ISNULL(RTRIM(IM), '') + ' ' + ISNULL(RTRIM(OT), '') AS GLBUH,
		ISNULL(RTRIM(FM), '') AS FM,
		ISNULL(RTRIM(IM), '') AS IM, 
		ISNULL(RTRIM(OT), '') AS OT,
		ISNULL(RTRIM(DOTF.NAME), '') AS Dolzh
	INTO #DEP
	FROM DICTIONARY_DEPARTMENT DD 
	LEFT OUTER JOIN DICTIONARY_OTV_FACE DOTF ON 
		(DOTF.DEP_LINK = DD.LINK
		AND DOTF.NAME = 'Главный бухгалтер')
	LEFT OUTER JOIN KU_EMPL_PLACING EP ON DOTF.FACE_LINK = EP.LINK
	WHERE DD.link = @DEP_LINK



	DECLARE @varKScInn VARCHAR(254), @varKScKPP VARCHAR(254), @varKSFULL_NAME varchar(254), 
		@varKSNALOG VARCHAR(254), @varKSOKATO VARCHAR(254), @varKSOKTMO VARCHAR(254), @varKSPHONE VARCHAR(254), 
		@varKSGLBUH VARCHAR(254), 
		@varKSRESULT BIT

	SELECT 
		@varKScInn = INN, @varKScKPP = KPP,
		@varKSFULL_NAME = FULL_NAME, 
		@varKSNALOG = NALOG, @varKSOKATO = Replace(OKATO,' ',''), @varKSOKTMO = Replace(OKTMO,' ',''),
		@varKSPHONE = PHONE, 
		@varKSGLBUH  = GLBUH
	FROM #DEP

	/*заявленные имущественные вычеты*/  -- DED_TYPE = 1 - имущественные, 2-  социальные
/*	CREATE TABLE #td (LINK_PERSON INT ,NUM_REF VARCHAR(15),DATE_REF DATETIME,IFNS_CODE VARCHAR(20),DED_TYPE TINYINT)
	INSERT INTO #td (LINK_PERSON ,NUM_REF,DATE_REF,IFNS_CODE,DED_TYPE)
	Select LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 1 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER ='4')  )
	UNION SELECT 
		   LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 2 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER IN('11','12','13')) )
*/

	declare @KBK_DEFAULT varchar(254)
	Set @KBK_DEFAULT = (select Top 1 CODE_KBK from dbo.sd_empl where LINK_KBK > 0)

	UPDATE #RES0 Set kbkcode1 = @KBK_DEFAULT, kbksum1 = 0 where ISNULL(kbksum1,0) = 0

/*	/*Контроль имущественных вычетов*/
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Указаны не все данные в уведомлении на имущественный вычет'  + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 inner join  #td on #RES0.LINK_FACE = #td.LINK_PERSON 
	WHERE rtrim(ltrim(ISNULL(NUM_REF,''))) = '' or rtrim(ltrim(ISNULL(IFNS_CODE,''))) = '' or DATE_REF is null AND OSD13 > 0 

*/	CREATE TABLE #RES_OUT (ID INT,LINK_FACE INT,mes INT,LINK_INC INT,CODE_INC VARCHAR(4),SUMMA_INC NUMERIC(18,2),LINK_DED INT,CODE_DED VARCHAR(3),SUMMA_DED NUMERIC(18,2),ID2 INT)

	INSERT INTO #RES_OUT (ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2)
	SELECT ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2 = 0 
	FROM #PAYS_0 
	ORDER BY LINK_FACE, MES, CODE_INC
	
	---СОРТИРОВКА
	CREATE TABLE #RES_OUT_ORD (NUM_PP INT IDENTITY(1,1), ID INT, LINK_FACE INT)
	INSERT INTO #RES_OUT_ORD (ID, LINK_FACE)
	SELECT ID, LINK_FACE FROM #PAYS_0 ORDER BY LINK_FACE, MES, CODE_INC
	--
	CREATE TABLE #RES_OUT_ORD2 (LINK_FACE INT, MIN_NUM INT)
	INSERT INTO #RES_OUT_ORD2 (LINK_FACE, MIN_NUM)
	SELECT LINK_FACE, MIN(NUM_PP) FROM #RES_OUT_ORD GROUP BY LINK_FACE
	---СОРТИРОВКА ДЛЯ КАЖДОГО ФИЗЛИЦА
	UPDATE R
	SET R.ID2 = O.NUM_PP - O2.MIN_NUM + 1
	FROM 
		#RES_OUT R 
		INNER JOIN #RES_OUT_ORD O ON O.ID = R.ID
		INNER JOIN #RES_OUT_ORD2 O2 ON O2.LINK_FACE = R.LINK_FACE

	CREATE TABLE #ORDERS (ID int)
	DECLARE @SQL VARCHAR(1000)
	SET @SQL = 'ALTER TABLE #ORDERS ADD [NOM_SPR] INT IDENTITY(' + RTRIM(str(ISNULL(1,1))) + ',1)'
	EXEC(@SQL)

	INSERT INTO #ORDERS (ID) 
	SELECT DISTINCT ID 
	FROM #RES0 
	WHERE LINK_FACE IN ( Select DISTINCT LINK_FACE from #RES_OUT where [ID2]%2 = 1 )
			--AND ISNULL(OSD13,0) > 0
	ORDER BY ID

	--UPDATE #ORDERS SET NOM_SPR = NOM_SPR + @varKSnFirstNum - 1

	--- общее количество документов
	UPDATE #DEP SET DOCCOUNT = ISNULL((SELECT MAX(NOM_SPR) FROM #ORDERS),0)
	-------------------
	/*SELECT 
		R.ID, O.NOM_SPR, R.LINK_FACE, R.SEX, R.INNFIZ, R.NUMB_SERT, R.STATUS, 
		R.FIO, R.FM, R.IM, R.OT, R.KDVD, R.SERNOM, R.BIRTH, R.GRAZD, R.KSTR, 
		R.LINK_ADR, R.IND_ADR, R.REGION, R.RAION, R.GOROD, R.NASEL, R.STREET, 
		R.HOUSE, R.KORP, R.FLAT, R.KSTR_ino, R.Adr_ino, 
		R.ksv1, R.ssv1, R.ksv2, R.ssv2, R.ksv3, R.ssv3, R.ksv4, R.ssv4, R.ksv5, R.ssv5, R.ksv6, R.ssv6, 
		R.ksv7, R.ssv7, R.ksv8, R.ssv8, R.ksv9, R.ssv9, R.ksv10, R.ssv10, R.ksv11, R.ssv11, R.ksv12, R.ssv12, 
		R.ssv, R.siv, R.osd13, R.sdo13, R.nalogn13, R.nalogu13, R.nalog13s, R.err, R.S_5_6, R.S_5_7, R.dolg_np, R.dolg_na, 
		R.kbkcode1, R.kbkcode2, R.kbkcode3, R.kbkcode4, R.kbksum1, R.kbksum2, R.kbksum3, R.kbksum4, 
		R.VIFNSPL, R.ZSummPL, R.UdSumPL, R.VzkIFNS, 
		--ndoc_td = td1.NUM_REF , -- на имущественные вычеты
		--ddoc_td = td1.DATE_REF,
		--ifnsdoc_td = td1.ifns_code,
		--nDoc_SD = td2.NUM_REF, -- на социальные вычеты 
		--dDoc_SD = td2.DATE_REF,
		--ifnsdoc_sd = td2.ifns_code,
		--nalog	= @varKSNALOG,
		KPP1 = ISNULL(R.O_KPP,@varKScKPP),
		OKATO1 = replace(ISNULL(R.O_OKATO,@varKSOKATO),' ',''),
		OKATO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKATO else '' end),
		OKATO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKATO else '' end),
		OKATO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKATO else '' end),
		OKTMO1 = replace(ISNULL(R.O_OKATO,@varKSOKTMO),' ',''),
		OKTMO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKTMO else '' end),
		T.M1, T.CINC1, T.SINC1, T.CDED1, T.SDED1, T.M2, T.CINC2, T.SINC2, T.CDED2, T.SDED2--,
		--td1.LINK_PERSON/*, #td.NUM_REF, #td.DATE_REF, #td.IFNS_CODE*/
	FROM #RES0 R 
		INNER JOIN #ORDERS O ON O.ID = R.ID
		INNER JOIN ( 
			Select	T1.LINK_FACE, M1= T1.MES, CINC1= T1.CODE_INC, SINC1= T1.SUMMA_INC, CDED1= T1.CODE_DED, SDED1= T1.SUMMA_DED, M2= T2.MES, CINC2= T2.CODE_INC, SINC2= T2.SUMMA_INC, CDED2= T2.CODE_DED, SDED2= T2.SUMMA_DED
			from	(Select * from #RES_OUT where [ID2]%2 = 1) T1 left join (Select * from #RES_OUT where [ID2]%2 = 0) T2 on T1.link_FACE = T2.LINK_FACE AND T1.[ID2] = (T2.[ID2]-1)
		) T on R.LINK_FACE = T.LINK_FACE
	--	LEFT OUTER JOIN   #td td1 on R.LINK_FACE = td1.LINK_PERSON AND td1.DED_TYPE = 1 /*имущественные вычеты*/
	--	LEFT OUTER JOIN   #td td2 on R.LINK_FACE = td2.LINK_PERSON AND td2.DED_TYPE = 2 /*социальные вычеты*/
	--where OSD13 > 0 
	ORDER BY O.NOM_SPR, T.M1, T.CINC1, T.M2, T.CINC2
	
	*/

	-------------------------------------------
	--- собираем результирующий курсор с разбивкой по процентам 
	------------------------------------------
	CREATE TABLE #RES_OUT_MAIN (ID INT IDENTITY(1,1),PERC_TAX INT,SUMMA_INC NUMERIC(18,2),SUMMA_DED NUMERIC(18,2))

	INSERT INTO #RES_OUT_MAIN (PERC_TAX, SUMMA_INC, SUMMA_DED)
	SELECT PERC_TAX, SUM(SUMMA_INC), SUM(SUMMA_DED)
	FROM #PAYS_0 
	GROUP BY PERC_TAX
	ORDER BY PERC_TAX
	
	IF NOT EXISTS (SELECT * FROM #RES_OUT_MAIN WHERE PERC_TAX = 30)
	   INSERT INTO #RES_OUT_MAIN(PERC_TAX, SUMMA_INC, SUMMA_DED)
	   SELECT PERC_TAX = 30 ,
			  SUMMA_INC = NULL, 
			  SUMMA_DED = NULL
	IF NOT EXISTS (SELECT * FROM #RES_OUT_MAIN WHERE PERC_TAX = 35)
	   INSERT INTO #RES_OUT_MAIN(PERC_TAX, SUMMA_INC, SUMMA_DED)
	   SELECT PERC_TAX = 35 ,
			  SUMMA_INC = NULL, 
			  SUMMA_DED = NULL		  
	-------------------

/*
declare  @Res float 
set @Res = ''
  EXEC RSA_6NDFL_01012016_PREPARE @Res output, '', '20160101', '20160331',1 ,0  ,703

*/	


	CREATE TABLE  #RES0_PERC (ID INT , PERC_TAX INT, COUNT_FIZL INT, SUMMA_INC NUMERIC(18,2), SUMMA_DED NUMERIC(18,2)  ,ssv NUMERIC(18,2), siv NUMERIC(18,2), osd NUMERIC(18,2), sdo NUMERIC(18,2), nalogn NUMERIC(18,2), nalogu NUMERIC(18,2), nalogs NUMERIC(18,2), S_5_6 NUMERIC(18,2), S_5_7 NUMERIC(18,2), dolg_np NUMERIC(18,2),dolg_na NUMERIC(18,2)  )
	INSERT INTO  #RES0_PERC(ID, PERC_TAX,COUNT_FIZL,SUMMA_INC, SUMMA_DED, ssv, siv, osd, sdo, nalogn, nalogu, nalogs, S_5_6, S_5_7, dolg_np,dolg_na)
	SELECT ID = 1 , 
		   PERC_TAX = 13,
		   ISNULL(COUNT(LINK_FACE),NULL),
		   SUMMA_INC = NULL,
		   SUMMA_DED = NULL,
		   ISNULL(SUM(ssv),NULL), 
		   ISNULL(SUM(siv),NULL), 
		   osd = ISNULL(SUM(osd13),NULL), 
		   sdo = ISNULL(SUM(sdo13),NULL), 
		   nalogn = ISNULL(SUM(nalogn13),NULL), 
		   nalogu = ISNULL(SUM(nalogu13),NULL), 
		   nalogs = ISNULL(SUM(nalog13s),NULL), 
		  ISNULL( SUM(S_5_6),NULL) , 
		   ISNULL(SUM(S_5_7),NULL) , 
		   ISNULL(SUM(dolg_np),NULL),
		   ISNULL(SUM(dolg_na),NULL)
	FROM #RES0  r
	WHERE isnull(osd13,0) <> 0
	UNION ALL 
		SELECT ID = 2 , 
		   PERC_TAX = 30,
		    ISNULL(COUNT(LINK_FACE),NULL),
		   SUMMA_INC = NULL,
		   SUMMA_DED = NULL,
		    ISNULL(SUM(ssv),NULL), 
		    ISNULL(SUM(siv),NULL), 
		   osd =  ISNULL(SUM(osd30),NULL), 
		   sdo =  ISNULL(SUM(sdo30),NULL), 
		   nalogn =  ISNULL(SUM(nalogn30),NULL), 
		   nalogu =  ISNULL(SUM(nalogu30),NULL), 
		   nalogs =  ISNULL(SUM(nalog30s),NULL), 
		    ISNULL(SUM(S_5_6),NULL) , 
		    ISNULL(SUM(S_5_7),NULL) , 
		    ISNULL(SUM(dolg_np),NULL),
		    ISNULL(SUM(dolg_na),NULL)
	FROM #RES0  r
	WHERE isnull(osd30,0) <> 0	
	UNION ALL 
		SELECT ID = 3 , 
		   PERC_TAX = 35,
		   ISNULL(COUNT(LINK_FACE),NULL),
		   SUMMA_INC = NULL,
		   SUMMA_DED = NULL,
		   ISNULL(SUM(ssv),NULL), 
		   ISNULL(SUM(siv),NULL), 
		   osd = ISNULL(SUM(osd35),NULL), 
		   sdo = ISNULL(SUM(sdo35),NULL), 
		   nalogn = ISNULL(SUM(nalogn35),NULL), 
		   nalogu = ISNULL(SUM(nalogu35),NULL), 
		   nalogs = ISNULL(SUM(nalog35s),NULL), 
		   ISNULL(SUM(S_5_6),NULL) , 
		   ISNULL(SUM(S_5_7),NULL) , 
		   ISNULL(SUM(dolg_np),NULL),
		   ISNULL(SUM(dolg_na),NULL)
	FROM #RES0  r
	WHERE isnull(osd35,0) <> 0	
	
	update  P
	SET   SUMMA_INC = RO.SUMMA_INC ,
		SUMMA_DED = RO.SUMMA_DED
	FROM #RES0_PERC P 
	INNER JOIN #RES_OUT_MAIN RO ON RO.PERC_TAX = P.PERC_TAX 

--SELECT * FROM #RES0_PERC	
	
CREATE TABLE #RES2(CODE_STR VARCHAR(10), COL3 NUMERIC(20,2))

	
INSERT INTO #RES2 SELECT '010', ISNULL(PERC_TAX,13) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '020', isnull(OSD,0) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '025', 0 FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '030', isnull(ssv,0)+isnull(siv,0)+isnull(SUMMA_DED,0) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '040', isnull(nalogn,0) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '045', 0 FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '050', 0 FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '1010',ISNULL(PERC_TAX,30) FROM #RES0_PERC WHERE  ID = 2
INSERT INTO #RES2 SELECT '1020', isnull(OSD,0) FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1025', 0 FROM #RES0_PERC WHERE  ID = 2
INSERT INTO #RES2 SELECT '1030', isnull(ssv,0)+isnull(siv,0)+isnull(SUMMA_DED,0) FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1040', isnull(nalogn,0) FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1045', 0 FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1050', 0 FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '2010', ISNULL(PERC_TAX,35) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2020', isnull(OSD,0) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2025', 0 FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2030', isnull(ssv,0)+isnull(siv,0)+isnull(SUMMA_DED,0) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2040', isnull(nalogn,0) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2045', 0 FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2050', 0 FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '3060', SUM(isnull(COUNT_FIZL,0)) FROM #RES0_PERC   
INSERT INTO #RES2 SELECT '3070', SUM(isnull(nalogu,0)) FROM #RES0_PERC   
INSERT INTO #RES2 SELECT '3080', SUM(isnull(dolg_np,0)) FROM #RES0_PERC  
INSERT INTO #RES2 SELECT '3090', SUM(isnull(dolg_na,0)) FROM #RES0_PERC 

SELECT * FROM #RES2
/* Завершаем - списываем значения во временную таблицу */
DECLARE @Table_Razd1 VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @Table_Razd1 OUTPUT
EXEC ('select * INTO ' + @Table_Razd1 + ' from #RES2 order by code_str')
EXEC dbo.BufferPush -116, @Table_Razd1

	-----------------------------------------------------
	---------------------------------------------------

	---
	--SELECT *, CAST(  (CAST (DOCCOUNT AS INT) - @varKSCNT) AS VARCHAR(254) ) AS DOCCOUNT2 FROM #DEP 
	---	

/*	UPDATE L SET
		NUMBER = O.NOM_SPR
	FROM 
		#LOG L
		INNER JOIN #RES0 R ON L.LINK = R.LINK_FACE
		INNER JOIN #ORDERS O ON O.ID = R.ID
	
	SELECT * FROM #LOG ORDER BY LINK, ERR
*/	---
--	EXEC dbo.BufferClear

	DROP TABLE #FACES
	DROP TABLE #S_J_C_SHORT
	DROP TABLE #S_J_C_SHORT_RES
/*	DROP TABLE #E_SUBDIV
	DROP TABLE #S_OBOSOB
	DROP TABLE #P_OBOSOB	
	DROP TABLE #LOG	
*/	DROP TABLE #RES0	
	DROP TABLE #ORDERS				

END











GO


GRANT EXECUTE ON dbo.[RSA_6NDFL_01012016_PREPARE] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_CALENDAR_DAYS3_ALLYEAR_INFO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_CALENDAR_DAYS3_ALLYEAR_INFO]

GO

CREATE PROCEDURE dbo.SA_CALENDAR_DAYS3_ALLYEAR_INFO (@linkEmpl int, @Year int)
AS

DECLARE @INFO TABLE (
	ORD TINYINT, 
	SYMB varchar(4),
	NAME VARCHAR(254), 
	DATE_BEG DATETIME, 
	DATE_END DATETIME, 
	COMMENT VARCHAR(254), 
	LINK_OBJ INT, 
	CODE_OBJ VARCHAR(254)
)

/* Расшифровка рассчёта календарных дней */

declare @DateBegin datetime, @DateEnd datetime

--SET @DateBegin = dbo.ConvertDMY2Date(1,@Month,@Year) 
--SET @DateEnd 	= dbo.DateEndOfMonth(@DateBegin)

SET @DateBegin = dbo.ConvertDMY2Date(1,1,@Year) 
SET @DateEND = dbo.ConvertDMY2Date(1,12,@Year)
SET @DateEnd 	= dbo.DateEndOfMonth(@DateEND)

DECLARE @DateAccept datetime, @DateSack datetime
SET @DateAccept = ISNULL(dbo.kd_DateBeginWork(@linkEmpl,@DateEnd),'19000101')
SET @DateSack   = ISNULL(dbo.kd_DateEndWork(@linkEmpl,@DateEnd),'30000101')

SET @DateBegin = (case when @DateAccept < @DateBegin then @DateBegin else @DateAccept end)
SET @DateEnd = (case when @DateSack < @DateEnd then @DateSack else @DateEnd end)  

DECLARE @RealCount NUMERIC(18,2)
SET @RealCount = DBO.SA_CALENDAR_DAYS3_AllYear_FN(@linkEmpl,@Year)

INSERT INTO @INFO (ORD,SYMB, NAME, DATE_BEG, DATE_END, COMMENT, LINK_OBJ, CODE_OBJ)
SELECT 
	1,'', 'Период работы', @DateBegin, @DateEnd, 'Приказ о приёме/увольнениии',
	(SELECT ORDER_LINK FROM ITEM_MOVE WHERE NEW_FACE = 1 AND EMPL_LINK = @linkEmpl AND ACTIVE = 1),
	'ORDERS_REESTR'

UPDATE @INFO
SET LINK_OBJ = (SELECT TOP 1 ORDER_LINK FROM ITEM_DIS_FACE IM WHERE EMPL_LINK = @linkEmpl AND  ACTIVE = 1)
WHERE @DateSack = @DateEnd

DECLARE @S TABLE 
([TYPE] int,
 [SYMB] varchar(4),
 [PRIOR] int,
 [HOUR]  numeric(6,2),
 [DATE_1] datetime,
 [DATE_2] datetime,
 [DOC]	int,
 [H] int,
 LINK_DOC INT 	 	
)

INSERT INTO @S ([TYPE], [SYMB],[PRIOR],[HOUR],[DATE_1],[DATE_2],[DOC], [H], LINK_DOC)
---больничные
SELECT [TYPE], [SYMB],[PRIOR],[HOUR],[DATE_1],[DATE_2],[DOC], H, LINK FROM 
(SELECT 
	[TYPE] = SD.[TYPE],
	[SYMB] = TD.SYMB,
	[PRIOR] = TD.PRIORITET,
	[HOUR] = TD.[HOUR],
	[DATE_1] = (CASE WHEN SD.DATE1 < @DateBegin THEN @DateBegin ELSE SD.DATE1 END),
	[DATE_2] = (CASE WHEN SD.DATE2 > @DateEnd  THEN @DateEnd ELSE SD.DATE2 END),
	[DOC]	= 1,
	[H] = 0,
	LINK = SD.LINK_UP 
FROM 
	dbo.SDOC_DIS SD
	INNER JOIN dbo.NETRUD N ON SD.[TYPE] = N.LINK
	INNER JOIN dbo.TYP_DAYS TD ON TD.LINK = N.TYPE_LINK
WHERE 
	SD.LINK_EMPL = @linkEmpl
	AND
	(SD.DATE1 BETWEEN @DateBegin AND @DateEnd OR SD.DATE2 BETWEEN @DateBegin AND @DateEnd OR
	  ((SD.DATE1 < @DateBegin) AND(SD.DATE2 > @DateEnd)))
  
UNION
--отпускные
SELECT 	
	[TYPE] = VV.TYPE_LINK,
	[SYMB] = TD.SYMB,
	[PRIOR] = TD.PRIORITET,
	[HOUR] 	= TD.[HOUR],
	[DATE_1] = (CASE WHEN DATE_BEGIN < @DateBegin THEN @DateBegin ELSE IV.DATE_BEGIN END),
	[DATE_2] = (CASE WHEN ISNULL((

					SELECT top 1 (CASE WHEN IVB.DATE_BREAK - 1 > (ISNULL((

                    SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM dbo.ITEM_VACATION_DIS IVD
                    WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc),IV.DATE_END)) 
					
                    THEN (ISNULL((

					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM dbo.ITEM_VACATION_DIS IVD
					WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc),IV.DATE_END)) 
					
					ELSE IVB.DATE_BREAK - 1 END) 

					FROM dbo.ITEM_VACATION_BREAK IVB
					WHERE IVB.VAC_LINK = IV.LINK AND IVB.ACTIVE = 1 order by IVB.DATE_BREAK desc), 
					
                    (ISNULL((

					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM dbo.ITEM_VACATION_DIS IVD 
					WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc ),IV.DATE_END))) >@DateEnd 

					THEN @DateEnd  
                    ELSE ISNULL((

                    SELECT top 1 (CASE WHEN IVB.DATE_BREAK - 1 > (ISNULL((

					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM ITEM_VACATION_DIS IVD
        				WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc ),IV.DATE_END)) 
					
                    THEN (ISNULL((

					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  

 					FROM dbo.ITEM_VACATION_DIS IVD
					WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc),IV.DATE_END)) 

					ELSE IVB.DATE_BREAK - 1 END)  
					
					FROM dbo.ITEM_VACATION_BREAK IVB
					WHERE IVB.VAC_LINK = IV.LINK AND IVB.ACTIVE = 1 order by IVB.DATE_BREAK desc),
					
					ISNULL((
					
					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM dbo.ITEM_VACATION_DIS IVD 
					WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc),IV.DATE_END)) END),
	[DOC] = (case when coalesce(TD.WORK_D,1) = 7 then 22 else 2 end),
	H = VV.HOLIDAY,
	LINK = IV.LINK
FROM 
	dbo.item_vacation iv
	INNER JOIN dbo.vacation_vid VV ON VV.LINK = iv.type_link
	INNER JOIN dbo.TYP_DAYS TD ON TD.LINK = VV.TYPE_LINK
WHERE 
	IV.EMPL_LINK = @linkEmpl 
	AND IV.ACTIVE = 1
	AND COALESCE(VV.TIME_ARCHE,0) = 0 
	AND (IV.DATE_BEGIN BETWEEN @DateBegin AND @DateEnd 
		OR IV.DATE_END BETWEEN @DateBegin AND @DateEnd 
		OR ((IV.DATE_BEGIN<@DateBegin) AND (IV.DATE_END>@DateEnd))
		OR IV.LINK IN (SELECT VAC_LINK FROM dbo.VACATION_DIS WHERE EMPL_LINK = @linkEmpl AND ACTIVE = 1 AND NEW_DATE_END > @DateBegin)
	    )
	AND IV.LINK NOT IN (SELECT VAC_LINK FROM dbo.item_vacation_break ivb WHERE EMPL_LINK = @linkEmpl AND ACTIVE = 1 AND ivb.DATE_BREAK < @DateBegin)
	AND
	(
		VV.NO_SAL = 1 --дни отпуска без сохранения заработной платы
	OR	
		TD.WORK_D = 7 -- Частично оплачиваемый отпуск женщинам, имеющим детей  в  возрасте до 1,5 лет
					-- Дополнительный отпуск без сохранения  заработной  платы  матерям, имеющим детей в возрасте до 3 лет
	OR
		TD.WORK_D = 5 -- Учебный отпуск
	OR
		VV.ADM = 1 -- Административный	
	)

--командировочные не учитываются
	
)  TAB

DELETE FROM @S
WHERE DATE_1 > DATE_2



INSERT INTO @INFO (ORD,SYMB, NAME, DATE_BEG, DATE_END, COMMENT, LINK_OBJ, CODE_OBJ)
	SELECT 2,SYMB, case when SYMB = 'Р' then 'Отпуск по беременности и родам' when SYMB = 'ОЧ' then 'Отпуск по уходу за ребенком' else 'Временная нетрудоспособность' end, DATE_1, DATE_2, case when SYMB = 'Р' then 'Отпуск по беременности и родам' when SYMB = 'ОЧ' then 'Отпуск по уходу за ребенком' else 'Временная нетрудоспособность' end, LINK_DOC, 'ORDER_DISABILITY_SHEET'
	FROM @S WHERE DOC = 1
UNION 
	SELECT 3,'', 'Отпуск, учитывающий праздники', DATE_1, DATE_2, 'Приказ на отпуск', LINK_DOC, 'VACATION'
	FROM @S WHERE DOC = 2 AND coalesce(H,0) = 1
UNION 
	SELECT 4,'', 'Отпуск, не учитывающий праздники', DATE_1, DATE_2, 'Приказ на отпуск', LINK_DOC, 'VACATION'
	FROM @S WHERE DOC = 2 AND coalesce(H,0) <> 1
UNION 
	SELECT 5,'ОЧ', 'Отпуск по уходу за ребенком', DATE_1, DATE_2, 'Приказ на отпуск, с учетом праздников', LINK_DOC, 'VACATION'
	FROM @S WHERE DOC = 22 AND coalesce(H,0) = 1
UNION 
	SELECT 6,'ОЧ', 'Отпуск по уходу за ребенком', DATE_1, DATE_2, 'Приказ на отпуск, без учета праздников', LINK_DOC, 'VACATION'
	FROM @S WHERE DOC = 22 AND coalesce(H,0) <> 1
UNION 
	SELECT 7,'', 'Командировка', DATE_1, DATE_2, 'Приказ на командировку', LINK_DOC, 'TRAVEL'
	FROM @S WHERE DOC = 3

/*дату начала и дату окончания периода обновим*/
SET @DateBegin = dbo.ConvertDMY2Date(1,1,@Year) 
SET @DateEND = dbo.ConvertDMY2Date(1,12,@Year)
SET @DateEnd 	= dbo.DateEndOfMonth(@DateEND)

INSERT INTO @INFO (ORD,SYMB, NAME, DATE_BEG, DATE_END, COMMENT, LINK_OBJ, CODE_OBJ)
	SELECT 8, '', 'Праздничные дни', t1.DATE, t1.DATE, TYPE_HOL_STR, LINK, 'KD_HOLIDAYS'
	FROM
		dbo.SD_DAY(@DateBegin,@DateEnd) T1 
		INNER JOIN KD_HOLIDAYS DH ON day(t1.DATE) = DH.DAY and month(t1.DATE) = DH.MONTH and YEAR(t1.DATE) = DH.YEAR
	WHERE 
		(DH.WORK_D = 14 or DH.WORK_D = 11) AND TYPE_HOL = 1
		AND
		EXISTS (SELECT * FROM @INFO I WHERE ORD IN(3,5) AND T1.DATE BETWEEN DATE_BEG AND DATE_END)

SELECT ORD,SYMB, [NAME] AS NAME_PER, DATE_BEG, DATE_END, 
	CNT_DAYS = abs(CASE WHEN ORD BETWEEN 2 AND 7 THEN -1 ELSE 1 END * (datediff(day,DATE_BEG,DATE_END) + 1 )), 
	RealCount = @RealCount, COMMENT AS COM , LINK_OBJ, CODE_OBJ 
FROM @INFO ORDER BY ORD, DATE_BEG

RETURN 0










GO


GRANT EXECUTE ON dbo.[SA_CALENDAR_DAYS3_ALLYEAR_INFO] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_U_NDFL_FILL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_U_NDFL_FILL]

GO

CREATE PROCEDURE [dbo].[SD_U_NDFL_FILL]
	@varKSlinkEmpl	 int,  
	@varKSRef_Pay  int, 	 
	@varKSDate datetime, 	 
	@varKSLinkVKR int,
	@varKSLinkEKR int,	
	@varKSfl int = 0

AS 
SET NOCOUNT ON
DECLARE @varKSMonth int, 
	  @varKSYear int, 
	  @varKSLINK_FACE int, 
	  @varKSPred_Mesto_Rab numeric(15,2), 
	  @varKSFlagD int,
	  @Status int	-->>NEW

IF @varKSfl>0
	SET @varKSfl = 1

DECLARE @NDFL_OPT8 TINYINT --Разрешить отрицательные суммы налога
SET @NDFL_OPT8 = dbo.sa_get_option_by_code('NDFL_OPT8')

SET @varKSMonth= month(@varKSDate)
SET @varKSYear = year(@varKSDate)

declare @DEP_LINK int
SELECT @DEP_LINK = DEP_LINK, @varKSLINK_FACE = PERS_LINK FROM DBO.EMPL WHERE LINK = @varKSlinkEmpl

DECLARE @Link211EKR int
Set @Link211EKR = ISNULL((SELECT TOP 1 LINK FROM KOSGU WHERE CODE = '211'),0)

if @varKSfl = 1
	Select [Организация] = [NAME] from dbo.DEPARTMENTS where link = @DEP_LINK

Select @Status= [STATUS] from dbo.ITEM_MOVE where ACTIVE = 1 and EMPL_LINK = @varKSlinkEmpl	-->>NEW

SET @varKSFlagD = 0

DECLARE @DIS_DATE DATETIME
SET @DIS_DATE = COALESCE((SELECT TOP 1 IDF.DIS_DATE FROM DBO.ITEM_DIS_FACE IDF with (nolock) WHERE IDF.EMPL_LINK = @varKSlinkEmpl AND IDF.ACTIVE=1),'29990101')

SET @varKSPred_Mesto_Rab = 0
IF YEAR(dbo.kd_DateBeginWork(@varKSlinkEmpl,@varKSDate)) = @varKSYear
BEGIN

	SET @varKSPred_Mesto_Rab =(SELECT ISNULL(SUM(SUMMA_TYP_INCOMS),0) FROM dbo.SD_EMPL_PREV_DOHOD WHERE LINK_EMPL = @varKSlinkEmpl)
			- (SELECT ISNULL(SUM(SUMMA_DED),0) FROM dbo.SD_EMPL_PREV_DED WHERE LINK_EMPL = @varKSlinkEmpl and 
					LINK_DED IN (SELECT distinct REF_DEDUCT FROM DICTIONARY_TYP_INCOMS where REF_DEDUCT is not null) )
	IF @varKSPred_Mesto_Rab IS null or @varKSPred_Mesto_Rab < 0
		SET @varKSPred_Mesto_Rab = 0
	SET @varKSFlagD = 1
END


IF @varKSfl = 1 
	SELECT Case @Status when 1 then 'Основной сотрудник' when 2 then 'Внутренний совместитель' else 'Внешний совместитель' end + 
	': '+rtrim(TAB)+ ' ' +rtrim(dbo.sd_GetEmplName(LINK))+  ', месяц ' + rtrim(convert(varchar(100),@varKSMonth))+ 
			 ', год ' +rtrim( convert(varchar(100),@varKSYear )) as 'Исходные данные'  FROM dbo.EMPL WHERE LINK = @varKSlinkEmpl   
IF  @varKSfl = 1 
	SELECT 'Совокупный доход: '+ rtrim(isnull(convert(varchar(100),(select sum(summa_TYP_INCOMS) from dbo.SD_EMPL_PREV_DOHOD where link_empl =@varKSlinkEmpl)),'0')) + ' , предоставленные вычеты: '+
	 rtrim( isnull( convert(varchar(100),(select sum(summa_ded) from dbo.SD_EMPL_PREV_DED where link_empl =@varKSlinkEmpl and LINK_DED NOT IN (SELECT distinct REF_DEDUCT FROM DICTIONARY_TYP_INCOMS where REF_DEDUCT is not null) )),'0'))
	+ ' , предоставлены скидки: '+
	 rtrim( isnull( convert(varchar(100),(select sum(summa_ded) from dbo.SD_EMPL_PREV_DED where link_empl =@varKSlinkEmpl and LINK_DED IN (SELECT distinct REF_DEDUCT FROM DICTIONARY_TYP_INCOMS where REF_DEDUCT is not null) )),'0'))  as 'Данные с предыдущего места работы'


/*Доходы*/
Declare @isPrevPreiod tinyint
--Суммы начислений включать в базу расчета в том месяце, в котором он был начислен.                   
Set @isPrevPreiod = dbo.sa_get_option_by_code('NDFL_OPT6')
Set @isPrevPreiod = 1 - ISNULL(@isPrevPreiod,0)

Declare @SJC table (link_empl int, link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), period_begin datetime, date1 datetime)

Insert into @SJC (link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, period_begin, date1)
Select 
	JC.LINK_EMPL, P.LINK, link_vkr, S.LINK, P.TYP_PER, P.[OBJECT], summa, 
	period_begin = (case when @isPrevPreiod = 0 then JC.period_begin 
			else (Case 
					when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code <> 'DOCUMENTS_ADD_PREMIUM' and d.code <> 'DOCUMENTS_ADD_PERCENT'
					then JC.DATE_BEGIN else JC.period_begin 
				end) 
			end),
	JC.DATE_BEGIN
from 
	dbo.CALCULATE_JURNAL JC 
	INNER JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
	INNER JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
	CROSS APPLY (SELECT LINK FROM dbo.KOSGU T WHERE T.CODE = 'R211') R211
	CROSS APPLY (SELECT LINK FROM dbo.KOSGU T WHERE T.CODE = '211') T211
	INNER JOIN dbo.KOSGU S ON S.LINK = (CASE WHEN R211.LINK = ISNULL(JC.LINK_EKR,P.LINK_EKR) THEN T211.LINK ELSE ISNULL(JC.LINK_EKR,P.LINK_EKR) END)	
	LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
where
	P.OBJECT = 1
	AND
	P.LINK in (Select TAX_LINK from dbo.group_tax(@varKSRef_Pay)) 
	AND (
			@isPrevPreiod = 0 and @varKSMonth >= month(JC.PERIOD_BEGIN) and @varKSYear = year(JC.PERIOD_BEGIN)
		or 
			@isPrevPreiod = 1 
			and (@varKSMonth >= month(JC.DATE_BEGIN) or @varKSMonth >= month(JC.PERIOD_BEGIN) )
			and (@varKSYear = year(JC.DATE_BEGIN) or @varKSYear = year(JC.PERIOD_BEGIN) )
		)
	AND  
		(	-->>NEW
		@Status <> 1 AND JC.LINK_EMPL = @varKSlinkEmpl /*Если не основной сотрудник, то доход по своему табельному номеру*/
		or
		@Status = 1 AND E.PERS_LINK = @varKSLINK_FACE /*Если основной сотрудник, то доход по всем табельным номерам*/
		)	
	AND JC.LINK_DEP = @DEP_LINK 
	

DECLARE @varKSVal TABLE 
([MONTH] 		[int],
 [EMPL_SUMMA] 		[numeric](19, 2),
 [SUMMA] 		[numeric](19, 2),
 [EMPL_SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_VKR]		[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_211]  [numeric](19, 2), --для расчёта коэффициента при предоставлении вычета только по 211 ЭКР
 [SUMMA_M_VKR]		[numeric](19, 2)
 --[SUMMA_M_VKR1]		[numeric](19, 2)
)

INSERT INTO @varKSVal([MONTH],[SUMMA],[EMPL_SUMMA], [SUMMA_VKR], [EMPL_SUMMA_VKR],[SUMMA_M],[SUMMA_M_211],[SUMMA_M_VKR])--,[SUMMA_M_VKR1])
SELECT T.NUM AS [MONTH],  
		[SUMMA] = SUM(SJ.SUMMA), 
		[EMPL_SUMMA] = SUM(CASE WHEN SJ.LINK_EMPL = @varKSlinkEmpl THEN SJ.SUMMA ELSE 0 END),
		[SUMMA_VKR] = SUM(CASE WHEN SJ.LINK_VKR = @varKSLinkVKR   AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END), 
		[EMPL_SUMMA_VKR] = SUM(CASE WHEN SJ.LINK_VKR = @varKSLinkVKR AND SJ.LINK_EMPL = @varKSlinkEmpl AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END), 
		[SUMMA_M] = SUM(CASE WHEN Month(sj.period_begin) = T.NUM AND SJ.LINK_EMPL = @varKSlinkEmpl THEN SJ.SUMMA ELSE 0 END), 
		[SUMMA_M_211] = SUM(CASE WHEN Month(sj.period_begin) = T.NUM AND SJ.LINK_EMPL = @varKSlinkEmpl AND SJ.LINK_EKR = @Link211EKR THEN SJ.SUMMA ELSE 0 END), 
		[SUMMA_M_VKR] = SUM(CASE WHEN Month(sj.period_begin) =T.NUM AND SJ.LINK_VKR = @varKSLinkVKR AND SJ.LINK_EMPL = @varKSlinkEmpl AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END)
--		[SUMMA_M_VKR1] = SUM(CASE WHEN Month(sj.period_begin) =T.NUM AND SJ.LINK_VKR = @varKSLinkVKR AND SJ.LINK_EMPL = @varKSlinkEmpl THEN SJ.SUMMA ELSE 0 END)
FROM dbo.MONTHS T, @SJC SJ
WHERE SJ.TYP_OPER = 1 AND T.NUM <= @varKSMonth
		AND T.NUM >= Month(sj.period_begin)
		AND  @varKSYear = Year(sj.period_begin)
GROUP BY  T.NUM

if @varKSfl = 1 
	select [month] as [Месяц], [summa] as [Сумма ФЛ с нач года ],summa_vkr as [Сумма ФЛ с нач года по ВКР], summa_m as [Сумма сотр за месяц], 
	summa_m_vkr as [Сумма сотр за месяц по ВКР]  from @varKSVal

/*Доходы для вычетов*/
DECLARE @varKSVal2 TABLE 
([MONTH] 		[int],
 [SUMMA] 		[numeric](19, 2),
 [EMPL_SUMMA] 		[numeric](19, 2),
 [SUMMA_VKR]		[numeric](19, 2),
 [EMPL_SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_VKR]		[numeric](19, 2))


INSERT INTO @varKSVal2([MONTH],[SUMMA],[EMPL_SUMMA], [SUMMA_VKR], [EMPL_SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
SELECT T.NUM AS [MONTH],
		[SUMMA] = SUM(SJ.SUMMA),
		[EMPL_SUMMA] = SUM(CASE WHEN SJ.LINK_EMPL = @varKSlinkEmpl THEN SJ.SUMMA ELSE 0 END),
		[SUMMA_VKR] = SUM(CASE WHEN SJ.LINK_VKR = @varKSLinkVKR AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END),
		[EMPL_SUMMA_VKR] = SUM(CASE WHEN SJ.LINK_VKR = @varKSLinkVKR AND (SJ.LINK_EMPL = @varKSlinkEmpl) AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END), 
		[SUMMA_M] = SUM(CASE WHEN (CASE WHEN SJ.TYP_PER=1 THEN Month(sj.period_begin) ELSE MONTH(sj.DATE1) END)=T.num AND SJ.LINK_EMPL = @varKSlinkEmpl then sj.summa else 0 end),
		[SUMMA_M_VKR] = SUM(CASE WHEN ((CASE WHEN SJ.TYP_PER=1 THEN Month(sj.period_begin) ELSE MONTH(sj.DATE1) END)=T.num)
							AND sj.link_vkr = @varKSLinkVKR AND SJ.LINK_EMPL = @varKSlinkEmpl AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END)
FROM dbo.MONTHS T, @SJC SJ
WHERE SJ.TYP_OPER = 1 
		AND T.NUM <= @varKSMonth AND
		T.NUM >=(CASE WHEN SJ.TYP_PER=1 THEN Month(sj.period_begin) ELSE MONTH(SJ.DATE1) END)
		AND @varKSYear =(case WHEN SJ.TYP_PER=1 THEN Year(sj.period_begin) ELSE YEAR(sj.DATE1) END)
GROUP BY  T.NUM

insert into @varKSVal2 ([MONTH],[SUMMA],[EMPL_SUMMA], [SUMMA_VKR], [EMPL_SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
select T.NUM, 0, 0, 0, 0, 0, 0  from dbo.MONTHS T where T.NUM < (Select min([month]) from @varKSVal2)

if @varKSfl = 1 
	select [month] as [Месяц], [summa] as [Сумма ФЛ с нач года], @varKSPred_Mesto_Rab as [Сумма ФЛ с предыдущего места работы], summa_vkr as [Сумма ФЛ с нач года по ВКР ], summa_m as [Сумма сотр за месяц], 
	summa_m_vkr as [Сумма сотр за месяц по ВКР]  from @varKSVal2 order by [month]

/*Какие бывают скидки*/
if @varKSfl=1 
   select code as [Код вычета], name as [Наименование вычета], SUMMA as [Сумма] from dbo.Salary_deductions(@varKSDate) WHERE TYPE = 5

/*
Если это не внешний совместитель, то Скидки и вычеты предоставляем только по основному табельному номеру
Если это внешний совместитель, предоставляем скидки
*/

/*Какие скидки у физ.лица*/
DECLARE @varKSTemp1 TABLE 
([NUM] 			[int],
 [REF_PAY]		[int],	
 [MP]		 	[numeric](19, 2),
 [MP_M]			[numeric](19, 2),
 [MP_M_VKR]		[numeric](19, 2),
 [PREDEL]		[numeric](19, 2))

--Расчет скидок
INSERT INTO @varKSTemp1 ([NUM],[REF_PAY],[MP],[MP_M],[MP_M_VKR],[PREDEL])
SELECT m.num,T1.REF_PAY,
	/*Годовая сумма дохода со скидкой по физ.лицу*/
	[mp] = SUM(case when Month(sj.period_begin)<=m.num then SJ.summa else 0 end), 
	/*Месячная сумма дохода со скидкой по физ.лицу*/
	[mp_m] = sum(case when Month(sj.period_begin)=m.num then (case when Month(sj.period_begin)<=m.num then SJ.summa else 0 end) else 0 end),
	/*Месячная сумма дохода со скидкой по физ. лицу  в разрезе КБК*/
	[mp_m_vkr] = sum(case when Month(sj.period_begin) = m.num AND sj.link_vkr = @varKSLinkVKR AND SJ.LINK_EKR = @varKSLinkEKR then (case when Month(sj.period_begin)<=m.num then SJ.summa else 0 end) else 0 end),
	[PREDEL] = T1.SUMMA -(case when @varKSFlagD = 1 then isnull((select sum(summa_ded) from dbo.SD_EMPL_PREV_DED where LINK_DED = T1.REF_PAY and  link_empl=@varKSlinkEmpl),0)  else 0 end) 
FROM 
	dbo.MONTHS M, @SJC SJ, dbo.Salary_deductions(@varKSDate) T1
WHERE  
	Year(sj.period_begin) = @varKSYear and m.num<=@varKSMonth AND T1.TYPE = 6 --Тип вычета "Скидка на материальную помощь"
	AND T1.REF_PAY = (select ref_deduct  from dbo.DICTIONARY_TYP_INCOMS where link = (select LINK_INC from dbo.PAYS where LINK = SJ.LINK_PAYS)) 
	AND @Status in (1 /*Основной*/, 3 /*Внешний совместитель*/) AND SJ.LINK_EMPL = @varKSlinkEmpl
GROUP BY m.num, T1.REF_PAY, T1.SUMMA

IF @varKSfl=1 
	select [num] as [Месяц], [Вычет] = (select name from diction where link = ref_pay), [mp] as [Сумма ФЛ с нач года], mp_m as [Сумма ФЛ за месяц], 
	mp_m_vkr as [Сумма ФЛ за месяц по ВКР], predel as [Предел]  from @varKSTemp1

DECLARE @varKSTemp2 TABLE 
([NUM] 			[int],
 [REF_PAY]		[int],	
 [MP]		 	[numeric](19, 2),
 [MP_M]			[numeric](19, 2),
 [MP_M_VKR]		[numeric](19, 2), [PREDEL]		[numeric](19, 2),
 [SALDO]		[numeric](19, 2),
 [KOEF] 		[numeric](19, 10))

INSERT INTO @varKSTemp2 ([NUM],[REF_PAY],[MP],[MP_M],[MP_M_VKR],[PREDEL],[SALDO],[KOEF])
SELECT T1.NUM,T1.REF_PAY,T1.MP,T1.MP_M,T1.MP_M_VKR,T1.PREDEL, 
	[SALDO] = (CASE WHEN PREDEL < 0 THEN 0 ELSE PREDEL END) - ISNULL((select sum(mp_m) from @varKSTemp1 T2 where T2.num < T1.num and T2.REF_PAY = T1.REF_PAY),0),
	[KOEF] =  (CASE WHEN MP_M = 0 THEN 0 ELSE MP_M_VKR/MP_M END)
FROM @varKSTemp1 T1

DECLARE @varKSTemp3 TABLE 
([NUM] 			[int],
 [REF_PAY]		[int],	
 [MP_M]			[numeric](19, 2),
 [MP_M_VKR]		[numeric](19, 2),
 [KOEF] 		[numeric](19, 10),
 [DED]			[numeric](19, 2)
  )

INSERT INTO @varKSTemp3 ([NUM],[REF_PAY],[MP_M],[MP_M_VKR],[KOEF],[DED])
SELECT [NUM],[REF_PAY],[MP_M],[MP_M_VKR],[KOEF], 
	   [DED] = 	case when SALDO < 0 then 
				- case when (CASE WHEN PREDEL < 0 THEN 0 ELSE PREDEL END) - ISNULL(MP,0) > 0	then
					(CASE WHEN PREDEL < 0 THEN 0 ELSE PREDEL END) - ISNULL(MP,0) 
					else 0
				end
			else
				(CASE WHEN MP_M > SALDO THEN SALDO ELSE MP_M END)
			end
FROM @varKSTemp2 

/*Очитстка от мусора: были рассчитаны вычеты и скидки с КБК, которые теперь в этом году больше не используются.
Врезультате эти суммы вычетов не очищаются при расчете и вылазят в 2НДФЛ*/
DELETE
FROM 
	dbo.SAL_DED_MONTH
WHERE
	YEAR(dbo.SAL_DED_MONTH.DATE_DED) = YEAR(@varKSDate)
	and
	not exists (
		SELECT j.LINK 
		FROM dbo.calculate_jurnal j
		WHERE 
			YEAR(j.PERIOD_BEGIN) = YEAR(@varKSDate)
			and j.link_empl = dbo.SAL_DED_MONTH.link_empl 
			and j.LINK_VKR = dbo.SAL_DED_MONTH.LINK_VKR
			and j.LINK_EKR = dbo.SAL_DED_MONTH.LINK_EKR
			AND EXISTS (SELECT LINK_PAYS FROM dbo.PAYS P 
						INNER JOIN dbo.TAX_REF R ON R.LINK_TAX = P.LINK 
						WHERE P.OBJECT = 2 AND P.WAY_CALC = 4 AND R.LINK_PAYS = j.link_pays)
	)
	

/*Удалить все вычеты и скидки по сотруднику, чтобы затем вновь рассчитать их*/
DELETE FROM dbo.SAL_DED_MONTH
WHERE 
	LINK_EMPL = @varKSlinkEmpl 
	AND LINK_VKR = @varKSLinkVKR 
	AND ISNULL(LINK_EKR,@varKSLinkEKR) = @varKSLinkEKR 
	AND YEAR(DATE_DED) = YEAR(@varKSDate) 
	AND MONTH(DATE_DED) <= MONTH(@varKSDate) 

/*Заново рассчитать годовые скидки*/
INSERT INTO dbo.SAL_DED_MONTH (LINK_EMPL,REF_DED,SUMMA,DATE_DED,LINK_VKR,LINK_EKR,TYPE)
SELECT [LINK_EMPL] = @varKSlinkEmpl,
		 [REF_DED]   = T.REF_PAY,
		 [SUMMA] 	 = ISNULL(T.DED,0) * ISNULL(T.KOEF,1),
		 [DATE_DED]  = dbo.ConvertDMY2Date(1,t.num,year(@varKSDate)),
		 [LINK_VKR]	 = @varKSLinkVKR,
		 [LINK_EKR]	 = @varKSLinkEKR,
		 [TYPE] = 2
FROM @varKSTemp3 T WHERE T.MP_M_VKR <> 0 AND T.DED <> 0 

/* Скидки */

DECLARE @varKSTotTab TABLE
([MONTH] 		[int],
 [EMPL_SUMMA]		[numeric](19, 2), --
 [EMPL_SUMMA_VKR]	[numeric](19, 2), --
 [SUMMA_VKR]		[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_211]  [numeric](19, 2), --для расчёта коэффициента при предоставлении вычета только по 211 ЭКР
 [SUMMA_M_VKR]		[numeric](19, 2), --для каждого ЭКР, ВКР
 [DED_M_ALL] 		[numeric](19, 2),
 --[DED_M_ALL_211] 	[numeric](19, 2), --для расчёта коэффициента при предоставлении вычета только по 211 ЭКР
 [DED]			[numeric](19, 2),
 [DED_M]		[numeric](19, 2),
 [DED0]			[numeric](19, 2)
 ) 

/* Вычеты делятся между КБК пропорционально с помощью коэффициентов пропорциональности */
INSERT INTO @varKSTotTab([MONTH], [EMPL_SUMMA], [EMPL_SUMMA_VKR], [SUMMA_VKR],[SUMMA_M],[SUMMA_M_211],[SUMMA_M_VKR],[DED_M_ALL],[DED],[DED_M],DED0)
SELECT 	
		M.[NUM], 
		ISNULL(T1.EMPL_SUMMA,0), 
		ISNULL(T1.[EMPL_SUMMA_VKR],0), 
		ISNULL(T1.[SUMMA_VKR],0), 
		ISNULL(T1.[SUMMA_M],0),
		ISNULL(T1.[SUMMA_M_211],0),	 
		ISNULL(T1.[SUMMA_M_VKR],0),
	 	[DED_M_ALL] = ISNULL((SELECT SUM(T2.DED) FROM @varKSTemp3 T2 WHERE T2.NUM=M.[NUM]),0),
		[DED] 		= ISNULL((SELECT SUM(T2.DED * T2.KOEF) FROM @varKSTemp3 T2 WHERE T2.NUM <= M.[NUM]),0),
		[DED_M] 	= ISNULL((SELECT SUM(T2.DED * T2.KOEF) FROM @varKSTemp3 T2 WHERE T2.NUM = M.[NUM]),0),
		[DED0] 		= ISNULL((SELECT SUM(T2.DED) FROM @varKSTemp3 T2 WHERE T2.NUM <= M.[NUM]),0)
FROM  dbo.months M LEFT JOIN @varKSVal T1 on M.num = T1.[MONTH] 
WHERE M.NUM <= @varKSMonth
GROUP BY M.[NUM], T1.[EMPL_SUMMA], T1.[EMPL_SUMMA_VKR], T1.SUMMA_VKR, T1.SUMMA_M_VKR, T1.SUMMA_M, T1.SUMMA_M_211

IF @varKSfl=1 
select [month] as [Месяц],summa_vkr as [Сумма ФЛ с нач года по ВКР], summa_m as [Сумма сотр за месяц], 
	summa_m_vkr as [Сумма за месяц по ВКР], ded_m_all as [Скидки всего], ded as [Скидки всего по ВКР], ded_m as [Скидки за месяц по ВКР]  from @varKSTotTab

DECLARE @varKSTT TABLE
([REF_PAY] 	[int],
 [PREDEL]	[numeric](19, 2),
 [SUMMA]		[numeric](19, 2),
 [MONTHEND]	[int])

--- Вычеты и скидки: Определение достижения предела
INSERT INTO @varKSTT ([REF_PAY],[PREDEL],[SUMMA],[MONTHEND])
SELECT TD.REF_PAY,TD.PREDEL,TD.SUMMA, 
		[MonthEnd] =  (SELECT TOP 1 T1.[MONTH] FROM  @varKSVal2 T1 
 							WHERE (SUMMA+ISNULL(@varKSPred_Mesto_Rab,0) - ISNULL((select sum(ded) from @varKSTemp3 where num<=T1.[MONTH]),0))
							<(CASE WHEN TD.PREDEL = 0 THEN 999999999999 ELSE TD.PREDEL END)
							ORDER BY T1.[MONTH] DESC)
FROM 
	dbo.Salary_deductions(@varKSDate ) as TD where TYPE = 1

DECLARE @varKSTotal TABLE
( link int not null IDENTITY(1,1),
 [REF_PAY] 	[int],
 [MONTH_BEGIN]	[int],
 [MONTH_END]	[int],		
 [SUMMA]	[numeric](19, 2),
[SUMMA_V] numeric(18,2), [SUMMA_D] numeric(18,2), [Ostatok_V] numeric(18,2)-- Для определения факт вычетов
)

--Предоставление стандартных вычетов
--'Всегда,При наличии любого дохода за месяц,При наличии только положительного дохода за месяц'
declare @NDFL_OPT5 tinyint
SET @NDFL_OPT5 =  ISNULL((SELECT top 1 CONVERT(INT,VALUE) FROM S_OPTIONS WHERE OBJECT = (SELECT LINK FROM S_OBJECTS WHERE CODE = 'NDFL_OPT5')),1)

INSERT INTO @varKSTotal ([REF_PAY],[MONTH_BEGIN],[MONTH_END],[SUMMA],[SUMMA_V],[SUMMA_D])
SELECT 		
	[REF_PAY] 		= TT.REF_PAY, 
	[MONTH_BEGIN]	= M.[NUM],--SDE.MONTH_BEGIN,
	[MONTH_END] 	= M.[NUM],--(CASE WHEN TT.MonthEnd> SDE.MONTH_END THEN SDE.MONTH_END ELSE TT.MonthEnd END),
	[SUMMA] 		= TT.SUMMA,
	[SUMMA_V]		= TT.SUMMA,	-- Для определения факт вычетов
	[SUMMA_D]		= ISNULL(D.[summa_m],0)	-- Для определения факт вычетов
				- ISNULL((select sum(ded) from @varKSTemp3 where num = M.[NUM]),0)
FROM 
	@varKSTT TT
	INNER JOIN (SELECT link_ded, month_begin,month_end FROM DBO.salary_ded_empl(@varKSlinkEmpl,@varKSMonth, @varKSYear)T1 WHERE t1.month_begin<=t1.month_end) SDE
		ON SDE.LINK_DED =TT.REF_PAY
	INNER JOIN dbo.Months M ON TT.MonthEnd >= M.[NUM] AND M.[NUM] between SDE.MONTH_BEGIN and SDE.MONTH_END
	LEFT JOIN @varKSVal2 D ON M.NUM = D.[month] -- Для определения факт вычетов
WHERE 
	@Status in (1 /*Основной*/, 3 /*Внешний совместитель*/)	-->>NEW
	AND 
		(@NDFL_OPT5 = 1 or @NDFL_OPT5 = 2 and D.SUMMA_M <> 0 or @NDFL_OPT5 = 3 and D.SUMMA_M > 0)
	AND --Вычет дается, если сотрудник в этом месяце не уволен или есть положительный доход.
		(D.SUMMA_M <> 0 OR dbo.DateEndOfMonth(@DIS_DATE) >= dbo.DateEndOfMonth( dbo.ConvertDMY2Date(1,M.[NUM],@varKSYear)))
ORDER BY
	M.NUM

---Вычеты от взносов в пенсионый фонд
INSERT INTO @varKSTotal ([REF_PAY],[MONTH_BEGIN],[MONTH_END],[SUMMA],[SUMMA_V],[SUMMA_D])
select 
	TA.LINK_DED, MONTH(cj.PERIOD_BEGIN), MONTH(cj.PERIOD_BEGIN), SUM(SUMMA),SUM(SUMMA), (SELECT MAX(A.SUMMA_D) FROM @varKSTotal A WHERE A.MONTH_BEGIN = MONTH(cj.PERIOD_BEGIN))
from 
	dbo.EMPL E inner join dbo.calculate_jurnal cj on e.link = cj.link_empl
	inner join dbo.TAX2_APP TA on TA.LINK_UP = CJ.LINK_PAYS
where 
	year(period_begin) = @varKSYear
	and
	E.LINK = @varKSlinkEmpl	
	and
	@Status in (1 /*Основной*/, 3 /*Внешний совместитель*/) and MONTH(cj.PERIOD_BEGIN) <= Month(@varKSDate) 
	and
	ISNULL(TA.LINK_DED,0) > 0
GROUP BY 
	TA.LINK_DED, MONTH(cj.PERIOD_BEGIN)

/*
Раздение на части сумм вычетов, на которые человек имеет право: фактически предоставленные и остаток непредоставленных вычетов
*/
declare @VychOpt1 int -- ограничивать месячный вычет месячным доходом
declare	@VychOpt2 int  -- месячный вычет давать с нарастающим итогом (компенсировать не предоставленный вычет, если в определенном месяце сотрудник не получал дохода)

if @NDFL_OPT5 > 1 begin
	Set @VychOpt1 = ISNULL((SELECT top 1 CONVERT(INT,VALUE) FROM S_OPTIONS WHERE OBJECT = (SELECT LINK FROM S_OBJECTS WHERE CODE = 'NDFL_OPT1')),0)
	Set @VychOpt2 = ISNULL((SELECT top 1 CONVERT(INT,VALUE) FROM S_OPTIONS WHERE OBJECT = (SELECT LINK FROM S_OBJECTS WHERE CODE = 'NDFL_OPT2')),0)
end
else
	Select @VychOpt1 = 0, @VychOpt2 = 0

IF @VychOpt1 = 1 --Если ограничивать месячный вычет месячным доходом
BEGIN

	DECLARE @Cur1 CURSOR, @MES tinyint, @REF_V int, @SUMMA_V numeric(18,2), @SUMMA_D numeric(18,2), @Ostatok_V numeric(18,2), @Ostatok numeric(18,2), @Ostatok_m numeric(18,2), @link int
	Declare @SumVPred numeric(18,2) --Сумма уже предоставленных вычетов в отчетном месяце
	SET @Cur1 = CURSOR FORWARD_ONLY

	FOR select link, MONTH_BEGIN, REF_PAY, SUMMA_V, SUMMA_D, Ostatok_V from @varKSTotal order by link
	
	OPEN @Cur1
	FETCH NEXT FROM @Cur1 INTO @link, @MES, @REF_V, @SUMMA_V, @SUMMA_D, @Ostatok_V
	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
			Set @Ostatok = ISNULL((Select Sum(Ostatok_V)  from @varKSTotal 
				where ((@VychOpt2 = 1 and MONTH_BEGIN <= @MES) -- ограниченный месячным доходом вычет давать с нарастающим итогом (компенсировать не предоставленный вычет)
					or (@VychOpt2 = 0 and MONTH_BEGIN = @MES)) -- ограниченный месячным доходом вычет давать без нарастающего итога
					and link < @link and REF_PAY = @REF_V) ,0)
				
			Set @Ostatok_m = ISNULL((Select Sum(Ostatok_V)  from @varKSTotal where Ostatok_V > 0 and MONTH_BEGIN = @MES and link < @link),0)
			Set @SUMMA_V = ISNULL((Select Sum(SUMMA_V)  from @varKSTotal where MONTH_BEGIN = @MES and link <= @link),0)
			Set @SumVPred = ISNULL((Select Sum(SUMMA_V)  from @varKSTotal where MONTH_BEGIN = @MES and link < @link),0)
	
			update @varKSTotal
			Set 	SUMMA_V = (case when ISNULL(@SUMMA_V,0) + @Ostatok > ISNULL(SUMMA_D,0) 
					then ISNULL(SUMMA_D,0) - @SumVPred
					else (case when @Ostatok_m = 0 then ISNULL(@SUMMA_V,0) + @Ostatok - @SumVPred else 0 end) 
				end),
				Ostatok_V = (case when ISNULL(@SUMMA_V,0) + @Ostatok > ISNULL(SUMMA_D,0)
							then ISNULL(@SUMMA_V,0) - ISNULL(SUMMA_D,0)
							else  - @Ostatok
						end)
			where link = @link

		END
	
		FETCH NEXT FROM @Cur1 INTO @link, @MES, @REF_V, @SUMMA_V, @SUMMA_D, @Ostatok_V
	END
	
	CLOSE @Cur1
	DEALLOCATE @Cur1

	IF @varKSfl=1 
	select [Вычет] = (select  rtrim(sname) + ' ' + LEFT(rtrim(name),100) from dbo.DICTIONARY_TYP_DEDUCTION where link = REF_PAY),
		month_begin as [Месяц начала], month_end as [Месяц окончания], summa as [Сумма вычета по НК], summa_v as [Сумма вычета факт], Ostatok_V as [Изменение остатка вычетов] from @varKSTotal order by month_begin,  REF_PAY
	
	update @varKSTotal 
	Set summa = summa_v
END
/**/

/* ^^^^^^ Имущественные вычеты - Начало расчета ^^^^^^^^*/

declare @VychOpt9 int -- имущественный вычет предоставлять с даты регистрации уведомсления
Set @VychOpt9 = ISNULL((SELECT top 1 CONVERT(INT,VALUE) FROM dbo.S_OPTIONS WHERE OBJECT = (SELECT LINK FROM S_OBJECTS WHERE CODE = 'NDFL_OPT9')),0)

declare @SprOtherDed table(LINK_DICTION int, MONTH1 TINYINT, Summa numeric(18,2))

insert into @SprOtherDed
Select LINK_DICTION, MONTH1, SUM(SUM_DED) 
from 
	EMPL E 
	inner join TAX_DEDUCTIONS TD on E.PERS_LINK = TD.LINK_PERSON AND E.DEP_LINK = TD.LINK_DEP
where 
	E.LINK = @varKSlinkEmpl 
	and [YEAR] = @varKSYear 
	AND @Status in (1 /*Основной*/, 3 /*Внешний совместитель*/) 
	and MONTH1 <= Month(@varKSDate) --DATE_REF <= dbo.DateEndOfMonth(@varKSDate)
	AND E.DEP_LINK = @DEP_LINK
Group by 
	LINK_DICTION, MONTH1

IF @varKSfl=1 
	select [Код]= rtrim(SNAME), [Имущественный вычет] = rtrim(name), [Сумма вычета] = ISNULL(OD.summa,0) from @SprOtherDed OD inner join dbo.DICTIONARY_TYP_DEDUCTION  D on D.link = OD.LINK_DICTION

declare @TMP Table ([REF_PAY] int, [MONTH_BEGIN] int, [MONTH_END] int, [SUMMA] numeric(18,2))
Insert into @TMP
Select [REF_PAY], M.NUM, M.NUM, SUM([SUMMA]) 
from dbo.Months M, @varKSTotal T1 
 where M.[NUM] between [MONTH_BEGIN] and [MONTH_END] and [REF_PAY] not in (select LINK_DICTION from @SprOtherDed) 
group by [REF_PAY], M.NUM

DECLARE @REF_PAY int, @MONTH_BEGIN int, @SUMMA numeric(18,2), @Saldo numeric(18,2), @STD_VYCH NUMERIC(18,2), @MONTH1 TINYINT

DECLARE @Cur CURSOR
SET @Cur = CURSOR FORWARD_ONLY
FOR 
	Select M.NUM, LINK_DICTION, [SUMMA], MONTH1 = (CASE WHEN @VychOpt9 = 1 THEN OD.MONTH1 ELSE 1 END) 
	from @SprOtherDed OD, dbo.Months M 
	WHERE M.NUM BETWEEN (CASE WHEN @VychOpt9 = 1 THEN OD.MONTH1 ELSE 1 END) AND @varKSMonth

OPEN @Cur
FETCH NEXT FROM @Cur INTO @MONTH_BEGIN, @REF_PAY, @SUMMA, @MONTH1
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN
		Set @Saldo = ISNULL(@SUMMA,0) - ISNULL((Select Sum(Summa) from @tmp T where T.REF_PAY = @REF_PAY),0)

		SET @STD_VYCH = ISNULL((SELECT SUM(SUMMA) FROM @varKSTotal WHERE [MONTH_BEGIN] < @MONTH1),0)

		INSERT INTO @TMP ([REF_PAY],[MONTH_BEGIN],[MONTH_END],[SUMMA])
		Select --
			@REF_PAY, @MONTH_BEGIN, @MONTH_BEGIN, 
			(Case When @Saldo > (ISNULL(DS.EMPL_SUMMA,0) - ISNULL(DS.DED0,0) 
								- (ISNULL(DS2.EMPL_SUMMA,0) - ISNULL(DS2.DED0,0) - @STD_VYCH)
								- ISNULL((Select SUM(summa) from @TMP where MONTH_BEGIN <=  @MONTH_BEGIN ),0))
				then (ISNULL(DS.EMPL_SUMMA,0) - ISNULL(DS.DED0,0) 
						- (ISNULL(DS2.EMPL_SUMMA,0) - ISNULL(DS2.DED0,0) - @STD_VYCH)
						- ISNULL((Select SUM(summa) from @TMP where MONTH_BEGIN <=  @MONTH_BEGIN ),0))
			else
				@Saldo
			end)
		from
			@varKSTotTab DS
			LEFT JOIN @varKSTotTab DS2 ON DS2.[Month] = @MONTH1-1 
		where
			DS.[Month] = @MONTH_BEGIN
			and
			(ISNULL(DS.EMPL_SUMMA,0) - ISNULL(DS.DED0,0)
				- (ISNULL(DS2.EMPL_SUMMA,0) - ISNULL(DS2.DED0,0) - @STD_VYCH) 
				- ISNULL((Select SUM(summa) from @TMP where MONTH_BEGIN <=  @MONTH_BEGIN ),0)) > 0
			and 
			@Saldo > 0

	END
	FETCH NEXT FROM @Cur INTO @MONTH_BEGIN, @REF_PAY, @SUMMA, @MONTH1
END

CLOSE @Cur
DEALLOCATE @Cur

INSERT INTO @varKSTotal ( [REF_PAY], [MONTH_BEGIN], [MONTH_END], [SUMMA])
Select * from @TMP where [REF_PAY] in (select LINK_DICTION from @SprOtherDed)

/* vvvvvv Имущественные вычеты - Конец расчета vvvvvvv */


IF @varKSfl=1 
select [Вычет] = (select  rtrim(sname) + ' ' + LEFT(rtrim(name),50) from dbo.DICTIONARY_TYP_DEDUCTION where link = REF_PAY),
	month_begin as [Месяц начала], month_end as [Месяц окончания], summa as [Сумма вычета]  from @varKSTotal T1  order by month_begin, REF_PAY


DECLARE @varKSTotal1 TABLE
([KOL]			[int],
 [REF_PAY] 		[int],
 [MONTH_BEGIN]		[int],
 [MONTH_END]		[int],		
 [SUMMA]		[numeric](19, 2))

INSERT INTO @varKSTotal1 ([KOL],[REF_PAY],[MONTH_BEGIN],[MONTH_END],[SUMMA])
SELECT COUNT(*) AS [KOL],REF_PAY,MONTH_BEGIN,MONTH_END,SUMMA
FROM @varKSTotal 
GROUP BY REF_PAY,MONTH_BEGIN,MONTH_END,SUMMA

DECLARE @varKSvych TABLE
([MONTH] 	[int],
 [REF_PAY] 	[int],
 [DEDUCT]	[numeric] (19, 2),
 [COMMENT]  [varchar] (254),
 [KOEF_VKR] [numeric] (18,10),
 [kol] [numeric] (18,2),
 [SPR_SUM]  NUMERIC(18,2)	
)

DECLARE @NDFL_OPT7 int
SET @NDFL_OPT7 = dbo.sa_get_option_by_code('NDFL_OPT7')

DECLARE @Koef table (Mon int, koef NUMERIC(18,10), doh tinyint, koef2 NUMERIC(18,10))
insert into @Koef (Mon, Koef, doh, koef2)
Select 	T2.[Month], 
	CASE WHEN @NDFL_OPT7 = 1 --Вычеты применять только к доходу по 211 ЭКР
	THEN 
		CASE WHEN @varKSLinkEKR = @Link211EKR 
		THEN --Начислять пропорционально КБК
			--CONVERT(NUMERIC(18,10), case when (t2.summa_m_211- t2.ded_m_all) <> 0 then ((v.summa_m_vkr-T2.ded_m)/(t2.summa_m_211- t2.ded_m_all)) else 0 end )
			CONVERT(NUMERIC(18,10), case when t2.summa_m_211 <> 0 then (v.summa_m_vkr/t2.summa_m_211) else 0 end )
		ELSE 
			0 
		END
	ELSE --Начислять пропорционально КБК и ЭКР
		--CONVERT(NUMERIC(18,10), case when (t2.summa_m- t2.ded_m_all) <> 0 then ((t2.summa_m_vkr-T2.ded_m)/(t2.summa_m- t2.ded_m_all)) else 0 end )
		CONVERT(NUMERIC(18,10), case when t2.summa_m <> 0 then (t2.summa_m_vkr/t2.summa_m) else 0 end )
	END,
	(Case when t2.summa_m <> 0 then 1 else 0 end),
	CONVERT(NUMERIC(18,10), case when t2.summa_m <> 0 then (t2.summa_m_vkr/t2.summa_m) else 0 end )	
from 
	@varKSTotTab T2 
	inner join @varKSVal V on T2.[month] = V.[month]

--СПРАВОЧНИК ВИДОВ ИМУЩЕСТВЕННЫХ ВЫЧЕТОВ
DECLARE @DICT_TAX_DEDUCTIONS TABLE (LINK INT)
INSERT INTO @DICT_TAX_DEDUCTIONS (LINK)
SELECT LINK FROM dbo.DICTIONARY_TYP_DEDUCTION WHERE NUMBER = 4

/*Расстановка коэффициентов на вычеты. Если нет дохода, то вычета по коэф. будующего месяца, в котором доход есть*/
INSERT INTO @varKSvych ([MONTH],[REF_PAY],[DEDUCT],[COMMENT],[KOEF_VKR],[KOL], [SPR_SUM])
SELECT [MONTH] = T1.MONTH_BEGIN, T1.REF_PAY,
	[DEDUCT] = 
			CASE WHEN NOT EXISTS (SELECT * FROM @DICT_TAX_DEDUCTIONS D WHERE D.LINK = T1.REF_PAY) THEN	
				CONVERT(NUMERIC(18,10), T1.KOL*T1.SUMMA * 
				case when D.summa_m = 0 then ISNULL((Select top 1 K.Koef from @Koef K where K.Mon >= T1.MONTH_BEGIN and doh <> 0 order by Mon),0)
					else ISNULL((Select top 1 K.Koef from @Koef K where K.Mon = T1.MONTH_BEGIN and K.Koef <> 0 order by Mon),0) end)
			ELSE
				CONVERT(NUMERIC(18,10), T1.KOL*T1.SUMMA * 
				case when D.summa_m = 0 then ISNULL((Select top 1 K.Koef2 from @Koef K where K.Mon >= T1.MONTH_BEGIN and doh <> 0 order by Mon),0)
					else ISNULL((Select top 1 K.Koef2 from @Koef K where K.Mon = T1.MONTH_BEGIN and K.Koef2 <> 0 order by Mon),0) end)
			END,		

	[COMMENT] = 
			CASE WHEN NOT EXISTS (SELECT * FROM @DICT_TAX_DEDUCTIONS D WHERE D.LINK = T1.REF_PAY) THEN	
				'('+RTRIM(LTRIM(STR(T1.KOL)))+'*'+RTRIM(LTRIM(CONVERT(VARCHAR(100),T1.SUMMA)))+ 
				'*'+ rtrim(ltrim(convert(varchar(100), CONVERT(NUMERIC(18,2), case when D.summa_m = 0 then ISNULL((Select top 1 K.Koef from @Koef K where K.Mon >= T1.MONTH_BEGIN and K.Koef <> 0 order by Mon),0)
					else ISNULL((Select top 1 K.Koef from @Koef K where K.Mon = T1.MONTH_BEGIN and doh <> 0 order by Mon),0) end)) )) +')'
			ELSE
				'('+RTRIM(LTRIM(STR(T1.KOL)))+'*'+RTRIM(LTRIM(CONVERT(VARCHAR(100),T1.SUMMA)))+ 
				'*'+ rtrim(ltrim(convert(varchar(100), CONVERT(NUMERIC(18,2), case when D.summa_m = 0 then ISNULL((Select top 1 K.Koef2 from @Koef K where K.Mon >= T1.MONTH_BEGIN and K.Koef2 <> 0 order by Mon),0)
					else ISNULL((Select top 1 K.Koef2 from @Koef K where K.Mon = T1.MONTH_BEGIN and doh <> 0 order by Mon),0) end)) )) +')'
			END,

	[KOEF_VKR] =
			CASE WHEN NOT EXISTS (SELECT * FROM @DICT_TAX_DEDUCTIONS D WHERE D.LINK = T1.REF_PAY) THEN
				 CONVERT(NUMERIC(18,10), case when D.summa_m = 0 then ISNULL((Select top 1 K.Koef from @Koef K where K.Mon >= T1.MONTH_BEGIN and K.Koef <> 0 order by Mon),0)
					else ISNULL((Select top 1 K.Koef from @Koef K where K.Mon = T1.MONTH_BEGIN and doh <> 0 order by Mon),0) end )
			ELSE
				 CONVERT(NUMERIC(18,10), case when D.summa_m = 0 then ISNULL((Select top 1 K.Koef2 from @Koef K where K.Mon >= T1.MONTH_BEGIN and K.Koef2 <> 0 order by Mon),0)
					else ISNULL((Select top 1 K.Koef2 from @Koef K where K.Mon = T1.MONTH_BEGIN and doh <> 0 order by Mon),0) end )				
			END,		
	T1.KOL,
	T1.KOL*T1.SUMMA
FROM @varKSTotal1 t1 left join @varKSTotTab D on T1.MONTH_BEGIN = D.[Month]--, @varKSTotTab T2 WHERE T2.[MONTH] BETWEEN T1.MONTH_BEGIN AND T1.MONTH_END 
ORDER BY 1

INSERT INTO dbo.SAL_DED_MONTH (LINK_EMPL,REF_DED,SUMMA,DATE_DED,LINK_VKR,LINK_EKR,TYPE, KOEF_VKR, KOL )
SELECT 	[LINK_EMPL] = @varKSlinkEmpl,
			[REF_DED] 	= T.REF_PAY,
			[SUMMA] 	= T.DEDUCT,
			[DATE_DED] 	= dbo.ConvertDMY2Date(1,t.[month],year(@varKSDate)),
			[LINK_VKR]	= @varKSLinkVKR,
			[LINK_EKR]	= @varKSLinkEKR,
			[TYPE] 		= 1, --convert(NUMERIC(3,0),B.VALUE)
			[KOEF_VKR],
			[KOL]
FROM @varKSvych T WHERE T.DEDUCT <> 0 

--========================================================================================
--Блок проверки и коррестировки ошибки, связанной с погрешностья округления разбитых по источникам вычетов
SELECT S.REF_DED, MONTH(DATE_DED) AS MN, V.SPR_SUM - SUM(SUMMA) AS SUMMA
INTO #CORRECT
FROM dbo.SAL_DED_MONTH S INNER JOIN @varKSvych V ON V.[MONTH] = MONTH(S.DATE_DED) AND S.REF_DED = V.REF_PAY
WHERE YEAR(DATE_DED) = year(@varKSDate) AND LINK_EMPL = @varKSlinkEmpl
GROUP BY S.REF_DED, MONTH(DATE_DED), V.SPR_SUM
HAVING ABS(V.SPR_SUM - SUM(SUMMA)) BETWEEN 0.01 AND 0.02

IF EXISTS(SELECT * FROM #CORRECT) BEGIN

	UPDATE V
	SET V.DEDUCT = ISNULL(V.DEDUCT,0) + ISNULL(C.SUMMA,0)
	FROM @varKSvych V INNER JOIN #CORRECT C ON V.[MONTH] = C.MN AND C.REF_DED = V.REF_PAY

	DELETE FROM dbo.SAL_DED_MONTH 
	WHERE YEAR(DATE_DED) = year(@varKSDate) AND LINK_EMPL = @varKSlinkEmpl AND [LINK_VKR] = @varKSLinkVKR AND [LINK_EKR] = @varKSLinkEKR
		AND REF_DED IN (SELECT REF_PAY FROM @varKSvych)

	INSERT INTO dbo.SAL_DED_MONTH (LINK_EMPL,REF_DED,SUMMA,DATE_DED,LINK_VKR,LINK_EKR,TYPE, KOEF_VKR, KOL )
	SELECT 	[LINK_EMPL] = @varKSlinkEmpl,
				[REF_DED] 	= T.REF_PAY,
				[SUMMA] 	= T.DEDUCT,
				[DATE_DED] 	= dbo.ConvertDMY2Date(1,t.[month],year(@varKSDate)),
				[LINK_VKR]	= @varKSLinkVKR,
				[LINK_EKR]	= @varKSLinkEKR,
				[TYPE] 		= 1, --convert(NUMERIC(3,0),B.VALUE)
				[KOEF_VKR],
				[KOL]
	FROM @varKSvych T WHERE T.DEDUCT <> 0 

END
-----------------------------------------------------------------------------------------

DECLARE @varKSTota TABLE
([MONTH] 		[int],
 [PERS_SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_VKR]	[numeric](19, 2),
 [DED_M_ALL] 	[numeric](19, 2),
 [DED]			[numeric](19, 2),
 [DED_M]			[numeric](19, 2),
 [VYCH]			[numeric](19, 2),
 [VYCH_M]		[numeric](19, 2),
 [DOHOD_ALL]	[numeric](19, 2),
 [VICHET_ALL]	[numeric](19, 2)
 ) 

INSERT INTO @varKSTota([MONTH], [PERS_SUMMA_VKR], [SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[DED_M_ALL],[DED],[DED_M],[VYCH],[VYCH_M],[DOHOD_ALL],[VICHET_ALL])
SELECT T1.[MONTH],T1. [SUMMA_VKR], T1.[EMPL_SUMMA_VKR],T1.[SUMMA_M],T1.[SUMMA_M_VKR],T1.[DED_M_ALL],T1.[DED],T1.[DED_M],
		[VYCH]	=ISNULL((SELECT SUM(V.DEDUCT) FROM @varKSvych v WHERE V.[MONTH]<= T1.[MONTH]),0),
		[VYCH_M] =ISNULL((SELECT SUM(V.DEDUCT) FROM @varKSvych v WHERE V.[MONTH] = T1.[MONTH]),0),
		[DOHOD_ALL] = T1.[EMPL_SUMMA],
		[VICHET_ALL] = ISNULL((SELECT SUM(V.SPR_SUM) FROM @varKSvych v WHERE V.[MONTH]<= T1.[MONTH]),0)
FROM @varKSTotTab T1

IF @varKSfl=1 
	select [month] as [Месяц],pers_summa_vkr as [Сумма ФЛ с нач года по ВКР], summa_vkr as [Сумма сотр с нач года по ВКР], summa_m as [Сумма сотр за месяц], 
	summa_m_vkr as [Сумма сотр за месяц по ВКР], ded_m_all as [Скидки всего], ded as [Скидки всего по ВКР], ded_m as [Скидки за месяц по ВКР], 
	vych as [Вычеты всего], vych_m  as [Вычеты за месяц] from @varKSTota

----
declare @varKSSumDed numeric(15,2), @varKSRange  numeric(15,2), @varKSResid int, @varKSStrCom varchar(1000)

SET @varKSSumDed = ISNULL(
	(SELECT sum(summa) 
	FROM
		dbo.PAYS P INNER JOIN dbo.CALCULATE_JURNAL SJ ON P.LINK = SJ.LINK_PAYS
	WHERE
		SJ.LINK_PAYS = @varKSRef_Pay
		AND YEAR(SJ.PERIOD_BEGIN) = @varKSYear
		AND MONTH(SJ.PERIOD_BEGIN) <=@varKSMonth 
		AND SJ.LINK_EMPL = @varKSlinkEmpl 
		AND SJ.LINK_VKR = @varKSLinkVKR
		AND SJ.LINK_DEP = @DEP_LINK 
		AND ISNULL(SJ.LINK_EKR,P.LINK_EKR) = @varKSLinkEKR)
	,0)	
	
SET @varKSSumDed = @varKSSumDed + ISNULL( (SELECT SUM(SR.NDFL) FROM dbo.SAL_REMAIN SR WHERE SR.LINK_EMPL = @varKSlinkEmpl AND SR.YEAR_SAL = @varKSYear AND SR.LINK_VKR = @varKSLinkVKR AND SR.LINK_EKR = @varKSLinkEKR), 0)

set @varKSRange =  dbo.SalaryGetNDFLRange (@varKSlinkEmpl,@varKSDate)
set @varKSResid = dbo.GetEmplResident(@varKSlinkEmpl)

IF @varKSfl=1 
	select [Удержано с нач года] = @varKSSumDed, [Ставка налога] = @varKSRange, [Статус] = (case when @varKSResid = 1  then 'Резидент' else 'Не резидент' end)


set @varKSStrCom = ''
DECLARE @varKSCurs CURSOR,
		  @varKSCurCOMMENT varchar(255)

SET @varKSCurs = CURSOR FORWARD_ONLY
FOR SELECT COMMENT FROM @varKSvych WHERE DEDUCT <> 0 and [month]=@varKSMonth
OPEN @varKSCurs
FETCH NEXT FROM @varKSCurs INTO @varKSCurCOMMENT
WHILE @@FETCH_STATUS = 0
BEGIN
	SET @varKSStrCom = @varKSStrCom + ' ' + isnull(@varKSCurCOMMENT,'0')+ ' +'
	FETCH NEXT FROM @varKSCurs INTO @varKSCurCOMMENT
END 
CLOSE @varKSCurs
DEALLOCATE @varKSCurs
IF LEN(@varKSStrCom) > 2
	SET @varKSStrCom = LEFT(@varKSStrCom,LEN(@varKSStrCom)-2) 


IF @varKSfl=1 
BEGIN	
	PRINT 'Расчет налога с общего дохода по КБК'
	
	SELECT T.*,
	[sum_ded]=  isnull(@varKSSumDed,0),
	[summa] = 	case when DOHOD_ALL > VICHET_ALL THEN
					convert(numeric(18,2),(summa_vkr -ded - (case when @varKSResid = 1 then vych else 0 end))*@varKSRange/100)
				ELSE
					0
				END,
	[comment] = @varKSStrCom
	FROM @varKSTota T
	WHERE [MONTH] = @varKSMonth
	
END

/*Вычеты, скидки и налог пропорционально доли больничных за счет ФСС/зарплате в общем доходе работника*/
IF @varKSfl<>1 
SELECT 
	[MONTH],
	PERS_SUMMA_VKR= convert(numeric(18,2), [PERS_SUMMA_VKR]),
	SUMMA_VKR= convert(numeric(18,2), [SUMMA_VKR]),
	SUMMA_M= convert(numeric(18,2), [SUMMA_M]),
	SUMMA_M_VKR= convert(numeric(18,2), [SUMMA_M_VKR]),
	DED_M_ALL= convert(numeric(18,2), [DED_M_ALL]),
	DED= convert(numeric(18,2),[DED]),
	DED_M= convert(numeric(18,2),[DED_M]),
	VYCH= convert(numeric(18,2), [VYCH]),
	VYCH_M= convert(numeric(18,2), [VYCH_M]),
	[sum_ded]=  convert(numeric(18,0), isnull(@varKSSumDed,0)), 
	[summa] = 	case when convert(numeric(18,0),(summa_vkr -ded - (case when @varKSResid = 1 then vych else 0 end))*@varKSRange/100) > 0
			then 
				case when DOHOD_ALL > VICHET_ALL THEN
					convert(numeric(18,0),(summa_vkr -ded - (case when @varKSResid = 1 then vych else 0 end))*@varKSRange/100)
				ELSE
					0
				END					
			else 
				CASE WHEN @NDFL_OPT8 = 0 
				THEN 
					0
				ELSE
					convert(numeric(18,0),(summa_vkr -ded - (case when @varKSResid = 1 then vych else 0 end))*@varKSRange/100)
				END
			end,
	[comment] = Case when len(rtrim(ltrim(@varKSStrCom))) > 0 then '{' + RTRIM(LTRIM(@varKSStrCom)) + '}' else '' end,
	[RANGE] = @varKSRange/100
FROM @varKSTota T
WHERE [MONTH] = @varKSMonth

GO


GRANT EXECUTE ON dbo.[SD_U_NDFL_FILL] TO PUBLIC

GO

GO

--AFTER CODE 04.05.2016

/*Очитстка от мусора: были рассчитаны вычеты и скидки с КБК, которые теперь в этом году больше не используются.
Врезультате эти суммы вычетов не очищаются при расчете и вылазят в 2НДФЛ*/
delete
from 
	dbo.SAL_DED_MONTH
where
	YEAR(dbo.SAL_DED_MONTH.DATE_DED) = 2016
	and
	not exists (
		Select j.LINK 
		from dbo.calculate_jurnal j
		where 
			YEAR(j.PERIOD_BEGIN) = 2016
			and j.link_empl = dbo.SAL_DED_MONTH.link_empl 
			and j.LINK_VKR = dbo.SAL_DED_MONTH.LINK_VKR
			and j.LINK_EKR = dbo.SAL_DED_MONTH.LINK_EKR
			AND EXISTS (SELECT LINK_PAYS FROM dbo.PAYS P 
							INNER JOIN dbo.TAX_REF R ON R.LINK_TAX = P.LINK 
							WHERE P.OBJECT = 2 AND P.WAY_CALC = 4 AND R.LINK_PAYS = j.link_pays)
	)
	
GO


GO
-- Сгенерировано х.п. RA_EXPORT_FORM_STRUCT. (апр 26 2016 10:00:52:457AM)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Выгрузка структуры формы отчетности : 6-НДФЛ (Расчет сумм налога на доходы физических лиц, исчисленных и удержанных налоговым агентом)
-- Дата ввода : 20160101
-- Дата окончания действия :
-- Версия : 2016-04-26 10:00:52.457
-- Параметры выгрузки :
-- экспортировать внутридокументные КС          : да
-- выгружать только внутридокументные КС        : нет
-- удалять системные КС старой версии           : да
-- удалять все версии формы кроме текущей       : нет
-- удалять пользовательские КС старой версии    : нет
-- не обновлять форму при совпадении дат версий : нет

SET NOCOUNT               ON
SET ANSI_NULLS            ON  -- Правильная обработка NULL.
SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          -1  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.

DECLARE @iERROR INT, @iLINK_FORM INT, @iLINK_TABLE INT, @iFORM_TYPE INT,
        @iLINK_COL INT, @iLINK_CODE_COL INT, @iLINK_ROW INT, @iLINK_TOTAL INT,
        @iOLD_FORM_LINK INT, @vcNEW_FORM_CODE VARCHAR(20), @dNEW_START_DATE DATETIME, @dOLD_UPDATE_DATE DATETIME

IF OBJECT_ID('tempdb..#tabErrorLog') IS NOT NULL
BEGIN
   DROP TABLE #tabErrorLog
END
CREATE TABLE #tabErrorLog([PROC] VARCHAR(250),[ERROR] INT)

IF OBJECT_ID('tempdb..#tabStop') IS NOT NULL
BEGIN
   DROP TABLE #tabStop
END
CREATE TABLE #tabStop([CURRENT_DATE] VARCHAR(100))

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabStop',@iERROR)
END

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL
BEGIN
   DROP TABLE #tabInfo
END
CREATE TABLE #tabInfo([LINK_FORM] INT, [LINK_FORM_NEW] INT)

SET @iERROR = @@ERROR
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #tabInfo',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Определение старой формы текущей версии. Изменение ее кода, чтобы не мешать установке новой формы.
SELECT @iOLD_FORM_LINK = [LINK_FORM], @dOLD_UPDATE_DATE = [UPDATE_DATE]FROM dbo.[REPORT_FORMS] WHERE [CODE] = '6-НДФЛ' AND [START_DATE] = '20160101'

IF @dOLD_UPDATE_DATE > CONVERT(DATETIME,'2016-04-26 10:00:52.457',121)
BEGIN
   INSERT #tabStop VALUES(CONVERT(VARCHAR(50),@dOLD_UPDATE_DATE,121))
END

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

IF @iOLD_FORM_LINK IS NOT NULL
BEGIN
   SET @vcNEW_FORM_CODE = LEFT('NEW_' + '6-НДФЛ',20)
   SELECT @dNEW_START_DATE = MAX([START_DATE]) + 1    FROM dbo.[REPORT_FORMS]    WHERE [CODE] = @vcNEW_FORM_CODE
END
ELSE BEGIN
   SET @vcNEW_FORM_CODE = '6-НДФЛ'
END

SET @dNEW_START_DATE = ISNULL(@dNEW_START_DATE,'20160101')

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_FORMS.
SELECT @iFORM_TYPE = [LINK] FROM dbo.[S_OBJECTS] WHERE [CODE] = 'SALARY'
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_FORMS]  @iLINK_FORM OUTPUT,'Расчет сумм налога на доходы физических лиц, исчисленных и удержанных налоговым агентом',@vcNEW_FORM_CODE,@dNEW_START_DATE,2,0,1,1,2291,'i_report_export_nalog',0,0,'19000101',NULL,''
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_FORMS',@iERROR)
END

EXEC @iERROR = dbo.[RN_REPORT_SAVE_REPORT_FORMS_PART2]  @iLINK_FORM, 'sa_print_6NDFL_01012016()','6NDFL_16.bas','','KirRepMakerMultiSheet.XLS','6NDFL_15.xlt','',NULL,'i_report_export_nalog',0,NULL,NULL,NULL,'          ','REPORTS_ATR_NOM_OBR,REPORTS_FILTER_SUBDIV',NULL,NULL,'|',1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_REPORT_SAVE_REPORT_FORMS_PART2',@iERROR)
END

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Сохранение в табл. REPORT_TABLES.
SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р1.Обобщенные показатели', @iLINK_FORM,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Наименование',@iLINK_TABLE,0,1,0,0,250,0,'','','',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'Код строки',@iLINK_TABLE,1,1,1,0,0,0,'','','',NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'Сумма',@iLINK_TABLE,0,0,3,2,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р1.Обобщенные показатели', @iLINK_FORM,1, @iLINK_CODE_COL,0,'',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

SET @iLINK_TABLE = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE OUTPUT, 'Р2. Даты и суммы фактически полученных доходов и у', @iLINK_FORM,2
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_DINAMIC_TOTALS.

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Сохранение в табл. REPORT_COLOUMNS.
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 1,'Номер п/п',@iLINK_TABLE,1,1,0,0,0,1,NULL,NULL,NULL,'999',8,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_CODE_COL = @iLINK_COL
SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 2,'100 - Дата фактического получения доходов',@iLINK_TABLE,1,1,1,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 3,'110 - Дата удержания налога с суммы фактически полученных доходов',@iLINK_TABLE,0,1,2,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 4,'120 - Дата, не позднее которой должна быть перечислена сумма налога',@iLINK_TABLE,0,1,3,0,10,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 5,'130-обобщенная сумма фактически получ. дох. (без вычи суммы удерж. нал.) за дату в кол 100',@iLINK_TABLE,0,0,4,3,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


SET @iLINK_COL = NULL
EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_COLOUMNS] @iLINK_COL OUTPUT, 6,'140-обобщенная сумма удержанного налога в указанную в кол 110 дату',@iLINK_TABLE,0,0,5,4,2,1,NULL,NULL,NULL,'999 999 999 999 999.99',NULL,NULL,NULL
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_COLOUMNS',@iERROR)
END


EXEC @iERROR = dbo.[I_REPORT_SAVE_REPORT_TABLES] @iLINK_TABLE, 'Р2. Даты и суммы фактически полученных доходов и у', @iLINK_FORM,2, @iLINK_CODE_COL,1,'CALC_SMETA=exec dbo.SA_6NDFL_16_PREPARE_R2 @Lsf',NULL,0
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('I_REPORT_SAVE_REPORT_TABLES',@iERROR)
END

INSERT #tabInfo VALUES (COALESCE(@iOLD_FORM_LINK, @iLINK_FORM), @iLINK_FORM)

DELETE FROM dbo.[REPORT_CONTROL_RULES] WHERE [LINK_FORM] = @iOLD_FORM_LINK AND [IsSystemsRule] = 1
END -- проверка признака остановки в #tabStop

GO

-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Выгрузка для статических таблиц.

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN

DECLARE @iError INT

-- Выгрузка строк статических таблиц.
IF OBJECT_ID('tempdb..#R') IS NOT NULL
BEGIN
   DROP TABLE #R
END

CREATE TABLE #R([ORDERS]      SMALLINT,
                [LINK_TABLE]  INT,
                [CALC_ORDERS] SMALLINT,
                [PRINT_NULL]  TINYINT)

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #R',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop)
BEGIN
INSERT #R VALUES (1,1,1,1)
INSERT #R VALUES (2,1,2,1)
INSERT #R VALUES (3,1,3,1)
INSERT #R VALUES (4,1,4,1)
INSERT #R VALUES (5,1,5,1)
INSERT #R VALUES (6,1,6,1)
INSERT #R VALUES (7,1,7,1)
INSERT #R VALUES (8,1,8,1)
INSERT #R VALUES (9,1,9,1)
INSERT #R VALUES (10,1,10,1)
INSERT #R VALUES (11,1,11,1)
INSERT #R VALUES (12,1,12,1)
INSERT #R VALUES (13,1,13,1)
INSERT #R VALUES (14,1,14,1)
INSERT #R VALUES (15,1,15,1)
INSERT #R VALUES (16,1,16,1)
INSERT #R VALUES (17,1,17,1)
INSERT #R VALUES (18,1,18,1)
INSERT #R VALUES (19,1,19,1)
INSERT #R VALUES (20,1,20,1)
INSERT #R VALUES (21,1,21,1)
INSERT #R VALUES (22,1,22,1)
INSERT #R VALUES (23,1,23,1)
INSERT #R VALUES (24,1,24,1)
INSERT #R VALUES (25,1,25,1)
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #R) <> 25
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #R',0)
END

ALTER TABLE dbo.[REPORT_ROWS] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_ROWS] ([ORDERS],
                          [LINK_TABLE],
                          [CALC_ORDERS],
                          [PRINT_NULL])
SELECT [C].[ORDERS],
       [B].[LINK_TABLE],
       [C].[CALC_ORDERS],
       [C].[PRINT_NULL]
FROM #tabInfo            [A]
JOIN dbo.[REPORT_TABLES] [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN #R                  [C] ON [B].[ORDERS] = [C].[LINK_TABLE]

ALTER TABLE dbo.[REPORT_ROWS] ENABLE TRIGGER ALL

DROP TABLE #R

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

-- Выгрузка REPORT_FORMULA.
IF OBJECT_ID('tempdb..#F') IS NOT NULL
BEGIN
   DROP TABLE #F
END

CREATE TABLE #F([ORDER_TABLE] INT,
                [ORDER_ROW]   INT,
                [ORDER_COL]   INT,
                [FORMULA]  VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #F',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
INSERT #F VALUES (1,1,1,'1.Ставка налога, %                                                                                                                                                                                                                                        ')
INSERT #F VALUES (1,2,1,'1.Сумма начисленного дохода                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,3,1,'1.В том числе сумма начисленного дохода в виде дивидендов                                                                                                                                                                                                 ')
INSERT #F VALUES (1,4,1,'1.Сумма налоговых вычетов                                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,5,1,'1.В том числе сумма исчисленного налога на доходы в виде дивидендов                                                                                                                                                                                       ')
INSERT #F VALUES (1,6,1,'1.Сумма исчисленного налога                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,7,1,'1.Сумма фиксированного авансового платежа                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,8,1,'2.Ставка налога, %                                                                                                                                                                                                                                        ')
INSERT #F VALUES (1,9,1,'2.Сумма начисленного дохода                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,10,1,'2.В том числе сумма начисленного дохода в виде дивидендов                                                                                                                                                                                                 ')
INSERT #F VALUES (1,11,1,'2.Сумма налоговых вычетов                                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,12,1,'2.Сумма исчисленного налога                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,13,1,'2.В том числе сумма исчисленного налога на доходы в виде дивидендов                                                                                                                                                                                       ')
INSERT #F VALUES (1,14,1,'2.Сумма фиксированного авансового платежа                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,15,1,'3.Ставка налога, %                                                                                                                                                                                                                                        ')
INSERT #F VALUES (1,16,1,'3.Сумма начисленного дохода                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,17,1,'3.В том числе сумма начисленного дохода в виде дивидендов                                                                                                                                                                                                 ')
INSERT #F VALUES (1,18,1,'3.Сумма налоговых вычетов                                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,19,1,'3.Сумма исчисленного налога                                                                                                                                                                                                                               ')
INSERT #F VALUES (1,20,1,'3.В том числе сумма исчисленного налога на доходы в виде дивидендов                                                                                                                                                                                       ')
INSERT #F VALUES (1,21,1,'3.Сумма фиксированного авансового платежа                                                                                                                                                                                                                 ')
INSERT #F VALUES (1,22,1,'Количество физических лиц, получивших доход                                                                                                                                                                                                               ')
INSERT #F VALUES (1,23,1,'Сумма удержанного налога                                                                                                                                                                                                                                  ')
INSERT #F VALUES (1,24,1,'Сумма налога, возвращенная налоговым агентом                                                                                                                                                                                                              ')
INSERT #F VALUES (1,25,1,'Сумма налога, не удержанная налоговым агентом                                                                                                                                                                                                             ')
INSERT #F VALUES (1,1,2,'010                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,2,2,'020                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,3,2,'025                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,4,2,'030                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,5,2,'045                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,6,2,'040                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,7,2,'050                                                                                                                                                                                                                                                           ')
INSERT #F VALUES (1,8,2,'1010                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,9,2,'1020                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,10,2,'1025                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,11,2,'1030                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,12,2,'1040                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,13,2,'1045                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,14,2,'1050                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,15,2,'2010                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,16,2,'2020                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,17,2,'2025                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,18,2,'2030                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,19,2,'2040                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,20,2,'2045                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,21,2,'2050                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,22,2,'3060                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,23,2,'3070                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,24,2,'3090                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,25,2,'3080                                                                                                                                                                                                                                                          ')
INSERT #F VALUES (1,1,3,'6НДФЛ_01012016_УСТАНОВКА() + 6НДФЛ_РАЗДЕЛ1(''010'',3)')
INSERT #F VALUES (1,2,3,'6НДФЛ_РАЗДЕЛ1(''020'',3)')
INSERT #F VALUES (1,3,3,'6НДФЛ_РАЗДЕЛ1(''025'',3)')
INSERT #F VALUES (1,4,3,'6НДФЛ_РАЗДЕЛ1(''030'',3)')
INSERT #F VALUES (1,5,3,'6НДФЛ_РАЗДЕЛ1(''045'',3)')
INSERT #F VALUES (1,6,3,'6НДФЛ_РАЗДЕЛ1(''040'',3)')
INSERT #F VALUES (1,7,3,'6НДФЛ_РАЗДЕЛ1(''050'',3)')
INSERT #F VALUES (1,8,3,'6НДФЛ_РАЗДЕЛ1(''1010'',3)')
INSERT #F VALUES (1,9,3,'6НДФЛ_РАЗДЕЛ1(''1020'',3)')
INSERT #F VALUES (1,10,3,'6НДФЛ_РАЗДЕЛ1(''1025'',3)')
INSERT #F VALUES (1,11,3,'6НДФЛ_РАЗДЕЛ1(''1030'',3)')
INSERT #F VALUES (1,12,3,'6НДФЛ_РАЗДЕЛ1(''1040'',3)')
INSERT #F VALUES (1,13,3,'6НДФЛ_РАЗДЕЛ1(''1045'',3)')
INSERT #F VALUES (1,14,3,'6НДФЛ_РАЗДЕЛ1(''1050'',3)')
INSERT #F VALUES (1,15,3,'6НДФЛ_РАЗДЕЛ1(''2010'',3)')
INSERT #F VALUES (1,16,3,'6НДФЛ_РАЗДЕЛ1(''2020'',3)')
INSERT #F VALUES (1,17,3,'6НДФЛ_РАЗДЕЛ1(''2025'',3)')
INSERT #F VALUES (1,18,3,'6НДФЛ_РАЗДЕЛ1(''2030'',3)')
INSERT #F VALUES (1,19,3,'6НДФЛ_РАЗДЕЛ1(''2040'',3)')
INSERT #F VALUES (1,20,3,'6НДФЛ_РАЗДЕЛ1(''2045'',3)')
INSERT #F VALUES (1,21,3,'6НДФЛ_РАЗДЕЛ1(''2050'',3)')
INSERT #F VALUES (1,22,3,'6НДФЛ_РАЗДЕЛ1(''3060'',3)')
INSERT #F VALUES (1,23,3,'6НДФЛ_РАЗДЕЛ1(''3070'',3)')
INSERT #F VALUES (1,24,3,'6НДФЛ_РАЗДЕЛ1(''3090'',3)')
INSERT #F VALUES (1,25,3,'6НДФЛ_РАЗДЕЛ1(''3080'',3)')

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #F) <> 75
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #F',0)
END

ALTER TABLE dbo.[REPORT_FORMULA] DISABLE TRIGGER ALL

INSERT dbo.[REPORT_FORMULA] ([LINK_ROW],
                             [LINK_COL],
                             [FORMULA])
SELECT [D].[LINK_ROW],
       [C].[LINK_COL],
       [E].[FORMULA]
FROM #tabInfo              [A]
JOIN dbo.[REPORT_TABLES]   [B] ON [A].[LINK_FORM_NEW] = [B].[LINK_FORM]
JOIN dbo.[REPORT_COLOUMNS] [C] ON [B].[LINK_TABLE] = [C].[LINK_TABLE]
JOIN dbo.[REPORT_ROWS]     [D] ON [B].[LINK_TABLE] = [D].[LINK_TABLE]
JOIN #F                    [E] ON [E].[ORDER_TABLE] = [B].[ORDERS] AND [E].[ORDER_COL] = [C].[ORDERS] AND [E].[ORDER_ROW] = [D].[ORDERS]

ALTER TABLE dbo.[REPORT_FORMULA] ENABLE TRIGGER ALL

DROP TABLE #F

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN

DECLARE @iERROR INT, @iLINK_FORM_NEW INT, @iLINK_FORM INT

SELECT @iLINK_FORM = [LINK_FORM],
       @iLINK_FORM_NEW = [LINK_FORM_NEW]
FROM #tabInfo

--IF @iLINK_FORM_NEW <> @iLINK_FORM
--BEGIN
  EXEC @iERROR = dbo.[RA_UNION_FORM_STRUCT] @iLINK_FORM, @iLINK_FORM_NEW, 1
--END
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UNION_FORM_STRUCT',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Установка внутридокументных правил КС формы.
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF OBJECT_ID('tempdb..#A') IS NOT NULL
BEGIN
   DROP TABLE #A
END
CREATE TABLE #A ([LINK_RULE]       INT NULL,
                 [LINK_TASK]       INT NULL,
                 [IsOutside]       TINYINT NULL,
                 [LINK_FORM]       INT NULL,
                 [OrderRule]       INT NULL,
                 [PERIOD]          SMALLINT NULL,
                 [PERIOD_NOM]      SMALLINT NULL,
                 [ORG_LEVEL]       SMALLINT NULL,
                 [IsSvod]          SMALLINT NULL,
                 [STR_RULE]        VARCHAR (6000) NULL,
                 [IsDoschet]       TINYINT NULL,
                 [CALC_ORDERS]     INT NULL,
                 [IsSystemsRule]   TINYINT NULL ,
                 [MODIFY_DATE]     DATETIME NULL,
                 [ROWS]            VARCHAR(1000),
                 [COLS]            VARCHAR(250),
                 [ROWS_DESC]       VARCHAR (250),
                 [CODE_FORM]       VARCHAR (250),
                 [START_DATE_FORM] VARCHAR (250),
                 [REGION]				VARCHAR (100),
                 [SIGN_SR]         CHAR(2)      NOT NULL,
                 [ALGORITHM]       TINYINT      NOT NULL,
                 [ATR_CODE_SR]     VARCHAR(254) NOT NULL,
                 [COMMENT]         VARCHAR(8000))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #A',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #A'
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO
IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #A) <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #A',0)
END

IF OBJECT_ID('tempdb..#B') IS NOT NULL
BEGIN
   DROP TABLE #B
END

CREATE TABLE #B ([LINK_RULE]       INT NULL,
                 [OrderRow]        INT NULL,
                 [VAL_TYPE]        TINYINT NULL,
                 [SIGN]            CHAR(2) NULL,
                 [LINK_FORM]       INT NULL,
                 [LINK_TABLE]      INT NULL,
                 [LINK_COL]        INT NULL,
                 [LINK_ROW]        INT NULL,
                 [PERIOD_FORM]     SMALLINT NULL,
                 [FACTOR]          FLOAT NULL,
                 [EXEC_PROC]       VARCHAR(250) NULL,
                 [EXEC_PROC_DESC]  VARCHAR(250) NULL,
                 [CODE_ROW]        VARCHAR(250) NULL,
                 [FILTER]          VARCHAR(1000) NULL,
                 [FILTER_DESC]     VARCHAR(250) NULL,
                 [MASKA]           VARCHAR(250) NULL,
                 [MASKA_DESC]      VARCHAR(250) NULL,
                 [CODE_FORM_ROW]   VARCHAR(25)  NULL,
                 [COL]             VARCHAR(100) NULL,
                 [ROW]             VARCHAR(100) NULL,
                 [TABLE]           VARCHAR(25)  NULL,
                 [START_DATE_FORM] DATETIME     NULL,
                 [PERIOD_YEAR]     SMALLINT     NULL,
                 [ATR_CODE]        VARCHAR(254) NOT NULL,
                 [PART]            TINYINT      NOT NULL,
                 [BEGIN_DATE]      DATETIME     NULL,
                 [PX]              FLOAT(53)    NOT NULL,
                 [PX_COMMENT]              VARCHAR(254)    NULL,
                 [Property]				TINYINT    DEFAULT (0))

SELECT @iERROR = @@ERROR

IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('CREATE TABLE #B',@iERROR)
END

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
PRINT 'INSERT #B'
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT

IF (SELECT COUNT(*) FROM #B) <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('Не сошлось количество строк в #B',0)
END

CREATE INDEX #IX_tabROWS ON #B([LINK_RULE])
CREATE INDEX #IX_tabRULES ON #A([LINK_RULE])

-- Импорт правил во временные таблицы.
EXEC @iERROR = dbo.[RN_IMPORT_RULES] '#A', '#B', 1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RN_IMPORT_RULES',@iERROR)
END
END -- IF NOT EXISTS(SELECT * FROM #tabStop)
GO

GO

IF NOT EXISTS(SELECT * FROM #tabStop) BEGIN
DECLARE @iERROR INT, @iLINK_FORM INT, @iTABLE_LINK INT, @tTABLE_ORDER TINYINT, @iGF_LINK INT

SELECT @iLINK_FORM = [LINK_FORM]
FROM #tabInfo


-- Обновление связей с группами форм.

DELETE dbo.[REPORT_FORM_GROUPS_REF]
WHERE [LINK_FORM] = @iLINK_FORM

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '3         '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'3','Квартальные формы',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

SET @iGF_LINK = NULL
SELECT @iGF_LINK = [LINK] FROM dbo.[REPORT_FORM_GROUPS] WHERE [CODE] = '999999    '
EXEC @iERROR = dbo.[RV_UPDATE_REPORT_FORM_GROUPS] @iGF_LINK OUTPUT,'999999','формы отчетности',0,1
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RV_UPDATE_REPORT_FORM_GROUPS',@iERROR)
END

EXEC @iERROR = dbo.[RA_UPDATE_FORM_GROUPS_REF] @iLINK_FORM, @iGF_LINK
IF @iERROR <> 0
BEGIN
   INSERT #tabErrorLog VALUES ('RA_UPDATE_FORM_GROUPS_REF',@iERROR)
END

-- Переформирование процедур RI_PROC_T.
DECLARE curTable CURSOR FOR
SELECT [LINK_TABLE],
       [ORDERS]
FROM [REPORT_TABLES]
WHERE [LINK_FORM] = @iLINK_FORM

OPEN curTable

FETCH NEXT
FROM curTable
INTO @iTABLE_LINK,
     @tTABLE_ORDER

WHILE @@FETCH_STATUS = 0
BEGIN
   EXEC @iERROR = dbo.[I_REPORT_CREATE_PROC] @iTABLE_LINK
   IF @iERROR <> 0
   BEGIN
      INSERT #tabErrorLog VALUES ('I_REPORT_CREATE_PROC',@iERROR)
   END
   FETCH NEXT
   FROM curTable
   INTO @iTABLE_LINK,
        @tTABLE_ORDER
END
CLOSE curTable
DEALLOCATE curTable

EXEC dbo.[I_CONTROL_RULES_ACTION] 3, @iLINK_FORM


UPDATE dbo.[REPORT_FORMS] SET [UPDATE_DATE] = CONVERT(DATETIME,'2016-04-26 10:00:52.457',121) WHERE [LINK_FORM]=@iLINK_FORM

END -- IF NOT EXISTS(SELECT * FROM #tabStop)
ELSE BEGIN
	DECLARE @vcMessage VARCHAR(8000)
	SELECT @vcMessage = [CURRENT_DATE] FROM #tabStop
	IF @vcMessage = '2016-04-26 10:00:52.457'
	BEGIN
		SELECT @vcMessage = 'Форма 6-НДФЛ с версией от ' + @vcMessage + ' уже существует. Обновление отклонено.'
	END
	ELSE BEGIN
		SELECT @vcMessage = 'Форма 6-НДФЛ с версией от ' + @vcMessage + ' не может быть обновлена версией от 2016-04-26 10:00:52.457. Обновление отклонено.'
	END

	 IF OBJECT_ID('tempdb..#tabUpdateMessages') IS NOT NULL
	 BEGIN
		 INSERT #tabUpdateMessages([TXT]) VALUES (@vcMessage)
	 END
	 SELECT @vcMessage
END
GO

IF OBJECT_ID('tempdb..#tabInfo') IS NOT NULL DROP TABLE #tabInfo
SELECT * FROM #tabErrorLog

IF EXISTS(SELECT * FROM #tabErrorLog)
BEGIN
   ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
END

DROP TABLE #tabErrorLog
DROP TABLE #tabStop

COMMIT TRANSACTION -- Фиксация транзакции.
GO


GO

GO

--Добавление колонки LINK_VKR таблицы CALCULATE_JURNAL
IF COLUMNPROPERTY(object_id('[dbo].[CALCULATE_JURNAL]'), 'LINK_VKR2', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[CALCULATE_JURNAL] ADD [LINK_VKR2] int NULL 
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_CALCULATE_JURNAL_VKR2')
CREATE INDEX [IX_CALCULATE_JURNAL_VKR2] ON [dbo].[CALCULATE_JURNAL] ([LINK_VKR2]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_CALCULATE_JURNAL_SAL_SFIN2]'))
ALTER TABLE [dbo].[CALCULATE_JURNAL] 
ADD CONSTRAINT [FK_CALCULATE_JURNAL_SAL_SFIN2] FOREIGN KEY ([LINK_VKR2]) REFERENCES [dbo].[SAL_SFIN] ([LINK])
GO

ALTER TABLE [dbo].[CALCULATE_JURNAL] DISABLE TRIGGER ALL
GO

UPDATE J SET J.LINK_VKR2 = J.LINK_VKR
FROM
	dbo.CALCULATE_JURNAL J
	INNER JOIN dbo.SDOC S ON J.LINK_DOC = S.LINK
	INNER JOIN dbo.S_OBJECTS SO ON SO.LINK = S.[OBJECT]
WHERE
	SO.CODE = 'DOCUMENTS_DEDUCT_ESN_G'	
	AND
	J.LINK_VKR2 IS NULL	
GO

ALTER TABLE [dbo].[CALCULATE_JURNAL] ENABLE TRIGGER ALL
GO


--Добавление колонки LINK_VKR2 таблицы SDOC_DOT_SKIDKI
IF COLUMNPROPERTY(object_id('[dbo].[SDOC_DOT_SKIDKI]'), 'LINK_VKR2', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] ADD [LINK_VKR2] int NULL 
GO

ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] DISABLE TRIGGER ALL
GO

UPDATE [dbo].[SDOC_DOT_SKIDKI] SET [LINK_VKR2] = [LINK_VKR] WHERE [LINK_VKR2] IS NULL
GO

ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] ENABLE TRIGGER ALL
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_SDOC_DOT_SKIDKI_SAL_SFIN]'))
ALTER TABLE [dbo].[SDOC_DOT_SKIDKI] 
ADD CONSTRAINT [FK_SDOC_DOT_SKIDKI_SAL_SFIN] FOREIGN KEY ([LINK_VKR2]) REFERENCES [dbo].[SAL_SFIN] ([LINK])
GO

--Добавление колонки LINK_VKR2 таблицы SDOC_DOT_VYCHET
IF COLUMNPROPERTY(object_id('[dbo].[SDOC_DOT_VYCHET]'), 'LINK_VKR2', 'AllowsNull') is NULL
   ALTER TABLE [dbo].[SDOC_DOT_VYCHET] ADD [LINK_VKR2] int NULL 
GO

ALTER TABLE [dbo].[SDOC_DOT_VYCHET] DISABLE TRIGGER ALL
GO

UPDATE [dbo].[SDOC_DOT_VYCHET] SET [LINK_VKR2] = [LINK_VKR] WHERE [LINK_VKR2] IS NULL
GO

ALTER TABLE [dbo].[SDOC_DOT_VYCHET] ENABLE TRIGGER ALL
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_SDOC_DOT_VYCHET_SAL_SFIN]'))
ALTER TABLE [dbo].[SDOC_DOT_VYCHET] 
ADD CONSTRAINT [FK_SDOC_DOT_VYCHET_SAL_SFIN] FOREIGN KEY ([LINK_VKR2]) REFERENCES [dbo].[SAL_SFIN] ([LINK])
GO


GO
IF  EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_KOSGU')
DROP INDEX [IX_KOSGU] ON [dbo].[KOSGU]
GO


ALTER TABLE [dbo].[KOSGU] ALTER COLUMN [CODE] varchar(4) NOT NULL 
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_KOSGU')
CREATE UNIQUE INDEX [IX_KOSGU] ON [dbo].[KOSGU] ([CODE]) ON [INDEX]
GO

IF NOT EXISTS (SELECT * FROM dbo.[KOSGU] WHERE CODE = 'R211')
	INSERT INTO dbo.[KOSGU]([CODE], [NAME], [DB_KR], [Is_Ekr])  
	VALUES ('R211', 'Заработная плата за счет резерва', 1, 1)
GO


update dbo.KOSGU
set code = left(CODE, 3)
where right(code,1) = ' ' 
GO

GO
IF  EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SDOC_VEDOM_RKO')
DROP INDEX [IX_SDOC_VEDOM_RKO] ON [dbo].[SDOC_VEDOM_RKO]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'IX_SDOC_VEDOM_RKO')
CREATE INDEX [IX_SDOC_VEDOM_RKO] ON [dbo].[SDOC_VEDOM_RKO] ([LINK_RKO]) ON [INDEX]
GO


GO
--Таблица synch_smeta_smart_opt
IF not exists(select * from sysobjects where id = object_id('[dbo].[SYNCH_SMETA_SMART_OPT]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SYNCH_SMETA_SMART_OPT] (
	[LINK] int NOT NULL IDENTITY(1,1) ,
	[order] int NOT NULL ,
	[opt_name] varchar(150) NOT NULL ,
	[opt_code] varchar(100) NOT NULL UNIQUE ,
	[Active] tinyint NOT NULL )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[synch_smeta_smart_opt] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы
IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'SYNCH_SMETA_SMART_OPT_code')
CREATE UNIQUE INDEX [SYNCH_SMETA_SMART_OPT_code] ON [dbo].[SYNCH_SMETA_SMART_OPT] ([opt_code])
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'SYNCH_SMETA_SMART_OPT_code')
CREATE CLUSTERED INDEX [SYNCH_SMETA_SMART_OPT_code] ON [dbo].[SYNCH_SMETA_SMART_OPT] (link,[order],[opt_code])
GO

--Констрэйнты

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[PK_SYNCH_SMETA_SMART_OPT]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT] 
ADD CONSTRAINT [PK_SYNCH_SMETA_SMART_OPT] PRIMARY KEY CLUSTERED ([LINK]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_OPT_order]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_OPT_order] DEFAULT ((0)) FOR [order]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_OPT_name]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_OPT_name] DEFAULT ('') FOR [opt_name]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_OPT_code]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_OPT_code] DEFAULT ('') FOR [opt_code]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_OPT_Active]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_OPT_Active] DEFAULT ((0)) FOR [Active]
GO
--Триггеры

GO







--Таблица SYNCH_SMETA_SMART_OPT2
IF not exists(select * from sysobjects where id = object_id('[dbo].[SYNCH_SMETA_SMART_OPT2]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SYNCH_SMETA_SMART_OPT2] (
	[link] int NOT NULL IDENTITY(1,1) ,
	[LINK_UP] int NOT NULL ,
	[order] int NOT NULL ,
	[name] varchar(100) NOT NULL ,
	[code] varchar(100) NOT NULL ,
	[command] varchar(256) NOT NULL ,
	[Active] tinyint NOT NULL )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[SYNCH_SMETA_SMART_OPT2] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'SYNCH_SMETA_SMART_OPT2_LINK_I')
CREATE UNIQUE INDEX [SYNCH_SMETA_SMART_OPT2_LINK_I] ON [dbo].[SYNCH_SMETA_SMART_OPT2] ([link]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'SYNCH_SMETA_SMART_OPT2_CODE')
CREATE UNIQUE INDEX [SYNCH_SMETA_SMART_OPT2_CODE] ON [dbo].[SYNCH_SMETA_SMART_OPT2] ([link]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'SYNCH_SMETA_SMART_OPT2_LINK_I1')
CREATE UNIQUE INDEX [SYNCH_SMETA_SMART_OPT2_LINK_I1] ON [dbo].[SYNCH_SMETA_SMART_OPT2] ([LINK_UP], [order]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'SYNCH_SMETA_SMART_OPT2_LINK_I2')
CREATE INDEX [SYNCH_SMETA_SMART_OPT2_LINK_I2] ON [dbo].[SYNCH_SMETA_SMART_OPT2] ([link], [LINK_UP], [code]) ON [INDEX]
GO
--Констрэйнты

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[SYNCH_SMETA_SMART_OPT2_LINK]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT2] 
ADD CONSTRAINT [SYNCH_SMETA_SMART_OPT2_LINK] PRIMARY KEY CLUSTERED ([link])
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[UQ__SYNCH_SMETA_SMAR__035700D1]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT2] 
ADD CONSTRAINT [UQ__SYNCH_SMETA_SMAR__035700D1] UNIQUE NONCLUSTERED ([code]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_SYNCH_SMETA_SMART_OPT2_OPT]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT2] WITH NOCHECK 
ADD CONSTRAINT [FK_SYNCH_SMETA_SMART_OPT2_OPT] FOREIGN KEY ([LINK_UP]) REFERENCES [dbo].[SYNCH_SMETA_SMART_OPT] ([LINK])
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT2] NOCHECK CONSTRAINT [FK_SYNCH_SMETA_SMART_OPT2_OPT]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_OPT2_order]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT2] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_OPT2_order] DEFAULT ((0)) FOR [order]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_OPT2_name]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT2] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_OPT2_name] DEFAULT ('') FOR [name]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_OPT2_CODE]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT2] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_OPT2_CODE] DEFAULT ('') FOR [code]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_OPT2_Active]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_OPT2] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_OPT2_Active] DEFAULT ((0)) FOR [Active]
GO
--Триггеры

GO



--Таблица synch_smeta_smart_journ
IF not exists(select * from sysobjects where id = object_id('[dbo].[SYNCH_SMETA_SMART_JOURN]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SYNCH_SMETA_SMART_JOURN] (
	[LINK] int NOT NULL IDENTITY(1,1) ,
	[PERIOD] datetime NOT NULL ,
	[HOSTNAME] varchar(128) NOT NULL ,
	[LOGINAME] varchar(128) NOT NULL ,
	[PostTime] datetime NOT NULL ,
	[USERS] int NOT NULL )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[synch_smeta_smart_journ] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'SYNCH_SMETA_SMART_JOURN_DATE')
CREATE CLUSTERED INDEX [SYNCH_SMETA_SMART_JOURN_DATE] ON [dbo].[SYNCH_SMETA_SMART_JOURN] ([LINK], [PERIOD])
GO
--Констрэйнты

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[PK_SYNCH_SMETA_SMART_JOURN]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_JOURN] 
ADD CONSTRAINT [PK_SYNCH_SMETA_SMART_JOURN] PRIMARY KEY NONCLUSTERED ([LINK]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_JOURN_HOSTNAME]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_JOURN] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_JOURN_HOSTNAME] DEFAULT (host_name()) FOR [HOSTNAME]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_JOURN_LOGIN]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_JOURN] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_JOURN_LOGIN] DEFAULT (suser_sname()) FOR [LOGINAME]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_JOURN_PostTime]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_JOURN] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_JOURN_PostTime] DEFAULT (getdate()) FOR [PostTime]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_JOURN_USERS]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_JOURN] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_JOURN_USERS] DEFAULT (user_id(suser_sname())) FOR [USERS]
GO
--Триггеры

GO


--Таблица SYNCH_SMETA_SMART_TAB
IF not exists(select * from sysobjects where id = object_id('[dbo].[SYNCH_SMETA_SMART_TAB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
CREATE TABLE [dbo].[SYNCH_SMETA_SMART_TAB] (
	[LINK_UP] int NOT NULL ,
	[LINK_OPT2] int NOT NULL ,
	[COMENT] varchar(1000) NOT NULL ,
	[STATUS] tinyint NOT NULL ,
	[LINK] int NOT NULL IDENTITY(1,1) )
GO

	GRANT SELECT, UPDATE, DELETE ON dbo.[SYNCH_SMETA_SMART_TAB] TO PUBLIC
	
GO

--Расширенные свойства--
--Индексы

IF  NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE [name] = 'SYNCH_SMETA_SMART_TAB_LINK_UP')
CREATE CLUSTERED INDEX [SYNCH_SMETA_SMART_TAB_LINK_UP] ON [dbo].[SYNCH_SMETA_SMART_TAB] ([LINK_UP], [LINK_OPT2])
GO
--Констрэйнты

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[PK_SYNCH_SMETA_SMART_TAB]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_TAB] 
ADD CONSTRAINT [PK_SYNCH_SMETA_SMART_TAB] PRIMARY KEY NONCLUSTERED ([LINK]) ON [INDEX]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_SYNCH_SMETA_SMART_TAB_OPT2]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_TAB] 
ADD CONSTRAINT [FK_SYNCH_SMETA_SMART_TAB_OPT2] FOREIGN KEY ([LINK_OPT2]) REFERENCES [dbo].[SYNCH_SMETA_SMART_OPT2] ([link])
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[FK_SYNCH_SMETA_SMART_TAB_journ]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_TAB] 
ADD CONSTRAINT [FK_SYNCH_SMETA_SMART_TAB_journ] FOREIGN KEY ([LINK_UP]) REFERENCES [dbo].[SYNCH_SMETA_SMART_JOURN] ([LINK])
 ON DELETE CASCADE
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_TAB_COMENT]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_TAB] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_TAB_COMENT] DEFAULT ('') FOR [COMENT]
GO

IF  NOT EXISTS (SELECT * FROM dbo.sysconstraints WHERE constid =  object_id('dbo.[DF_SYNCH_SMETA_SMART_TAB_STATUS]'))
ALTER TABLE [dbo].[SYNCH_SMETA_SMART_TAB] 
ADD CONSTRAINT [DF_SYNCH_SMETA_SMART_TAB_STATUS] DEFAULT ((0)) FOR [STATUS]
GO
--Триггеры



GO

--ОБЪЕКТЫ БД 29.06.2016
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_VIEW_EXPORT_FORMAT_NALOG_FN]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[BK_VIEW_EXPORT_FORMAT_NALOG_FN]

GO
CREATE FUNCTION dbo.BK_VIEW_EXPORT_FORMAT_NALOG_FN (@YEAR INT = NULL)
RETURNS TABLE

RETURN

	-- Форматы для налога на прибыль --
	SELECT FORM_CODE = 'ND_NP',
		FNAME = 'Формат 5.02 (с 01.01.2009 г.)', PROC_NAME = 'BK_EXPORT_F1151006',
		PRG_SKRIPT = CONVERT(VARCHAR(100),''),
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR < 2011

	UNION ALL

	SELECT FORM_CODE = 'ND_NP',
		FNAME = 'Формат 5.03 (с 01.01.2011 г.)', PROC_NAME = 'BK_EXPORT_F1151006_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR BETWEEN 2011 AND 2013

	UNION ALL

	SELECT FORM_CODE = 'ND_NP',
		FNAME = 'Формат 5.05 (с 01.12.2013 г.)', PROC_NAME = 'BK_EXPORT_F1151006_505',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR >= 2013

	UNION ALL
	-- Форматы для транспортного налога --
	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 4.01 (с 01.01.2007 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152027'
	WHERE @YEAR < 2012	

	UNION ALL

	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 5.01 (с 01.01.2012 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004_501',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR = 2012

	UNION ALL

	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 5.02 (с 01.01.2013 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004_502',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR = 2013
	
	UNION ALL

	SELECT
		FORM_CODE = 'ND_TN',
		FNAME = 'Формат 5.03 (с 01.01.2015 г.)',
		PROC_NAME = 'BK_EXPORT_F1152004_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''
	WHERE @YEAR >= 2014

	UNION ALL

	SELECT FORM_CODE = 'AV_TN',
		FNAME = 'Формат 4.01 (с 01.01.2007 г.)', PROC_NAME = 'BK_EXPORT_F1152027',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152027'

	UNION ALL

	--- Форматы для налога на имущество ---
	SELECT FORM_CODE = 'AV_F1152028',
		FNAME = 'Формат 5.00 (с 01.01.2008 г.)',
		PROC_NAME = 'BK_EXPORT_F1152028',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152028'
	UNION ALL
	SELECT FORM_CODE = 'AV_ASS',
		FNAME = 'Формат 5.00 (с 01.01.2008 г.)',
		PROC_NAME = 'BK_EXPORT_F1152026',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = 'BK_TEST_EXP_F1152028'
	UNION ALL
	-- Форматы с 01.01.2012 --
	SELECT FORM_CODE = 'ND_IMU',
		FNAME = 'Формат 5.02 (с 01.01.2012 г.)',
		PROC_NAME = 'BK_EXPORT_F1152026_502',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	WHERE @YEAR < 2013
	UNION ALL
	SELECT FORM_CODE = 'AV_IMU',
		FNAME = 'Формат 5.02 (с 01.01.2012 г.)',
		PROC_NAME = 'BK_EXPORT_F1152028_502',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	WHERE @YEAR < 2014		
	UNION ALL
	-- Форматы с 01.01.2013 --
	SELECT FORM_CODE = 'ND_IMU',
		FNAME = 'Формат 5.03 (с 01.01.2013 г.)',
		PROC_NAME = 'BK_EXPORT_F1152026_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	UNION ALL
	SELECT FORM_CODE = 'AV_IMU',
		FNAME = 'Формат 5.03 (с 01.01.2014 г.)',
		PROC_NAME = 'BK_EXPORT_F1152028_503',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = '' --'BK_TEST_EXP_F1152028'
	WHERE @YEAR >= 2014		

	UNION ALL
	-- Форматы для 4ФСС --
	SELECT FORM_CODE = '4FSS',
		FNAME = 'формат, утвержденный приказом Минздравсоцразвития России от 06.11.2009 n 871н', PROC_NAME = 'SA_4FSS_EXPORT',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR <= 2010	
	UNION ALL	
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.3 (Приказ №19 от 12.02.2010 в ред. от 21.03.2011 (№53)', PROC_NAME = 'SA_4FSS_EXPORT_v03',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2011
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.4 (Приказ № от 22.11.2011)', PROC_NAME = 'SA_4FSS_EXPORT_v04',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2012
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.5 (Приказ №107н от 19.03.2013)', PROC_NAME = 'SA_4FSS_EXPORT_v05',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2013	
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.6 (Приказ №107н от 19.03.2013 в ред. от 11.02.2014 № 94н)', PROC_NAME = 'SA_4FSS_EXPORT_v05',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2014	
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.7 (Приказ ФСС №59 от 26.02.2015)', PROC_NAME = 'SA_4FSS_EXPORT_v07',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR = 2015	
	UNION ALL
	SELECT FORM_CODE = '4FSS',
		FNAME = 'Версия формата 0.8 (Приказ ФСС №54 от 25.02.2016)', PROC_NAME = 'SA_4FSS_EXPORT_v08',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_4FSS_EXPORT_TEST'
	WHERE
		@YEAR >= 2016	
	UNION ALL
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (2011)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2011',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR = 2011	
	UNION ALL	
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (от 15.03.2012 г. №232н)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2012',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR = 2012			
	UNION ALL	
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (от 15.03.2012 г. №232н)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2013',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR = 2013
	UNION ALL	
	
	-- Формат выгрузки РСВ-1 --
	SELECT FORM_CODE = 'РСВ-1',
		FNAME = 'Формат 07.00 (от 03.03.2014 г. №25п)', PROC_NAME = 'SA_RSV1_EXPORT_0700_2014',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = 'SA_RSV1_EXPORT_TEST'
	WHERE
		@YEAR >= 2014	
	UNION ALL
	-- Формат выгрузки П-2 (краткая) --
	SELECT FORM_CODE = '0617005',
		FNAME = 'Формат выгрузки формы П-2 (краткая) для Росстата', PROC_NAME = 'BK_EXPORT_F0617005',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''

	UNION ALL
	-- Формат выгрузки П-2 (квартальная) --
	SELECT FORM_CODE = '0617004',
		FNAME = 'Формат выгрузки формы П-2 (квартальная) для Росстата', PROC_NAME = 'BK_EXPORT_F0617004',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- П-2 кв. с 01.01.2011 --
	SELECT FORM_CODE = '0617004_11',
		FNAME = 'Формат выгрузки формы П-2 (квартальная) для Росстата', PROC_NAME = 'BK_EXPORT_F0617004_11',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''

	-- Формат выгрузки П-2 ИНВ (годовая) --
	UNION ALL
	SELECT FORM_CODE = 'П2_ИНВ',
		FNAME = 'Формат выгрузки формы П-2(ИНВ) для Росстата', PROC_NAME = 'BK_EXPORT_F0617010',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE @YEAR < 2012	

	UNION ALL
	SELECT FORM_CODE = 'П2_ИНВ',
		FNAME = 'Формат выгрузки формы П-2(ИНВ) для Росстата', PROC_NAME = 'BK_EXPORT_F0617010_2012',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE @YEAR >= 2012	

	UNION ALL
	-- Формат выгрузки П-4 --
	SELECT FORM_CODE = '0606010',
		FNAME = 'Формат выгрузки формы П-4 для Росстата', PROC_NAME = 'SK_EXPORT_F0606010',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE
		@YEAR <= 2012	
	UNION ALL
	-- Формат выгрузки П-4 c 01.01.2013 --
	SELECT FORM_CODE = '0606010',
		FNAME = 'Формат выгрузки формы П-4 для Росстата', PROC_NAME = 'SK_EXPORT_F0606010_13',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE
		@YEAR >= 2013		


	UNION ALL
	-- Формат выгрузки 1-ГС --
	SELECT FORM_CODE = '1GS',
		FNAME = 'Формат выгрузки формы 1-ГС для Росстата', PROC_NAME = 'KJ_EXPORT_1GS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 2-ГС --
	SELECT FORM_CODE = '2GS_GZ',
		FNAME = 'Формат выгрузки формы 2-ГС для Росстата', PROC_NAME = 'KJ_EXPORT_2GS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-МС --
	SELECT FORM_CODE = '1MS',
		FNAME = 'Формат выгрузки формы 1-МС для Росстата', PROC_NAME = 'KJ_EXPORT_1MS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 2-МС --
	SELECT FORM_CODE = '2MS',
		FNAME = 'Формат выгрузки формы 2-МС для Росстата', PROC_NAME = 'KJ_EXPORT_2MS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-Т(ГМС) --
	SELECT FORM_CODE = '1T_GMS',
		FNAME = 'Формат выгрузки формы 1-Т(ГМС) для Росстата', PROC_NAME = 'KJ_EXPORT_1T_GMS',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-торги (квартальная) --
	SELECT FORM_CODE = '0607006',
		FNAME = 'Формат выгрузки формы 1-торги для Росстата', PROC_NAME = 'BK_EXPORT_F0607006',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 1-торги (квартальная) --
	SELECT FORM_CODE = '1_ТОРГИ',
		FNAME = 'Формат выгрузки формы 1-торги для Росстата', PROC_NAME = 'BK_EXPORT_F0607006_11',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	UNION ALL
	-- Формат выгрузки 11 краткая (годовая) --
	SELECT FORM_CODE = '0602002',
		FNAME = 'Формат выгрузки формы 11-краткая для Росстата', PROC_NAME = 'BK_EXPORT_F0602002',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''

	UNION ALL
	SELECT FORM_CODE = 'КРАТ_11',
		FNAME = 'Формат выгрузки формы 11-краткая для Росстата', PROC_NAME = 'BK_EXPORT_F0602002_2012',
		PRG_SKRIPT = '',
		DIR = 'RST',
		TEST_PROC = ''
	WHERE
		@YEAR >= 2012		
	
	-- Выгрузка АХД (МЗ 2013) --		
	UNION ALL
	SELECT
		FORM_CODE = 'AHD_EXPORT_REST',
		FNAME = 'Формат 1.00 (с 01.09.2013 г.)',
		PROC_NAME = 'BK_EXPORT_AHD_REST',
		PRG_SKRIPT = '',
		DIR = 'AHD',
		TEST_PROC = ''

	UNION ALL
	SELECT
		FORM_CODE = 'AHD_EXPORT_PROV',
		FNAME = 'Формат 1.00 (с 01.09.2013 г.)',
		PROC_NAME = 'BK_EXPORT_AHD_PROV',
		PRG_SKRIPT = '',
		DIR = 'AHD',
		TEST_PROC = ''
	

	-- Выгрузка данных об ОС --		
	UNION ALL
	SELECT
		FORM_CODE = 'EOD_EXPORT_INV1',
		FNAME = 'Формат 1.00 (с 01.01.2013 г.)',
		PROC_NAME = 'BK_EXPORT_INV1',
		PRG_SKRIPT = '',
		DIR = 'AHD',
		TEST_PROC = ''

	-- Выгрузка 6-НДФЛ --		
	UNION ALL
	SELECT
		FORM_CODE = '6-НДФЛ',
		FNAME = 'Формат 5.01 (приказ ФНС N ММВ-7-11/450@ от 14.10.2015 г.)',
		PROC_NAME = 'SA_6NDFL_EXPORT_v5_01',
		PRG_SKRIPT = '',
		DIR = 'IMNS',
		TEST_PROC = ''--'SA_6NDFL_EXPORT_TEST'
	-- Выгрузка СЗВ-М --		
	UNION ALL
	SELECT
		FORM_CODE = 'СЗВ-М',
		FNAME = 'Формат 2.40 (от 04.03.2016 г.)',
		PROC_NAME = 'SA_SZVM_EXPORT_v2_40',
		PRG_SKRIPT = '',
		DIR = 'PF',
		TEST_PROC = ''--'SA_SZVM_EXPORT_TEST'
		








GO


GRANT SELECT ON dbo.[BK_VIEW_EXPORT_FORMAT_NALOG_FN] TO PUBLIC

GO


--Расширенные свойства--


GO

IF  EXISTS (SELECT * FROM dbo.SYSOBJECTS WHERE ID = OBJECT_ID(N'dbo.[KL_IVF_UPDATE]') AND OBJECTPROPERTY(ID, N'ISTRIGGER') = 1)
DROP TRIGGER dbo.[KL_IVF_UPDATE]
GO

CREATE   TRIGGER dbo.KL_IVF_UPDATE ON KL_IVF
FOR UPDATE
AS

	UPDATE KL_KBK 
	SET CODE = RTRIM(ADM.CODE) + '.' + RTRIM(IVF.CODE) + RTRIM(P.CODE) + RTRIM(SGU.CODE)
	FROM 
		dbo.KL_KBK K 
		INNER JOIN dbo.KL_KBK_IVF V ON K.LINK = V.LINK_KBK 
		INNER JOIN INSERTED IVF ON V.[LINK_IVF] = IVF.[LINK]
		INNER JOIN dbo.KL_PROG P ON V.[LINK_PROG] = P.LINK
		INNER JOIN dbo.KOSGU SGU ON V.[LINK_SGU] = SGU.LINK
		INNER JOIN dbo.KL_ADMIN_BS ADM ON K.[LINK_ADM] = ADM.LINK
	WHERE 
		IVF.[LINK] > 0

GO

GO

IF  EXISTS (SELECT * FROM dbo.SYSOBJECTS WHERE ID = OBJECT_ID(N'dbo.[KL_KD_UPDATE]') AND OBJECTPROPERTY(ID, N'ISTRIGGER') = 1)
DROP TRIGGER dbo.[KL_KD_UPDATE]
GO

CREATE   TRIGGER dbo.KL_KD_UPDATE ON KL_KD
FOR UPDATE
AS
	UPDATE KL_KBK 
	SET CODE = RTRIM(ADM.CODE) + '.' + RTRIM(KD.CODE) + RTRIM(P.CODE) + RTRIM(SGU.CODE)
	FROM 
		dbo.KL_KBK K 
		INNER JOIN dbo.KL_KBK_KD V ON K.LINK = V.LINK_KBK 
		INNER JOIN INSERTED KD ON V.[LINK_KD] = KD.[LINK]
		INNER JOIN dbo.KL_PROG P ON V.[LINK_PROG] = P.LINK
		INNER JOIN dbo.KOSGU SGU ON V.[LINK_SGU] = SGU.LINK
		INNER JOIN dbo.KL_ADMIN_BS ADM ON K.[LINK_ADM] = ADM.LINK
	WHERE 
		KD.[LINK] > 0
GO


GO

IF  EXISTS (SELECT * FROM dbo.SYSOBJECTS WHERE ID = OBJECT_ID(N'dbo.[KL_TARGET_ITEM_UPDATE]') AND OBJECTPROPERTY(ID, N'ISTRIGGER') = 1)
DROP TRIGGER dbo.[KL_TARGET_ITEM_UPDATE]
GO

CREATE  TRIGGER dbo.KL_TARGET_ITEM_UPDATE ON KL_TARGET_ITEM
FOR UPDATE
AS
	UPDATE KL_KBK 
	SET CODE = RTRIM(ADM.CODE) + '.' + RTRIM(DIV.CODE) + '.' + RTRIM(CSR.CODE) + '.' + RTRIM(EX.CODE)
	FROM 
		dbo.KL_KBK K
		INNER JOIN dbo.KL_VKR V ON K.LINK = V.LINK_KBK 
		INNER JOIN dbo.KL_DIVISION DIV ON V.LINK_DIV = DIV.LINK
		INNER JOIN INSERTED CSR ON V.[LINK_CSR] = CSR.LINK
		INNER JOIN dbo.KL_EXPEND EX ON V.[LINK_EXP] = EX.LINK
		INNER JOIN dbo.KL_ADMIN_BS ADM ON K.[LINK_ADM] = ADM.LINK		
	WHERE 
		CSR.LINK > 0
GO


GO

IF  EXISTS (SELECT * FROM dbo.SYSOBJECTS WHERE ID = OBJECT_ID(N'dbo.[KL_DIVISION_UPDATE]') AND OBJECTPROPERTY(ID, N'ISTRIGGER') = 1)
DROP TRIGGER dbo.[KL_DIVISION_UPDATE]
GO

CREATE  TRIGGER dbo.KL_DIVISION_UPDATE ON KL_DIVISION
FOR UPDATE
AS
	UPDATE KL_KBK 
	SET CODE = RTRIM(ADM.CODE) + '.' + RTRIM(DIV.CODE) + '.' + RTRIM(CSR.CODE) + '.' + RTRIM(EX.CODE)
	FROM 
		dbo.KL_KBK K
		INNER JOIN dbo.KL_VKR V ON K.LINK = V.LINK_KBK 
		INNER JOIN INSERTED DIV ON V.LINK_DIV = DIV.LINK
		INNER JOIN dbo.KL_TARGET_ITEM CSR ON V.[LINK_CSR] = CSR.LINK
		INNER JOIN dbo.KL_EXPEND EX ON V.[LINK_EXP] = EX.LINK
		INNER JOIN dbo.KL_ADMIN_BS ADM ON K.[LINK_ADM] = ADM.LINK		
	WHERE 
		DIV.LINK > 0	
GO

GO
IF  EXISTS (SELECT * FROM dbo.SYSOBJECTS WHERE ID = OBJECT_ID(N'dbo.[KL_EXPEND_UPDATE]') AND OBJECTPROPERTY(ID, N'ISTRIGGER') = 1)
DROP TRIGGER dbo.[KL_EXPEND_UPDATE]
GO

CREATE  TRIGGER dbo.KL_EXPEND_UPDATE ON KL_EXPEND
FOR UPDATE
AS
	UPDATE KL_KBK 
	SET CODE = RTRIM(ADM.CODE) + '.' + RTRIM(DIV.CODE) + '.' + RTRIM(CSR.CODE) + '.' + RTRIM(EX.CODE)
	FROM 
		dbo.KL_KBK K
		INNER JOIN dbo.KL_VKR V ON K.LINK = V.LINK_KBK 
		INNER JOIN INSERTED EX ON V.[LINK_EXP] = EX.LINK
		INNER JOIN dbo.KL_DIVISION DIV ON V.LINK_DIV = DIV.LINK
		INNER JOIN dbo.KL_TARGET_ITEM CSR ON V.[LINK_CSR] = CSR.LINK
		INNER JOIN dbo.KL_ADMIN_BS ADM ON K.[LINK_ADM] = ADM.LINK		
	WHERE 
		EX.LINK > 0
GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNC_SMETA_SMART_OPT]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SYNC_SMETA_SMART_OPT]

GO

CREATE VIEW [dbo].SYNC_SMETA_SMART_OPT
AS 
SELECT so.link ,
	so.[order] ,
	[OPT_NAME] = LTRIM(RTRIM(so.OPT_NAME)),
	OPT_CODE = LTRIM(RTRIM(SO.OPT_CODE)),
	so.ACTIVE 	
from 
	DBO.SYNCH_SMETA_SMART_OPT AS so



GO


GRANT SELECT ON dbo.[SYNC_SMETA_SMART_OPT] TO PUBLIC

GO


--Расширенные свойства--


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SALARY_G_PROV]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SALARY_G_PROV]

GO

CREATE  VIEW [dbo].SALARY_G_PROV 
AS
WITH 
SALARY_XO AS --ХО для зарплатский проводок
(
	SELECT XO.LINK
	FROM
		dbo.XOZ_OPER XO
		INNER JOIN dbo.XOZ_OPER_GROUP XG ON XG.LINK = XO.GROUP_LINK
	WHERE
		XG.CODE='27' AND XO.CODE='01' OR XG.CODE='12' AND XO.CODE='16' OR XO.ZP = 1
),
SALARY_TEMPLATE AS --образцы и шаблоны документов, указанные в настройках зарплаты
(
	SELECT DISTINCT
		CONVERT(numeric(18,2),O.VALUE) AS LINK
	FROM 
		dbo.S_OPTIONS O
	WHERE
		ISNUMERIC(O.VALUE) = 1
		AND 
		EXISTS (SELECT * FROM dbo.S_OBJECTS SO WHERE SO.LINK = O.OBJECT
				AND 
					(
						SO.CODE LIKE 'VEDOM_OPTIONS_OPT9'
					OR	SO.CODE LIKE 'VEDOM_OPTIONS_OPT15'
					OR	SO.CODE LIKE 'ESN_OPT2'
					OR	SO.CODE LIKE 'ESN_OPT4'
					OR	SO.CODE LIKE 'ESNTR_OPT1'
					OR	SO.CODE LIKE 'ESNTR_OPT2'
					OR	SO.CODE LIKE 'NDFL_OPT4'
					OR	SO.CODE LIKE 'NDFL_OPT10'
					)	
				) 
	AND SID IS NULL
)

SELECT G.LINK, G.[DATE], COUNT(*) as CNT_PROV
FROM 
	dbo.G_PROV G
	INNER JOIN dbo.S_OBJECTS SO ON SO.LINK = G.OBJECT
	LEFT JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK
	LEFT JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
	LEFT JOIN SALARY_XO XO ON XO.LINK = G2.ECON_OPER
	LEFT JOIN dbo.sdoc_vedom_rko SVD ON SVD.LINK_RKO = G.LINK
	LEFT JOIN SALARY_TEMPLATE ST ON ST.LINK = G.LINK
WHERE
	SO.CODE LIKE 'DOCUMENTS_SALARY'
	OR
	XO.LINK IS NOT NULL
	OR
	SVD.LINK_RKO IS NOT NULL
	OR
	ST.LINK IS NOT NULL
	OR
	(G.DATE_PROV IS NULL AND G1.LINK IS NULL AND (SO.CODE LIKE 'BB_ZAYAVKA_KR' OR SO.CODE LIKE 'DOCUMENTS_PAY' OR SO.CODE LIKE '"DOCUMENTS_RKO"'))
GROUP BY 
	G.LINK, G.[DATE]

GO


GRANT SELECT ON dbo.[SALARY_G_PROV] TO PUBLIC

GO

GO
--текст
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[MASK_TRANSFORM1]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[MASK_TRANSFORM1]

GO

/*******************************************************************************

   © Кейсистемс (Keysystems), 2014

********************************************************************************
функция преобразует строку по маске
*******************************************************************************/
CREATE FUNCTION dbo.MASK_TRANSFORM1(@vcCODE VARCHAR(8000), @vcMASK VARCHAR(8000)) 
RETURNS VARCHAR(8000)
AS
BEGIN
   DECLARE @lvcReturn VARCHAR(8000), 
           @i INT,            
           @liCount INT,
           @k INT

   SELECT @i = 1,
          @liCount = LEN(@vcMASK),
          @lvcReturn = '',
          @k = 1

   WHILE @i <= @liCount
   BEGIN
      SELECT @lvcReturn = @lvcReturn + CASE SUBSTRING(@vcMASK, @i, 1)   
                                          WHEN 'x' THEN SUBSTRING(@vcCODE, @k, 1)
                                          WHEN 'd' THEN ''
                                          WHEN 'i' THEN '0' 
                                          ELSE SUBSTRING(@vcMASK, @i, 1)
                                       END
      IF SUBSTRING(@vcMASK, @i, 1)in('x','d','i')
         SET @k = @k + 1
      SET @i = @i + 1
   END

   RETURN ISNULL(@lvcReturn, '')
END


GO


GRANT EXECUTE ON dbo.[MASK_TRANSFORM1] TO PUBLIC

GO


--Расширенные свойства--


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[GetNums]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[GetNums]

GO
CREATE FUNCTION dbo.GetNums(@low AS BIGINT, @high AS BIGINT) RETURNS TABLE
AS
RETURN
WITH
L0 AS (SELECT c FROM (SELECT 1 UNION ALL SELECT 1) AS D(c)),
L1 AS (SELECT 1 AS c FROM L0 AS A CROSS JOIN L0 AS B),
L2 AS (SELECT 1 AS c FROM L1 AS A CROSS JOIN L1 AS B),
L3 AS (SELECT 1 AS c FROM L2 AS A CROSS JOIN L2 AS B),
L4 AS (SELECT 1 AS c FROM L3 AS A CROSS JOIN L3 AS B),
L5 AS (SELECT 1 AS c FROM L4 AS A CROSS JOIN L4 AS B),
Nums AS (SELECT ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS rownum
FROM L5)
SELECT TOP(@high - @low + 1) (@low + rownum - 1) AS n
FROM Nums
ORDER BY rownum;

GO


GRANT SELECT ON dbo.[GetNums] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KA_ONLY_MOVES]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[KA_ONLY_MOVES]
GO

CREATE VIEW dbo.KA_ONLY_MOVES
AS
SELECT 
	IM.LINK, 
	EMPL_LINK, 
	IM.DATE_BEGIN, 
	DATE_END = ISNULL((SELECT MIN(DATE_BEGIN)-1 FROM dbo.ITEM_MOVE 
		WHERE EMPL_LINK=IM.EMPL_LINK AND DATE_BEGIN>IM.DATE_BEGIN AND NEW_FACE IN (0, 1) AND ACTIVE=1),
		(SELECT MAX(DATE_END) FROM dbo.ITEM_MOVE
		WHERE EMPL_LINK=IM.EMPL_LINK AND ACTIVE=1))
FROM 
	dbo.ITEM_MOVE IM
	LEFT JOIN (
		SELECT 
			S.LINK_UP, 
			S.DATE_BEGIN, S.DATE_END
		FROM 
			dbo.STAFF S 
	) S ON 
	S.LINK_UP=IM.STAFF_LINK AND IM.DATE_BEGIN BETWEEN S.DATE_BEGIN AND S.DATE_END
WHERE NEW_FACE IN (0, 1) AND ACTIVE=1
GO


GRANT SELECT ON dbo.[KA_ONLY_MOVES] TO PUBLIC
GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_SMETA_SMART_JOUR_TAB]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SYNCH_SMETA_SMART_JOUR_TAB]

GO

CREATE VIEW [dbo].SYNCH_SMETA_SMART_JOUR_TAB 
AS 
SELECT 
	sj.link ,
	LINK_T = ST.LINK,					
	NOM_PP = ROW_NUMBER() OVER (PARTITION BY sj.link ORDER BY so.[ORDER], SO2.[ORDER]),
	SO.OPT_NAME ,
	SO2.NAME,
	COMENT = convert(varchar(254),st.COMENT),
	STAT_NAME_O = CASE WHEN st.[STATUS] = 0 THEN '' WHEN st.[STATUS] = 1 THEN 'Успешно' WHEN st.[STATUS] = 2 THEN 'Предупреждение' ELSE 'Ошибка' END , 
	STATUS_O = st.[STATUS]
 FROM 
	DBO.SYNCH_SMETA_SMART_JOURN AS sj
	inner JOIN DBO.SYNCH_SMETA_SMART_TAB AS st ON st.link_up = sj.link
	left JOIN DBO.SYNCH_SMETA_SMART_opt2 AS so2 ON so2.link = st.link_opt2
	left JOIN DBO.SYNCH_SMETA_SMART_opt AS so ON so.link = so2.link_up
GO


GRANT SELECT ON dbo.[SYNCH_SMETA_SMART_JOUR_TAB] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_SMETA_SMART_JOURNAL]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SYNCH_SMETA_SMART_JOURNAL]

GO

CREATE VIEW [dbo].SYNCH_SMETA_SMART_JOURNAL
AS 
SELECT sj.link ,
	sj.period ,
	[YEAR] = YEAR(sj.period),
	[month] = month(sj.period),
	sj.HOSTNAME  , 
	sj.LOGINAME ,
	POSTDATE =  sj.PoSTTIME ,
	PoSTTIME = convert(varchar (8) , sj.PoSTTIME , 114 ) , 
	sj.USERS ,
	--LINK_OPT = st.[LINK_OPT], 
	--ORDER_OPT = st.[ORDER],
	--ORDER_OPT2 = st.[ORDER_OPT2],
	--COMMENT = st.COMMENT,
	[STATUS] = CASE WHEN exists( SELECT * FROM  DBO.SYNCH_SMETA_SMART_TAB WHERE link_up = sj.link AND [status] in(2,3)) 
					THEN 'C ошибками' 
					WHEN ( SELECT SUM([status]) FROM  DBO.SYNCH_SMETA_SMART_TAB WHERE link_up = sj.link GROUP BY link_up  ) = 0
					THEN ''
					ELSE 'Успешно' END 
	
FROM 
	DBO.SYNCH_SMETA_SMART_JOURN AS sj



GO


GRANT SELECT ON dbo.[SYNCH_SMETA_SMART_JOURNAL] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[EXPORT_FORMATS_ALL_PHIS]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[EXPORT_FORMATS_ALL_PHIS]

GO

CREATE VIEW dbo.EXPORT_FORMATS_ALL_PHIS
AS
SELECT FNAME = 'Формат 1.00 (от 01.03.2016)', PROC_NAME = 'ALL_PHIS_EXPORT', PRG_SKRIPT = '',DIR = 'Bank', TEST_PROC = ''
--UNION All 
--SELECT FNAME = 'Формат 2.00 (от 01.03.2016)', PROC_NAME = 'ALL_PHIS_EXPORT_v2', PRG_SKRIPT = '',DIR = 'Bank', TEST_PROC = 'ALL_PHIS_EXPORT_TEST_v2'




GO


GRANT SELECT ON dbo.[EXPORT_FORMATS_ALL_PHIS] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_GetAcctFullCode1]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[BK_GetAcctFullCode1]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE	FUNCTION dbo.BK_GetAcctFullCode1 (
	@varKSLINK_ACCT	INT,
	@varKSLINK_KBK	INT,
	@varKSLINK_SGU	INT,
	@varKS_ACCT_CODE_WITH_KBK	TINYINT = 0,
	@varKS_ACCT_CODE_WITH_SGU	TINYINT = 0,
	@dDATE	DATETIME	=	NULL)	


RETURNS VARCHAR (60)

AS 
BEGIN
	DECLARE
		@varKScRET VARCHAR (60),
		@varKSPART1 VARCHAR (40),
		@varKSPART3 VARCHAR (3),
		@dDATE_CONST	DATETIME

	SET @dDATE_CONST = '20160101'

	SET @dDATE = ISNULL (@dDATE, @dDATE_CONST)

	SELECT
		@varKScRET = RTRIM (CODE)
	FROM dbo.S_ACCOUNTS
	WHERE LINK = @varKSLINK_ACCT

	/* -- СЧЕТ С КБК -- */
	IF ISNULL (@varKS_ACCT_CODE_WITH_KBK, 0) = 1
	BEGIN
		SELECT
			@varKSPART1 = RTRIM (CODE)
		FROM dbo.KL_KBK
		WHERE LINK = @varKSLINK_KBK
		
		IF @dDATE >= @dDATE_CONST AND @varKSPART1 IS NOT NULL
			SET @varKSPART1 = SUBSTRING (@varKSPART1, 5, 40)
	
		SET @varKScRET = ISNULL (@varKSPART1, '00000000000000000') + '.' + @varKScRET
	END

	/* -- СЧЕТ С КОСГУ -- */
	IF ISNULL (@varKS_ACCT_CODE_WITH_SGU, 0) = 1
	BEGIN
		SELECT @varKSPART3 = RTRIM (CODE) FROM dbo.KOSGU WHERE LINK = @varKSLINK_SGU
		SET @varKScRET = @varKScRET + '.' + ISNULL (@varKSPART3, '000')
	END

	RETURN @varKScRET
END


GO


GRANT EXECUTE ON dbo.[BK_GetAcctFullCode1] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[DOCUMENTS_DED_OTHER_TABLE]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[DOCUMENTS_DED_OTHER_TABLE]

GO

CREATE VIEW dbo.DOCUMENTS_DED_OTHER_TABLE
AS

SELECT
	[LINK]		= SD.LINK_UP,
	[ORDERS]	= SD.ORDERS,
	[CODE_DED]	= P.CODE,
	[NAME_DED]	= P.[NAME],
	[REF_DED]	= SD.LINK_PAY,
	[LINK_VKR]	= SD.LINK_VKR,
	[NAME_VKR]	= F.CODE,
	[LINK_EKR]	= SD.LINK_EKR,
	[NAME_EKR]	= G.CODE,
	[SUMMA_BASE]	= SD.SUMMA_BASE,
	[PERCENT]	= SD.PERC,
	[SUMMA]		= SUM(SD.SUMMA),
	[SKIDKA] = SUM(ISNULL(S.SUMMA,0)),
	[VYCHET] = SUM(ISNULL(S2.SUMMA,0)),
	[LINK_VKR2]	= SD.LINK_VKR2,
	[NAME_VKR2]	= F2.CODE
FROM 	
	dbo.SDOC_DOT_TABLE SD 
	INNER JOIN dbo.PAYS P ON SD.LINK_PAY = P.LINK
	INNER JOIN dbo.SAL_SFIN	F ON F.LINK = SD.LINK_VKR
	INNER JOIN dbo.KOSGU G ON G.LINK = SD.LINK_EKR
	LEFT JOIN dbo.SAL_SFIN	F2 ON F2.LINK = SD.LINK_VKR2
	LEFT JOIN 
	(  	SELECT 
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT], SUMMA = SUM(SUMMA)
		FROM
			dbo.SDOC_DOT_SKIDKI
		GROUP BY
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT]	
	) S ON S.LINK_UP = SD.LINK_UP AND S.LINK_TAX = SD.LINK_PAY AND S.LINK_VKR = SD.LINK_VKR AND S.LINK_VKR2 = SD.LINK_VKR2 AND S.LINK_EKR = SD.LINK_EKR AND S.[PERCENT] = SD.PERC
	LEFT JOIN 
	(  	SELECT 
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT], SUMMA = SUM(SUMMA)
		FROM
			dbo.SDOC_DOT_VYCHET
		GROUP BY
			LINK_UP, LINK_TAX, LINK_VKR, LINK_VKR2, LINK_EKR, [PERCENT]	
	) S2 ON S2.LINK_UP = SD.LINK_UP AND S2.LINK_TAX = SD.LINK_PAY AND S2.LINK_VKR = SD.LINK_VKR AND S2.LINK_VKR2 = SD.LINK_VKR2 AND S.LINK_EKR = SD.LINK_EKR  AND S2.[PERCENT] = SD.PERC
GROUP BY
	SD.LINK_UP,
	SD.ORDERS,
	P.CODE,
	P.[NAME],
	SD.LINK_PAY,
	SD.LINK_VKR,
	F.CODE,
	SD.LINK_EKR,	
	G.CODE,	
	SD.SUMMA_BASE,
	SD.PERC,
	SD.LINK_VKR2,
	F2.CODE	


GO


GRANT SELECT ON dbo.[DOCUMENTS_DED_OTHER_TABLE] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SDOC_DOT_VYCHET_FIO]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SDOC_DOT_VYCHET_FIO]

GO

CREATE VIEW dbo.SDOC_DOT_VYCHET_FIO
AS
SELECT 
	LINK = LINK_UP,
	ORDERS = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	LINK_TAX,
	LINK_DED,
	CODE_DED = D.SNAME,
	S.LINK_PERS,
	FIO = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	S.LINK_VKR,
	CODE_S_FIN = F.CODE,
	S.LINK_VKR2,
	S.LINK_EKR,
	CODE_EKR = G.CODE,
	S.[PERCENT],
	S.SUMMA
FROM 
	[dbo].[SDOC_DOT_VYCHET] S
	INNER JOIN dbo.PERSON P ON P.LINK = S.LINK_PERS
	INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION D ON D.LINK = S.LINK_DED
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = S.LINK_VKR
	INNER JOIN dbo.KOSGU G ON G.LINK = S.LINK_EKR



GO


GRANT SELECT ON dbo.[SDOC_DOT_VYCHET_FIO] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[S_J_C_Short]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[S_J_C_Short]

GO

CREATE    VIEW dbo.S_J_C_Short

AS
SELECT
[LINK]			= JC.LINK,
[LINK_EMPL] 	=JC.LINK_EMPL,
LINK_SOVM		= COALESCE(JC.LINK_SOVM,0),	
[LINK_FACE] 	= E.PERS_LINK,
[LINK_PAYS]		= P.LINK,
[CODE_PAYS]		= P.CODE,
[NAME_PAYS]		= P.NAME,
[TYP_PER]		= P.TYP_PER,
[F14]				= P.F14,
[WAY_CALC] 		= P.WAY_CALC,
[MONTH_BEGIN]	= MONTH(JC.PERIOD_BEGIN),
[YEAR_BEGIN]	= YEAR(JC.PERIOD_BEGIN),
[PERIOD_BEGIN]	= JC.PERIOD_BEGIN,
[MONTH_END] 	= MONTH(PERIOD_END),
[YEAR_END]		= YEAR(PERIOD_END),
[PERIOD_END] 	= JC.PERIOD_END,
[HOURS]			= JC.HOURS,
[DAYS]			= JC.DAYS,
[SUMMA_BASE]	= JC.SUMMA_BASE,
[SUMMA]			= JC.SUMMA,
[LINK_DOC]		= JC.LINK_DOC,
[ORDERS]		= JC.ORDERS,
[DATE1]			= JC.DATE_BEGIN,
[DATE2]			= JC.DATE_END,
[LINK_INC] 		= P.LINK_INC,
[TYP_OPER]  	= P.OBJECT,
[LINK_VKR] 		= JC.LINK_VKR,
[LINK_EKR] 		= COALESCE(JC.LINK_EKR,P.LINK_EKR),
[LINK_ORG]		= JC.LINK_ORG,
[PERS_LINK]		= JC.PERS_LINK,
[LINK_DEP]		= JC.LINK_DEP,
[LINK_VKR2] 		= JC.LINK_VKR2	
FROM dbo.CALCULATE_JURNAL JC LEFT JOIN dbo.EMPL E 	ON JC.LINK_EMPL = E.LINK ----AND E.DEP_LINK = dbo.GetUserDepLink()
LEFT JOIN  PAYS P ON JC.LINK_PAYS = P.LINK



GO


GRANT SELECT ON dbo.[S_J_C_Short] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RB_VIEW_ATR_TYPE_KORR]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[RB_VIEW_ATR_TYPE_KORR]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 2010

*******************************************************************************/

CREATE VIEW dbo.[RB_VIEW_ATR_TYPE_KORR]
AS
select 1 as link, 'исхд' as code
union
select 2 as link, 'доп' as code
UNION 
SELECT 3 AS link, 'отмн' AS code



GO


GRANT SELECT ON dbo.[RB_VIEW_ATR_TYPE_KORR] TO PUBLIC

GO



GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SALARY_BUH_DOCS]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SALARY_BUH_DOCS]

GO

CREATE  VIEW [dbo].SALARY_BUH_DOCS 
AS
Select G.LINK, CNT_PROV
from [dbo].SALARY_G_PROV G
	INNER JOIN dbo.USER_DATES UD ON G.[DATE] BETWEEN UD.BEGINDATE AND UD.ENDDATE
GO

GRANT SELECT ON dbo.[SALARY_BUH_DOCS] TO PUBLIC
GO


GO
--текст
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[split2]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[split2]

GO


-- rev 1.7
CREATE function dbo.split2 (@value varchar(8000),@delim varchar(8000))
returns table
as
return
(
select d.value,
       d.orders,
       ivalue = convert(int, case when isnumeric(d.value)=1 and d.value not like '%[^0-9 +-]%' and len(replace(replace(replace(d.value,' ',''),'-',''),'+',''))<=10 then case when convert(bigint,d.value) between -2147483648 and 2147483647 then d.value end end)
       
    from
        (
            select   
                    value= replace(substring(value,
                                            idx,
                                            case when cnt>=0 then cnt end 
                                         )
                                 ,char(1),'')
                    ,orders=( datalength(left(value,idx-1))-datalength(replace(left(value,idx-1),@delim,''))
                            )/datalength(@delim)
                from (
                       select n
                             ,idx
                             ,cnt = charindex(@delim,value, n + 1) - n - datalength(@delim)
                             ,value 
                          from 
                                (
                                   select n
                                         ,idx = n + datalength(@delim)
                                         ,value = (select @delim+char(1)+@value+char(1)+@delim)
                                      from dbo.[GetNums](1,1000)
                                        where n between 1 and datalength( (select @delim+char(1)+@value+char(1)+@delim) ) - datalength(@delim)
                                               
                                ) t            
                          where substring(t.value, n, datalength(@delim)) = @delim         
                     ) t             
       ) d          
)


GO


GRANT SELECT ON dbo.[split2] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[sa_EmplExpirTable]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[sa_EmplExpirTable]

GO

CREATE       FUNCTION dbo.sa_EmplExpirTable (
	@empl_link int = -1,
	@Date datetime = null, 
	@mode int=0,
	@BUFF_ID VARCHAR(20) = NULL
)  
RETURNS @R TABLE (empl_link int, expir_link int, expir_code varchar(10), years INT, months INT, days INT)
AS  
BEGIN 

	DECLARE @result int, @nyears int, @nmonths int, @ndays int, @ndate datetime, @tdate datetime, @cstr varchar(7000), @fname varchar(20)
	DECLARE @T TABLE (empl_link int, expir_link int, expir_code varchar(10), date_begin datetime, date_end datetime, koeff numeric(4,1), years numeric(5,2), months numeric(5,2), days numeric(5,2), lastday int)
	DECLARE @R_TEMP TABLE (empl_link int, expir_link int, expir_code varchar(10), years numeric(5,2), months numeric(5,2), days numeric(8,2))
	DECLARE @DIS_DATE TABLE (empl_link int, date datetime)

	insert into @DIS_DATE (empl_link, date)
	SELECT empl_link, dis_date 
	FROM dbo.item_dis_face 
	WHERE 
		(
			(@empl_link = -1 
			AND 
			(	@BUFF_ID IS NULL
				OR 
				@BUFF_ID IS NOT NULL AND EMPL_LINK IN (SELECT LINK FROM DBO.BUFFER WITH (NOLOCK) WHERE ID = @BUFF_ID)
			))
			OR
			(@empl_link > 0 AND EMPL_LINK = @empl_link)
		)
		and active=1 and dis_date<@date
	
	SELECT @tdate = WORKDATE FROM USER_INFO

	IF @mode=1
		INSERT @T
		SELECT o.empl_link, e.link, e.code, o.date_begin, case when o.date_end<@Date then o.date_end else @Date end,
			o.koef, 0, 0, 0, 0
		FROM expir e
			left join (select ok.expir_link, ok.koef, eo.date_begin, eo.date_end, eo.empl_link
					from dbo.oldwork_koef ok left join dbo.empl_oldwork eo on ok.oldwork_link=eo.link
					where ok.KOEF <> 0 AND eo.date_begin<=@Date 
					and 
						(
							(@empl_link = -1 
							AND 
							(	@BUFF_ID IS NULL
								OR 
								@BUFF_ID IS NOT NULL AND eo.empl_link IN (SELECT LINK FROM DBO.BUFFER WITH (NOLOCK) WHERE ID = @BUFF_ID)
							))
							OR
							(@empl_link > 0 AND eo.empl_link = @empl_link)
						)
					) o
			on o.expir_link=e.link

	INSERT @T
	SELECT im.empl_link, mk.expir_link, e.code, date_begin, 
		case when date_end>@Date then @Date else date_end end,
		mk.koef, 0, 0, 0, 0
	FROM dbo.KA_ONLY_MOVES im
		left join dbo.move_koef mk on mk.move_link=im.link
		left join dbo.expir e on mk.expir_link=e.link
	WHERE 
		(
			(@empl_link = -1 
			AND 
			(	@BUFF_ID IS NULL
				OR 
				@BUFF_ID IS NOT NULL AND im.empl_link IN (SELECT LINK FROM DBO.BUFFER WITH (NOLOCK) WHERE ID = @BUFF_ID)
			))
			OR
			(@empl_link > 0 AND im.empl_link = @empl_link)
		)
		and im.date_begin<=@Date --and im.active=1
		AND mk.KOEF <> 0

	UPDATE @T SET 
		years = year(date_end+1) - year(date_begin),
		months = month(date_end+1) - month(date_begin),
		days = day(date_end+1) - day(date_begin),
		lastday = 30/*datepart(day, dbo.DateBeginOfMonth(date_end+1) - 1)*/

	UPDATE @T SET years = convert(int, years), months = months + (years-convert(int, years)) * 12
	UPDATE @T SET months = convert(int, months), days = days + (months-convert(int, months)) * lastday
	UPDATE @T SET months = months - 1, days = days + lastday WHERE days<0
	UPDATE @T SET years = years - 1, months = months + 12 WHERE months<0

	IF @mode=0
		INSERT INTO @T (empl_link, expir_link, expir_code, years, months, days, koeff)
		SELECT empl_link, ee.expir_link, e.code, ee.years, ee.months, ee.days, 1
		FROM dbo.empl_expir ee LEFT JOIN dbo.expir e ON ee.expir_link=e.link
		WHERE 
			(
				(@empl_link = -1 
				AND 
				(	@BUFF_ID IS NULL
					OR 
					@BUFF_ID IS NOT NULL AND ee.empl_link IN (SELECT LINK FROM DBO.BUFFER WITH (NOLOCK) WHERE ID = @BUFF_ID)
				))
				OR
				(@empl_link > 0 AND ee.empl_link = @empl_link)
			)
			and (ee.YEARS + ee.MONTHS + ee.DAYS) <> 0

	INSERT @R_TEMP
	SELECT empl_link, expir_link, expir_code, isnull(sum(years*koeff), 0), isnull(sum(months*koeff), 0), isnull(sum(days*koeff), 0)
	FROM @T GROUP BY empl_link, expir_link, expir_code

	----Коррестировка из справочника "Дополнение к стажу"
	UPDATE A SET
		A.[YEARS] = ISNULL([YEARS],0) + ISNULL(Y,0),
		A.[MONTHS] = ISNULL([MONTHS],0) + ISNULL(M,0),
		A.[DAYS] = ISNULL([DAYS],0) + ISNULL(D,0)
	FROM
		@R_TEMP A
		LEFT JOIN (SELECT EMPL_LINK, EXPIR_LINK, Y=SUM([YEARS]), M=SUM([MONTHS]), D=SUM([DAYS]) 
					FROM dbo.EMPL_EXPIR_DOP T 
					WHERE T.EMPL_LINK = @empl_link AND T.DATE_BEGIN <=  @Date GROUP BY EMPL_LINK, EXPIR_LINK) B
			ON A.EMPL_LINK = B.EMPL_LINK AND A.EXPIR_LINK = B.EXPIR_LINK	

	----
	UPDATE @R_TEMP SET months = months + case when convert(int, years) != 0 then 12*(years - convert(int, years)) else 12*years end, years = convert(int, years)
	UPDATE @R_TEMP SET days = days + case when convert(int, months) != 0 then 30*(months - convert(int, months)) else 30*months end, months = convert(int, months)

	WHILE exists(SELECT * FROM @R_TEMP WHERE days>=30)
		UPDATE @R_TEMP SET days = days - 30, months = months + 1 WHERE days>=30

	WHILE exists(SELECT * FROM @R_TEMP WHERE months>=12)
		UPDATE @R_TEMP SET months = months - 12, years = years + 1 WHERE months>=12
	
	INSERT INTO @R
	SELECT * FROM @R_TEMP

	RETURN			
				
END



GO


GRANT SELECT ON dbo.[sa_EmplExpirTable] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[ku_EmplExpirTable]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[ku_EmplExpirTable]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE       FUNCTION dbo.ku_EmplExpirTable (
	@empl_link int,
	@Date datetime = null, 
	@mode int=0 
)  
RETURNS @R TABLE (expir_link int, expir_code varchar(10), years INT, months INT, days INT)
AS  
BEGIN 

	DECLARE @result int, @nyears int, @nmonths int, @ndays int, @ndate datetime, @tdate datetime, @cstr varchar(7000), @fname varchar(20)
	DECLARE @T TABLE (expir_link int, expir_code varchar(10), date_begin datetime, date_end datetime, koeff numeric(4,1), years numeric(5,2), months numeric(5,2), days numeric(5,2), lastday int)
	DECLARE @R_TEMP TABLE (expir_link int, expir_code varchar(10), years numeric(6,2), months numeric(6,2), days numeric(6,2))

	SELECT @date = dis_date FROM item_dis_face WHERE empl_link=@empl_link and active=1 and dis_date<@date

	SELECT @tdate = WORKDATE FROM USER_INFO
	IF @Date is null
		SELECT @Date = dbo.kd_DateBeginWork(@empl_link, @tdate)-1

	IF @mode=1
		INSERT @T
		SELECT e.link, e.code, o.date_begin, case when o.date_end<@Date then o.date_end else @Date end,
			o.koef, 0, 0, 0, 0
		FROM expir e
			left join (select ok.expir_link, ok.koef, eo.date_begin, eo.date_end, eo.empl_link
					from oldwork_koef ok left join empl_oldwork eo on ok.oldwork_link=eo.link
					where eo.date_begin<=@Date and eo.empl_link=@empl_link) o
			on o.expir_link=e.link

	INSERT @T
	SELECT mk.expir_link, e.code, date_begin, 
		case when date_end>@Date then @Date else date_end end,
		mk.koef, 0, 0, 0, 0
	FROM dbo.KA_ONLY_MOVES im
		left join dbo.move_koef mk on mk.move_link=im.link
		left join dbo.expir e on mk.expir_link=e.link
	WHERE im.empl_link=@empl_link and im.date_begin<=@Date --and im.active=1

	UPDATE @T SET 
		years = year(date_end+1) - year(date_begin),
		months = month(date_end+1) - month(date_begin),
		days = day(date_end+1) - day(date_begin),
		lastday = 30/*datepart(day, dbo.DateBeginOfMonth(date_end+1) - 1)*/
				  /*case	when month(date_begin) = 2 then 30
						else datepart(day, dbo.DateBeginOfMonth(date_end+1) - 1)
				  end*/

	UPDATE @T SET years = convert(int, years), months = months + (years-convert(int, years)) * 12
	UPDATE @T SET months = convert(int, months), days = days + (months-convert(int, months)) * lastday
	UPDATE @T SET months = months - 1, days = days + lastday WHERE days<0
	UPDATE @T SET years = years - 1, months = months + 12 WHERE months<0

	IF @mode=0
		INSERT INTO @T (expir_link, expir_code, years, months, days, koeff)
		SELECT ee.expir_link, e.code, ee.years, ee.months, ee.days, 1
		FROM empl_expir ee LEFT JOIN expir e ON ee.expir_link=e.link
		WHERE empl_link = @empl_link

	INSERT @R_TEMP
	SELECT expir_link, expir_code, isnull(sum(years*koeff), 0), isnull(sum(months*koeff), 0), isnull(sum(days*koeff), 0)
	FROM @T GROUP BY expir_link, expir_code

	----Коррестировка из справочника "Дополнение к стажу"
	UPDATE A SET
		A.[YEARS] = ISNULL([YEARS],0) + ISNULL(Y,0),
		A.[MONTHS] = ISNULL([MONTHS],0) + ISNULL(M,0),
		A.[DAYS] = ISNULL([DAYS],0) + ISNULL(D,0)
	FROM
		@R_TEMP A
		LEFT JOIN (SELECT EXPIR_LINK, Y=SUM([YEARS]), M=SUM([MONTHS]), D=SUM([DAYS]) 
					FROM dbo.EMPL_EXPIR_DOP T 
					WHERE T.EMPL_LINK = @empl_link AND T.DATE_BEGIN <=  @Date GROUP BY EXPIR_LINK) B
			ON A.EXPIR_LINK = B.EXPIR_LINK
	
	----
	UPDATE @R_TEMP SET months = months + case when convert(int, years) != 0 then 12*(years - convert(int, years)) else 12*years end, years = convert(int, years)
	UPDATE @R_TEMP SET days = days + case when convert(int, months) != 0 then 30*(months - convert(int, months)) else 30*months end, months = convert(int, months)

	WHILE exists(SELECT * FROM @R_TEMP WHERE days>=30)
		UPDATE @R_TEMP SET days = days - 30, months = months + 1 WHERE days>=30

	WHILE exists(SELECT * FROM @R_TEMP WHERE months>=12)
		UPDATE @R_TEMP SET months = months - 12, years = years + 1 WHERE months>=12
	
	INSERT INTO @R
	SELECT * FROM @R_TEMP

	RETURN			
				
END

GO


GRANT SELECT ON dbo.[ku_EmplExpirTable] TO PUBLIC

GO

SELECT * FROM dbo.ku_EmplExpirTable(3,'20160624',DEFAULT)
GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_RASH_128_2016]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_RASH_128_2016]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 02.02.2016

	справочник Автозаполняемый справочник для формы 0503128G - Расходы (сгенерировано Редактором справочников)
select * from R_SPR_RASH_128_2016
*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_RASH_128_2016]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],Code_str as [CODE_STR],max(isnull(Long_Name,Name)) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_RASH_128_2016' GROUP BY Code,Code_str, begin_date, end_date


GO


GRANT SELECT ON dbo.[R_SPR_RASH_128_2016] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PrintDocProv]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[BK_PrintDocProv]

GO

CREATE	FUNCTION dbo.BK_PrintDocProv (
	@varKSLINK_DOC	INT = NULL,
	@varKSPRN_SPRAV	TINYINT = 0
	)
--	Если @varKSPRN_SPRAV = 0, то настройки документа,
--		иначе настройки бух. справки
RETURNS @TABLE_RES TABLE
	([LINK_G]	[INT],
	[LINK_G1]	[INT],
	[LINK_G2]	[INT],
	XOZ_OPER	INT,
	[NAME_OPER]	[VARCHAR] (254),
	[SUMMA]		[NUMERIC] (28,4),
	[QTY]		[NUMERIC] (28,4),
	[ORDERS_G1]	[INT],
	[ORDERS_G2]	[INT],
	[ACCT_DB]	[INT],
	[ACCT_KT]	[INT],
	[ACCT_CD_D]	[VARCHAR] (60),
	[ACCT_CD_K]	[VARCHAR] (60),
	[SA_CODE_D]	[VARCHAR] (20),
	[SA_CODE_K]	[VARCHAR] (20)
	)
AS 
BEGIN
	DECLARE @intPrintAll TINYINT,
		@intPrintKBK TINYINT,
		@intPrintSGU TINYINT

	SELECT @intPrintAll = dbo.XK_GET_NASTR_INT ('XD_DOC_NASTR_OPTIONS_ALL_PRINT')

	-- Общая настройка на все документы -- 
	IF @intPrintAll = 1
	BEGIN
		SELECT @intPrintKBK = dbo.XK_GET_NASTR_INT ('XD_DOC_NASTR_OPTIONS_KBK_PRINT'),
			@intPrintSGU = dbo.XK_GET_NASTR_INT ('XD_DOC_NASTR_OPTIONS_SGU_PRINT')

		INSERT INTO @TABLE_RES
		SELECT
			G.LINK,
			G1.LINK,
			G2.LINK,
			G2.ECON_OPER,
			CASE 
				WHEN ISNULL (G2.[NAME], '') = '' THEN ISNULL (G1.NAME_OPER, '')
				ELSE G2.[NAME]
			END,
			G2.SUMMA,
			CASE
				WHEN SA_DB.KSU = 1 OR SA_KT.KSU = 1 THEN G2.QUANTITY
				ELSE 0
			END,
			G1.ORDERS,
			G2.ORDERS,
			GAP_DB.ACCOUNT,	
			GAP_KT.ACCOUNT,
			dbo.BK_GetAcctFullCode1 (GAP_DB.ACCOUNT, GAP_DB.KBK, GAP_DB.SGU,
				@intPrintKBK, @intPrintSGU, G.[DATE]),
			dbo.BK_GetAcctFullCode1 (GAP_KT.ACCOUNT, GAP_KT.KBK, GAP_KT.SGU,
				@intPrintKBK, @intPrintSGU, G.[DATE]),
			SA_DB.CODE,
			SA_KT.CODE
		FROM dbo.G_PROV G
		INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = G.LINK)
		INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
		LEFT OUTER JOIN dbo.G_PROV_AP GAP_DB ON (GAP_DB.LINK_UP = G2.LINK
			AND GAP_DB.DB_KR = 0)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA_DB ON (SA_DB.LINK = GAP_DB.ACCOUNT)
		LEFT OUTER JOIN dbo.G_PROV_AP GAP_KT ON (GAP_KT.LINK_UP = G2.LINK
			AND GAP_KT.DB_KR = 1)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA_KT ON (SA_KT.LINK = GAP_KT.ACCOUNT)
		WHERE @varKSLINK_DOC IS NULL
			OR G.LINK = @varKSLINK_DOC
	END
	ELSE
	BEGIN
		INSERT INTO @TABLE_RES
		SELECT G.LINK,
			G1.LINK,
			G2.LINK,
			G2.ECON_OPER,
			CASE 
				WHEN ISNULL (G2.[NAME], '') = '' THEN ISNULL (G1.NAME_OPER, '')
				ELSE G2.[NAME]
			END,
			G2.SUMMA,
			CASE
				WHEN SA_DB.KSU = 1 OR SA_KT.KSU = 1 THEN G2.QUANTITY
				ELSE 0
			END,
			G1.ORDERS,
			G2.ORDERS,
			GAP_DB.ACCOUNT,	
			GAP_KT.ACCOUNT,
			CASE 
				WHEN @varKSPRN_SPRAV = 0 OR (SO.CODE = 'DOCUMENTS_OPER' OR SO.CODE = 'DOCUMENTS_ZB_OPER')
					THEN	dbo.BK_GetAcctFullCode1 (GAP_DB.ACCOUNT, GAP_DB.KBK, GAP_DB.SGU,
								NASTR_DOC.PRINT_KBK, NASTR_DOC.PRINT_SGU, G.[DATE])
					ELSE	dbo.BK_GetAcctFullCode1 (GAP_DB.ACCOUNT, GAP_DB.KBK, GAP_DB.SGU,
								NASTR_SPR.PRINT_KBK, NASTR_SPR.PRINT_SGU, G.[DATE])
			END,
			CASE 
				WHEN @varKSPRN_SPRAV = 0 OR (SO.CODE = 'DOCUMENTS_OPER' OR SO.CODE = 'DOCUMENTS_ZB_OPER')
					THEN	dbo.BK_GetAcctFullCode1 (GAP_KT.ACCOUNT, GAP_KT.KBK, GAP_KT.SGU,
								NASTR_DOC.PRINT_KBK, NASTR_DOC.PRINT_SGU, G.[DATE])
					ELSE	dbo.BK_GetAcctFullCode1 (GAP_KT.ACCOUNT, GAP_KT.KBK, GAP_KT.SGU,
								NASTR_SPR.PRINT_KBK, NASTR_SPR.PRINT_SGU, G.[DATE])
			END,
			SA_DB.CODE,
			SA_KT.CODE
		FROM dbo.G_PROV G
		INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = G.LINK)
		INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
		LEFT OUTER JOIN dbo.G_PROV_AP GAP_DB ON (GAP_DB.LINK_UP = G2.LINK
			AND GAP_DB.DB_KR = 0)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA_DB ON (SA_DB.LINK = GAP_DB.ACCOUNT)
		LEFT OUTER JOIN dbo.G_PROV_AP GAP_KT ON (GAP_KT.LINK_UP = G2.LINK
			AND GAP_KT.DB_KR = 1)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA_KT ON (SA_KT.LINK = GAP_KT.ACCOUNT)
		INNER JOIN dbo.S_OBJECTS SO ON (SO.LINK = G.OBJECT)
		LEFT OUTER JOIN dbo.DOC_NASTR NASTR_DOC ON (NASTR_DOC.LINK = SO.LINK)
		LEFT OUTER JOIN dbo.S_OBJECTS SO_SPR ON (SO_SPR.CODE = 'DOCUMENTS_F0504833')
		LEFT OUTER JOIN dbo.DOC_NASTR NASTR_SPR ON (NASTR_SPR.LINK = SO_SPR.LINK)
		WHERE @varKSLINK_DOC IS NULL
			OR G.LINK = @varKSLINK_DOC
	END
	RETURN 
END


GO


GRANT SELECT ON dbo.[BK_PrintDocProv] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SDOC_DOT_SKIDKI_FIO]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SDOC_DOT_SKIDKI_FIO]
GO

CREATE VIEW dbo.SDOC_DOT_SKIDKI_FIO
AS
SELECT 
	LINK = LINK_UP,
	ORDERS = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	LINK_TAX,
	LINK_INC,
	CODE_INC = D.SNAME,
	S.LINK_PERS,
	FIO = LEFT(RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.',120),
	S.LINK_VKR,
	CODE_S_FIN = F.CODE,
	S.LINK_VKR2,
	S.LINK_EKR,
	CODE_EKR = G.CODE,
	S.[PERCENT],
	S.SUMMA
FROM 
	[dbo].[SDOC_DOT_SKIDKI] S
	INNER JOIN dbo.PERSON P ON P.LINK = S.LINK_PERS
	INNER JOIN dbo.DICTIONARY_TYP_INCOMS D ON D.LINK = S.LINK_INC
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = S.LINK_VKR
	INNER JOIN dbo.KOSGU G ON G.LINK = S.LINK_EKR


GO


GRANT SELECT ON dbo.[SDOC_DOT_SKIDKI_FIO] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[GetAddressPartsByKladr_SOKR]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[GetAddressPartsByKladr_SOKR]

GO
/*
© Кейсистемс (Keysystems), 2005
*/



CREATE      Function dbo.GetAddressPartsByKladr_SOKR(
	@intKladrLink int, @nREVERSE INT = 0
)
RETURNS @ADDR TABLE (
	ADDRESS VARCHAR(1000), 
	PINDEX VARCHAR(6), 
	REGION VARCHAR(254),
	REGION_N VARCHAR(254),
	REGION_SOCR VARCHAR(5),
	REGCODE VARCHAR(4),
	RAION VARCHAR(254),
	RAION_N VARCHAR(254),
	RAION_SOCR VARCHAR(5),
	GOROD VARCHAR(254),
	GOROD_N VARCHAR(254),
	GOROD_SOCR VARCHAR(5),
	NASEL VARCHAR(254),
	NASEL_N VARCHAR(254),
	NASEL_SOCR VARCHAR(5),
	STREET VARCHAR(254),
	STREET_N VARCHAR(254),
	STREET_SOCR VARCHAR(5)
)
AS
Begin
	Declare @strBegin varchar(1000),
		@strEnd   varchar(1000),
		@Name	  varchar(254),
		@CODE	  VARCHAR(20),
		@Prefix   varchar(10),
		@PIndex   varchar(6),
		@CurLink  int,

		@ADDRESS VARCHAR(1000), 
		@INDEX VARCHAR(6), 
		@REGION VARCHAR(254),
		@REGION_N VARCHAR(254),
		@REGION_SOCR  VARCHAR(5),
		@REGCODE VARCHAR(4),
		@RAION VARCHAR(254),
		@RAION_N VARCHAR(254),
		@RAION_SOCR  VARCHAR(5),
		@GOROD VARCHAR(254),
		@GOROD_N VARCHAR(254),
		@GOROD_SOCR  VARCHAR(5),
		@NASEL VARCHAR(254),
		@NASEL_N VARCHAR(254),
		@NASEL_SOCR  VARCHAR(5),
		@STREET VARCHAR(254),
		@STREET_N VARCHAR(254),
		@STREET_SOCR  VARCHAR(5)

	SELECT @ADDRESS = '', 
		@INDEX = '',
		@REGION = '',
		@REGION_N = '',
		@REGION_SOCR = '',
		@REGCODE = '',
		@RAION = '',
		@RAION_N = '',
		@RAION_SOCR = '',
		@GOROD = '',
		@GOROD_N = '',
		@GOROD_SOCR = '',
		@NASEL = '',
		@NASEL_N = '',
		@NASEL_SOCR = '',
		@STREET = '',
		@STREET_N = '',
		@STREET_SOCR = ''

	SET @strBegin = ''
	SET @strEnd   = ''


	IF exists(SELECT * FROM dictionary_kladr WHERE link=@intKladrLink)
	BEGIN
		SET @CurLink = @intKladrLink
		WHILE @intKladrLink <> 0
		BEGIN
			SELECT 
				@Name = NAME, @CODE = CODE, 
				@Prefix = SOCR, @intKladrLink = LINK_SELF, 
				@PIndex = P_Index
			FROM DICTIONARY_KLADR WHERE LINK = @intKladrLink
			IF @strBegin = ''
				SET @strBegin = isnull(RTRIM(@PIndex)+' ', '')
			IF @strEnd <> ''
				SET @strEnd = ', ' + @strEnd
			SET @strEnd = 
				CASE 
					WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
					WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name)
				END + @strEnd

			IF @INDEX = '' SET @INDEX = @PIndex
			IF LEN(@CODE) = 17 Select @STREET = rtrim(@Name)  + ' ' + RTRIM(@Prefix),
								  @STREET_N = rtrim(@Name), 
								  @STREET_SOCR = RTRIM(@Prefix)
			ELSE BEGIN
				IF @CODE LIKE '__00000000000' BEGIN
					SET @REGION = CASE
						WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
						WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name)
					END
					SET @REGION_N= rtrim(@Name)
					SET	@REGION_SOCR =  RTRIM(@Prefix)    
					SET @REGCODE = LEFT(@CODE, 2)
				END
				ELSE BEGIN
					IF @CODE LIKE '__000___00000' OR @Prefix ='г' 
						SELECT @GOROD = CASE
						WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
						WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name) END ,
						@GOROD_N = rtrim(@Name),
						@GOROD_SOCR = RTRIM(@Prefix)
					                                                           
					
					IF @CODE LIKE '_____00000000' SELECT @RAION = CASE
						WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
						WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name) 
						END,
						@RAION_N = rtrim(@Name),
						@RAION_SOCR = RTRIM(@Prefix)
					
					IF @CODE NOT LIKE '__000___00000'  AND @CODE NOT LIKE '_____00000000' AND @Prefix <>'г' AND LEN (@CODE) = 13 SELECT @NASEL = CASE
						--@CODE NOT LIKE '________00000' AND LEN (@CODE) = 13 SET @NASEL = CASE
						WHEN @nREVERSE = 0 THEN rtrim(@Name)  + ' ' + RTRIM(@Prefix) 
						WHEN @nREVERSE = 1 THEN RTRIM(@Prefix)  + ' ' + rtrim(@Name)
						END,
						@NASEL_N = rtrim(@Name),
						@NASEL_SOCR = RTRIM(@Prefix) 
						
						
					
				END
			END
		END
	END 

	SET @ADDRESS =  @strBegin + @strEnd
	INSERT INTO @ADDR
	SELECT 
		@ADDRESS , 
		@INDEX,
		@REGION ,
		@REGION_N,
		@REGION_SOCR,
		@REGCODE,
		@RAION,
		@RAION_N,
		@RAION_SOCR,
		@GOROD ,
		@GOROD_N ,
		@GOROD_SOCR,
		@NASEL ,
		@NASEL_N ,
		@NASEL_SOCR,
		@STREET,
		@STREET_N,
		@STREET_SOCR


	RETURN
End
GO


GRANT SELECT ON dbo.[GetAddressPartsByKladr_SOKR] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[next_work_day]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[next_work_day]

GO

CREATE FUNCTION dbo.next_work_day(@date datetime) 
returns datetime
AS BEGIN

DECLARE @RES datetime

SET @RES = 
(
SELECT MIN(P.DATE)
FROM 
	dbo.days_ex(@date, dateadd(m,1,@date)) P
WHERE
	NOT
	(
		EXISTS (SELECT * FROM dbo.HOLIDAYS H WHERE H.TYPE_HOL IN (1,3) AND dbo.ConvertDMY2Date(H.DAY,H.MONTH,H.year) = P.DATE)
		OR
		DATEPART(weekday, P.DATE) IN (7,1)
		AND NOT EXISTS (SELECT * FROM dbo.HOLIDAYS H WHERE H.TYPE_HOL = 2 AND dbo.ConvertDMY2Date(H.DAY,H.MONTH,H.year) = P.DATE)
	)
	AND
	P.DATE > @date	
)

RETURN @RES

END

GO


GRANT EXECUTE ON dbo.[next_work_day] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[REPORT_FORM14_RAZD_NAME]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[REPORT_FORM14_RAZD_NAME]

GO








/*******************************************************************************
  © Кейсистемс (Keysystems), 2006

******************************************************************************


*/
CREATE       VIEW dbo.REPORT_FORM14_RAZD_NAME
AS
SELECT link, code as shifr, 0 AS Razd_link, left(code_str,4) AS Razd_Code, '' as Razd_Name, 
		0 AS Cel_st_link, substring(code_str, 5,10) as Cel_st_Code, '' as Cel_st_Name,
       0 AS VR_Link, substring(code_str,15,3) AS VR_Code,'' AS VR_Name,
        ISNULL(link_self, 0) as link_self,
       CASE WHEN EXISTS
                   (SELECT *
                    FROM   dbo.r_spr_kbk_0503074
                    WHERE link_self = r.link) THEN CONVERT(bit, 0) ELSE CONVERT(bit, 1) END AS childrens, 0 AS imageindex, 0 AS checked,
		left(code_str,4) + ' ' + substring(code_str,5,10) + ' ' + substring(code_str,15,3) + ' ' + code + ' ' + name as name, name as name_str,
      begin_date, end_date
FROM [dbo].[RO_KBK_HIST_VIEW] R
where code_form = 'r_spr_kbk_0503074'







GO


GRANT SELECT ON dbo.[REPORT_FORM14_RAZD_NAME] TO PUBLIC

GO




GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[is_it_work_day]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[is_it_work_day]

GO
--- ЕСЛИ насоящая дата , это рабочий день , то она вернет эту дату, иначе вернет следующую рабочую дату
--- Функция не прибавляет +1 день к настоящей дате (с учетом выходных и праздничных) 
CREATE FUNCTION dbo.is_it_work_day(@date datetime) 
returns datetime
AS BEGIN

DECLARE @RES datetime

SET @RES = 
(
SELECT MIN(P.DATE)
FROM 
	dbo.days_ex(@date, dateadd(m,1,@date)) P
WHERE
	NOT
	(
		EXISTS (SELECT * FROM dbo.HOLIDAYS H WHERE H.TYPE_HOL IN (1,3) AND dbo.ConvertDMY2Date(H.DAY,H.MONTH,H.year) = P.DATE)
		OR
		DATEPART(weekday, P.DATE) IN (7,1)
		AND NOT EXISTS (SELECT * FROM dbo.HOLIDAYS H WHERE H.TYPE_HOL = 2 AND dbo.ConvertDMY2Date(H.DAY,H.MONTH,H.year) = P.DATE)
	)
	AND
	P.DATE >= @date	
)

RETURN @RES

END


GO


GRANT EXECUTE ON dbo.[is_it_work_day] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SysScriptTableUnload]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[SysScriptTableUnload]

GO

CREATE FUNCTION dbo.SysScriptTableUnload(@Objectid int, @FIELDS VARCHAR(254)=NULL)
RETURNS varchar(8000)
AS
BEGIN

SET @FIELDS = ','+@FIELDS+','

declare @Name sysname, @Type sysname,
	@desc int,
	@Instext varchar(8000),
	@Instext2 varchar(8000),
	@Restext varchar(8000),
	@columns varchar(8000),
	@WhereText varchar(8000)
declare fields cursor local fast_forward for
	select sc.name, st.name
	from dbo.syscolumns sc
		inner join systypes st on st.xtype = sc.xtype and st.usertype = sc.usertype
	where sc.id = @Objectid
		AND COLUMNPROPERTY(sc.id, sc.name, 'isComputed') = 0
		AND COLUMNPROPERTY(sc.id, sc.name, 'IsIdentity') = 0
		AND st.name NOT IN ('binary', 'varbinary','uniqueidentifier','timestamp','image')
	order by sc.colid

Select @columns = '', @Instext = '', @WhereText = ''
open fields
fetch next from fields into @Name, @Type
WHILE @@FETCH_STATUS = 0
BEGIN
	IF @columns <> ''
	BEGIN
		SET @columns = @columns + ', '
		SET @Instext = @Instext + '+'', '''
	END
	SET @Instext2 = CASE
	WHEN @Type IN ('varchar', 'char', 'nvarchar', 'nchar', 'text')
		THEN '+COALESCE('''''''' + RTRIM(REPLACE('+QUOTENAME(@Name)+','''''''','''''''''''')) + '''''''',''NULL'')'
	WHEN @Type IN ('datetime', 'smalldatetime')
		THEN '+COALESCE(''convert(datetime,''''''+convert(varchar(23),'+QUOTENAME(@Name)+', 121)+'''''', 121)'', ''NULL'')'
	WHEN @Type IN ('decimal', 'numeric', 'money', 'smallmoney', 'float', 'real', 'int', 'smallint', 'tinyint', 'bigint', 'bit')
		THEN '+COALESCE(LTRIM(convert(varchar(100), '+QUOTENAME(@Name)+')),''NULL'')'
	WHEN @Type IN ('binary', 'varbinary','uniqueidentifier')
		THEN '+COALESCE(''convert(varbinary, convert(uniqueidentifier,''''''+LTRIM(convert(varchar(8000), convert(uniqueidentifier, '+QUOTENAME(@Name)+')))+''''''))'',''NULL'')'
	--'image'
	ELSE '+''"'+@Type + '" не поддерживается?'+ '''' 
	END

	SET @Instext = @Instext + @Instext2
	Set @columns = @columns + QUOTENAME(@Name)

	IF LTRIM(RTRIM(ISNULL(@FIELDS,''))) = '' OR LTRIM(RTRIM(ISNULL(@FIELDS,''))) <> '' AND EXISTS (SELECT * FROM dbo.SPLIT2(@FIELDS,',') C WHERE @Name LIKE replace(replace(replace(replace(replace(replace(c.value,char(10),''),char(13),''),' ',''),'_','[_]'),'[',''),']','') )
		SET @WhereText = @WhereText + ' AND ' + QUOTENAME(@Name) + '=''+' + SUBSTRING(@Instext2,2,8000) + '+'''
	
	fetch next from fields into @Name, @Type
END

SET @WhereText = SUBSTRING(@WhereText,6,8000)

SET @Restext = 'SELECT ''IF NOT EXISTS (SELECT * FROM dbo.'+QUOTENAME(OBJECT_NAME(@Objectid))+' WHERE ' + ISNULL(@WhereText,'') + ') 
INSERT INTO dbo.'+QUOTENAME(OBJECT_NAME(@Objectid))+'('+@columns+')' + '''+char(13)+char(10)+'
	+char(13)+'''VALUES (''' + @Instext + ' +'')''+char(13)+char(10)+''GO'''
	+char(13)+'FROM dbo.'+QUOTENAME(OBJECT_NAME(@Objectid))
RETURN @Restext
END




GO


GRANT EXECUTE ON dbo.[SysScriptTableUnload] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[DICTIONARY_DEPARTMENT]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[DICTIONARY_DEPARTMENT]

GO

CREATE VIEW dbo.DICTIONARY_DEPARTMENT

AS
SELECT 
    [LINK]    = D.LINK,
    [CODE]    = CONVERT(VARCHAR(10),D.CODE),
    [NAME]    = D.NAME,
    [FULL_NAME] = D.FULL_NAME,
    [F_NAME_CHAR] = CONVERT(VARCHAR(254),D.FULL_NAME),
    [INN]   = COALESCE (PERS.INN, D.INN),
    [INN_DOP] = D.INN_DOP,
    [INN_LONG]  = RTRIM(COALESCE (PERS.INN, D.INN)) + CASE WHEN D.INN_DOP = '' THEN '' ELSE '/' + D.INN_DOP END,
    [KPP]   = D.KPP,
    [OKPO]    = D.OKPO,
    [TYPE]    = D.TYPE,
    [TYPE_NAME] = (SELECT NAME FROM dbo.DICTIONARY_DEPARTMENT_TYPE WHERE NUMBER = D.TYPE),
    [ZB]    =   D.ZB,
    [REF_LINK_A]  = CASE
            WHEN D.TYPE = 3 THEN PERS.ADR_OFIC_LINK
            ELSE D.KLADR_LINK
          END,
    [VED_LINK]  = D.VED_LINK,
    [VED]   = CONVERT(VARCHAR(3), DIC1.CODE),
    [VED_NAME]  = CONVERT(VARCHAR(254), DIC1.NAME),
    [VED_BUDG]  = DIC1.LINK_BUDG,
    [HOUSE]   = CASE
            WHEN D.TYPE = 3 THEN PERS.HOUSE_OFIC
            ELSE D.HOUSE
          END,
    [CORP]   = CASE
            WHEN D.[TYPE] = 3 THEN PERS.CORP_OFIC
            ELSE D.CORP
          END,          
    [FLAT]    = CASE
            WHEN D.TYPE = 3 THEN PERS.FLAT_OFIC
            ELSE D.FLAT
          END,
    [MAIN_LINK] = D.MAIN_LINK,
    [REGCODE] = D.REGCODE,
    [OKATO]   = D.OKATO,
    [OKTMO]   = D.OKTMO,
    [KCH]	  = D.KCH,
    [FIN_CODE]  = D.FIN_CODE,
    [TOFK_LINK] = D.TOFK_LINK,
    [TOFK]    = T.CODE,
    [TOFK_NAME] = T.NAME,
    [FO_LINK] = D.FO_LINK,
    [FO_CODE] = CONVERT(VARCHAR(10),FO.CODE),
    [FO_NAME] = FO.NAME,
    [UCHR_LINK] = D.UCHR_LINK,
    [UCHR_CODE] = CONVERT(VARCHAR(10),UCHR.CODE),
    [UCHR_NAME] = UCHR.NAME,
    [N_ACC_LINK] = D.N_ACC_LINK,
    [N_ACC_CODE] = NA.CODE,
    [N_ACC_NAME] = NA.ANAME,
--    [PFNUMBER]  = D.PFNUMBER,
    [PFNUMBER]  = COALESCE (PERS.INSUR_NUM, D.PFNUMBER),
    [BUDG]    = D.BUDG,
    [BRON]    = D.BRON,
    [PREFIX]  = D.PREFIX,
    [SONO_LINK] = D.LINK,
    [NALTYPE] = (SELECT MAX(FIN_IS_RBS) FROM WORKMODE),
    [NALOG]   = CONVERT(VARCHAR(10), D.CODE) ,
    [NALOG_NAME]  = CONVERT(VARCHAR(254), D.NAME),
    [OGRN]    = D.OGRN,
    [IMNS_LINK] = D.IMNS_LINK,
    [IMNS]    = CONVERT(VARCHAR(10),DD2.CODE),
    [IMNS_NAME] = DD2.NAME,
    [HIGH_LINK] = D.HIGH_LINK,
    [HIGH_CODE] = CONVERT(VARCHAR(10),(SELECT CODE FROM dbo.DEPARTMENTS WHERE LINK = D.HIGH_LINK)),
    [HIGH_NAME] = (SELECT NAME FROM dbo.DEPARTMENTS WHERE LINK = D.HIGH_LINK),
    [LIMIT]   = 0,
    [ORD_HEAD]  =   D.ORD_HEAD,
    [SBK_REGNUM]  = D.SBK_REGNUM,
    [SBK_DOCNUM]  =   D.SBK_DOCNUM,
    [SBK_DOCDATE]   =   D.SBK_DOCDATE,
    [SBK_LINK]  = D.SBK_LINK,
    [SBK_CODE]  =   CONVERT(VARCHAR(10), DD.CODE),
    [SBK_NAME]  = DD.NAME,
    [DEP_GROUPS]  =   dbo.xd_DepGroups(D.LINK),
    [PERS_LINK] = isnull(D.PERS_LINK,0),
    [PERS_FIO]  = CONVERT (VARCHAR (100), dbo.ku_GetPersFIO (PERS.LINK)),
    [IS_RBS]  =   D.IS_RBS,
    [DEP_TYPE2] =   D.DEP_TYPE2,
    [DEP_TYPE2_NAME]=   case D.DEP_TYPE2 when 1 then 'Малое предприятие'
               when 2 then 'Учреждение УИС'
               when 3 then 'Организация инвалидов'
               else 'Прочие' end,
	[OKVED]	= ISNULL (D.OKVED, ''),
	[EGRUL]	= ISNULL (D.EGRUL, ''),
	[IORUK_TASK] = ISNULL(D.IORUK_TASK,'00000'),
	D.FSS_REG_NUM, --Регистрационный номер (код) страхователя - регистрационный номер, указанный в Извещении (Уведомлении) страхователя, которое выдается при регистрации (учете) в территориальном органе Фонда.
	D.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	D.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	D.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	D.OKFS ,--- код Общероссийского классификатора форм собственности;
	D.CODE_UBP,
	D.TFOMS_REG_NUM, --Регистрационный номер в ТФОМС,
	D.TFOMS_KT, --Код тарифа для РСВ-1 ПФ
	D.EMail,
	DBT.BUH_TYPE AS BUH_TYPE,
	DBT.BT_NAME AS NM_BUHTYPE,
	D.FSS_KP_P1, FSS_KP_PC1 = P1.CODE,
	D.FSS_KP_P2, FSS_KP_PC2 = P2.CODE,
	D.FSS_KP_P3, FSS_KP_PC3 = P3.CODE,
	D.ISUSED,
	ISUSED_COM = CASE D.ISUSED WHEN 1 THEN CONVERT (VARCHAR (3), 'Да') ELSE CONVERT (VARCHAR (3), 'Нет') END,
	CONVERT (VARCHAR (40), D.PHONE) AS PHONE,
	D.SVOD_CODE

FROM dbo.DEPARTMENTS D
LEFT OUTER JOIN dbo.TREASURY T ON D.TOFK_LINK = T.LINK
LEFT OUTER JOIN DEPARTMENTS DD ON D.SBK_LINK = DD.LINK
LEFT OUTER JOIN DEPARTMENTS DD2 ON DD2.LINK = D.IMNS_LINK
LEFT OUTER JOIN KL_ADMIN_BS  DIC1 ON DIC1.LINK = D.VED_LINK 
LEFT OUTER JOIN PERSON PERS ON (PERS.LINK = D.PERS_LINK)
LEFT OUTER JOIN DEPARTMENTS FO ON D.FO_LINK = FO.LINK
LEFT OUTER JOIN DEPARTMENTS UCHR ON D.UCHR_LINK = UCHR.LINK
LEFT OUTER JOIN dbo.DICTIONARY_ACCOUNTS NA ON D.N_ACC_LINK = NA.LINK
LEFT JOIN dbo.DICTIONARY_BUH_TYPE DBT ON (DBT.BUH_TYPE = D.BUH_TYPE)
LEFT JOIN dbo.[SA_4FSS_KATEG_PLAT_P1] P1 ON P1.LINK = D.FSS_KP_P1
LEFT JOIN dbo.[SA_4FSS_KATEG_PLAT_P2] P2 ON P2.LINK = D.FSS_KP_P2
LEFT JOIN dbo.[SA_4FSS_KATEG_PLAT_P3] P3 ON P3.LINK = D.FSS_KP_P3



GO


GRANT SELECT ON dbo.[DICTIONARY_DEPARTMENT] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[sa_ssch_empls_4fss]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[sa_ssch_empls_4fss]

GO
CREATE FUNCTION dbo.sa_ssch_empls_4fss(
	@BDate datetime,
	@EDate	datetime,
	@DEP_LINK int = NULL,
	@sex tinyint = 0, -- 0 все, 1 - только мужчины, 2 - только женщины
	@status tinyint = 1, --0 - основные и внешние совместители, 1- только основные, 3 - только внешние совместители
	@invalid tinyint = 0, -- 0 все, 1 только инвалиды, 2 - только на работе с вредными факторами
	@BUFFER_SUBDIV VARCHAR(20) = NULL --Код буффера, для отбора подразделений	
	)
/*определение среднесписочной численности*/
RETURNS numeric(18,2)
AS  
BEGIN 
	DECLARE @Res numeric(18,2) 

	SET @DEP_LINK = COALESCE(@DEP_LINK,(SELECT TOP 1 DEP_LINK FROM dbo.USER_DEP))
	
	DECLARE @INV TABLE (DATE DATETIME, PERS_LINK INT)

	IF @invalid = 0 
		Set @Res = --Все
		Coalesce(Round((
			SELECT (SUM(SSCH)/COUNT(SSCH))
			FROM
				(
					Select SSCH = sum(cnt_empl) / DAY(dbo.DATEENDOFMONTH(dbo.ConvertDMY2Date(1,M,Y)))
					from
					(	
						Select cnt_empl = sum( CONVERT(NUMERIC(18,2),ssch) ), Y = YEAR(DATE), M = MONTH(DATE)
						FROM 
							dbo.empl e
							inner join dbo.person p on p.link = e.pers_link					
							inner join (select * from dbo.ku_EmplsInPeriod0(@BDate,@EDate, @DEP_LINK, 0, 0) group by date, empl_link,status, sch,ssch,comment) s on  e.link = s.empl_link                                  
							INNER JOIN dbo.SA_EMPLS_INFO_PERIOD(@BDate,@EDate, DEFAULT, @DEP_LINK) EI ON S.EMPL_LINK = EI.EMPL_LINK AND S.[DATE] BETWEEN EI.PERIOD_BEG AND EI.PERIOD_END
						where
							(@sex = 0 or (@sex <> 0 and sex = @sex))
							and
							((@status = 0 and S.[status] <> 2) or (@status in (1,3) and S.[status] = @status))
							and
							e.dep_link = @DEP_LINK
							AND
							(
								@BUFFER_SUBDIV IS NULL
								OR 
								@BUFFER_SUBDIV IS NOT NULL AND EI.SUBDIV_LINK IN (SELECT B.LINK FROM dbo.BUFFER B WHERE B.ID = @BUFFER_SUBDIV)
							)
							-- для 4ФСС в среднесписочную численность женщины в декрете не включаются
							AND EI.EMPL_LINK not IN (SELECT link_empl FROM dbo.sdoc_dis sd WHERE ((case when sd.DATE1 < @BDate THEN @BDate ELSE sd.DATE1 end  )  between @BDate AND @EDate)
																						AND ((case when sd.DATE2 > @BDate THEN @BDate ELSE sd.DATE2 end )  between @BDate AND @EDate)
																						 AND sd.[TYPE]  in (select LINK from dbo.NETRUD where DEKRET = 1)
													 )
						group by
							s.date
					) as A
					GROUP BY Y, M
				) AS B
		),2),0)

	IF @invalid = 1 
		Set @Res = --считаем только инвалидов 
		Coalesce(Round((
			SELECT (SUM(SSCH)/COUNT(SSCH))
			FROM
				(
					Select SSCH = sum(cnt_empl) / DAY(dbo.DATEENDOFMONTH(dbo.ConvertDMY2Date(1,M,Y)))
					from
					(	
						Select cnt_empl = sum( CONVERT(NUMERIC(18,2),ssch) ), Y = YEAR(DATE), M = MONTH(DATE)
						FROM 
							dbo.pers_invalid I
							inner join dbo.person p on I.pers_link = P.link
							inner join dbo.empl e on p.link = e.pers_link
							inner join dbo.ku_EmplsInPeriod0(@BDate,@EDate, @DEP_LINK, 0, 0) s on e.link = s.empl_link and s.[date] between I.DATE_BEGIN AND ISNULL(I.DATE_END,@EDate)
							INNER JOIN dbo.SA_EMPLS_INFO_PERIOD(@BDate,@EDate, DEFAULT, @DEP_LINK) EI ON S.EMPL_LINK = EI.EMPL_LINK AND S.DATE BETWEEN EI.PERIOD_BEG AND EI.PERIOD_END
						where
							(@sex = 0 or (@sex <> 0 and sex = @sex))
							and
							((@status = 0 and S.[status] <> 2) or (@status in (1,3) and S.[status] = @status))
							and
							e.dep_link = @DEP_LINK
							and
							I.DATE_BEGIN <= @EDate
							and isnull(I.DATE_END, @EDate) >= @BDate
							AND
							(
								@BUFFER_SUBDIV IS NULL
								OR 
								@BUFFER_SUBDIV IS NOT NULL AND EI.SUBDIV_LINK IN (SELECT B.LINK FROM dbo.BUFFER B WHERE B.ID = @BUFFER_SUBDIV)
							)
							-- для 4ФСС в среднесписочную численность женщины в декрете не включаются
							AND EI.EMPL_LINK not IN (SELECT link_empl FROM dbo.sdoc_dis sd WHERE ((case when sd.DATE1 < @BDate THEN @BDate ELSE sd.DATE1 end  )  between @BDate AND @EDate)
																						AND ((case when sd.DATE2 > @BDate THEN @BDate ELSE sd.DATE2 end )  between @BDate AND @EDate)
																						 AND sd.[TYPE]  in (select LINK from dbo.NETRUD where DEKRET = 1)
													 )				
						group by
							s.date
					) as A
					GROUP BY Y, M
				) AS B			
		),2),0)

	IF @invalid = 2 -- сотрудники с вредными факторами
	BEGIN
		DECLARE @FAKTOR TABLE (LINK INT)

		INSERT INTO @FAKTOR (LINK)
		SELECT DISTINCT EMPL_LINK
		FROM 
			dbo.STAFF_HEAD H
			INNER JOIN dbo.STAFF S ON S.LINK_UP = H.LINK
			INNER JOIN dbo.sa_item_move im ON H.LINK = IM.STAFF_LINK
		where
			H.DEP_LINK = @DEP_LINK
			AND
			(ISNULL(TERR_USL_TRUD,0) <> 0 OR ISNULL(TERR_RK,0) <> 0 OR ISNULL(OSOB_USL_TRUD,0) <> 0 OR ISNULL(COD_POS_SPISOK,0) <> 0 OR ISNULL(COD_POS_SPISOK2,0) <> 0 OR ISNULL(USL_DOSROCH_PENS,0) <> 0 OR ISNULL(STAVKA_PED_MED,0) <> 0)
			AND
			im.DATE_BEGIN <= @EDate and im.DATE_END3 >= @BDate
			and 
			S.DATE_BEGIN <= @EDate and S.DATE_END >= @BDate
	
		Set @Res = --только на работе с вредными факторами
		Coalesce(Round((
			SELECT (SUM(SSCH)/COUNT(SSCH))
			FROM
				(
					Select SSCH = sum(cnt_empl) / DAY(dbo.DATEENDOFMONTH(dbo.ConvertDMY2Date(1,M,Y)))
					from
					(	
						Select cnt_empl = sum( CONVERT(NUMERIC(18,2),ssch) ), Y = YEAR(DATE), M = MONTH(DATE)
						FROM 
							@FAKTOR F 	
							inner join dbo.empl e on F.LINK = e.LINK
							INNER JOIN dbo.PERSON P ON P.LINK = E.PERS_LINK
							inner join dbo.ku_EmplsInPeriod0(@BDate,@EDate, @DEP_LINK, 0, 0) s on e.link = s.empl_link
							INNER JOIN dbo.SA_EMPLS_INFO_PERIOD(@BDate,@EDate, DEFAULT, @DEP_LINK) EI ON S.EMPL_LINK = EI.EMPL_LINK AND S.DATE BETWEEN EI.PERIOD_BEG AND EI.PERIOD_END
						where
							(@sex = 0 or (@sex <> 0 and sex = @sex))
							and
							((@status = 0 and S.[status] <> 2) or (@status in (1,3) and S.[status] = @status))
							and
							e.dep_link = @DEP_LINK
							AND
							(
								@BUFFER_SUBDIV IS NULL
								OR 
								@BUFFER_SUBDIV IS NOT NULL AND EI.SUBDIV_LINK IN (SELECT B.LINK FROM dbo.BUFFER B WHERE B.ID = @BUFFER_SUBDIV)
							)	
							-- для 4ФСС в среднесписочную численность женщины в декрете не включаются
							AND EI.EMPL_LINK not IN (SELECT link_empl FROM dbo.sdoc_dis sd WHERE ((case when sd.DATE1 < @BDate THEN @BDate ELSE sd.DATE1 end  )  between @BDate AND @EDate)
																						AND ((case when sd.DATE2 > @BDate THEN @BDate ELSE sd.DATE2 end )  between @BDate AND @EDate)
																						AND sd.[TYPE]  in (select LINK from dbo.NETRUD where DEKRET = 1)
													 )			
						group by
							s.date
					) as A
					GROUP BY Y, M
				) AS B			
		),2),0)
	END					

	RETURN @Res
END





GO


GRANT EXECUTE ON dbo.[sa_ssch_empls_4fss] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_FORM14_2015]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[RO_FORM14_2015]

GO


/*
c Кейсистемс (Keysystems), 2005
*/

CREATE             FUNCTION dbo.RO_FORM14_2015 (@varKSiLSF int, @varKScShifr varchar(50) = NULL,
  @varKSNotPrintNull bit = 0 -- если 0, то пустые не выводить
)

RETURNS @t_Form14 TABLE 
  (Shifr varchar(10), 
  KBK varchar(50), 
  [Table] char(2), 
  Kods varchar(50), 
  Name varchar(254), 
  GR3 numeric(20,2), 
  GR3_Name varchar(254), 
  GR3_Formula varchar(254), 
  GR4 numeric(20,2), 
  GR4_Name varchar(254), 
  GR4_Formula varchar(254), 
  GR5 numeric(20,2), 
  GR5_Name varchar(254), 
  GR5_Formula varchar(254)/*, 
  GR6 numeric(20,2), 
  GR6_Name varchar(254), 
  GR6_Formula varchar(254), 
  GR7 numeric(20,2), 
  GR7_Name varchar(254), 
  GR7_Formula varchar(254), 
  GR8 numeric(20,2), 
  GR8_Name varchar(254), 
  GR8_Formula varchar(254), 
  GR9 numeric(20,2), 
  GR9_Name varchar(254), 
  GR9_Formula varchar(254)*/, 
  Table_Name tinyint default(0),
  Link_Table int,
  GR3_LEN int,
  GR4_LEN int,
  GR5_LEN INT/*,
  GR6_LEN int,
  GR7_LEN int,
  GR8_LEN int,
  GR9_LEN INT*/)
AS
BEGIN
declare @LinkForm int
declare @t_NameCode table (Code varchar(50), Name varchar(250), TableOrder tinyint, q1 int default(0), Link_Table int,gr3_len int,gr4_len int,gr5_len INT/*,gr6_len int,gr7_len int,gr8_len int,gr9_len int*/)



/*Oleg-----------------------------------------*/
  declare @ord3 table (Name varchar(250),Link_Col int,Link_Table int)
  insert @ord3 (Name,Link_Col,Link_Table) select Name,Link_Col,Link_Table from report_coloumns where orders = 3

  declare @ord4 table (Name varchar(250),Link_Col int,Link_Table int)
  insert @ord4 (Name,Link_Col,Link_Table) select Name,Link_Col,Link_Table from report_coloumns where orders = 4

  declare @ord5 table (Name varchar(250),Link_Col int,Link_Table int)
  insert @ord5 (Name,Link_Col,Link_Table) select Name,Link_Col,Link_Table from report_coloumns where orders = 5

  /*declare @ord6 table (Name varchar(250),Link_Col int,Link_Table int)
  insert @ord6 (Name,Link_Col,Link_Table) select Name,Link_Col,Link_Table from report_coloumns where orders = 6

  declare @ord7 table (Name varchar(250),Link_Col int,Link_Table int)
  insert @ord7 (Name,Link_Col,Link_Table) select Name,Link_Col,Link_Table from report_coloumns where orders = 7

  declare @ord8 table (Name varchar(250),Link_Col int,Link_Table int)
  insert @ord8 (Name,Link_Col,Link_Table) select Name,Link_Col,Link_Table from report_coloumns where orders = 8  

  declare @ord9 table (Name varchar(250),Link_Col int,Link_Table int)
  insert @ord9 (Name,Link_Col,Link_Table) select Name,Link_Col,Link_Table from report_coloumns where orders = 9 
 */ 
  declare @rt table (Orders tinyint,Link_Form int,Link_Table int,gr3_len int,gr4_len int,gr5_len INT/*,gr6_len int,gr7_len int,gr8_len int,gr9_len int*/)
/*Oleg-----------------------------------------*/

if @varKSiLSF > 0
begin
	
   DECLARE @Date DATETIME 
  declare @t_Data table (Link_Col int, Shifr varchar(10), Kods varchar(10), Float_Val Numeric(20,4))
  insert @t_Data
    select Link_Col, LEFT(Code_Row, CHARINDEX('#', Code_Row) - 1), 
      RIGHT(Code_Row, LEN(Code_Row) - CHARINDEX('#', Code_Row)),
      Float_Val
    from report_dinamics_all
    where Link_SF = @varKSiLSF and CHARINDEX('#', Code_Row) > 0 and (@varKScShifr is NULL or (@varKScShifr is not NULL and LEFT(Code_Row, CHARINDEX('#', Code_Row) - 1) = @varKScShifr)) and abs(Float_Val) > 0.0001

  select @LinkForm = Link_Form, @Date = begin_date from report_saved_forms where link_saved_form = @varKSiLSF


   DELETE @t_Data
   WHERE shifr NOT IN (SELECT [Shifr] 
                       FROM  dbo.REPORT_FORM14_RAZD_NAME 
                       WHERE (begin_date is NULL or begin_date <= @Date) 
                              and (end_date is NULL or end_date >= @Date ))


  insert @rt (Orders,Link_Form,Link_Table,gr3_len,gr4_len,gr5_len/*,gr6_len,gr7_len,gr8_len,gr9_len*/) 
select rt.Orders,rt.Link_Form,rt.Link_Table,
  isnull(RC1.val_len,0) gr3_len, 
  isnull(RC2.val_len,0) gr4_len,
  isnull(RC3.val_len,0) gr5_len/*,
  isnull(RC4.val_len,0) gr6_len,
  isnull(RC5.val_len,0) gr7_len,
  isnull(RC6.val_len,0) gr8_len,
  isnull(RC7.val_len,0) gr9_len */ 
   from report_tables rt 
		left join report_coloumns RC1 on RC1.link_table=rt.link_table and RC1.orders=3
		left join report_coloumns RC2 on RC2.link_table=rt.link_table and RC2.orders=4
		left join report_coloumns RC3 on RC3.link_table=rt.link_table and RC3.orders=5
		/*left join report_coloumns RC4 on RC4.link_table=rt.link_table and RC4.orders=6
		left join report_coloumns RC5 on RC5.link_table=rt.link_table and RC5.orders=7
		left join report_coloumns RC6 on RC6.link_table=rt.link_table and RC6.orders=8
		left join report_coloumns RC7 on RC7.link_table=rt.link_table and RC7.orders=9*/
	where rt.Link_Form = @LinkForm



	declare @t_formula table (formula varchar(250), Link_Col int, Link_Row int, Code varchar(50), Link_Table int, orders int)
	insert @t_formula
	select convert(varchar(250),RF.formula), RF.Link_Col, RF.Link_Row, RR.Code, RR.Link_Table, RR.orders
	from @rt RT inner join i_report_rows RR on RR.Link_Table = RT.Link_Table
		join report_formula RF on RF.link_row = RR.link_row
		
	--where Link_Table in (select Link_Table from report_tables where Link_Form = @LinkForm)

  insert @t_NameCode (Name, Code, TableOrder, Link_Table,gr3_len,gr4_len,gr5_len/*,gr6_len,gr7_len,gr8_len,gr9_len*/)
    select RF.formula as Name,
      Code, RT.Orders, RT.Link_Table,rt.gr3_len,rt.gr4_len,rt.gr5_len/*,rt.gr6_len,rt.gr7_len,rt.gr8_len,rt.gr9_len*/
    from @rt RT
		join report_coloumns RC on RT.Link_Table = RC.Link_Table and RC.orders = 1   AND rt.orders NOT IN (5,6)
		join @t_formula RF  on RC.Link_Col = RF.Link_Col
    order by RT.Orders, RF.Orders


  insert @t_Form14 (Shifr, [Table], Kods, Link_Table,gr3_len,gr4_len,gr5_len/*,gr6_len,gr7_len,gr8_len,gr9_len*/)
    select  
      [Shifr] = RD.Shifr,
      [Table] = '0' + LTRIM(STR(C.TableOrder)),
      [Kods] = RD.Kods,
      C.Link_Table,
      [GR3_LEN]=C.GR3_LEN,
      [GR4_LEN]=C.GR4_LEN,
      [GR5_LEN]=C.GR5_LEN/*,
      [GR6_LEN]=C.GR6_LEN,
      [GR7_LEN]=C.GR7_LEN,
      [GR8_LEN]=C.GR8_LEN,
      [GR9_LEN]=C.GR9_LEN*/
    from  (select distinct Shifr, Kods from @t_Data) RD
      inner join @t_NameCode C on RD.Kods = C.Code

  if @varKScShifr is not NULL
  begin
    delete @t_form14
    where Shifr <> @varKScShifr
  END
  
  if @varKSNotPrintNull = 1 -- выводить пустые
  begin

	insert @t_Form14 (Shifr, [Table], Kods, Link_Table,gr3_len,gr4_len,gr5_len/*,gr6_len,gr7_len,gr8_len,gr9_len*/)
      select 
        [Shifr] = I.Shifr, 
        [Table] = '0' + RTRIM(LTRIM(STR(NC.TableOrder))),
        [Kods] = NC.Code,
        NC.Link_Table,
        [GR3_LEN]=NC.GR3_LEN,
        [GR4_LEN]=NC.GR4_LEN,
        [GR5_LEN]=NC.GR5_LEN/*,
        [GR6_LEN]=NC.GR6_LEN,
        [GR7_LEN]=NC.GR7_LEN,
        [GR8_LEN]=NC.GR8_LEN,
        [GR9_LEN]=NC.GR9_LEN*/
      from  (select distinct shifr from @t_Form14) I, @t_NameCode NC
      where not exists(select * from @t_Form14 I1 where I.shifr = I1.shifr and I1.Kods = NC.Code)



    if not exists(select * from @t_Form14) --and @varKScShifr is NULL
    begin
      set @varKSiLSF = -@LinkForm
      delete @t_NameCode
    end
  end
	
  update @t_Form14
      set
        GR3 = isnull(RD.float_val, 0),
        GR3_Name = RC.Name,
        GR3_Formula = formula--(select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RC.Link_Table))
      from  @ord3 RC
        inner merge join @t_Form14 I on (RC.Link_Table = I.Link_Table)
        left merge join @t_Data RD on (RD.Link_Col = RC.Link_Col and I.Shifr = RD.Shifr and I.Kods = RD.Kods)
		left join @t_formula F on F.Link_Col = RC.Link_Col and  F.Code = I.Kods and F.Link_Table = RC.Link_Table
  
  
  
  update @t_Form14
      set
        GR4 = RD.float_val,
        GR4_Name = RC.Name,
        GR4_Formula = formula--(select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RC.Link_Table))
      from @ord4 RC
        inner merge join @t_Form14 I on (RC.Link_Table = I.Link_Table)
        left merge join @t_Data RD on (RD.Link_Col = RC.Link_Col and I.Shifr = RD.Shifr and I.Kods = RD.Kods)
		left join @t_formula F on F.Link_Col = RC.Link_Col and  F.Code = I.Kods and F.Link_Table = RC.Link_Table
  
   update @t_Form14
      set
        GR5 = RD.float_val,
        GR5_Name = RC.Name,
        GR5_Formula = formula--(select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RC.Link_Table))
      from @ord5 RC
        inner merge join @t_Form14 I on (RC.Link_Table = I.Link_Table)
        left merge join @t_Data RD on (RD.Link_Col = RC.Link_Col and I.Shifr = RD.Shifr and I.Kods = RD.Kods)
		left join @t_formula F on F.Link_Col = RC.Link_Col and  F.Code = I.Kods and F.Link_Table = RC.Link_Table
		
  /* update @t_Form14
      set
        GR6 = RD.float_val,
        GR6_Name = RC.Name,
        GR6_Formula = formula--(select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RC.Link_Table))
      from @ord6 RC
        inner merge join @t_Form14 I on (RC.Link_Table = I.Link_Table)
        left merge join @t_Data RD on (RD.Link_Col = RC.Link_Col and I.Shifr = RD.Shifr and I.Kods = RD.Kods)
		left join @t_formula F on F.Link_Col = RC.Link_Col and  F.Code = I.Kods and F.Link_Table = RC.Link_Table

   update @t_Form14
      set
        GR7 = RD.float_val,
        GR7_Name = RC.Name,
        GR7_Formula = formula--(select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RC.Link_Table))
      from @ord7 RC
        inner merge join @t_Form14 I on (RC.Link_Table = I.Link_Table)
        left merge join @t_Data RD on (RD.Link_Col = RC.Link_Col and I.Shifr = RD.Shifr and I.Kods = RD.Kods)
		left join @t_formula F on F.Link_Col = RC.Link_Col and  F.Code = I.Kods and F.Link_Table = RC.Link_Table
		
   update @t_Form14
      set
        GR8 = RD.float_val,
        GR8_Name = RC.Name,
        GR8_Formula = formula--(select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RC.Link_Table))
      from @ord8 RC
        inner merge join @t_Form14 I on (RC.Link_Table = I.Link_Table)
        left merge join @t_Data RD on (RD.Link_Col = RC.Link_Col and I.Shifr = RD.Shifr and I.Kods = RD.Kods)
		left join @t_formula F on F.Link_Col = RC.Link_Col and  F.Code = I.Kods and F.Link_Table = RC.Link_Table
		
   update @t_Form14
      set
        GR9 = RD.float_val,
        GR9_Name = RC.Name,
        GR9_Formula = formula--(select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RC.Link_Table))
      from @ord9 RC
        inner merge join @t_Form14 I on (RC.Link_Table = I.Link_Table)
        left merge join @t_Data RD on (RD.Link_Col = RC.Link_Col and I.Shifr = RD.Shifr and I.Kods = RD.Kods)
		left join @t_formula F on F.Link_Col = RC.Link_Col and  F.Code = I.Kods and F.Link_Table = RC.Link_Table	
		
  */
  update @t_Form14
    set KBK = Razd_Code + ' ' + Cel_st_Code + ' ' + VR_Code,
      Name = NC.Name
  from @t_Form14 I left join REPORT_FORM14_RAZD_NAME RN on RN.shifr = I.shifr
		left join @t_NameCode NC on NC.Code = I.Kods
end



if @varKSiLSF < 0
begin -- новая форма
  set @LinkForm = abs(@varKSiLSF)

  insert @t_NameCode (Name, Code, TableOrder,gr3_len,gr4_len,gr5_len/*,gr6_len,gr7_len,gr8_len,gr9_len*/)
    select LTRIM(RTRIM(CONVERT(VARCHAR(250),(select formula from report_formula RF where RF.Link_Row = RR.Link_Row and Link_Col = (select top 1 Link_Col from report_coloumns RC where RC.Link_Table = RR.Link_Table and RC.Orders = 1))))) as Name,
      Code, RT.Orders,
    isnull((select RC.val_len FROM report_coloumns RC where RC.orders=3 and RC.link_table=rt.link_table),0) gr3_len, 
    isnull((select RC.val_len FROM report_coloumns RC where RC.orders=4 and RC.link_table=rt.link_table),0) gr4_len,
    isnull((select RC.val_len FROM report_coloumns RC where RC.orders=5 and RC.link_table=rt.link_table),0) gr5_len/*,
    isnull((select RC.val_len FROM report_coloumns RC where RC.orders=6 and RC.link_table=rt.link_table),0) gr6_len,
    isnull((select RC.val_len FROM report_coloumns RC where RC.orders=7 and RC.link_table=rt.link_table),0) gr7_len,    
    isnull((select RC.val_len FROM report_coloumns RC where RC.orders=8 and RC.link_table=rt.link_table),0) gr8_len,
    isnull((select RC.val_len FROM report_coloumns RC where RC.orders=9 and RC.link_table=rt.link_table),0) gr9_len*/
    from i_report_rows RR left join report_tables RT on RR.Link_Table = RT.Link_Table 
    where RT.Link_Form = @LinkForm AND rt.orders NOT IN (5,6)
    order by RT.Orders, RR.Orders


  insert @t_Form14 (Shifr, KBK, [Table], Kods, Name, GR3, GR3_Name, GR3_Formula, GR4, GR4_Name, GR4_Formula, GR5, GR5_Name, GR5_Formula/*, GR6, GR6_Name, GR6_Formula,
					GR7, GR7_Name, GR7_Formula, GR8, GR8_Name, GR8_Formula, GR9, GR9_Name, GR9_Formula*/,
					gr3_len,gr4_len,gr5_len/*,gr6_len,gr7_len,gr8_len,gr9_len*/)
    select  [Shifr] = '',
      [KBK] = '', 
      [Table] = '0' + LTRIM(RTRIM(STR(RT.Orders))),
      [Kods] = Code,
      [Name] = NC.Name,
      [GR3] = 0,
      [GR3_Name] = RC.Name,
      [GR3_Formula] = (select top 1 formula from report_formula RF where RF.Link_Row = (select top 1 Link_Row from i_report_rows RR where Code = NC.Code and RR.Link_Table = RT.Link_Table) and RF.Link_Col = RC.Link_Col),
      [GR4] = 0,
      [GR4_Name] = '',
      [GR4_Formula] = '',
      [GR5] = 0,
      [GR5_Name] = '',
      [GR5_Formula] = ''/*,
      [GR6] = 0,
      [GR6_Name] = RC.Name,
      [GR6_Formula] = '',
      [GR7] = 0,
      [GR7_Name] = '',
      [GR7_Formula] = '',
      [GR8] = 0,
      [GR8_Name] = '',
      [GR8_Formula] = '',
      [GR9] = 0,
      [GR9_Name] = '',
      [GR9_Formula] = ''*/,     
      [GR3_LEN]=NC.GR3_LEN,
      [GR4_LEN]=NC.GR4_LEN,
      [GR5_LEN]=NC.GR5_LEN/*,
	  [GR6_LEN]=NC.GR6_LEN,
      [GR7_LEN]=NC.GR7_LEN,
      [GR8_LEN]=NC.GR8_LEN,
      [GR9_LEN]=NC.GR9_LEN */   
      
    from @t_NameCode NC, report_coloumns RC
      left join report_tables RT on RC.Link_Table = RT.Link_Table
    where RT.Link_Form = @LinkForm
      and RC.Orders = 3 and RT.Orders = NC.TableOrder


  update @t_Form14
    set [GR4_Name] = RC.Name,
      [GR4_Formula] = (select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RT.Link_Table))
    from @t_Form14 I, @t_NameCode NC, report_coloumns RC
      left join report_tables RT on RC.Link_Table = RT.Link_Table
    where RT.Link_Form = @LinkForm
      and RC.Orders = 4 and RT.Orders = NC.TableOrder
      and I.Kods = NC.Code
  

  update @t_Form14
    set [GR5_Name] = RC.Name,
      [GR5_Formula] = (select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RT.Link_Table))
    from @t_Form14 I, @t_NameCode NC, report_coloumns RC
      left join report_tables RT on RC.Link_Table = RT.Link_Table
    where RT.Link_Form = @LinkForm
      and RC.Orders = 5 and RT.Orders = NC.TableOrder
      and I.Kods = NC.Code
      
 /* update @t_Form14
    set [GR6_Name] = RC.Name,
      [GR6_Formula] = (select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RT.Link_Table))
    from @t_Form14 I, @t_NameCode NC, report_coloumns RC
      left join report_tables RT on RC.Link_Table = RT.Link_Table
    where RT.Link_Form = @LinkForm
      and RC.Orders = 6 and RT.Orders = NC.TableOrder
      and I.Kods = NC.Code

  update @t_Form14
    set [GR7_Name] = RC.Name,
      [GR7_Formula] = (select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RT.Link_Table))
    from @t_Form14 I, @t_NameCode NC, report_coloumns RC
      left join report_tables RT on RC.Link_Table = RT.Link_Table
    where RT.Link_Form = @LinkForm
      and RC.Orders = 7 and RT.Orders = NC.TableOrder
      and I.Kods = NC.Code

  update @t_Form14
    set [GR8_Name] = RC.Name,
      [GR8_Formula] = (select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RT.Link_Table))
    from @t_Form14 I, @t_NameCode NC, report_coloumns RC
      left join report_tables RT on RC.Link_Table = RT.Link_Table
    where RT.Link_Form = @LinkForm
      and RC.Orders = 8 and RT.Orders = NC.TableOrder
      and I.Kods = NC.Code

  update @t_Form14
    set [GR9_Name] = RC.Name,
      [GR9_Formula] = (select formula from report_formula RF where RF.Link_Col = RC.Link_Col and RF.Link_Row in (select top 1 Link_Row from i_report_rows RR where Code = I.Kods and RR.Link_Table = RT.Link_Table))
    from @t_Form14 I, @t_NameCode NC, report_coloumns RC
      left join report_tables RT on RC.Link_Table = RT.Link_Table
    where RT.Link_Form = @LinkForm
      and RC.Orders = 9 and RT.Orders = NC.TableOrder
      and I.Kods = NC.Code   
*/
  if @varKScShifr is not NULL
  begin
    update @t_form14
    set   Shifr = @varKScShifr,
      KBK = (select top 1 Razd_Code + ' ' + Cel_st_Code + ' ' + VR_Code from REPORT_FORM14_RAZD_NAME where shifr = @varKScShifr)
  end
end



if @varKScShifr is not NULL
begin
  delete @t_form14
  where Shifr <> @varKScShifr
end

declare @Shifr varchar(10), @KBK varchar(50)

update  @t_form14
  set GR3 = isnull(GR3, 0),
    GR4 = isnull(GR4, 0),
    GR5 = isnull(GR5, 0)/*,
    GR6 = isnull(GR6, 0),
    GR7 = isnull(GR7, 0),
    GR8 = isnull(GR8, 0),
    GR9 = isnull(GR9, 0)*/

declare cur_TableName cursor local Static
for select distinct Shifr, KBK from @t_form14

open cur_TableName

fetch next from cur_TableName
into @Shifr, @KBK

while @@fetch_status = 0
begin
  insert @t_Form14 (Shifr, KBK, [Table], Name, Table_Name)
  select @Shifr, @KBK, '01', 'Расходы', 1
  union
  select @Shifr, @KBK, '02', 'Численность', 1
  union
  select @Shifr, @KBK, '03', 'Справка', 1
  union
  select @Shifr, @KBK, '04', 'Справка', 1
 /* union
  select @Shifr, @KBK, '05', 'Сведения', 1
  union
  select @Shifr, @KBK, '06', 'Сведения', 1  
*/
  fetch next from cur_TableName
  into @Shifr, @KBK
end

close cur_TableName
deallocate cur_TableName

RETURN
END








GO


GRANT SELECT ON dbo.[RO_FORM14_2015] TO PUBLIC

GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SALARY_ALL_PROV]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[SALARY_ALL_PROV]

GO

CREATE  VIEW dbo.SALARY_ALL_PROV
AS

Select  
--[LINK]= DOC_LINK,
[DOC_LINK]= UP.DOC_LINK,
[LINK]= UP.LINK,
[FLAG_JC] = CASE WHEN UP.DATE_PROV IS NULL THEN 0 ELSE 1 END,
[DATE] = CONVERT(DATETIME,SD.[DATE], 112),
[DATE_PROV] = CONVERT(DATETIME,UP.DATE_PROV, 112),
[NUMBER] = UP.NUMDOC,
[COMMENTARY] = UP.NAME_OPER, 
[KBK_CODE] = UP.KBK_CODE,
[EKR_CODE] = UP.EKR_CODE,
[DEB_CODE] = UP.DEB_CODE, 
[DEB_NAME] = UP.DEB_NAME, 
[CRE_CODE] = UP.CRE_CODE,
[CRE_NAME] = UP.CRE_NAME,
[SUMMA]    = UP.SUMMA,
[LINK_DEP] = UP.LINK_DEP,
[DEP_NAME] = (SELECT NAME FROM dbo.DEPARTMENTS WHERE LINK = UP.LINK_DEP),
[ACC_LINK] = (SELECT ACC FROM G_PROV WHERE LINK = UP.DOC_LINK),
[ACC_CODE] = ISNULL((SELECT CODE FROM dbo.DICTIONARY_ACCOUNTS WHERE LINK = (SELECT ACC FROM G_PROV WHERE LINK = UP.DOC_LINK)),''),
[STATUS_EX] = CASE WHEN UP.STATUS_EXCH IS NULL THEN 0 ELSE UP.STATUS_EXCH end,
[STATUS_EX_DATE] = UP.STATUS_EX_DATE, 
[STATUS_EX_NAME] = CASE WHEN UP.STATUS_EXCH  = 1 THEN 'Передано ' +  CONVERT(VARCHAR(23),UP.STATUS_EX_DATE , 120)
						WHEN UP.STATUS_EXCH  = 2 THEN 'Принято ' + CONVERT(VARCHAR(23),UP.STATUS_EX_DATE , 120)
						WHEN UP.STATUS_EXCH  = 0 THEN 'Принято ранее ' + CONVERT(VARCHAR(23),UP.STATUS_EX_DATE , 120)
						WHEN UP.STATUS_EXCH  < 0 THEN 'Ошибка Приема ' + CONVERT(VARCHAR(23),UP.STATUS_EX_DATE , 120) 
						ELSE ''
					END	,	
[ST_EX_COMMENT]	= LEFT(UP.ST_EX_COMMENT,254)					
FROM 
	dbo.xk_user_prov(NULL, DEFAULT) UP 
	INNER JOIN [dbo].SALARY_G_PROV SD ON SD.LINK = UP.DOC_LINK AND CNT_PROV <> 0

GO


GRANT SELECT ON dbo.[SALARY_ALL_PROV] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BB_BK_FOR_SHABLON]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[BB_BK_FOR_SHABLON]

GO

CREATE   Function dbo.BB_BK_FOR_SHABLON(@iLinkG int = null, @cShablon varchar(254), @cDELIM varchar(1), @cDELIM5 varchar(1))
RETURNS varchar(8000)
AS
BEGIN
Declare @iNotKBK tinyint, 
		@iNotVKR tinyint,
		@iTypeKbk tinyint,
		@iDopPos int,
		@cRes varchar(8000),
		@cResTemp varchar(8000),
		@bGroupBK tinyint,
		
		@cKBK_CODE varchar(30), 
		@cKBK_NAME varchar(1000), 
		@cADM_CODE varchar(3), 
		@cADM_NAME varchar(1000), 
		@cDIV_CODE varchar(4), 
		@cDIV_NAME varchar(1000), 
		@cCSR_CODE varchar(10), 
		@cCSR_NAME varchar(1000), 
		@cEXP_CODE varchar(3), 
		@cEXP_NAME varchar(1000), 
		@cSGU_CODE varchar(3), 
		@cSGU_NAME varchar(1000), 
		@cEKR_CODE varchar(3), 
		@cEKR_NAME varchar(1000), 
		@cDOP_CODE varchar(10), 
		@cDOP_NAME varchar(1000), 
		@cREG_CODE varchar(20), 
		@cREG_CODE_R varchar(20), 
		@cREG_NAME varchar(1000), 
		@nSUMMA	numeric(20,2),
		
		@cKBK_OLD varchar(20), 
		@cADM_OLD varchar(3), 
		@cDIV_OLD varchar(4), 
		@cCSR_OLD varchar(10), 
		@cEXP_OLD varchar(3),
		@iLinkedKBK	tinyint
		
set @iLinkedKBK = isnull(dbo.sa_get_option_by_code('NASTR_PAY_LINKED_KBK'),0)

if @iLinkG is null or @cShablon is null
	return ''
		
if charindex('<КБК',@cShablon) > 0
	set @iNotKBK = 0
else
	set @iNotKBK = 1

if charindex('<АДМ',@cShablon) > 0 OR charindex('<Раздел',@cShablon) > 0 OR charindex('<ЦС',@cShablon) > 0 OR charindex('<ВР',@cShablon) > 0
	set @iNotVKR = 0
else
	set @iNotVKR = 1
set @cRes = '' 
select @bGroupBK = GROUP_KBK from dbo.DOCUMENTS_PAY_OPTIONS
select @cKBK_OLD = '', @cADM_OLD = '', @cDIV_OLD = '', @cCSR_OLD = '', @cEXP_OLD = ''
		

--set @cShablon = UPPER(@cShablon)
if @iLinkG is not null
begin
	if @bGroupBK = 0
		declare BK_CUR cursor local static read_only for
		select	KBK_CODE = case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.CODE) end, 
				KBK_NAME = case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.NAME) end,
				ADM_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.ADM_CODE, KBK.ADM_CODE) end, 
				ADM_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.ADM_NAME, KBK.ADM_NAME) end, 
				DIV_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.DIV_CODE, KBK.DIV_CODE) end, 
				DIV_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.DIV_NAME, KBK.DIV_NAME) end, 
				CSR_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.CSR_CODE, KBK.CSR_CODE) end, 
				CSR_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.CSR_NAME, KBK.CSR_NAME) end, 
				EXP_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.EXP_CODE, KBK.EXP_CODE) end, 
				EXP_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.EXP_NAME, KBK.EXP_NAME) end,	
				SGU_CODE = isnull(SGU.CODE,''), 
				SGU_NAME = isnull(SGU.NAME,''), 
				EKR_CODE = isnull(EKR.CODE,''), 
				EKR_NAME = isnull(EKR.NAME,''), 
				DOP_CODE = isnull(DC.CODE,''), 
				DOP_NAME = isnull(DC.NAME,''),
				REG_CODE = isnull(REG.CODE,''), 
				REG_CODE_R = isnull(rtrim(REG.CODE) + isnull(@cDELIM,' '),''), 
				REG_NAME = isnull(REG.NAME,''),
				SUMMA	 = G2.SUMMA,
				KBK.TYPE	
		from  dbo.FINANSE_PAYS P
		inner join dbo.G_PROV1 G1 on P.LINK = G1.LINK_UP
		inner join dbo.G_PROV2 G2 on G1.LINK = G2.LINK_UP and @iLinkG = G1.LINK_UP
		inner join dbo.G_PROV_AP GAP on G2.LINK = GAP.LINK_UP and GAP.DB_KR = 1
		inner join dbo.BI_DICTION_KBK_FULL KBK ON KBK.LINK = GAP.KBK
		LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = KBK.LINK and @iLinkedKBK = 1
		LEFT JOIN BI_DICTION_KBK_FULL KBK1 ON KBKL.LINK_KBK = KBK1.LINK
		inner join DBO.KOSGU SGU ON SGU.LINK = GAP.SGU
		LEFT join DBO.KOSGU EKR ON EKR.LINK = GAP.EKR
		LEFT OUTER JOIN BD_DOP_CLASSIF DC ON DC.Link = GAP.AP2
		LEFT OUTER JOIN dbo.KL_REG REG ON REG.Link = P.REG
		where P.LINK = @iLinkG
		order by 1,3,5,7,9,11,13
	ELSE
		declare BK_CUR cursor local static read_only for
		select	KBK_CODE = case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.CODE) end, 
				KBK_NAME = case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.NAME) end,
				ADM_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.ADM_CODE, KBK.ADM_CODE) end, 
				ADM_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.ADM_NAME, KBK.ADM_NAME) end, 
				DIV_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.DIV_CODE, KBK.DIV_CODE) end, 
				DIV_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.DIV_NAME, KBK.DIV_NAME) end, 
				CSR_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.CSR_CODE, KBK.CSR_CODE) end, 
				CSR_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.CSR_NAME, KBK.CSR_NAME) end, 
				EXP_CODE = case @iNotVKR when 1 then '' else isnull(KBK1.EXP_CODE, KBK.EXP_CODE) end, 
				EXP_NAME = case @iNotVKR when 1 then '' else isnull(KBK1.EXP_NAME, KBK.EXP_NAME) end,	
				SGU_CODE = isnull(SGU.CODE,''), 
				SGU_NAME = isnull(SGU.NAME,''), 
				EKR_CODE = isnull(EKR.CODE,''), 
				EKR_NAME = isnull(EKR.NAME,''), 
				DOP_CODE = isnull(DC.CODE,''), 
				DOP_NAME = isnull(DC.NAME,''),
				REG_CODE = isnull(REG.CODE,''), 
				REG_CODE_R = isnull(rtrim(REG.CODE) + isnull(@cDELIM,' '),''), 
				REG_NAME = isnull(REG.NAME,''),
				SUMMA	 = sum(G2.SUMMA),
				KBK.TYPE	
		from  dbo.FINANSE_PAYS P
		inner join dbo.G_PROV1 G1 on P.LINK = G1.LINK_UP
		inner join dbo.G_PROV2 G2 on G1.LINK = G2.LINK_UP
		inner join dbo.G_PROV_AP GAP on G2.LINK = GAP.LINK_UP and GAP.DB_KR = 1
		inner join dbo.BI_DICTION_KBK_FULL KBK ON KBK.LINK = GAP.KBK
		LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = KBK.LINK and @iLinkedKBK = 1
		LEFT JOIN BI_DICTION_KBK_FULL KBK1 ON KBKL.LINK_KBK = KBK1.LINK
		inner join DBO.KOSGU SGU ON SGU.LINK = GAP.SGU
		LEFT join DBO.KOSGU EKR ON EKR.LINK = GAP.EKR
		LEFT OUTER JOIN BD_DOP_CLASSIF DC ON DC.Link = GAP.AP2
		LEFT OUTER JOIN dbo.KL_REG REG ON REG.Link = P.REG
		where P.LINK = @iLinkG
		group by /*isnull(KBK1.CODE, KBK.CODE), isnull(KBK1.CODE, KBK.NAME), 
				isnull(KBK1.ADM_CODE, KBK.ADM_CODE), isnull(KBK1.ADM_NAME, KBK.ADM_NAME), 
				isnull(KBK1.DIV_CODE, KBK.DIV_CODE), isnull(KBK1.DIV_NAME, KBK.DIV_NAME), 
				isnull(KBK1.CSR_CODE, KBK.CSR_CODE), isnull(KBK1.CSR_NAME, KBK.CSR_NAME), 
				isnull(KBK1.EXP_CODE, KBK.EXP_CODE),isnull(KBK1.EXP_NAME, KBK.EXP_NAME),*/
				case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.CODE) end, 
				case when @iNotKBK = 1  or @iNotKBK = 0 and (KBK.TYPE = 1 and @iNotVKR = 0) then '' else isnull(KBK1.CODE, KBK.NAME) end,
				case @iNotVKR when 1 then '' else isnull(KBK1.ADM_CODE, KBK.ADM_CODE) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.ADM_NAME, KBK.ADM_NAME) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.DIV_CODE, KBK.DIV_CODE) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.DIV_NAME, KBK.DIV_NAME) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.CSR_CODE, KBK.CSR_CODE) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.CSR_NAME, KBK.CSR_NAME) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.EXP_CODE, KBK.EXP_CODE) end, 
				case @iNotVKR when 1 then '' else isnull(KBK1.EXP_NAME, KBK.EXP_NAME) end,	
				isnull(SGU.CODE,''), isnull(SGU.NAME,''), isnull(EKR.CODE,''), isnull(EKR.NAME,''), isnull(DC.CODE,''), isnull(DC.NAME,''), isnull(REG.CODE,''), isnull(rtrim(REG.CODE) + isnull(@cDELIM,' '),''), isnull(REG.NAME,''), KBK.TYPE
		order by 1,3,5,7,9,11,13

		open BK_CUR
	fetch next from BK_CUR into @cKBK_CODE, @cKBK_NAME, @cADM_CODE, @cADM_NAME, @cDIV_CODE, @cDIV_NAME, @cCSR_CODE, @cCSR_NAME, @cEXP_CODE, @cEXP_NAME, @cSGU_CODE, @cSGU_NAME, @cEKR_CODE, @cEKR_NAME, @cDOP_CODE, @cDOP_NAME, @cREG_CODE, @cREG_CODE_R, @cREG_NAME, @nSUMMA, @iTypeKbk

	while @@fetch_status = 0
	begin
		--СГУ, ЭКР, Доп.Кл	
		set @cResTemp = rtrim(@cShablon)
		if isnull(@cDOP_CODE,'') = ''
			set @cResTemp = rtrim(dbo.BB_DDELIM_DEL(@cResTemp,'<Доп_кл>'))
		
		if isnull(@cREG_CODE,'') = ''
			set @cResTemp = rtrim(dbo.BB_DDELIM_DEL(@cResTemp,'<Рег_кл>'))
		
		if @iTypeKbk <> 1
			set @cResTemp =  rtrim(dbo.BB_DDELIM_DEL(rtrim(dbo.BB_DDELIM_DEL(@cResTemp,'<ЭКР>')),'<СГУ>'))
		
		--КБК
		if @bGroupBK = 0 or @cKBK_OLD <> @cKBK_CODE
		--	set @cResTemp = replace(replace(replace(@cResTemp,'<КБКР>',replace(@cKBK_CODE,'.',rtrim(case @iTypeKbk when 1 then isnull(@cDELIM,' ') else '' end))),'<КБК>',rtrim(replace(@cKBK_CODE,'.',''))),'<КБК_наим>',@cKBK_NAME)
			set @cResTemp = replace(replace(case @iTypeKbk when 1 then rtrim(replace(@cResTemp,'<КБКР>',rtrim(replace(@cKBK_CODE,'.',isnull(@cDELIM,' '))))) else replace(@cResTemp,'<КБКР>',rtrim(replace(@cKBK_CODE,'.',''))) end,'<КБК>',rtrim(replace(@cKBK_CODE,'.',''))),'<КБК_наим>',@cKBK_NAME)
		
		else
			set @cResTemp = replace(replace(replace(@cResTemp,'<КБКР>',''),'<КБК>',''),'<КБК_наим>','')
		--Администратор
		if @bGroupBK = 0 or @cADM_OLD <> @cADM_CODE
			set @cResTemp = replace(replace(@cResTemp,'<АДМ>',@cADM_CODE),'<АДМ_наим>',@cADM_NAME)
		else
			set @cResTemp = replace(replace(@cResTemp,'<АДМ>',''),'<АДМ_наим>','')
		--Раздел\подраздел
		if @bGroupBK = 0 or @cDIV_OLD <> @cDIV_CODE
			set @cResTemp = replace(replace(@cResTemp,'<Раздел>',@cDIV_CODE),'<Раздел_наим>',@cDIV_NAME)
		else
			set @cResTemp = replace(replace(@cResTemp,'<Раздел>',''),'<Раздел_наим>','')
		--Целевая статья				 
		if @bGroupBK = 0 or @cCSR_OLD <> @cCSR_CODE
			set @cResTemp = replace(replace(@cResTemp,'<ЦС>',@cCSR_CODE),'<ЦС_наим>',@cCSR_NAME)
		else
			set @cResTemp = replace(replace(@cResTemp,'<ЦС>',''),'<ЦС_наим>','')--Целевая статья				 
		--Вид расхода				 
		if @bGroupBK = 0 or @cEXP_OLD <> @cEXP_CODE
			set @cResTemp = replace(replace(@cResTemp,'<ВР>',@cEXP_CODE),'<ВР_наим>',@cEXP_NAME)
		else
			set @cResTemp = replace(replace(@cResTemp,'<ВР>',''),'<ВР_наим>','')
		
		
		set @cResTemp =  replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@cResTemp,
						'<СГУ>',@cSGU_CODE),'<СГУ_наим>',@cSGU_NAME),
						'<ЭКР>',@cEKR_CODE),'<ЭКР_наим>',@cEKR_NAME),
						'<Доп_кл>',rtrim(@cDOP_CODE)),'<Доп_кл_наим>',@cDOP_NAME),
						'<Рег_кл>',rtrim(@cREG_CODE)), '<Рег_клР>',@cREG_CODE_R),'<Рег_кл_наим>',@cREG_NAME),
						'<Руб>',rtrim(ltrim(str(cast(@nSUMMA as int))))),'<Коп>', right('00' + rtrim(ltrim(str((@nSUMMA - cast(@nSUMMA as int)) * 100))),2))
		
		
	
		if @cRes = ''
			set @cRes = rtrim(@cResTemp)
		else 
			set @cRes = @cRes + isnull(@cDELIM5,'') + rtrim(@cResTemp)
		 
		select @cKBK_OLD = @cKBK_CODE, @cADM_OLD = @cADM_CODE, @cDIV_OLD = @cDIV_CODE, @cCSR_OLD = @cCSR_CODE, @cEXP_OLD = @cEXP_CODE
		fetch next from BK_CUR into @cKBK_CODE, @cKBK_NAME, @cADM_CODE, @cADM_NAME, @cDIV_CODE, @cDIV_NAME, @cCSR_CODE, @cCSR_NAME, @cEXP_CODE, @cEXP_NAME, @cSGU_CODE, @cSGU_NAME, @cEKR_CODE, @cEKR_NAME, @cDOP_CODE, @cDOP_NAME, @cREG_CODE, @cREG_CODE_R, @cREG_NAME, @nSUMMA, @iTypeKbk
	
	end
	close BK_CUR
	deallocate BK_CUR
end
RETURN @cRes
end

GO


GRANT EXECUTE ON dbo.[BB_BK_FOR_SHABLON] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KI_EXPIR_DOP]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[KI_EXPIR_DOP]

GO



/*
© Кейсистемс (Keysystems), 2005
*/
CREATE VIEW [dbo].KI_EXPIR_DOP
AS
SELECT
	EE.LINK,
	EE.EMPL_LINK,
	sd.PERS_LINK,
	sd.FIO,
	sd.TAB,
	EE.EXPIR_LINK,
	EE.DATE_BEGIN,
	EXPIR_CODE = E.CODE,
	EXPIR_NAME = E.NAME,
	EE.YEARS,
	EE.MONTHS,
	EE.DAYS,
	EE.COMENT
FROM
	dbo.EMPL_EXPIR_DOP EE
	INNER JOIN SD_EMPL sd ON sd.link = ee.EMPL_LINK
	LEFT JOIN dbo.EXPIR E ON EE.EXPIR_LINK=E.LINK

GO


GRANT SELECT ON dbo.[KI_EXPIR_DOP] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KASSA_BOOK_G_TABLE_FN]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[KASSA_BOOK_G_TABLE_FN]

GO





-- select * from dictionary_department where zb = 1 or type = 4

/*
© Кейсистемс (Keysystems), 2005
*/


CREATE          FUNCTION dbo.KASSA_BOOK_G_TABLE_FN(@varKSDateB Datetime,
				@varKSDateE DateTime,
				@intOPT_DOC TINYINT,
				@intOPT_PAY TINYINT,
				@varKSKBK tinyint,
				@varKSSGU tinyint,
				@varKSBook_link int,
				@varKSDep_link int,
				@varKSPrnComment int,
				@varKSAllZB int)

	RETURNS @varKSRET TABLE(
		DOC_LINK INT,
		NUMBER VARCHAR(30),
		DOC_DATE DATETIME,
		ACCOUNT VARCHAR(254),
		DATE_PROV DATETIME,
		FROMTO VARCHAR(254),
		BUDIN NUMERIC(28,2),
		BUDOUT NUMERIC(28,2),
		VNEIN NUMERIC(28,2),
		VNEOUT NUMERIC(28,2),
		INOUT INT,
		OBJ_CODE varchar(254)
	)

AS BEGIN

	DECLARE @Dep_links  TABLE (link  int)
	IF @varKSAllZB = 1 
		begin
			insert into @Dep_links
			select link from dictionary_department where zb = 1 or type = 4
		end
	else 
		begin 
			insert into @Dep_links
			select @varKSDep_link
		end


	DECLARE @varKSisNumber bit
	SET @varKSisNumber = CASE WHEN @varKSDateB = @varKSDateE THEN 0 ELSE 1 END
	DECLARE @varKSTMP TABLE(
		DOC_LINK INT NOT NULL,
		DOC_OBJ INT NOT NULL,
		ACCOUNT VARCHAR(254) NOT NULL,
		FROMTO VARCHAR(254) DEFAULT (''),
		G2LINK INT  NOT NULL,
		BUDIN NUMERIC(28,2) NOT NULL,
		BUDOUT NUMERIC(28,2) NOT NULL,
		VNEIN NUMERIC(28,2) NOT NULL,
		VNEOUT NUMERIC(28,2) NOT NULL,
		INOUT INT NOT NULL
	)
	INSERT INTO @varKSTMP(DOC_LINK, DOC_OBJ, ACCOUNT, G2LINK, BUDIN, BUDOUT, VNEIN, VNEOUT, INOUT)
	SELECT
		[DOC_LINK] = G.LINK,
		[DOC_OBJ] = G.OBJECT,
		[ACCOUNT] = dbo.BK_GetAcctFullCode1(KT.ACCOUNT, KT.KBK, KT.SGU, @varKSKBK, @varKSSGU, @varKSDateE),
		[G2LINK] = G2.LINK,
		-- бюджетные счета
		[BUDIN] = ISNULL ( (CAST ( ( case when DT.ACCOUNT in (select link_acc from kassa_book_acc where link_book=@varKSBook_link and type = 0) 
					then g2.summa else NULL end)  AS NUMERIC(28,2) ) ),0),
		[BUDOUT]= 0,
		-- внебюджетные счета
		[VNEIN] = ISNULL ( (CAST ( (case when DT.ACCOUNT in (select link_acc from kassa_book_acc where link_book=@varKSBook_link and type = 1) 
					then g2.summa else NULL end ) AS NUMERIC(28,2) )),0),
		[VNEOUT] = 0,
		[INOUT] = 1
	FROM 
		dbo.G_PROV G INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK 
		INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
		INNER JOIN dbo.G_PROV_AP DT ON DT.LINK_UP = G2.LINK AND DT.DB_KR = 0 
		INNER JOIN dbo.G_PROV_AP KT ON KT.LINK_UP = G2.LINK AND KT.DB_KR = 1
		INNER JOIN dbo.KASSA_BOOK_ALLACCOUNTS() SA ON SA.LINK = DT.ACCOUNT 
	WHERE (G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE) AND (G.DEP in (select link from @Dep_links))
	UNION ALL
	SELECT 	
		[DOC_LINK] = G.LINK,
		[DOC_OBJ] = G.OBJECT,
		[ACCOUNT] = dbo.BK_GetAcctFullCode1(DT.ACCOUNT, DT.KBK, DT.SGU, @varKSKBK, @varKSSGU, @varKSDateE),
		[G2LINK] = G2.LINK,

		[BUDIN] = 0,
		[BUDOUT] = ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_acc where link_book=@varKSBook_link and type = 0) then g2.summa
			else NULL end)  AS NUMERIC(28,2) )),0),
		[VNEIN] = 0,
		[VNEOUT]= ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_acc where link_book=@varKSBook_link and type = 1) then g2.summa
			else NULL end)  AS NUMERIC(28,2) ) ),0),
		[INOUT] = 2
	FROM dbo.G_PROV G INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK 
	INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
	INNER JOIN dbo.G_PROV_AP DT ON DT.LINK_UP = G2.LINK AND DT.DB_KR = 0 
	INNER JOIN dbo.G_PROV_AP KT ON KT.LINK_UP = G2.LINK AND KT.DB_KR = 1
	INNER JOIN dbo.KASSA_BOOK_ALLACCOUNTS() SA ON SA.LINK = KT.ACCOUNT 
	WHERE (G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE) AND (G.DEP in (select link from @Dep_links))

-- удалим все документы с нулевыми суммами
	delete  from @varKSTMP 
	where BUDIN=0 and BUDOUT=0 and VNEIN=0 and VNEOUT=0

	IF @intOPT_PAY = 1
		UPDATE @varKSTMP
		SET FROMTO = dbo.KassaBookGetFromTo(DOC_LINK, DOC_OBJ, G2LINK, 2-INOUT, @varKSPrnComment)

	DECLARE @TABLE_DOC TABLE (
		DOC_LINK INT NOT NULL,
		ACCOUNT VARCHAR(254) NOT NULL,
		FROMTO VARCHAR(254) DEFAULT (''),
		BUDIN NUMERIC(28,2) NOT NULL,
		BUDOUT NUMERIC(28,2) NOT NULL,
		VNEIN NUMERIC(28,2) NOT NULL,
		VNEOUT NUMERIC(28,2) NOT NULL,
		INOUT INT NOT NULL
		)

	INSERT INTO @TABLE_DOC (DOC_LINK, ACCOUNT, FROMTO,
		BUDIN, BUDOUT, VNEIN, VNEOUT, INOUT)
	SELECT
		DOC_LINK,
		ACCOUNT,
		FROMTO,
		SUM(BUDIN) as BUDIN,
		SUM(BUDOUT) as BUDOUT,
		SUM(VNEIN) as VNEIN,
		SUM(VNEOUT) as VNEOUT,
		INOUT
	FROM @varKSTMP
	GROUP BY DOC_LINK, ACCOUNT, FROMTO, INOUT

	INSERT INTO @varKSRET(DOC_LINK, NUMBER, DOC_DATE, DATE_PROV, ACCOUNT, FROMTO, BUDIN, BUDOUT, VNEIN, VNEOUT, INOUT, obj_code)
	SELECT
		T.DOC_LINK,
		G.NUMBER,
		G.[DATE],
		G.DATE_PROV,
		T.ACCOUNT,
		CASE WHEN @intOPT_DOC = 1 THEN dbo.GetDocumentName(T.DOC_LINK, default)
			+ CASE @varKSisNumber WHEN 1
				THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')' ELSE '' END + ' '
			ELSE ''
		END + FROMTO
		,
		BUDIN, BUDOUT, VNEIN, VNEOUT, INOUT,
		OBJ_CODE = SO.CODE
	FROM @TABLE_DOC T
	INNER JOIN dbo.G_PROV G ON (G.LINK = T.DOC_LINK)
	INNER JOIN dbo.S_OBJECTS SO ON (SO.LINK = G.OBJECT)

	RETURN
END


GO


GRANT SELECT ON dbo.[KASSA_BOOK_G_TABLE_FN] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KASSA_BOOK_TABLE_F_FN]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[KASSA_BOOK_TABLE_F_FN]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE  FUNCTION dbo.KASSA_BOOK_TABLE_F_FN(@varKSDateB Datetime, @varKSDateE DateTime,
			 @varKSKBK tinyint, @varKSSGU tinyint, @varKSBook_link int, @varKSDep_link int, 
			@varKSPrnComment int, @varKSAllZB int,
			@intOPT_DOC TINYINT = NULL,
			@intOPT_PAY TINYINT = NULL
)
	RETURNS @varKSRET TABLE(
		DOC_LINK INT,
		NUMBER VARCHAR(30),
		DOC_DATE DATETIME,
		DATE_PROV DATETIME,
		ACCOUNT VARCHAR(254),
		FROMTO VARCHAR(254),
		BUDIN NUMERIC(28,2),
		BUDOUT NUMERIC(28,2),
		VNEIN NUMERIC(28,2),
		VNEOUT NUMERIC(28,2),
		INOUT INT,
		OBJ_CODE varchar(254)
	)
AS BEGIN

	
	DECLARE @Dep_links  TABLE (link  int)
	IF @varKSAllZB = 1 
		begin
			insert into @Dep_links
			select link from dictionary_department where zb = 1 or type = 4
		end
	else 
		begin 
			insert into @Dep_links
			select @varKSDep_link
		end


	DECLARE @varKSnMODE INT

	SELECT	TOP 1 @intOPT_DOC = ISNULL (@intOPT_DOC, GRP_BY_DOC),
			@intOPT_PAY = ISNULL (@intOPT_PAY, GRP_BY_PAY)
	FROM dbo.KASSA_BOOK_F_OPTIONS

	DECLARE @varKSTMP TABLE(
		DOC_LINK INT,
		NUMBER VARCHAR(15),
		DATE_PROV DATETIME,
		ACCOUNT VARCHAR(254),
		FROMTO VARCHAR(254),
		BUDIN NUMERIC(28,2),
		BUDOUT NUMERIC(28,2),
		VNEIN NUMERIC(28,2),
		VNEOUT NUMERIC(28,2),
		INOUT INT,
		DOCNAME VARCHAR(254)
	)

	DECLARE @varKSOPTIONS INT, @varKSbKAU BIT
	SELECT @varKSOPTIONS = LINK From S_OBJECTS Where CODE = 'NASTR_KASSA_BOOK_F_USEKAU'
	SET @varKSbKAU = CASE 
		WHEN exists(Select * From dbo.s_options where value = '1' and object = @varKSOPTIONS) THEN 1
		ELSE 0
	END

	DECLARE @varKSisNumber bit
	SET @varKSisNumber = CASE WHEN @varKSDateB = @varKSDateE THEN 0 ELSE 1 END

	IF @varKSbKAU = 1 BEGIN
		INSERT INTO @varKSTMP
		SELECT
			[DOC_LINK] = G.LINK,
			G.NUMBER,
			G.DATE_PROV,
			[ACCOUNT] = dbo.BK_GetAcctFullCode1(KT.ACCOUNT, KT.KBK, KT.SGU,  @varKSKBK, @varKSSGU, @varKSDateE),
			[FROMTO] = dbo.KassaBookGetFromTo(G.LINK, G.OBJECT, G2.LINK, 1, @varKSPrnComment),
			[BUDIN] = ISNULL ( (CAST ( ( case when DT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 0) then g2.summa
				else NULL end)  AS NUMERIC(28,2) ) ),0),
			[BUDOUT]= 0,
			[VNEIN] = ISNULL ( (CAST ( (case when DT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 1) then g2.summa
			else NULL end ) AS NUMERIC(28,2) )),0),
			[VNEOUT] = 0,
			[INOUT] = 1,
			dbo.GetDocumentName(G.LINK, G.OBJECT)
				+ CASE @varKSisNumber WHEN 1 THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')'
				ELSE '' END + ' '
		FROM 
			dbo.G_PROV G, 
			dbo.G_PROV1 G1, 
			dbo.G_PROV2 G2, 
			dbo.G_PROV_AP DT, 
			dbo.G_PROV_AP KT, 
			dbo.KASSA_BOOK_F_ALLACCOUNTS() SA
		WHERE G1.LINK_UP = G.LINK AND G2.LINK_UP = G1.LINK
			AND DT.LINK_UP = G2.LINK AND KT.LINK_UP = G2.LINK
			AND DT.DB_KR = 0 AND KT.DB_KR = 1
			AND SA.LINK = DT.ACCOUNT 
			AND (
				DT.KAU in (Select KAU From dbo.KASSA_BOOK_F_KAU) 
			)
			AND G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE
			AND G.dep in (select link from @Dep_links)

		UNION ALL

		SELECT 	
			[DOC_LINK] = G.LINK,
			G.NUMBER,
			G.DATE_PROV,
			[ACCOUNT] = dbo.BK_GetAcctFullCode1(DT.ACCOUNT, DT.KBK, DT.SGU, @varKSKBK, @varKSSGU, @varKSDateE),
			[FROMTO] = dbo.KassaBookGetFromTo(G.LINK, G.OBJECT, G2.LINK, 0, @varKSPrnComment),
			[BUDIN] = 0,
			[BUDOUT] = ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 0) then g2.summa
				else NULL end)  AS NUMERIC(28,2) )),0),
			[VNEIN] = 0,
			[VNEOUT]= ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 1) then g2.summa
				else NULL end)  AS NUMERIC(28,2) ) ),0),
			[INOUT] = 2,
			dbo.GetDocumentName(G.LINK, G.OBJECT)
				+ CASE @varKSisNumber WHEN 1 THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')'
				ELSE '' END + ' '
		FROM dbo.G_PROV G, dbo.G_PROV1 G1, dbo.G_PROV2 G2, dbo.G_PROV_AP DT, dbo.G_PROV_AP KT, 
			dbo.KASSA_BOOK_F_ALLACCOUNTS() SA
		WHERE G1.LINK_UP = G.LINK AND G2.LINK_UP = G1.LINK
			AND DT.LINK_UP = G2.LINK AND KT.LINK_UP = G2.LINK
			AND DT.DB_KR = 0 AND KT.DB_KR = 1
			AND SA.LINK = KT.ACCOUNT 
			AND (
				KT.KAU in (Select KAU From dbo.KASSA_BOOK_F_KAU) 
			)
			AND G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE
			AND G.dep in (select link from @Dep_links)

	END
	ELSE BEGIN
		INSERT INTO @varKSTMP
		SELECT
			[DOC_LINK] = G.LINK,
			G.NUMBER,
			G.DATE_PROV,
			[ACCOUNT] =dbo.BK_GetAcctFullCode1(KT.ACCOUNT, KT.KBK, KT.SGU,  @varKSKBK, @varKSSGU, @varKSDateE),
			[FROMTO] = dbo.KassaBookGetFromTo(G.LINK, G.OBJECT, G2.LINK, 1, @varKSPrnComment),
			[BUDIN] = ISNULL ( (CAST ( ( case when DT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 0) then g2.summa
				else NULL end)  AS NUMERIC(28,2) ) ),0),
			[BUDOUT]= 0,
			[VNEIN] = ISNULL ( (CAST ( (case when DT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 1) then g2.summa
			else NULL end ) AS NUMERIC(28,2) )),0),
			[VNEOUT] = 0,
			[INOUT] = 1,
			dbo.GetDocumentName(G.LINK, G.OBJECT)
				+ CASE @varKSisNumber WHEN 1 THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')'
				ELSE '' END + ' '
		FROM 
			dbo.G_PROV G, 
			dbo.G_PROV1 G1, 
			dbo.G_PROV2 G2, 
			dbo.G_PROV_AP DT, 
			dbo.G_PROV_AP KT, 
			dbo.KASSA_BOOK_F_ALLACCOUNTS() SA
		WHERE G1.LINK_UP = G.LINK AND G2.LINK_UP = G1.LINK
			AND DT.LINK_UP = G2.LINK AND KT.LINK_UP = G2.LINK
			AND DT.DB_KR = 0 AND KT.DB_KR = 1
			AND SA.LINK = DT.ACCOUNT 
			AND G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE	
			AND G.dep in (select link from @Dep_links)
		
		UNION ALL
		SELECT 	
			[DOC_LINK] = G.LINK,
			G.NUMBER,
			G.DATE_PROV,
			[ACCOUNT] = dbo.BK_GetAcctFullCode1(DT.ACCOUNT, DT.KBK, DT.SGU,  @varKSKBK, @varKSSGU, @varKSDateE),
			[FROMTO] = dbo.KassaBookGetFromTo(G.LINK, G.OBJECT, G2.LINK, 0, @varKSPrnComment),
			[BUDIN] = 0,
			[BUDOUT] = ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 0) then g2.summa
				else NULL end)  AS NUMERIC(28,2) )),0),
			[VNEIN] = 0,
			[VNEOUT]= ISNULL ( (CAST( (case when KT.ACCOUNT in (select link_acc from kassa_book_f_acc where link_book=@varKSBook_link and type = 1) then g2.summa
				else NULL end)  AS NUMERIC(28,2) ) ),0),
			[INOUT] = 2,
			dbo.GetDocumentName(G.LINK, G.OBJECT)
				+ CASE @varKSisNumber WHEN 1 THEN '(' + CONVERT(VARCHAR(10), G.DATE_PROV, 104) + ')'
				ELSE '' END + ' '
		FROM dbo.G_PROV G, dbo.G_PROV1 G1, dbo.G_PROV2 G2, dbo.G_PROV_AP DT, dbo.G_PROV_AP KT, 
			dbo.KASSA_BOOK_F_ALLACCOUNTS() SA
		WHERE G1.LINK_UP = G.LINK AND G2.LINK_UP = G1.LINK
			AND DT.LINK_UP = G2.LINK AND KT.LINK_UP = G2.LINK
			AND DT.DB_KR = 0 AND KT.DB_KR = 1
			AND SA.LINK = KT.ACCOUNT 
			AND G.DATE_PROV BETWEEN @varKSDateB AND @varKSDateE	
			AND G.dep in (select link from @Dep_links)

	END



-- удалим все документы с нулевыми суммами
	delete  from @varKSTMP 
	where BUDIN=0 and BUDOUT=0 and VNEIN=0 and VNEOUT=0

	INSERT INTO @varKSRET (DOC_LINK, NUMBER, DOC_DATE, DATE_PROV,
		ACCOUNT, FROMTO, BUDIN, BUDOUT, VNEIN, VNEOUT,
		INOUT, OBJ_CODE)
	SELECT
		T.DOC_LINK,
		G.NUMBER,
		G.[DATE],
		G.DATE_PROV,
		T.ACCOUNT,
		CASE WHEN @intOPT_DOC = 1 THEN RTRIM (T.DOCNAME) + ' ' ELSE '' END
			+ CASE WHEN @intOPT_PAY = 1 THEN FROMTO ELSE '' END,
		SUM(T.BUDIN),
		SUM(T.BUDOUT),
		SUM(T.VNEIN),
		SUM(T.VNEOUT),
		T.INOUT,
		SO.CODE
	FROM @varKSTMP T
	INNER JOIN dbo.G_PROV G ON (G.LINK = T.DOC_LINK)
	INNER JOIN dbo.S_OBJECTS SO ON (SO.LINK = G.OBJECT)
	GROUP BY
		T.DOC_LINK,
		G.NUMBER,
		G.[DATE],
		G.DATE_PROV,
		T.ACCOUNT,
		CASE WHEN @intOPT_DOC = 1 THEN RTRIM (T.DOCNAME) + ' ' ELSE '' END
			+ CASE WHEN @intOPT_PAY = 1 THEN FROMTO ELSE '' END,
		T.INOUT,
		SO.CODE
	RETURN


END

GO


GRANT SELECT ON dbo.[KASSA_BOOK_TABLE_F_FN] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[PrintFSSRep_GetDpData]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION dbo.[PrintFSSRep_GetDpData]

GO

CREATE  FUNCTION dbo.PrintFSSRep_GetDpData(@varKSnLinkDep int)
RETURNS TABLE 
AS
	RETURN 
	SELECT 
		DD1.OKPO AS OKPO1, 
		DD1.INN AS INN1, DD1.KPP AS KPP1, DD1.FULL_NAME, DD1.NAME AS ORGNAME,
		DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME, 
		DD2.NALOG AS SONO, 
		DD1.OGRN AS OGRN1,
		LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A))) 
			+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
			+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
		AS ADDR_STR,
		CAST(NULL AS DATETIME) AS DATE_END,
		RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.' AS CHIEF_FIO,
		CHIEF.FM as CHIEF_FM,
		CHIEF.IM as CHIEF_IM,
		CHIEF.OT as CHIEF_OT,
		CHIEF.POST_NAME AS CHIEF_POST,
		RTRIM(CHIEF.PHONE) AS CH_PHONE,
		RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.' AS GLBUH_FIO,
		replace(replace(replace(REPLACE(RTRIM(GLBUH.PHONE),'-',''),' ',''),'(',''),')','') AS GL_PHONE,
		DD1.OGRN,
		(CASE WHEN ( convert(varchar(5),(select value from S_OPTIONS where object = (select top 1 link from s_objects where code = 'NASTR_USE_OKATO_OKTMO'))) = '1' 
				  or convert(varchar(5),(select value from S_OPTIONS where object = (select top 1 link from s_objects where code = 'NASTR_USE_OKATO_OKTMO'))) = 'ОКАТО') then DD1.OKATO ELSE '' END) AS OKATO,
		DD1.OKTMO,
		DD1.OKVED,
		DD1.OKPO,
		DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
		DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
		DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
		DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
		DD1.OKFS, --- код Общероссийского классификатора форм собственности;
		DD1.PFNUMBER,
		DA.PINDEX, DA.REGION, DA.REGCODE, DA.RAION, DA.GOROD, DA.NASEL, DA.STREET, DA.HOUSE, DA.KORP, DA.FLAT,
		TFOMS_RNUM = DD1.TFOMS_REG_NUM,
		TFOMS_KT = DD1.TFOMS_KT,
		DD1.FSS_KP_PC1, DD1.FSS_KP_PC2, DD1.FSS_KP_PC3
	FROM DICTIONARY_DEPARTMENT DD1 
		LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
		LEFT OUTER JOIN dbo.GetOtvFaceData(@varKSnLinkDep, 'Руководитель') chief on chief.link_dep = dd1.link
		LEFT OUTER JOIN dbo.GetOtvFaceData(@varKSnLinkDep, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
		LEFT JOIN DBO.DEP_ADRESS(@varKSnLinkDep) DA ON 1=1
	WHERE DD1.LINK = @varKSnLinkDep







GO


GRANT SELECT ON dbo.[PrintFSSRep_GetDpData] TO PUBLIC

GO




GO
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_6NDFL_PREPARE_R2]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_6NDFL_PREPARE_R2]

GO
-- exec SA_6NDFL_PREPARE_R2 '2016', 1 , '1' ,95494

CREATE PROCEDURE dbo.SA_6NDFL_PREPARE_R2 @dBDATE datetime /* начало отчетного периода */, 
									 @dEDATE DATETIME /* конец отчетного периода */,
									 @cBUFFID_NAME VARCHAR(10), /*наименование таблицы физ лиц в буфере*/
									 @nDep_link int 	/* линк организации */
AS




IF OBJECT_ID('tempdb..#FIZ_VID_DOH') IS NOT NULL 
BEGIN 


	DECLARE
		@DEP_LINK INT 
		
	SET @DEP_LINK = @nDep_link	
	set @cBUFFID_NAME = LTRIM(RTRIM(@cBUFFID_NAME))


	SET DATEFIRST 7

		create table #S_J_C_SHORT (link int,LINK_FACE int,PERS_LINK int, link_empl int, link_doc INT, link_pays int, 
								 name_pays VARCHAR(60), link_vkr int,link_ekr int, typ_per tinyint, typ_oper tinyint, 
								 summa numeric(18,2), link_inc int, period_begin datetime,period_end datetime, date1 datetime, 
								 date2 datetime, link_dep INT ,way_calc INT, way_name VARCHAR(50), type_doc VARCHAR(100), 
								 num_doc VARCHAR(30), Dt_doc datetime, comm_doc VARCHAR(254), CODE VARCHAR(30))

		Insert into #S_J_C_SHORT (LINK_FACE, PERS_LINK, link_empl,link_doc, link_pays, 
								 name_pays,link_vkr, link_ekr, typ_per, typ_oper, 
								 summa,link_inc, period_begin, period_end, date1, 
								 date2,link_dep,way_calc, way_name,type_doc, 
								 num_doc,Dt_doc,comm_doc, CODE)
		Select E.PERS_LINK, JC.PERS_LINK, JC.LINK_EMPL, JC.link_doc, P.LINK, 
				name_pays = p.name, link_vkr, ISNULL(JC.LINK_EKR,P.LINK_EKR), P.TYP_PER, P.OBJECT, 
				summa, P.LINK_INC,
			period_begin = (Case 
							when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code = 'DOCUMENTS_ADD_TABEL'
							then JC.DATE_BEGIN else JC.period_begin 
							end) ,
			JC.PERIOD_END,
			JC.DATE_BEGIN,
			JC.DATE_END,
			JC.LINK_DEP ,
			P.WAY_CALC ,
			way_name = w.name,
			type_doc = sd.[TYPE], 
			num_doc = sd.NUMBER,
			Dt_doc = sd.[DATE], 
			comm_doc = sd.COMMENTARY, 
			CODE = sd.CODE
		from 
			dbo.CALCULATE_JURNAL JC 
			INNER JOIN dbo.NDFL_GroupTax() T ON JC.LINK_PAYS=T.LINK_PAYS
			LEFT JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
			LEFT JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
			LEFT JOIN dbo.WAY_CALC w ON w.CODE = p.way_calc AND w.[TYPE] = 1 
			LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
			LEFT JOIN dbo.SALARY_FULL_JURNAL_DOC sd ON sd.link = jc.LINK_DOC
		where
			(
					(ISNULL(d.code,'') <> 'DOCUMENTS_ADD_TABEL') and (JC.PERIOD_BEGIN between @dBDATE AND @dEDATE)
					or 
					ISNULL(d.code,'') = 'DOCUMENTS_ADD_TABEL'
					and (JC.DATE_BEGIN between @dBDATE AND @dEDATE or JC.PERIOD_BEGIN between @dBDATE AND @dEDATE )
					

				)
			AND 
				(	-->>NEW
				E.PERS_LINK in (select LINK from dbo.BufferGetTableById(@cBUFFID_NAME) )
				or
				JC.PERS_LINK in (select LINK from dbo.BufferGetTableById(@cBUFFID_NAME) )
				)	
			AND JC.LINK_DEP = @DEP_LINK 
		
		union all --Удержания
		SELECT LINK_FACE, PERS_LINK, link_empl, link_doc, link_pays, 
				 name_pays = p.name, sjc.link_vkr, sjc.link_ekr, sjc.typ_per, sjc.typ_oper, 
				 summa,sjc.link_inc, period_begin, period_end, date1, 
				 date2,SJC.link_dep, sjc.WAY_CALC, way_name = w.name,
				 type_doc = sd.[TYPE], 
				 num_doc = sd.NUMBER,
				 Dt_doc = sd.[DATE], 
				 comm_doc = sd.COMMENTARY, 
				 CODE = sd.CODE
		from dbo.S_J_C_SHORT SJC 
			LEFT JOIN DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC 
			LEFT JOIN dbo.SALARY_FULL_JURNAL_DOC sd ON sd.link = SJC.LINK_DOC
			LEFT JOIN dbo.PAYS P ON SJC.LINK_PAYS = P.LINK
			LEFT JOIN dbo.WAY_CALC w ON w.CODE = sjc.way_calc AND w.[TYPE] = 1
		where 
			SJC.LINK_DEP = @DEP_LINK
			and SJC.PERIOD_BEGIN between @dBDATE AND @dEDATE
			and TYP_OPER = 2




	-- таблица #S_J_C_SHORT включает в себя все операции по сотрудникам которые проводились за отчетный период , 
	-- из нее выделим отдельно физлиц-сотрудников , гпх, и уволенных сотрудников в отдельную таблицу , для уволенных добавим флаг DIS , у которых были начисления в отчетном периоде
	IF OBJECT_ID('tempdb..#FIZ_EMPL_TAB') IS NOT NULL DROP TABLE #FIZ_EMPL_TAB
	CREATE TABLE #FIZ_EMPL_TAB (LINK_FACE INT, PERS_LINK INT , LINK_EMPL INT, INOSTR int, DIS TINYINT , DATE_DIS DATETIME)
	INSERT INTO #FIZ_EMPL_TAB (LINK_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS)
	SELECT sjc.LINK_FACE,
		sjc.pers_link,
		sjc.link_empl,
		INOSTR = CASE WHEN (SELECT TOP 1 code FROM citizenship WHERE link = p.CITIZ_LINK ) NOT IN('1','2') THEN 1 
					 ELSE 0 END,
		dis = CASE WHEN IDF.empl_link IS NOT NULL THEN 1 ELSE 0 END,
		IDF.DIS_DATE
	FROM 	#S_J_C_SHORT sjc
	INNER JOIN dbo.PERSON p ON p.link = ISNULL(sjc.LINK_FACE,sjc.pers_link) 
	left JOIN dbo.item_dis_face IDF ON IDF.empl_link = sjc.link_empl AND IDF.DIS_DATE BETWEEN @dBDATE AND @dEDATE AND IDF.ACTIVE = 1
	WHERE sjc.typ_oper = 1
	GROUP BY sjc.LINK_FACE, sjc.pers_link , sjc.link_empl, IDF.DIS_DATE, IDF.empl_link , p.CITIZ_LINK 

	---------- Создание таблицы содержащей в себе данные по Сотрудникам и документам которые на них сформированы,
	---------- Даты , суммы тоже будем добавлять в эту таблицу
	IF OBJECT_ID('tempdb..#FIZ_DOH') IS NOT NULL DROP TABLE #FIZ_DOH
	CREATE TABLE #FIZ_DOH(link_FACE INT, PERS_LINK INT, LINK_EMPL INT, INOSTR int, DIS TINYINT , DATE_DIS DATETIME , link_doc INT ,OBJ_CODE CHAR(30), OBJ_NAME varchar(254)
								, VID_DOH CHAR(3), mon int,summa_doh NUMERIC(18,2),summa_nal NUMERIC(18,2),DATE_DOH DATETIME,DATE_NAL datetime, DATE_ISCH DATETIME , DED tinyint )

	--- группа 1 ДОГОВОРНИКИ
	-- EXECUTE KIR_EXEC_QUERY 20179,'''2016'',1,20185'

	;WITH V AS
	(
	SELECT PERS_LINK, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V, s.link
	FROM
		DBO.sdoc s 
		INNER JOIN dbo.SDOC_VEDOM_DGH sd ON sd.LINK_UP = s.LINK --AND sd.TYP_PAYMENT = 1
		INNER JOIN dbo.SDOC_VEDOM_DGH_TABLE1 T ON T.LINK_UP = s.LINK
	WHERE
		sd.TYP_PAYMENT IN ( 1,3)
		AND
		S.DATE BETWEEN @dBDATE AND @dEDATE
	GROUP BY	
		PERS_LINK, dbo.DateEndOfMonth(S.DATE_CALC), s.link	 
	),
	sj AS 
	(
	SELECT 
		sj.PERS_LINK
		,period_end = dbo.dateendofmonth(sj.PERIOD_BEGIN)
		,summa_doh = SUM(sj.summa)
		,sj.link_doc 
	FROM 	
		#S_J_C_SHORT sj 
		INNER JOIN #FIZ_EMPL_TAB f ON f.PERS_LINK = sj.PERS_LINK
	WHERE
		sj.typ_oper = 1
	GROUP BY
		sj.PERS_LINK, dbo.dateendofmonth(sj.PERIOD_BEGIN),sj.link_doc 
	)	
	INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS, link_doc,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED, link_ved)
	SELECT NULL
		 , sj.PERS_LINK
		 , NULL
		 , INOSTR 
		 , F.DIS
		 , F.date_DIS
		 , sj.link_doc
		 , OBJ_CODE = NULL --sj.code
		 , OBJ_NAME = null -- so.NAME
		 /* -- Вид дохода - 'DZP' - все начисления по ДГХ 
						 - 'UV' - все увольнительные выплаты
						 - 'DR' - Другие выплаты 
						 - 'ZP' - Зарплата		 
		 */			 
		 , VID_DOH = 'DZP'		 						 				 						 
		 , MON = MONTH(sj.period_end)
		 , summa_doh = sj.summa_doh
		 , summa_nal = CASE WHEN INOSTR = 1
							THEN ROUND((sj.summa_doh * 0.30 ),0)
							ELSE ROUND((sj.summa_doh * 0.13 ),0)
						end
		 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
		 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
					 V.DATE_DV
							 
		 /*дата налога */
		 , DATE_NAL = isnull( V.DATE_V,null) /*если документы по среднему (компенсации при увольнении) - дата увольнения */
		 , DATE_ISCH = CASE WHEN ISNULL(V.DATE_V,'') <> '' THEN dbo.next_work_day(V.DATE_V) ELSE NULL END
						 
		 , DED = NULL
		 , link_ved = v.link
	FROM 	
		#FIZ_EMPL_TAB f
		INNER JOIN sj ON f.PERS_LINK = sj.PERS_LINK
		INNER JOIN V ON V.PERS_LINK = sj.PERS_LINK AND V.DATE_DV = sj.period_end
	----------------------------------------------------

	-------------------------------------------------------------------------
	--- группа 2 УВОЛЕННЫЕ
-- EXECUTE KIR_EXEC_QUERY 20582,'''2016'',2,20586'	
	

	;WITH V AS
	(
	SELECT t.link_EMPL, LINK_FACE = null, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V , s.link, T.LINK_EKR
	FROM
		DBO.sdoc s 
		INNER JOIN dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT IN( 1,3)
		INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
	WHERE
		sd.TYP_PAYMENT IN( 1,3)
		AND
		S.DATE BETWEEN @dBDATE AND @dEDATE
	GROUP BY	
		t.link_EMPL, dbo.DateEndOfMonth(S.DATE_CALC) , s.link, T.LINK_EKR
	),
	sj AS 
	(
	SELECT 
		sj.LINK_FACE , sj.LINK_EMPL
		,f.DATE_DIS
		,period_end = dbo.dateendofmonth(sj.PERIOD_BEGIN)
		,summa_doh = SUM(sj.summa)
		,sj.link_doc 
		, sj.link_ekr 
		, cod_ded = CASE WHEN isnull(dti.COD_DED,'') <> '' THEN dti.COD_DED ELSE '' END
		, summa_ded = isnull(dti.summa_ded,0)
		, summa_ded_other = CASE when sj.code= 'DOCUMENTS_ADD_TABEL' 
								then ( ISNULL((SELECT sum(sdm.summa)FROM 
									dbo.EMPL EP 
									INNER JOIN SAL_DED_MONTH Sdm ON (EP.LINK = Sdm.LINK_EMPL AND dbo.DateEndofMonth(sdm.DATE_DED) = dbo.dateendofmonth(sj.PERIOD_BEGIN) AND sdm.TYPE = 1)
									INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION dT ON dT.LINK = Sdm.REF_DED 
						 	where 
									DT.NUMBER in (	1 , 4 --вычеты на детей
														)
									AND			
										EP.DEP_LINK = sj.link_dep 	and Sdm.SUMMA <> 0
										and ep.pers_link = sj.LINK_FACE
										AND Sdm.link_ekr =SJ.LINK_EKR 
									--GROUP BY 
									--EP.PERS_LINK,ep.link, dT.CODE,EP.DEP_LINK
									)
								 ,0))
								ELSE 0 END
	FROM 	
		#S_J_C_SHORT sj 
		INNER JOIN #FIZ_EMPL_TAB f ON sj.LINK_FACE = f.LINK_FACE AND sj.LINK_EMPL = f.LINK_EMPL
		INNER JOIN dbo.sdoc s ON s.LINK = sj.link_doc
		LEFT JOIN DBO.DICTIONARY_TYP_INCOMS AS dti ON dti.link = sj.link_inc 
	WHERE
		sj.typ_oper = 1
		AND F.DIS = 1
		AND (
		(sj.code = 'DOCUMENTS_CALC_AVG' AND s.[date] BETWEEN dbo.datebeginofmonth(f.date_DIS) and dbo.DateEndOfMonth(f.date_DIS))
		OR
		 (sj.code <> 'DOCUMENTS_CALC_AVG' AND s.[date] BETWEEN dbo.datebeginofmonth(f.date_DIS) and dbo.DateEndOfMonth(f.date_DIS) ) 
		)
	GROUP BY
		sj.LINK_FACE , sj.LINK_EMPL, f.DATE_DIS, dbo.dateendofmonth(sj.PERIOD_BEGIN),sj.link_doc, sj.code, sj.link_ekr, sj.LINK_EKR , dti.COD_DED , dti.summa_ded,sj.link_dep 
	)	


	--INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS,link_doc,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED, link_ved, sum_ded , sum_ded_other )
	SELECT f.link_FACE
		 , PERS_LINK = null
		 , f.LINK_EMPL
		 , INOSTR 
		 , F.DIS
		 , F.date_DIS
		 , sj.link_doc 
		 , OBJ_CODE = NULL --sj.code
		 , OBJ_NAME = null -- so.NAME
		 /* -- Вид дохода - 'DZP' - все начисления по ДГХ 
						 - 'UV' - все увольнительные выплаты
						 - 'DR' - Другие выплаты 
						 - 'ZP' - Зарплата		 
		 */			 
		 , VID_DOH = 'UV'		 						 				 						 
		 , MON = MONTH(sj.period_end)
		 , summa_doh = sj.summa_doh
		 , summa_nal = CASE WHEN cod_ded <> '' 
							THEN (CASE WHEN INOSTR = 1
									THEN (CASE WHEN sj.summa_doh < isnull(sj.summa_ded,0) 
											THEN 0 
											ELSE ROUND(((sj.summa_doh - sj.summa_ded) * 0.30 ),0) 
									 END )
									ELSE (CASE WHEN sj.summa_doh < isnull(sj.summa_ded,0) 
											THEN 0 
											ELSE ROUND(((sj.summa_doh - sj.summa_ded) * 0.13 ),0) 
									 END )
								 END)
							ELSE (CASE WHEN INOSTR = 1
									THEN ROUND((sj.summa_doh * 0.30 ),0)
									ELSE ROUND((sj.summa_doh * 0.13 ),0)
								 END)	
							END		 
								
		 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
		 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
					 F.DATE_DIS
							 
		 /*дата налога */
		 , DATE_NAL = V.DATE_V /*если документы по среднему (компенсации при увольнении) - дата увольнения */
		 , DATE_ISCH = dbo.next_work_day(V.DATE_V) 
						 
		 , DED = case when cod_ded <> '' THEN 1 ELSE 0 end 
		 , link_ved = v.link
		 , sj.link_ekr 
		 , sum_ded = sj.summa_ded
		 , sum_ded_other = ISNULL((select isnull(SUM(summa),0)  from #S_J_C_SHORT sj1  
							where sj1.LINK_EMPL = sj.link_empl
							AND sj1.link_ekr =sj.link_ekr
							AND sj1.TYP_oper = 2
							AND sj1.code = 'DOCUMENTS_INCOME_TAX'
							AND dbo.dateendofmonth(sj1.period_end) = sj.period_end
							GROUP BY sj1.period_begin, sj1.period_end
							) ,0)
	INTO #FIZ_VID_DOH_UV
	FROM 	
		#FIZ_EMPL_TAB f
		INNER JOIN sj ON f.link_face = sj.link_face and f.link_empl = sj.link_empl
		INNER JOIN V ON /*V.link_face = sj.link_face AND*/ v.link_empl = sj.link_empl AND V.DATE_DV = sj.period_end AND sj.link_ekr = v.link_ekr
	WHERE F.DIS = 1 

 SELECT 
		link_FACE, 
		PERS_LINK, 
		LINK_EMPL, 
		INOSTR , 
		DIS, 
		DATE_DIS, 
		link_doc,
		OBJ_CODE, 
		OBJ_NAME, 
		VID_DOH, 
		mon,
		summa_doh = SUM(summa_doh),
		summa_nal = SUM(summa_nal), 
		DATE_DOH,
		DATE_NAL, 
		DATE_ISCH, 
		DED, 
		link_ved, 
		link_ekr,
		SUM_DED,
		SUM_DED_OTHER
 INTO #FIZ_VID_DOH_UV1 
 FROM #FIZ_VID_DOH_UV
 GROUP BY link_FACE, PERS_LINK,LINK_EMPL,INOSTR ,DIS,DATE_DIS, link_doc,OBJ_CODE, OBJ_NAME, VID_DOH,mon,	DATE_DOH,DATE_NAL, DATE_ISCH,DED, link_ved,link_ekr,SUM_DED, SUM_DED_OTHER



---  Обработаем суммы налогов в курсоре ,  для того чтобы раскидать налоги по каждой строчке  
DECLARE @Cur01 CURSOR,@Cur02 CURSOR,  @LINK_EKR01 INT  , @link_FACE01 INT  ,
          @link_doc01 INT , @DATE_DOH01 DATETIME, 
		@SUMMA_NAL01 NUMERIC(18,2) , @SUM_DED_OTHER01 NUMERIC(18,2) , @SUMMA_RASCH01 NUMERIC(18,2), @RNUM01 INT , @NUM01 int, @num101 INT ,
		@LINK_EKR02 INT ,@link_FACE02 INT,@link_doc02 INT , @DATE_DOH02 DATETIME,@SUMMA_NAL02 NUMERIC(18,2) , @SUM_DED_OTHER02 NUMERIC(18,2)

SET @Cur01 = CURSOR FORWARD_ONLY



FOR SELECT  link_FACE, DATE_DOH,LINK_EKR, sum(SUMMA_NAL)
		FROM #FIZ_VID_DOH_UV1 GROUP BY link_FACE, DATE_DOH,LINK_EKR ORDER BY link_FACE, DATE_DOH, LINK_EKR

OPEN @Cur01
FETCH NEXT FROM @Cur01 INTO @link_FACE01,@DATE_DOH01,@LINK_EKR01, @SUMMA_NAL01
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN
		SET @NUM01 = 1 
		SET @RNUM01 = 0
		SET @SUM_DED_OTHER01 = ISNULL((SELECT TOP 1 sum_ded_other FROM #FIZ_VID_DOH_UV1  WHERE  link_FACE = @link_FACE01 AND LINK_EKR = @LINK_EKR01 and DATE_DOH= @DATE_DOH01) ,0 )  
		IF @SUM_DED_OTHER01 <> @SUMMA_NAL01
			BEGIN

				SET  @RNUM01  = (SELECT COUNT(*) FROM #FIZ_VID_DOH_UV1  WHERE  link_FACE = @link_FACE01 AND LINK_EKR = @LINK_EKR01 and DATE_DOH= @DATE_DOH01)  
				IF @RNUM01  > 1
				BEGIN 
					-- EXECUTE KIR_EXEC_QUERY 20185,'''2016'',1,20193'
					SET @Cur02 = CURSOR FORWARD_ONLY
					FOR SELECT  link_FACE, DATE_DOH,LINK_EKR,link_doc, SUMMA_NAL
						FROM #FIZ_VID_DOH_UV1 
						WHERE link_FACE = @link_FACE01 
							AND DATE_DOH = @DATE_DOH01 
							and LINK_EKR = @LINK_EKR01  
						ORDER BY link_FACE, DATE_DOH, LINK_EKR,link_doc
						OPEN @Cur02
						FETCH NEXT FROM @Cur02 INTO @link_FACE02,@DATE_DOH02,@LINK_EKR02,@link_doc02, @SUMMA_NAL02
						WHILE (@@fetch_status <> -1)
						BEGIN
							IF (@@fetch_status <> -2)
							BEGIN

								IF @NUM01 <=  @RNUM01
								BEGIN 
									--
									
									IF @NUM01 <  @RNUM01
											BEGIN 
													UPDATE #FIZ_VID_DOH_UV1 
														SET  SUMMA_NAL =  0
													WHERE link_FACE = @link_FACE02 
													AND DATE_DOH = @DATE_DOH02 
													and LINK_EKR = @LINK_EKR02
													and link_doc = @link_doc02  

											END
											ELSE 
											begin	
												
												IF @NUM01 = @RNUM01  
												BEGIN
			  							
													UPDATE #FIZ_VID_DOH_UV1 
														SET  SUMMA_NAL =  @SUM_DED_OTHER01
														WHERE link_FACE = @link_FACE02 
														AND DATE_DOH = @DATE_DOH02 
														and LINK_EKR = @LINK_EKR02
														and link_doc = @link_doc02  
											
												end
											END 
								end 
								
							END	
								
							FETCH NEXT FROM @Cur02 INTO @link_FACE02,@DATE_DOH02,@LINK_EKR02,@link_doc02, @SUMMA_NAL02
							SET @NUM01 = @NUM01 + 1
				
						END	
						CLOSE @Cur02
						DEALLOCATE @Cur02		
				--	IF @SUMMA_NAL  < @SUMMA_RASCH
				--	   SET @SUMMA_RASCH =  @SUMMA_RASCH - @SUMMA_NAL
				--	ELSE
				--	   IF @link_FACE_OLD = @link_FACE	AND @DATE_DOH_OLD =  @DATE_DOH  AND @LINK_EKR_OLD = @LINK_EKR AND  @link_doc_OLD <> @link_doc
				--		BEGIN
				--			SELECT @link_FACE , @DATE_DOH , @LINK_EKR , @link_doc , @SUMMA_NAL , @SUM_DED_OTHER
				--			set @link_doc_OLD = @link_doc
				--		END
				--	   ELSE BEGIN 
				--   				SET @link_FACE_OLD= @link_FACE
				--   				SET @DATE_DOH_OLD =  @DATE_DOH 
				--   				SET @LINK_EKR_OLD = @LINK_EKR
				--   				SET @link_doc_OLD = @link_doc
				--   			END 	
				END	
				ELSE 
					BEGIN  
						UPDATE #FIZ_VID_DOH_UV1 SET SUMMA_NAL = @SUM_DED_OTHER01
						WHERE link_FACE = @link_FACE01 AND LINK_EKR = @LINK_EKR01 and DATE_DOH= @DATE_DOH01
						set @SUMMA_RASCH01 = 0
				END 
			END 

    END

	FETCH NEXT FROM @Cur01 INTO @link_FACE01,@DATE_DOH01,@LINK_EKR01, @SUMMA_NAL01
END

CLOSE @Cur01
DEALLOCATE @Cur01  

/*UPDATE #FIZ_VID_DOH_UV1 
SET summa_nal = CASE WHEN INOSTR = 1 then ROUND(((summa_doh - (SUM_DED_OTHER- SUM_DED)) * 0.30 ),0) 
									 
									ELSE ROUND(((summa_doh - (SUM_DED_OTHER - SUM_DED)) * 0.13 ),0) 
								 
 END
FROM #FIZ_VID_DOH_UV1 */ 

 
 INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS, link_doc,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED, link_ved , sum_ded ) 
 SELECT
		link_FACE, 
		PERS_LINK, 
		LINK_EMPL, 
		INOSTR , 
		DIS, 
		DATE_DIS, 
		link_doc,
		OBJ_CODE, 
		OBJ_NAME, 
		VID_DOH, 
		mon,
		summa_doh, 
		summa_nal, 
		DATE_DOH,
		DATE_NAL, 
		DATE_ISCH, 
		DED, 
		link_ved ,
		SUM_DED_OTHER 
 FROM #FIZ_VID_DOH_UV1 	

DROP TABLE #FIZ_VID_DOH_UV1
DROP TABLE #FIZ_VID_DOH_UV

 ---------------------------------------------
 -- EXECUTE KIR_EXEC_QUERY 20582,'''2016'',1,0,0,20586'  
	-------------------------------------------------------------------------
	--- группа 3 ДРУГОЕ (больничные, по уходу за ребенком, отпускные, расчеты по среднему (не компенсация) , расчеты по сумме)
	;WITH V AS
	(
	SELECT t.link_EMPL, LINK_FACE = null, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V , sv2.link_pay ,max(s.link) AS link
	FROM
		
		DBO.sdoc s 
		INNER JOIN dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT =3
		INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
		LEFT JOIN SDOC_VEDOM_TABLE2 SV2 ON SV2.LINK_UP = s.LINK
		
	WHERE
		sd.TYP_PAYMENT =3
		AND
		S.DATE BETWEEN @dBDATE AND @dEDATE
	GROUP BY	
		t.link_EMPL, dbo.DateEndOfMonth(S.DATE_CALC) , sv2.link_pay 
	),
	sj AS 
	(
	SELECT 
		sj.LINK_FACE , sj.LINK_EMPL
		,period_end = max(sj.period_end)
		,summa_doh = SUM(sj.summa)
		,sj.CODE , sj.link_pays
		,sj.link_doc 
		, cod_ded = CASE WHEN isnull(dti.COD_DED,'') <> '' THEN dti.COD_DED ELSE '' end 
		, summa_ded = isnull(dti.summa_ded,0)
	FROM 	
		#S_J_C_SHORT sj 
		INNER JOIN #FIZ_EMPL_TAB f ON sj.LINK_FACE = f.LINK_FACE AND sj.LINK_EMPL = f.LINK_EMPL
		INNER JOIN dbo.sdoc s ON s.LINK = sj.link_doc
		LEFT JOIN DBO.DICTIONARY_TYP_INCOMS AS dti ON dti.link = sj.link_inc 
	WHERE
		sj.typ_oper = 1
		AND ((f.dis = 0 AND sj.code = 'DOCUMENTS_CALC_AVG' ) 
				OR (f.dis = 1 AND sj.code = 'DOCUMENTS_CALC_AVG' and s.[date] < dbo.datebeginofmonth(f.date_DIS)))
		OR
		 (sj.code = 'DOCUMENTS_ADD_SUMMA' AND isnull(dti.COD_DED,'') <> '' ) 
		OR 
		 sj.code IN('DOCUMENTS_ADD_FURLOUGH' , 'DOCUMENTS_ADD_ARCHE') 
	GROUP BY
		sj.LINK_FACE , sj.LINK_EMPL, sj.period_end,sj.CODE, sj.link_pays ,sj.link_doc ,dti.COD_DED,dti.summa_ded
	)	

	INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS,link_doc,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED , link_ved)
	SELECT f.link_FACE
		 , null
		 , f.LINK_EMPL
		 , INOSTR 
		 , F.DIS
		 , F.date_DIS
		 , sj.link_doc 
		 , OBJ_CODE = NULL --sj.code
		 , OBJ_NAME = null -- so.NAME
		 /* -- Вид дохода - 'DZP' - все начисления по ДГХ 
						 - 'UV' - все увольнительные выплаты
						 - 'DR' - Другие выплаты 
						 - 'ZP' - Зарплата		 
		 */			 
		 , VID_DOH = 'DR'		 						 				 						 
		 , MON = MONTH(sj.period_end)
		 , summa_doh = sj.summa_doh
		 , summa_nal = CASE WHEN cod_ded <> '' 
							THEN (CASE WHEN INOSTR = 1
									THEN (CASE WHEN sj.summa_doh < isnull(sj.summa_ded,0) 
											THEN 0 
											ELSE ROUND(((sj.summa_doh - sj.summa_ded) * 0.30 ),0) 
									 END )
									ELSE (CASE WHEN sj.summa_doh < isnull(sj.summa_ded,0) 
											THEN 0 
											ELSE ROUND(((sj.summa_doh - sj.summa_ded) * 0.13 ),0) 
									 END )
								 END)
							ELSE (CASE WHEN INOSTR = 1
									THEN ROUND((sj.summa_doh * 0.30 ),0)
									ELSE ROUND((sj.summa_doh * 0.13 ),0)
								 END)	
							END		
		 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
		 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
					 v.date_v
							 
		 /*дата налога */
		 , DATE_NAL = v.date_v
		 /*если документы по среднему (компенсации при увольнении) - дата увольнения */
		 , DATE_ISCH = dbo.next_work_day (sj.period_end-1)-- dbo.is_it_work_day(sj.period_end)
			 
		 , DED = case when cod_ded <> '' THEN 1 ELSE 0 end
		 , v.link
	FROM 	
		#FIZ_EMPL_TAB f
		INNER JOIN sj ON f.link_face = sj.link_face and f.link_empl = sj.link_empl and sj.code IN( 'DOCUMENTS_ADD_FURLOUGH' , 'DOCUMENTS_ADD_ARCHE')	 
		INNER JOIN V ON /*V.link_face = sj.link_face AND*/ v.link_empl = sj.link_empl AND sj.period_end = V.DATE_dv AND sj.link_pays =  v.link_pay

-- EXECUTE KIR_EXEC_QUERY 20582,'''2016'',1,0,0,20586'  
	--- Та же 3 группа , кроме больничных и отпускных
-----------------------------------------------------------	
	;WITH V AS
	(
	SELECT t.link_EMPL, LINK_FACE = null, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V , SV2.link_pay, max(s.link) AS link
	FROM
		
		DBO.sdoc s 
		INNER JOIN dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT =3
		INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
		LEFT JOIN SDOC_VEDOM_TABLE2 SV2 ON SV2.LINK_UP = s.LINK 
		LEFT JOIN SDOC_VEDOM_TABLE3 SV3 ON SV3.LINK_UP = s.LINK 

	WHERE
		sd.TYP_PAYMENT =3
		AND
		S.DATE BETWEEN @dBDATE AND @dEDATE
		---AND t.LINK_EMPL IN (351,353)
	GROUP BY	
		t.link_EMPL, dbo.DateEndOfMonth(S.DATE_CALC) , SV2.link_pay

	),
	sj AS 
	(
	SELECT 
		sj.LINK_FACE , sj.LINK_EMPL
		,f.DATE_DIS
		,period_end = sj.period_end
		,summa_doh = SUM(sj.summa)
		,sj.CODE , sj.link_pays
		,COD_DED = ISNULL(dti.COD_DED,'')
		,sj.link_doc 
		, summa_ded = isnull(dti.summa_ded,0)
	FROM 	
		#S_J_C_SHORT sj 
		INNER JOIN #FIZ_EMPL_TAB f ON sj.LINK_FACE = f.LINK_FACE AND sj.LINK_EMPL = f.LINK_EMPL
		INNER JOIN dbo.sdoc s ON s.LINK = sj.link_doc
		LEFT JOIN DBO.DICTIONARY_TYP_INCOMS AS dti ON dti.link = sj.link_inc 
	WHERE
		sj.typ_oper = 1
		AND ((f.dis = 0 AND sj.code = 'DOCUMENTS_CALC_AVG' ) 
				OR (f.dis = 1 AND sj.code = 'DOCUMENTS_CALC_AVG' and s.[date] < dbo.datebeginofmonth(f.date_DIS)))
		OR
		 (sj.code = 'DOCUMENTS_ADD_SUMMA' AND isnull(dti.COD_DED,'') <> '' 
	 							AND EXISTS (select * from #S_J_C_SHORT sj1 
													INNER JOIN #FIZ_EMPL_TAB f1 ON sj1.LINK_FACE = f1.LINK_FACE AND sj1.LINK_EMPL = f1.LINK_EMPL
													WHERE 
													 sj1.typ_oper = 2
													AND sj1.code ='DOCUMENTS_INCOME_TAX' 
													AND sj1.LINK_FACE = sj.LINK_FACE	AND sj1.LINK_EMPL = sj.LINK_EMPL	
													AND dbo.dateendofmonth(sj1.period_end) = dbo.dateendofmonth(sj.period_end)
	 										)	
		 )
		--AND sj.link_face = 287
	GROUP BY
		sj.LINK_FACE , sj.LINK_EMPL, f.DATE_DIS, sj.period_end,sj.CODE, sj.link_pays,dti.COD_DED ,sj.link_doc ,dti.summa_ded
	)	

	INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS, link_doc ,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED,link_ved)
	SELECT f.link_FACE
		 , null
		 , f.LINK_EMPL
		 , INOSTR 
		 , F.DIS
		 , F.date_DIS
		 , sj.link_doc 
		 , OBJ_CODE = NULL --sj.code
		 , OBJ_NAME = null -- so.NAME
		 /* -- Вид дохода - 'DZP' - все начисления по ДГХ 
						 - 'UV' - все увольнительные выплаты
						 - 'DR' - Другие выплаты 
						 - 'ZP' - Зарплата		 
		 */			 
		 , VID_DOH = 'DR'		 						 				 						 
		 , MON = MONTH(sj.period_end)
		 , summa_doh = sj.summa_doh
		 , summa_nal = CASE WHEN cod_ded <> '' 
							THEN (CASE WHEN INOSTR = 1
									THEN (CASE WHEN sj.summa_doh < isnull(sj.summa_ded,0) 
											THEN 0 
											ELSE ROUND(((sj.summa_doh - sj.summa_ded) * 0.30 ),0) 
									 END )
									ELSE (CASE WHEN sj.summa_doh < isnull(sj.summa_ded,0) 
											THEN 0 
											ELSE ROUND(((sj.summa_doh - sj.summa_ded) * 0.13 ),0) 
									 END )
								 END)
							ELSE (CASE WHEN INOSTR = 1
									THEN ROUND((sj.summa_doh * 0.30 ),0)
									ELSE ROUND((sj.summa_doh * 0.13 ),0)
								 END)	
							END		
					
		 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
		 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
					 v.DATE_V
							 
		 /*дата налога */
		 , DATE_NAL = v.DATE_V/*если документы по среднему (компенсации при увольнении) - дата увольнения */
		 , DATE_ISCH = dbo.next_work_day(sj.period_end) 
						 
		 , DED = case when cod_ded <> '' THEN 1 ELSE 0 end
		 , v.link
	FROM 	
		#FIZ_EMPL_TAB f
		INNER JOIN sj ON f.link_face = sj.link_face and f.link_empl = sj.link_empl
		left JOIN V ON /*V.link_face = sj.link_face AND*/ v.link_empl = sj.link_empl AND sj.period_end = V.DATE_DV AND   v.link_pay = sj.link_pays


	-------------------------------------------------------------------------
	--- группа 4 Зарплата 
	--- ОТСАЛЬНОЕ К ЗАРПЛАТЕ
--------------<<<<<<<<<<<<<<<<<<<<

--------------->>>>>>>>>>>>>>>>

--SELECT  isnull(SUM(summa),0) ,period_end ,sj1.link_ekr,sj1.link_vkr*/
 --from #S_J_C_SHORT sj1 
--WHERE sj1.LINK_FACE = 95 --AND sj1.LINK_EMPL = 135
--AND sj1.TYP_oper = 2
--AND (sj1.code = 'DOCUMENTS_INCOME_TAX' OR sj1.code = 'DOCUMENTS_DED_PAYROLL')
--AND dbo.dateendofmonth(sj1.period_end)  = '20160331'
--GROUP BY	sj1.period_begin, sj1.period_end , sj1.link_ekr,sj1.link_vkr
--ORDER BY sj1.period_begin 


	;WITH V AS
	(
	SELECT t.link_EMPL, LINK_FACE = null, dbo.DateEndOfMonth(S.DATE_CALC) AS DATE_DV, MAX(S.DATE) AS DATE_V, sv2.LINK_PAY, LINK_PAY3 = sv3.LINK_PAY, s.link,Sv3.LINK_EKR 
	FROM
		DBO.sdoc s 
		INNER JOIN dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT = 1
		INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
		LEFT JOIN SDOC_VEDOM_TABLE2 SV2 ON SV2.LINK_UP = s.LINK 
		LEFT JOIN SDOC_VEDOM_TABLE3 SV3 ON SV3.LINK_UP = s.LINK AND SV3.TYP_PAY = 1 AND SV3.LINK_EMPL = T.LINK_EMPL
	WHERE
		sd.TYP_PAYMENT = 1
		AND
		S.DATE BETWEEN @dBDATE AND @dEDATE
		and ( ISNULL(sv2.LINK_PAY, isnull(sv3.LINK_PAY,0)) <> 0 OR T.SUMMA > 0)
		AND NOT EXISTS (SELECT TOP 1 * FROM
							DBO.sdoc s1 
							INNER JOIN dbo.SDOC_VEDOM sd1 ON sd1.LINK_UP = s1.LINK AND sd1.TYP_PAYMENT = 1
							INNER JOIN dbo.SDOC_VEDOM_TABLE1 T1 ON T1.LINK_UP = s.LINK
							LEFT JOIN SDOC_VEDOM_TABLE2 SV12 ON SV12.LINK_UP = s.LINK 
							LEFT JOIN SDOC_VEDOM_TABLE3 SV13 ON SV13.LINK_UP = s.LINK AND SV13.TYP_PAY = 1 AND SV13.LINK_EMPL = T1.LINK_EMPL
						WHERE
							sd1.TYP_PAYMENT = 1
							AND
							S1.DATE =S.DATE 
							AND s1.DATE_CALC = s.DATE_CALC
							AND T1.LINK_EMPL = T.LINK_EMPL
							and ( ISNULL(sv12.LINK_PAY, isnull(sv13.LINK_PAY,0)) = 0 and T1.SUMMA > 0) 
							AND s1.link > s.link )
	GROUP BY	
		t.link_EMPL, S.DATE_CALC,sv2.LINK_PAY , sv3.LINK_PAY, s.link,Sv3.LINK_EKR
	),
	sj AS 
	(
	SELECT 
		sj.LINK_FACE , sj.LINK_EMPL
		,period_end = CASE when sj.code IN( 'DOCUMENTS_ADD_ARCHE', 'DOCUMENTS_ADD_FURLOUGH') and month(sj.DATE2) = month(sj.period_end) then dbo.DateEndofMonth(sj.DATE2)
					 ELSE dbo.DateEndofMonth(SJ.PERIOD_END) END 
		,summa_doh = SUM(sj.summa)
		,sj.CODE
		,sj.LINK_PAYS
		,sj.link_doc 
		,SJ.LINK_EKR 
		,COD_DED = isnull(dti.COD_DED,'')
		, summa_ded = CASE WHEN isnull(dti.COD_DED,'') <> '' AND SUM(sj.summa) < isnull(dti.summa_ded,0) THEN SUM(sj.summa)
							else isnull(dti.summa_ded,0) end 
		, summa_ded_other = /*CASE when sj.code= 'DOCUMENTS_ADD_TABEL' 
								then ( ISNULL((SELECT sum(sdm.summa)FROM 
									dbo.EMPL EP 
									INNER JOIN SAL_DED_MONTH Sdm ON (EP.LINK = Sdm.LINK_EMPL AND dbo.DateEndofMonth(sdm.DATE_DED) = dbo.DateEndofMonth(SJ.PERIOD_END) AND sdm.TYPE = 1)
									INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION dT ON dT.LINK = Sdm.REF_DED 
						 	where 
									DT.NUMBER in (	1 , 4 --вычеты на детей
														)
									AND			
										EP.DEP_LINK = sj.link_dep 	and Sdm.SUMMA <> 0
										and ep.pers_link = sj.LINK_FACE
									--	AND Sdm.link_ekr =SJ.LINK_EKR 
									--GROUP BY 
									--EP.PERS_LINK,ep.link, dT.CODE,EP.DEP_LINK
									)
								 ,0))  
								 /*(SELECT SUM(month_ded) FROM DOCUMENTS_INCTAX di 
											LEFT JOIN  DOCUMENTS_INCTAX_TABLE dit ON dit.LINK = di.LINK 
											WHERE  dbo.DateEndofMonth(di.period) =  dbo.DateEndofMonth(SJ.PERIOD_END) 
											AND di.flag_jc = 1
											AND   dit.ref_empl =  sj.LINK_EMPL) */
								ELSE 0 END*/ 0
	FROM 	
		#S_J_C_SHORT sj 
		INNER JOIN #FIZ_EMPL_TAB f ON sj.LINK_FACE = f.LINK_FACE AND sj.LINK_EMPL = f.LINK_EMPL
		INNER JOIN dbo.sdoc s ON s.LINK = sj.link_doc
		LEFT JOIN DBO.DICTIONARY_TYP_INCOMS AS dti ON dti.link = sj.link_inc 
	WHERE
		sj.typ_oper = 1
		and 
		((f.dis <> 1 
		AND sj.code <> 'DOCUMENTS_CALC_AVG')
		OR (f.dis = 1 
		AND (sj.code <> 'DOCUMENTS_CALC_AVG' AND s.[date] < dbo.datebeginofmonth(f.date_DIS)
			 OR sj.code = 'DOCUMENTS_CALC_AVG' AND s.[date] < dbo.datebeginofmonth(f.date_DIS))))
		
		AND ( (sj.code IN( 'DOCUMENTS_ADD_FURLOUGH' , 'DOCUMENTS_ADD_ARCHE') 
				AND not EXISTS (SELECT TOP 1 *
						FROM
							DBO.sdoc s 
							INNER JOIN dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT = 3
							INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
							LEFT JOIN SDOC_VEDOM_TABLE2 SV2 ON SV2.LINK_UP = s.LINK 
						WHERE
							sd.TYP_PAYMENT = 3
							AND
							S.DATE BETWEEN SJ.PERIOD_BEGIN AND SJ.PERIOD_END
							AND sv2.LINK_PAY = sj.LINK_PAYS AND t.LINK_EMPL = sj.LINK_EMPL
				))/* OR 
				(sj.code IN( 'DOCUMENTS_ADD_PREMIUM' , 'DOCUMENTS_ADD_SUMMA') 
				AND not EXISTS (SELECT TOP 1 *
						FROM
							DBO.sdoc s 
							INNER JOIN dbo.SDOC_VEDOM sd ON sd.LINK_UP = s.LINK AND sd.TYP_PAYMENT = 1
							INNER JOIN dbo.SDOC_VEDOM_TABLE1 T ON T.LINK_UP = s.LINK
							LEFT JOIN SDOC_VEDOM_TABLE3 SV3 ON SV3.LINK_UP = s.LINK 
						WHERE
							sd.TYP_PAYMENT = 1
							AND
							S.DATE BETWEEN SJ.PERIOD_BEGIN AND SJ.PERIOD_END
							AND sv3.LINK_PAY = sj.LINK_PAYS 
				))*/ OR 
				sj.code not IN( 'DOCUMENTS_ADD_FURLOUGH' , 'DOCUMENTS_ADD_ARCHE'))  
		AND ((sj.code = 'DOCUMENTS_ADD_SUMMA' 	AND not EXISTS (SELECT TOP 1 *
																FROM
																		DBO.sdoc s1 
																		INNER JOIN dbo.SDOC_VEDOM sd1 ON sd1.LINK_UP = s1.LINK AND sd1.TYP_PAYMENT = 3
																		INNER JOIN dbo.SDOC_VEDOM_TABLE1 T1 ON T1.LINK_UP = s1.LINK
																		LEFT JOIN SDOC_VEDOM_TABLE2 SV21 ON SV21.LINK_UP = s1.LINK 
																WHERE
																		sd1.TYP_PAYMENT = 3
																		AND
																		S1.DATE BETWEEN SJ.PERIOD_BEGIN AND SJ.PERIOD_END
																		AND sv21.LINK_PAY = sj.LINK_PAYS AND t1.LINK_EMPL = sj.LINK_EMPL
																		)
											 and (isnull(dti.COD_DED,'') <> '' 
	 										AND EXISTS (select * from #S_J_C_SHORT sj1 
																INNER JOIN #FIZ_EMPL_TAB f1 ON sj1.LINK_FACE = f1.LINK_FACE AND sj1.LINK_EMPL = f1.LINK_EMPL
																WHERE 
																 sj1.typ_oper = 2
																AND ( sj1.code ='DOCUMENTS_INCOME_TAX' or sj1.code ='DOCUMENTS_DED_PAYROLL')
																AND sj1.LINK_FACE = sj.LINK_FACE	AND sj1.LINK_EMPL = sj.LINK_EMPL	
																AND dbo.dateendofmonth(sj1.period_end) = dbo.dateendofmonth(sj.period_end)
	 										) )
	
											)
											OR 	isnull(dti.COD_DED,'') = '' )		
		
	GROUP BY
		sj.LINK_FACE , sj.LINK_EMPL, f.DATE_DIS, 
		case when sj.code IN( 'DOCUMENTS_ADD_ARCHE', 'DOCUMENTS_ADD_FURLOUGH') and month(sj.DATE2) = month(sj.period_end) then dbo.DateEndofMonth(sj.DATE2)
			 else dbo.DateEndofMonth(SJ.PERIOD_END) END 
		,sj.CODE,sj.LINK_PAYS ,sj.link_doc ,SJ.LINK_EKR	, dti.COD_DED,dti.summa_ded,dbo.DateEndofMonth(SJ.PERIOD_END), sj.link_dep 
	)

--	
	SELECT f.link_FACE
		 , PERS_LINK = null
		 , f.LINK_EMPL
		 , INOSTR 
		 , F.DIS
		 , F.date_DIS
		 , sj.link_doc 
		 , OBJ_CODE = NULL --sj.code
		 , OBJ_NAME = null -- so.NAME
		 /* -- Вид дохода - 'DZP' - все начисления по ДГХ 
						 - 'UV' - все увольнительные выплаты
						 - 'DR' - Другие выплаты 
						 - 'ZP' - Зарплата		 
		 */			 
		 , VID_DOH = 'ZP'		 						 				 						 
		 , MON = MONTH(sj.period_end)
		 , summa_doh = sj.summa_doh
		 , summa_nal = (CASE WHEN INOSTR = 1
									THEN ROUND((sj.summa_doh * 0.30 ),0)
									ELSE ROUND((sj.summa_doh * 0.13 ),0)
								 END) /*CASE WHEN cod_ded <> '' 
							THEN (CASE WHEN INOSTR = 1
									THEN (CASE WHEN sj.summa_doh < isnull(sj.summa_ded,0) 
											THEN 0 
											ELSE ROUND(((sj.summa_doh - sj.summa_ded) * 0.30 ),0) 
									 END )
									ELSE (CASE WHEN sj.summa_doh < isnull(sj.summa_ded,0) 
											THEN 0 
											ELSE ROUND(((sj.summa_doh - sj.summa_ded) * 0.13 ),0) 
									 END )
								 END)
							ELSE (CASE WHEN INOSTR = 1
									THEN ROUND((sj.summa_doh * 0.30 ),0)
									ELSE ROUND((sj.summa_doh * 0.13 ),0)
								 END)	
							END	*/
		 /*Даты ДОХОДА проставляем в зависимости от вида дохода и кода документа*/
		 , DATE_DOH = /*если документы по гпх , то дата дохода = окончанию даты периода(последний день месяца)*/
					 sj.period_end
							 
		 /*дата налога */
		 , DATE_NAL = V.DATE_V /*если документы по среднему (компенсации при увольнении) - дата увольнения */
		 , sJ.LINK_EKR
		 , DATE_ISCH = dbo.next_work_day(V.DATE_V) 			 
		 , DED = case when cod_ded <> '' THEN 1 ELSE 0 end
		 , link_ved = v.link
		 , sum_ded = sj.summa_ded
		 , sum_ded_other = case when exists (select * from #FIZ_VID_DOH fd WHERE fd.link_face = sj.link_face AND  fd.LINK_EMPL = sj.link_empl AND VID_DOH = 'DR' AND FD.MON =  MONTH(sj.period_end) AND fd.date_doh IS NOT null)
							THEN /* (CASE WHEN INOSTR = 1
									THEN ROUND((sj.summa_doh * 0.30 ),0)
									ELSE ROUND((sj.summa_doh * 0.13 ),0)
								 END) 
								 ---*/ 
									ISNULL((select isnull(SUM(summa),0)  from #S_J_C_SHORT sj1  
									where sj1.LINK_EMPL = sj.link_empl
									--AND sj1.link_ekr = sj.link_ekr		
									AND sj1.TYP_oper = 2
									AND sj1.code = 'DOCUMENTS_INCOME_TAX'
									AND dbo.dateendofmonth(sj1.period_end) = sj.period_end
									GROUP BY sj1.period_begin, sj1.period_end
									) ,0)
									-
									(select SUM(summa_nal) from #FIZ_VID_DOH fd WHERE fd.link_face = sj.link_face AND  fd.LINK_EMPL = sj.link_empl AND VID_DOH = 'DR' AND FD.MON =  MONTH(sj.period_end))
									

							ELSE  ISNULL((select isnull(SUM(summa),0)  from #S_J_C_SHORT sj1  
							where sj1.LINK_EMPL = sj.link_empl
							AND sj1.link_ekr = sj.link_ekr		
							AND sj1.TYP_oper = 2
							AND sj1.code = 'DOCUMENTS_INCOME_TAX'
							AND dbo.dateendofmonth(sj1.period_end) = sj.period_end
							GROUP BY sj1.period_begin, sj1.period_end
							) ,0) +  
							ISNULL((select isnull(SUM(summa),0)  from #S_J_C_SHORT sj2  
							where sj2.LINK_EMPL = sj.link_empl
							AND  NOT exists (SELECT  sjj.link_ekr		FROM 	
														#FIZ_EMPL_TAB f1
														INNER JOIN sj as sjj ON f1.link_face = sjj.link_face and f1.link_empl = sjj.link_empl 
														inner JOIN V as V1 ON /*V.link_face = sj.link_face AND*/ v1.link_empl = sjj.link_empl 
														AND V1.DATE_DV = sjj.period_end AND sjj.link_pays = ISNULL(v1.link_pay3,v1.link_pay) 
														AND V1.LINK_ekr = SJj.LINK_EKR
							                         WHERE sjj.link_empl  = sj2.LINK_EMPL  AND sjj.link_ekr = sj2.link_ekr AND 
														 dbo.dateendofmonth(sjj.period_end) = dbo.dateendofmonth(sj2.period_end))
													
							AND sj2.TYP_oper = 2
							AND sj2.code = 'DOCUMENTS_INCOME_TAX'
							AND dbo.dateendofmonth(sj2.period_end) = sj.period_end
							and sj2.summa < 0
							GROUP BY sj2.period_begin, sj2.period_end
							) ,0) END 
							
		 --sj.summa_ded_other
	INTO #FIZ_VID_DOH_TMP
	FROM 	
		#FIZ_EMPL_TAB f
		INNER JOIN sj ON f.link_face = sj.link_face and f.link_empl = sj.link_empl 
		inner JOIN V ON /*V.link_face = sj.link_face AND*/ v.link_empl = sj.link_empl AND V.DATE_DV = sj.period_end 
		AND ((ISNULL(v.link_pay3,ISNULL(v.link_pay,'')) <> '' AND sj.link_pays = ISNULL(v.link_pay3,v.link_pay) AND V.LINK_ekr = SJ.LINK_EKR)
			OR ISNULL(v.link_pay3,ISNULL(v.link_pay,'')) = '') 


 SELECT 
		link_FACE, 
		PERS_LINK, 
		LINK_EMPL, 
		INOSTR , 
		DIS, 
		DATE_DIS, 
		link_doc,
		OBJ_CODE, 
		OBJ_NAME, 
		VID_DOH, 
		mon,
		summa_doh = SUM(summa_doh),
		summa_nal = SUM(summa_nal), 
		DATE_DOH,
		DATE_NAL, 
		DATE_ISCH, 
		DED, 
		link_ved, 
		LINK_EKR,
		SUM_DED ,
		SUM_DED_OTHER
 INTO #FIZ_VID_DOH_TMP1 
 FROM #FIZ_VID_DOH_TMP 
 GROUP BY link_FACE, PERS_LINK,LINK_EMPL,INOSTR ,DIS,DATE_DIS, link_doc,OBJ_CODE,OBJ_NAME, VID_DOH,mon,DATE_DOH,DATE_NAL, DATE_ISCH,DED, link_ved,SUM_DED,SUM_DED_OTHER,LINK_EKR



---  Обработаем суммы налогов в курсоре ,  для того чтобы раскидать налоги по каждой строчке  
DECLARE @Cur1 CURSOR,@Cur2 CURSOR,  @LINK_EKR_OLD INT, @LINK_EKR INT ,@link_FACE_OLD INT , @link_FACE INT  ,
        @link_doc_OLD INT,  @link_doc INT ,@DATE_DOH_OLD DATETIME, @DATE_DOH DATETIME, 
		@SUMMA_NAL NUMERIC(18,2) , @SUM_DED_OTHER NUMERIC(18,2) , @SUMMA_RASCH NUMERIC(18,2), @RNUM INT , @NUM int, @num1 INT ,
		@LINK_EKR2 INT ,@link_FACE2 INT,@link_doc2 INT , @DATE_DOH2 DATETIME,@SUMMA_NAL2 NUMERIC(18,2) , @SUM_DED_OTHER2 NUMERIC(18,2)

SELECT @LINK_EKR_OLD =0,
		@LINK_EKR = 0, 
		@link_FACE_OLD = 0 ,
		@link_doc_OLD = 0,
		@DATE_DOH_OLD = null
		

SET @Cur1 = CURSOR FORWARD_ONLY



FOR SELECT  link_FACE, DATE_DOH,LINK_EKR, sum(SUMMA_NAL)
		FROM #FIZ_VID_DOH_TMP1 GROUP BY link_FACE, DATE_DOH,LINK_EKR ORDER BY link_FACE, DATE_DOH, LINK_EKR

OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @link_FACE,@DATE_DOH,@LINK_EKR, @SUMMA_NAL
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN
		set @RNUM = 0
		SET @NUM = 1 
		SET @SUM_DED_OTHER = ISNULL((SELECT top 1 sum_ded_other FROM #FIZ_VID_DOH_TMP1  WHERE  link_FACE = @link_FACE AND LINK_EKR = @LINK_EKR and DATE_DOH= @DATE_DOH ) ,0 )  
		IF @SUM_DED_OTHER <> @SUMMA_NAL
		   BEGIN 
		    SET  @RNUM  = (SELECT COUNT(*) FROM #FIZ_VID_DOH_TMP1  WHERE  link_FACE = @link_FACE AND LINK_EKR = @LINK_EKR and DATE_DOH= @DATE_DOH)  
			IF @RNUM  > 1
			BEGIN
				-- EXECUTE KIR_EXEC_QUERY 20582,'''2016'',1,0,0,20586'
				SET @Cur2 = CURSOR FORWARD_ONLY
				FOR SELECT  link_FACE, DATE_DOH,LINK_EKR,link_doc, SUMMA_NAL
					FROM #FIZ_VID_DOH_TMP1 
					WHERE link_FACE = @link_FACE 
						AND DATE_DOH = @DATE_DOH 
						and LINK_EKR = @LINK_EKR  
					ORDER BY link_FACE, DATE_DOH, LINK_EKR,link_doc
					OPEN @Cur2
					FETCH NEXT FROM @Cur2 INTO @link_FACE2,@DATE_DOH2,@LINK_EKR2,@link_doc2, @SUMMA_NAL2
					WHILE (@@fetch_status <> -1)
					BEGIN
						IF (@@fetch_status <> -2)
						BEGIN
							IF @NUM <=  @RNUM
							BEGIN 
								  --
								IF  @SUM_DED_OTHER  >@SUMMA_NAL2 
								BEGIN
										IF @NUM = @RNUM  AND  (@SUM_DED_OTHER - 1 = @SUMMA_NAL2 OR @SUM_DED_OTHER - 2 = @SUMMA_NAL2  /*OR (@SUMMA_NAL2 = abs(@SUMMA_NAL2) AND @SUM_DED_OTHER  >@SUMMA_NAL2)*/ ) 
										BEGIN
											UPDATE #FIZ_VID_DOH_TMP1 
												SET  SUMMA_NAL =  @SUM_DED_OTHER
											WHERE link_FACE = @link_FACE2 
											AND DATE_DOH = @DATE_DOH2 
											and LINK_EKR = @LINK_EKR2
											and link_doc = @link_doc2  
										END
										ELSE BEGIN
											SET @SUM_DED_OTHER = @SUM_DED_OTHER - @SUMMA_NAL2
										end
								end
								ELSE 
									BEGIN  
										IF @SUM_DED_OTHER > 0
										BEGIN
										  	UPDATE #FIZ_VID_DOH_TMP1 
												SET  SUMMA_NAL =  @SUM_DED_OTHER
											WHERE link_FACE = @link_FACE2 
											AND DATE_DOH = @DATE_DOH2 
											and LINK_EKR = @LINK_EKR2
											and link_doc = @link_doc2  
											SET @SUM_DED_OTHER = @SUM_DED_OTHER - @SUMMA_NAL2
										END  ELSE
										BEGIN
											IF @NUM <  @RNUM
											BEGIN 
													UPDATE #FIZ_VID_DOH_TMP1 
														SET  SUMMA_NAL =  0
													WHERE link_FACE = @link_FACE2 
													AND DATE_DOH = @DATE_DOH2 
													and LINK_EKR = @LINK_EKR2
													and link_doc = @link_doc2  
											END ELSE 
											BEGIN
													
													IF @NUM =  @RNUM and  @SUM_DED_OTHER <> 0 
													BEGIN
														
														UPDATE #FIZ_VID_DOH_TMP1 
															SET  SUMMA_NAL = @SUM_DED_OTHER
														WHERE link_FACE = @link_FACE2 
														AND DATE_DOH = @DATE_DOH2 
														and LINK_EKR = @LINK_EKR2
														and link_doc = @link_doc2  	
													END	
													ELSE begin
															UPDATE #FIZ_VID_DOH_TMP1 
																SET  SUMMA_NAL = 0
															WHERE link_FACE = @link_FACE2 
															AND DATE_DOH = @DATE_DOH2 
															and LINK_EKR = @LINK_EKR2
															and link_doc = @link_doc2 
														end 
												END
										END
												

									END 
								 
							
							END	
							

						END
						FETCH NEXT FROM @Cur2 INTO @link_FACE2,@DATE_DOH2,@LINK_EKR2,@link_doc2, @SUMMA_NAL2
						SET @NUM = @NUM + 1
			
					END	
					CLOSE @Cur2
					DEALLOCATE @Cur2		
			--	IF @SUMMA_NAL  < @SUMMA_RASCH
			--	   SET @SUMMA_RASCH =  @SUMMA_RASCH - @SUMMA_NAL
			--	ELSE
			--	   IF @link_FACE_OLD = @link_FACE	AND @DATE_DOH_OLD =  @DATE_DOH  AND @LINK_EKR_OLD = @LINK_EKR AND  @link_doc_OLD <> @link_doc
			--		BEGIN
			--			SELECT @link_FACE , @DATE_DOH , @LINK_EKR , @link_doc , @SUMMA_NAL , @SUM_DED_OTHER
			--			set @link_doc_OLD = @link_doc
			--		END
			--	   ELSE BEGIN 
			--   				SET @link_FACE_OLD= @link_FACE
			--   				SET @DATE_DOH_OLD =  @DATE_DOH 
			--   				SET @LINK_EKR_OLD = @LINK_EKR
			--   				SET @link_doc_OLD = @link_doc
			--   			END 	
			END	
			ELSE 
				BEGIN  
					UPDATE #FIZ_VID_DOH_TMP1 SET SUMMA_NAL = @SUM_DED_OTHER
					WHERE link_FACE = @link_FACE AND LINK_EKR = @LINK_EKR and DATE_DOH= @DATE_DOH
					set @SUMMA_RASCH = 0
			END 
		END	

    END

	FETCH NEXT FROM @Cur1 INTO @link_FACE,@DATE_DOH,@LINK_EKR, @SUMMA_NAL
END

CLOSE @Cur1
DEALLOCATE @Cur1


-- EXECUTE KIR_EXEC_QUERY 20582,'''2016'',1,0,0,20586'

--SELECT * FROM #FIZ_VID_DOH_TMP1 ORDER BY DATE_DOH, link_FACE,LINK_EKR,link_doc
--UPDATE tmp 
--SET summa_nal = CASE WHEN INOSTR = 1 then ROUND(((summa_doh - SUM_DED_OTHER- SUM_DED) * 0.30 ),0) 
									 
--									ELSE ROUND(((summa_doh - SUM_DED_OTHER - SUM_DED) * 0.13 ),0) 
									 
-- END
--FROM #FIZ_VID_DOH_TMP1 tmp WHERE isnull(SUM_DED,0) <> 0 OR isnull(SUM_DED_OTHER,0) <> 0 AND 1=1

 
 INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS, link_doc,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED, link_ved , sum_ded ) 
 SELECT
		link_FACE, 
		PERS_LINK, 
		LINK_EMPL, 
		INOSTR , 
		DIS, 
		DATE_DIS, 
		link_doc,
		OBJ_CODE, 
		OBJ_NAME, 
		VID_DOH, 
		mon,
		summa_doh, 
		summa_nal, 
		DATE_DOH,
		DATE_NAL, 
		DATE_ISCH, 
		DED, 
		link_ved ,
		SUM_DED_OTHER 
 FROM #FIZ_VID_DOH_TMP1 		 


-- -- EXECUTE KIR_EXEC_QUERY 20185,'''2016'',1,20193'

 DROP TABLE #FIZ_VID_DOH_TMP
 DROP TABLE #FIZ_VID_DOH_TMP1
	DROP TABLE #S_J_C_SHORT
	DROP TABLE #FIZ_EMPL_TAB

--DROP TABLE #FIZ_DOH
END 

RETURN 0




GO


GRANT EXECUTE ON dbo.[SA_6NDFL_PREPARE_R2] TO PUBLIC

GO
	
GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BB_GET_LINK_KBK_BY_CODE_2016]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BB_GET_LINK_KBK_BY_CODE_2016]

GO




/*
© Кейсистемс (Keysystems), 2005
*/

CREATE      PROCEDURE dbo.BB_GET_LINK_KBK_BY_CODE_2016
	@iLinkKBK	 int=null output,
	@iLinkEKR	 int=null output,
	@iLinkDCL	 int=null output,
	@cErrorTxt 	 varchar(100) output,
	@cCodeKBK 	 varchar(20) = '',
	@cTypeKBK 	 varchar(2) = '',
	@cCodeDCL 	 varchar(20) = '',
	@addVKR		 tinyint = 1 -- Добавить отсутсвущие ВКР
	
AS
declare @varKSiRet int,
	@iL_PPP	   int,
	@iL_Razd   int,
	@iL_C_St   int,
	@iL_Rash   int,
	@iLinkIVF  int,
	@iLinkD    int,
	@iLinkProg int,

	@varKSCode_PPP	 char(3),
	@varKSCode_Razd	 char(4),
	@varKSCode_CelSt char(10),
	@varKSCode_Rash	 char(3),
	@varKSCode_Ekr	 char(3),
	@cCodeIVF		 char(10),
	@cCodeD			 char(10),
	@cCodeP			 char(4),
	@iTypeKBK		 tinyint
	
			
SET @varKSiRet = 0
set @cErrorTxt = ''
set @varKSCode_Ekr = substring(@cCodeKBK,18,3)

if @cTypeKBK = ''
begin
	select @iLinkKBK = link from KL_KBK where replace(CODE,'.','') = @cCodeKBK
	if @iLinkKBK is null or @iLinkKBK = 0
		set @cErrorTxt = 'Не найден КБК в справочнике'

end
-- ВКР
IF @cTypeKBK = '10'
begin
select @varKSCode_PPP = left(@cCodeKBK,3),
		@varKSCode_Razd = substring(@cCodeKBK,4,4),
		@varKSCode_CelSt = substring(@cCodeKBK,8,10),
		@varKSCode_Rash = right(@cCodeKBK,3)

	IF isnull((select max(link) from bi_diction_vkr where Code_FKR_M = @varKSCode_PPP AND Code_FKR_D = @varKSCode_Razd AND Code_FKR_T = @varKSCode_CelSt AND Code_FKR_E = @varKSCode_Rash),0) > 0
		select @iLinkKBK = link from bi_diction_vkr where
			Code_FKR_M = @varKSCode_PPP
			AND Code_FKR_D = @varKSCode_Razd
			AND Code_FKR_T = @varKSCode_CelSt
			AND Code_FKR_E = @varKSCode_Rash
	ELSE 
		IF @addVKR = 1
		BEGIN
			select @iL_PPP = max(link) from kl_admin_bs where code = @varKSCode_PPP
			if @iL_PPP is null 
				set @cErrorTxt = 'Не найден администратор БС с кодом ' + @varKSCode_PPP

			select @iL_Razd = max(link) from kl_DIVISION where code = @varKSCode_Razd
			if @iL_Razd is null 
				set @cErrorTxt = 'Не найден раздел, подраздел БС с кодом ' + @varKSCode_Razd

			select @iL_C_St = max(link) from kl_Target_Item where code = @varKSCode_CelSt
			if @iL_C_St is null 
				set @cErrorTxt = 'Не найдена целевая статья  с кодом ' + @varKSCode_CelSt

			select @iL_Rash = max(link) from kl_Expend where code = @varKSCode_Rash
			if @iL_Rash is null 
				set @cErrorTxt = 'Не найден вид расхода с кодом ' + @varKSCode_Rash
	
			SET @iLinkKBK = 0
			exec @varKSiRet = dbo.BI_SAVE_VKR @iLinkKBK output, 'Сгенерированный ВКР', @iL_PPP, @iL_Razd, @iL_C_St, @iL_Rash
			if @varKSiRet <> 0 
				set @cErrorTxt = 'Ошибка при добавлении ВКР'
		END
		ELSE
			set @cErrorTxt = 'Запрещено добавление КБК в справочник.'
		
		if charindex('(', @cCodeDCL) > 0
		begin
			select @varKSCode_Ekr = substring(@cCodeDCL,charindex('(', @cCodeDCL) + 1,3)
			select @cCodeDCL = replace(@cCodeDCL,'(' + @varKSCode_Ekr + ')', '' )
		end
		else 
			set @varKSCode_Ekr = ''
			
		--select @iLinkEKR = max(link) from dbo.KOSGU where CODE = @varKSCode_Ekr
		--if @iLinkEKR is null 
		--	set @cErrorTxt = 'Не найден КОСГУ ' + @varKSCode_Ekr	
		if @varKSCode_Ekr <> ''
		begin
			select @iLinkEKR = max(link) from dbo.KOSGU where CODE = @varKSCode_Ekr
			if @iLinkEKR is null 
				set @cErrorTxt = 'Не найден КОСГУ ' + @varKSCode_Ekr
		end
				

end

-- КИВФ
IF @cTypeKBK = '31' or @cTypeKBK = '32'
begin
	select @iTypeKBK = case @cTypeKBK when '31' then 3 else 4 end
	select @varKSCode_PPP = left(@cCodeKBK,3),
		@cCodeIVF = substring(@cCodeKBK,4,10),
		@cCodeP = substring(@cCodeKBK,14,4),
		@varKSCode_Ekr = right(@cCodeKBK,3)
	
	set @iLinkKBK = (select max(link) 
				from dbo.KL_KBK
				where CODE = rtrim(@cCodeKBK) + '.' + rtrim(@cCodeIVF) + rtrim(@cCodeP) + rtrim(@varKSCode_Ekr) and TYPE = 4)
	IF @iLinkKBK is null
		IF @addVKR = 1
		BEGIN
			select @iL_PPP = max(link) from kl_admin_bs where code = @varKSCode_PPP
			if @iL_PPP is null 
				set @cErrorTxt = 'Не найден администратор БС с кодом ' + @varKSCode_PPP

			select @iLinkIVF = max(link) from dbo.KL_IVF where CODE = @cCodeIVF
			if @iLinkIVF is null 
				set @cErrorTxt = 'Не найден источник финансирования с кодом ' + @cCodeIVF
			
			select @iLinkProg = max(link) from dbo.KL_PROG where CODE = @cCodeP
			if @iLinkProg is null 
				set @cErrorTxt = 'Не найдена программа с кодом ' + @cCodeP
			
			select @iLinkEKR = max(link) from dbo.KOSGU where CODE = @varKSCode_Ekr
			if @iLinkEKR is null 
				set @cErrorTxt = 'Не найден КОСГУ ' + @varKSCode_Ekr
			
			
			SET @iLinkKBK = 0
			exec @varKSiRet = dbo.BI_SAVE_KBK @iLinkKBK output, @iTypeKBK, 'Сгенерированный ИВФ', @iL_PPP, null, @iLinkIVF, @iLinkProg, null, null, null, @iLinkEKR
			if @varKSiRet <> 0 
				SET @varKSiRet = -1
		END
		ELSE
			set @cErrorTxt = 'Запрещено добавление КБК в справочник.'

end


-- КД
IF @cTypeKBK = '20'
begin
	select @varKSCode_PPP = left(@cCodeKBK,3),
			@cCodeD = substring(@cCodeKBK,4,10),
			@cCodeP = substring(@cCodeKBK,14,4),
			@varKSCode_Ekr = right(@cCodeKBK,3)
	
	set @iLinkKBK = (select max(link) 
				from dbo.KL_KBK
				where CODE = rtrim(@varKSCode_PPP) + '.' + rtrim(@cCodeD) + rtrim(@cCodeP) + rtrim(@varKSCode_Ekr) and TYPE = 2)

	IF @iLinkKBK is null
		IF @addVKR = 1
		BEGIN
			select @iL_PPP = max(link) from kl_admin_bs where code = @varKSCode_PPP
			if @iL_PPP is null 
				set @cErrorTxt = 'Не найден администратор БС с кодом ' + @varKSCode_PPP

			select @iLinkD = max(link) from dbo.KL_KD where CODE = @cCodeD
			if @iLinkD is null 
				set @cErrorTxt = 'Не найден вид дохода с кодом ' + @cCodeD

			select @iLinkProg = max(link) from dbo.KL_PROG where CODE = @cCodeP
			if @iLinkProg is null 
				set @cErrorTxt = 'Не найдена программа с кодом ' + @cCodeP
			
			select @iLinkEKR = max(link) from dbo.KOSGU where CODE = @varKSCode_Ekr
			if @iLinkEKR is null 
				set @cErrorTxt = 'Не найден КОСГУ ' + @varKSCode_Ekr
			
			
			SET @iLinkKBK = 0
			exec @varKSiRet = dbo.BI_SAVE_KBK @iLinkKBK output, 2, 'Сгенерированный КД', @iL_PPP, @iLinkD, null, @iLinkProg, null, null, null, @iLinkEKR
			
			if @varKSiRet <> 0 
				SET @varKSiRet = -1
		END
		ELSE
			set @cErrorTxt = 'Запрещено добавление КБК в справочник.'

end

if isnull(@cCodeDCL, '') <> ''
begin
	select @iLinkDCL = max(link) from dbo.DOP_CLASSIF where CODE = @cCodeDCL
	if @iLinkDCL is null 
		set @cErrorTxt = 'Не найдена доп.классификация ' + @cCodeDCL
end
			
if @cErrorTxt <> '' 
	SET @varKSiRet = -1


return @varKSiRet





GO


GRANT EXECUTE ON dbo.[BB_GET_LINK_KBK_BY_CODE_2016] TO PUBLIC

GO


--Расширенные свойства--


GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BB_CREDIT_CARD]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BB_CREDIT_CARD]
GO

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO


/*
© Кейсистемс (Keysystems), 2005
*/

create  procedure dbo.BB_CREDIT_CARD
	@cBufId 	char(100),
	@dDateB 	datetime,
	@dDateE 	datetime,
	@iRestAcc207 	tinyint = 0,
	@iOborotAcc207 	tinyint = 0,
	@iDepLink 	int = 0,
	@iPrintKBK TINYINT,
	@nSel_Spr2 int,
	@nSel_Spr3 int,
	@cVal1 		char(1) = '', 
	@nOtborLink1 	int = 0
	

as
declare @iOwnDep		int,
		@iRecCountR1	int,
		@iRecCountR2	int,
		@dDateRest		datetime
	
declare @tRest table(DOC_LINK	int,
		      		 DATE_R	   	datetime,
					 SUMMA	   	numeric(28,2),
					 TYPE_R		tinyint)


set @iOwnDep = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())

if @cBufId is null or @cBufId = ''
begin
	set @cBufId = 'BB_CREDIT'
	exec dbo.BufferClear 'BB_CREDIT'
	insert into BUFFER (link, id)
	select link, @cBufId 
	from G_PROV 
	where DEP = @iOwnDep and
	      OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_CREDIT' or CODE = 'BB_CREDIT_PROL') and
	      	(@iDepLink <> 0 and LINK IN (select LINK 
					   							from dbo.CREDIT_HEAD 
												where DEP = @iDepLink) or 
			(@iDepLink = 0 and (len(@cVal1) = 0  or len(@cVal1) <> 0 and LINK IN (select CH.LINK 
																   from dbo.CREDIT_HEAD CH
																   inner join dbo.OBJECT_VAR_DEPARTMENT OVD on OVD.RECORD = CH.DEP AND OVD.LINK_UP = @nOtborLink1)))) 
	
end

IF @dDateB IS NULL
	select @dDateB = MIN(DATE)
	from G_PROV 
	where OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_CREDIT' or CODE = 'BB_CREDIT_PROL') and 
		(@cBufId is null or @cBufId = '' or link in (select * from dbo.BufferGetTableByID(@cBufId))) and
		DEP = @iOwnDep
IF @dDateE IS NULL
	select @dDateE = MAX(dbo.BB_CREDIT_DATE_END(LINK, default, default))
	from G_PROV 
	where OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_CREDIT' or CODE = 'BB_CREDIT_PROL') and
		(@cBufId is null or @cBufId = '' or link in (select * from dbo.BufferGetTableByID(@cBufId))) and
		DEP = @iOwnDep

exec dbo.BufferClear 'CREDIT_ACC'
exec dbo.BufferClear 'CREDIT_PER_D'
exec dbo.BufferClear 'CREDIT_PL_K'
exec dbo.BufferClear 'CREDIT_DOH_N'


insert into BUFFER (link, id)
select link, 'CREDIT_ACC' from s_accounts where code like '%207.%'

insert into BUFFER (link, id)
select link, 'CREDIT_PER_D' from s_accounts where code like '%304.05%' or code like '%201.07%' or code like '%201.11%' 

insert into BUFFER (link, id)
select link, 'CREDIT_PL_K' from s_accounts where code like '%304.05%' or code like '%201.07%' or code like '%201.11%'  or code like '%210.02%'

insert into BUFFER (link, id)
select link, 'CREDIT_DOH_N' from s_accounts where code like '%401.[1-2]0%'

-- Раздел 1
declare @tTempRasdel1 table(NUM_DOC	char(25) ,
			    DATE_DOC	datetime,
			    DATE_B_MON	datetime,
			    DATE_E_MON	datetime,
			    SUM_PER	numeric(28,2),
			    SUM_PL	numeric(28,2),
			    SUM_PR 	numeric(28,2),
			    DT_AP1	int,
			    KT_AP1	int,
				DT_ACC		char(40),
				KT_ACC		char(40),
				DOC_LINK int)

declare @tRasdel1 table(TYPE	int,
					OSNOV_NAME	varchar(254),
					OSNOV_NUM	char(25),
					OSNOV_DATE	datetime,
					DATE_END	datetime,
					SUM_REST_B	numeric(28,2),
					SUM_REST_E	numeric(28,2),
					I_REST_B	numeric(28,2),
					I_REST_E	numeric(28,2),
					NUM_DOC		char(25),
					DATE_DOC	datetime,
					[YEAR]		char(4),
					MON			tinyint,
					YEAR_MON	char(10),
					DT_ACC		char(40),
					KT_ACC		char(40),
					SUM_PER		numeric(28,2),
					SUM_PL		numeric(28,2),
					SUM_PR 		numeric(28,2),
					SORT		tinyint,
					P_LINK		int,
					COMMENT		varchar(254))

if @iOborotAcc207 = 0
	insert into @tTempRasdel1
	select '', CS.DATE, dbo.DateBeginOfMonth(CS.DATE), dbo.DateEndOfMonth(CS.DATE) + 1, 
	case CP.CODE when 'PER_CREDIT' then CS.SUMMA else 0 end, 
	case CP.CODE when 'UPL_CREDIT' then CS.SUMMA else 0 end, 
	0, null, null, null, null, G.LINK
	from dbo.CREDIT_SUM CS 
	inner join dbo.CREDIT_PARAM_DICTION CP on CS.PARAM_LINK = CP.LINK and (CP.CODE = 'PER_CREDIT' or CP.CODE = 'UPL_CREDIT')
	inner join dbo.G_PROV G on CS.LINK_UP = G.LINK
	inner join dbo.BufferGetTableByID(@cBufId) B on B.LINK = G.LINK
	where CS.DATE is not null and CS.DATE between @dDateB and @dDateE
else
	insert into @tTempRasdel1
	select NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, SUMMA, 0, 0, DT_AP1, KT_AP1, dbo.BK_GetAcctFullCode1 (DT_ACCOUNT, DT_VKR, DT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), '', null
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_PER_D')
	where DATE_PROV between @dDateB and @dDateE
	union
	select NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, 0, SUMMA, 0, DT_AP1, KT_AP1, '', dbo.BK_GetAcctFullCode1 (KT_ACCOUNT, KT_VKR, KT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), null
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_PL_K', 'CREDIT_ACC')
	where DATE_PROV between @dDateB and @dDateE and 
		DT_SGU = (select LINK from dbo.KOSGU where CODE = '640')
	union
	select NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, 0, 0,SUMMA, DT_AP1, KT_AP1, '', dbo.BK_GetAcctFullCode1 (KT_ACCOUNT, KT_VKR, KT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), null
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_DOH_N', 'CREDIT_ACC')
	where DATE_PROV between @dDateB and @dDateE

-- Раздел 2
declare @tTempRasdel2 table(NUM_DOC	char(25) ,
			    DATE_DOC	datetime,
			    DATE_B_MON	datetime,
			    DATE_E_MON	datetime,
			    P_ACC		char(40),
				N_SUM		numeric(28,2),
			    PL_SUM		numeric(28,2),
			    DT_AP1		int,
			    KT_AP1		int,
				DOC_LINK	int)

declare @tRasdel2 table(TYPE 		int,
						OSNOV_NAME	varchar(254),
						OSNOV_NUM	char(25),
						OSNOV_DATE	datetime,
						[PROC]		numeric(10,4),
						P_ACC		char(40),
						SUM_REST_B	numeric(28,2),
						SUM_REST_E	numeric(28,2),
						I_REST_B	numeric(28,2),
						I_REST_E	numeric(28,2),
						I_REST_B2	numeric(28,2),
						I_REST_E2	numeric(28,2),
						NUM_DOC		char(25),
						DATE_DOC	datetime,
						[YEAR]		char(4),
						MON			tinyint,
						YEAR_MON	char(10),
						PL_SUM		numeric(28,2),
						N_SUM		numeric(28,2),
						SORT		tinyint,
						P_LINK		int)


if @iOborotAcc207 = 0
	insert into @tTempRasdel2
	select '', CS.DATE, dbo.DateBeginOfMonth(CS.DATE), dbo.DateEndOfMonth(CS.DATE) + 1, '',
	case when CP.CODE = 'N_PROC' or CP.CODE = 'N_MARJA' or CP.CODE = 'N_SH_CREDIT' or CP.CODE = 'N_SH_PROC' or CP.CODE = 'N_SH_MARJA' or CP.CODE = 'N_SH_NECELEV' then CS.SUMMA else 0 end, 
	case when CP.CODE = 'UPL_PROC' or CP.CODE = 'UPL_MARJA' or CP.CODE = 'UPL_SH_CREDIT' or CP.CODE = 'UPL_SH_PROC' or CP.CODE = 'UPL_SH_MARJA' or CP.CODE = 'UPL_SH_NECELEV' then CS.SUMMA else 0 end, 
	null, null, G.LINK
	from dbo.CREDIT_SUM CS 
	inner join dbo.CREDIT_PARAM_DICTION CP on CS.PARAM_LINK = CP.LINK and (CP.CODE = 'N_PROC' or CP.CODE = 'N_MARJA' or CP.CODE = 'N_SH_CREDIT' or CP.CODE = 'N_SH_PROC' or CP.CODE = 'N_SH_MARJA' or CP.CODE = 'N_SH_NECELEV' or CP.CODE = 'UPL_PROC' or CP.CODE = 'UPL_MARJA' or CP.CODE = 'UPL_SH_CREDIT' or CP.CODE = 'UPL_SH_PROC' or CP.CODE = 'UPL_SH_MARJA' or CP.CODE = 'UPL_SH_NECELEV')
	inner join dbo.G_PROV G on CS.LINK_UP = G.LINK
	inner join dbo.BufferGetTableByID(@cBufId) B on B.LINK = G.LINK
	where CS.DATE is not null and CS.DATE between @dDateB and @dDateE
else
	insert into @tTempRasdel2
	select 	NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, dbo.BK_GetAcctFullCode1 (DT_ACCOUNT, DT_VKR, DT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), SUMMA, 0, DT_AP1, KT_AP1, NULL
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_DOH_N')
	where KT_SGU in (select LINK from dbo.KOSGU where CODE = '140' or CODE = '120') and 
		DATE_PROV between @dDateB and @dDateE
	union
	select 	NUMBER, DATE_PROV, dbo.DateBeginOfMonth(DATE_PROV), dbo.DateEndOfMonth(DATE_PROV) + 1, dbo.BK_GetAcctFullCode1 (KT_ACCOUNT, KT_VKR, KT_SGU, @iPrintKBK, @iPrintKBK, @dDateE), 0, SUMMA, DT_AP1, KT_AP1, NULL
	from dbo.AProvByBufferConditionsShort(@dDateB, @dDateE, 'CREDIT_PL_K', 'CREDIT_ACC')
	where DT_SGU in (select LINK from dbo.KOSGU where CODE = '120' or CODE = '140') and 
		DATE_PROV between @dDateB and @dDateE


if @iRestAcc207 = 0
	insert into @tRest(DOC_LINK, DATE_R, SUMMA, TYPE_R)
	select T.DOC_LINK, T.DATE_R, sum(dbo.BB_CREDIT_REST(T.DOC_LINK, DATE_R,0)),0
	from (select O.DOC_LINK, DATE_B_MON AS DATE_R  
		from @tTempRasdel1 S
		inner join dbo.BD_OSNOV O on S.DT_AP1   = O.LINK or S.KT_AP1   = O.LINK and
									O.DOC_LINK IN (select * from dbo.BufferGetTableByID(@cBufId))
		union
		select O.DOC_LINK, DATE_E_MON AS DATE_R 
		from @tTempRasdel1 S
		inner join dbo.BD_OSNOV O on S.DT_AP1   = O.LINK or S.KT_AP1   = O.LINK and
									O.DOC_LINK IN (select * from dbo.BufferGetTableByID(@cBufId))) T
	GROUP BY T.DATE_R, T.DOC_LINK
	union all
	select T.DOC_LINK, T.DATE_R, sum(dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'PROC','') + 
				    						 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'MARJA','') + 
				   							 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'SH_NECELEV','') + 
				    						 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'SH_CREDIT','') + 
				    						 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'SH_PROC','') + 
				    						 dbo.BB_CREDIT_SUM_REST(T.DOC_LINK, DATE_R,'SH_MARJA','')), 1
	from (select O.DOC_LINK, DATE_B_MON AS DATE_R  
		from @tTempRasdel2 S
		inner join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK or S.KT_AP1 = O.LINK and
								  O.DOC_LINK in (select * from dbo.BufferGetTableByID(@cBufId))
		union
		select O.DOC_LINK, DATE_E_MON AS DATE_R 
		from @tTempRasdel2 S
		inner join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK or S.KT_AP1 = O.LINK and
								  O.DOC_LINK in (select * from dbo.BufferGetTableByID(@cBufId))) T 
	GROUP BY T.DATE_R, T.DOC_LINK 	
else
begin
	set @dDateRest = dbo.DateBeginOfMonth(@dDateB)
	while @dDateRest < (dbo.DateEndOfMonth(@dDateE) + 2)
	begin
		insert into @tRest(DOC_LINK, DATE_R, SUMMA, TYPE_R)
		select O.DOC_LINK, @dDateRest,sum(R.D_SUMMA - R.K_SUMMA), case KBK.TYPE when 2 then 1 else 0 end
		from dbo.aRestTableByDateAccounts(@dDateRest,'CREDIT_ACC') R
		inner join dbo.KL_KBK KBK on R.KBK = KBK.LINK --and KBK.TYPE <> 1
		inner join dbo.BD_OSNOV O on R.AP1 = O.LINK  
		group by O.DOC_LINK, case KBK.TYPE when 2 then 1 else 0 end
		set @dDateRest = dateadd(month, 1, @dDateRest)
	end
end

update T 
set KT_ACC = T1.KT_ACC
from @tTempRasdel1 T
inner join @tTempRasdel1 T1 on T.DT_AP1 =  T.KT_AP1
where T.KT_ACC = '' and T1.KT_ACC <> ''


update T 
set DT_ACC = T1.DT_ACC
from @tTempRasdel1 T
inner join @tTempRasdel1 T1 on T.KT_AP1 =  T.DT_AP1
where T.DT_ACC = '' and T1.DT_ACC <> ''
	
declare @tMonths table (date_b datetime)
insert into @tMonths
select  dbo.DatebeginOfMonth(@dDateB)
union
select DATE_R from @tRest
union
select  dbo.DateEndOfMonth(@dDateE)+1



--select * from @tTempRasdel1
insert into @tRasdel1
select    C.TYPE,
			OSNOV_NAME	= isnull(C.DOC_NAME,'Договор выдачи кредита'),
			OSNOV_NUM	= isnull(C.DOC_NUM, C.NUMBER),
			OSNOV_DATE	= isnull(C.DOC_DATE, C.[DATE]),
			DATE_END	= dbo.BB_CREDIT_DATE_END(C.LINK, default, default),
			SUM_REST_B	= 0,
		 	SUM_REST_E	= 0, 
		 	isnull(R3.SUMMA,0), 
			isnull(R4.SUMMA,0),
			S.NUM_DOC,
		 	S.DATE_DOC,
		 	[YEAR]		= convert(char(4),YEAR(S.DATE_DOC)),
		 	MON			= MONTH(S.DATE_DOC),
		 	YEAR_MON	= str(YEAR(S.DATE_DOC),4) + replace(str(MONTH(S.DATE_DOC),2),' ','0'),
			S.DT_ACC,
			S.KT_ACC,
			S.SUM_PER,
			S.SUM_PL,
			S.SUM_PR,
			SORT		= 2,
			C.ZDEP_LINK,
			C.COMMENT
from @tTempRasdel1 S
left join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK or S.KT_AP1   = O.LINK
left join dbo.BB_CREDIT C on (C.LINK = O.DOC_LINK or C.LINK = S.DOC_LINK)
left join @tRest R3 on C.LINK = R3.DOC_LINK and R3.TYPE_R = 0 and R3.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R4 on C.LINK = R4.DOC_LINK and R4.TYPE_R = 0 and R4.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
where C.LINK is not null and C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))
union 
select C.TYPE,
		OSNOV_NAME	= isnull(C.DOC_NAME,'Договор выдачи кредита'),
		OSNOV_NUM	= isnull(C.DOC_NUM, C.NUMBER),
		OSNOV_DATE	= isnull(C.DOC_DATE, C.[DATE]),
		DATE_END	= dbo.BB_CREDIT_DATE_END(C.LINK, default, default),
		isnull(R1.SUMMA,0), 
		isnull(R2.SUMMA,0),  
		isnull(R3.SUMMA,0), 
		isnull(R4.SUMMA,0), '','',
		convert(char(4), YEAR(M.DATE_B)), 
		MONTH(M.DATE_B), 
		str(YEAR(M.DATE_B),4) + replace(str(MONTH(M.DATE_B),2),' ','0'), 
		(select max(S.DT_ACC) from @tTempRasdel1 s 
							left join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK
							left join dbo.BB_CREDIT C on (C.LINK = O.DOC_LINK or C.LINK = S.DOC_LINK)),
		(select max(S.KT_ACC) from @tTempRasdel1 s 
							left join dbo.BD_OSNOV O on S.KT_AP1   = O.LINK
							left join dbo.BB_CREDIT C on (C.LINK = O.DOC_LINK or C.LINK = S.DOC_LINK)),
		0, 0, 0, 0,
		C.ZDEP_LINK,
		C.COMMENT
from dbo.BB_CREDIT C
left join @tMonths M on 1=1 --R.DATE_R < @dDateE
left join @tRest R1 on C.LINK = R1.DOC_LINK and R1.TYPE_R = 0 and M.DATE_B = R1.DATE_R and R1.DATE_R < @dDateE
left join @tRest R2 on C.LINK = R2.DOC_LINK and dbo.DateEndOfMonth(M.DATE_B) + 1 = R2.DATE_R and R2.TYPE_R = 0
left join @tRest R3 on C.LINK = R3.DOC_LINK and R3.TYPE_R = 0 and R3.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R4 on C.LINK = R4.DOC_LINK and R4.TYPE_R = 0 and R4.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
where (R1.SUMMA <> 0 or R2.SUMMA <> 0) and
		C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))





set @iRecCountR1 = @@ROWCOUNT 		



insert into @tRasdel2
select    C.TYPE,
			OSNOV_NAME	= isnull(C.DOC_NAME,'Договор выдачи кредита'),
			OSNOV_NUM	= isnull(C.DOC_NUM, C.NUMBER),
			OSNOV_DATE	= isnull(C.DOC_DATE, C.[DATE]),
			[PROC] 		= dbo.BB_CREDIT_PROC(O.DOC_LINK,S.DATE_B_MON,'PROC',0),
			S.P_ACC,
			SUM_REST_B	= 0,
		 	SUM_REST_E	= 0, 
			isnull(R3.SUMMA,0), 
			isnull(R4.SUMMA,0),
			isnull(R5.SUMMA,0) + isnull(R3.SUMMA,0),  
			isnull(R6.SUMMA,0) + isnull(R4.SUMMA,0),
			S.NUM_DOC,
		 	S.DATE_DOC,
		 	[YEAR]		= convert(char(4),YEAR(S.DATE_DOC)),
		 	MON			= MONTH(S.DATE_DOC),
		 	YEAR_MON	= str(YEAR(S.DATE_DOC),4) + replace(str(MONTH(S.DATE_DOC),2),' ','0'),
			S.PL_SUM,
			S.N_SUM,
			SORT		= 2,
			C.ZDEP_LINK
from @tTempRasdel2 S
left join dbo.BD_OSNOV O on S.DT_AP1 = O.LINK or S.KT_AP1   = O.LINK
left join dbo.BB_CREDIT C on (C.LINK = O.DOC_LINK or C.LINK = S.DOC_LINK)
left join @tRest R3 on C.LINK = R3.DOC_LINK and R3.TYPE_R = 1 and R3.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R4 on C.LINK = R4.DOC_LINK and R4.TYPE_R = 1 and R4.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
left join @tRest R5 on C.LINK = R5.DOC_LINK and R5.TYPE_R = 0 and R5.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R6 on C.LINK = R6.DOC_LINK and R6.TYPE_R = 0 and R6.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
where C.LINK is not null and C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))
union 
select C.TYPE,
		OSNOV_NAME	= isnull(C.DOC_NAME,'Договор выдачи кредита'),
		OSNOV_NUM	= isnull(C.DOC_NUM, C.NUMBER),
		OSNOV_DATE	= isnull(C.DOC_DATE, C.[DATE]),
		[PROC] 		= 0,
		P_ACC		= '',
		isnull(R1.SUMMA,0), 
		isnull(R2.SUMMA,0),
		isnull(R3.SUMMA,0), 
		isnull(R4.SUMMA,0),
		isnull(R5.SUMMA,0) + isnull(R3.SUMMA,0),  
		isnull(R6.SUMMA,0) + isnull(R4.SUMMA,0), '','', 
		convert(char(4), YEAR(M.DATE_B)), 
		MONTH(M.DATE_B), 
		str(YEAR(M.DATE_B),4) + replace(str(MONTH(M.DATE_B),2),' ','0'),0, 0, 0,
		C.ZDEP_LINK
from dbo.BB_CREDIT C
left join @tMonths M on 1=1 --R.DATE_R < @dDateE
left join @tRest R1 on C.LINK = R1.DOC_LINK and R1.TYPE_R = 1 and M.DATE_B = R1.DATE_R and R1.DATE_R < @dDateE
left join @tRest R2 on C.LINK = R2.DOC_LINK and dbo.DateEndOfMonth(M.DATE_B) + 1 = R2.DATE_R and R2.TYPE_R = 1
left join @tRest R3 on C.LINK = R3.DOC_LINK and R3.TYPE_R = 1 and R3.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R4 on C.LINK = R4.DOC_LINK and R4.TYPE_R = 1 and R4.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
left join @tRest R5 on C.LINK = R5.DOC_LINK and R5.TYPE_R = 0 and R5.DATE_R = dbo.DateBeginOfMonth(@dDateB)
left join @tRest R6 on C.LINK = R6.DOC_LINK and R6.TYPE_R = 0 and R6.DATE_R = dbo.DateEndOfMonth(@dDateE) + 1
where (R1.SUMMA <> 0 or R2.SUMMA <> 0) and
		C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))

declare @tDepTable table(POL_LINK	int, TYPE int)

insert into @tDepTable
select P_LINK, TYPE from @tRasdel2 union
select P_LINK, TYPE from @tRasdel1 


select 	DEP_TYPE = rtrim(str(D.LINK)) + isnull(CT.CODE,''),
		OSNOV_NAME = isnull(R.OSNOV_NAME,''),
		OSNOV_NUM = isnull(R.OSNOV_NUM,''),
		R.COMMENT, 
		R.OSNOV_DATE,
		DATE_END = isnull(R.DATE_END,''),
		SUM_REST_B = isnull(R.SUM_REST_B,0),
		SUM_REST_E = isnull(R.SUM_REST_E,0),
		I_R_BD = case when isnull(R.I_REST_B,0)>0 then isnull(R.I_REST_B,0) else 0 end ,
		I_R_ED = case when isnull(R.I_REST_E,0)>0 then isnull(R.I_REST_E,0) else 0 end ,
		I_R_BK = case when isnull(R.I_REST_B,0)<0 then - isnull(R.I_REST_B,0) else 0 end ,
		I_R_EK = case when isnull(R.I_REST_E,0)<0 then - isnull(R.I_REST_E,0) else 0 end ,
		NUM_DOC = isnull(R.NUM_DOC,''),
		R.DATE_DOC,
		[YEAR] = isnull(R.[YEAR],0),
		MON = isnull(R.MON,0),
		YEAR_MON = isnull(R.YEAR_MON,0),
		R.DT_ACC,
		R.KT_ACC,
		SUM_PER = isnull(R.SUM_PER,0),
		SUM_PL = isnull(R.SUM_PL,0),
		SUM_PR = isnull(R.SUM_PR,0),
		P_LINK = D.LINK, 
		P_CODE = D.CODE, 
		P_NAME = D.FULL_NAME, 
		DT.TYPE, 
		TYPE_CODE = isnull(CT.CODE,''), 
		[TYPE_NAME] = isnull(CT.[NAME],''),
		SUBDIV = (SELECT NAME from dbo.SUBDIVISION(default) where LINK = @nSel_Spr3)
from @tDepTable DT
inner join dbo.DEPARTMENTS D   on D.LINK = DT.POL_LINK
left join dbo.CREDIT_TYPES CT ON CT.LINK  = DT.TYPE
left join @tRasdel1 R on DT.POL_LINK = R.P_LINK and (DT.TYPE = R.TYPE or DT.TYPE is null and R.TYPE is null)
order by /*D.[NAME],*/ P_LINK, isnull(CT.CODE,''), YEAR_MON, SORT, DATE_DOC, SUM_PL


select DEP_TYPE = rtrim(str(D.LINK)) + isnull(CT.CODE,''),
		OSNOV_NAME = isnull(R.OSNOV_NAME,''),
		OSNOV_NUM = isnull(R.OSNOV_NUM,''),
		R.OSNOV_DATE,
		[PROC] = isnull(R.[PROC],0),
		P_ACC = isnull(R.P_ACC,''),
		SUM_R_BD = case when isnull(R.SUM_REST_B,0)>0 then isnull(R.SUM_REST_B,0) else 0 end ,
		SUM_R_ED = case when isnull(R.SUM_REST_E,0)>0 then isnull(R.SUM_REST_E,0) else 0 end ,
		SUM_R_BK = case when isnull(R.SUM_REST_B,0)<0 then - isnull(R.SUM_REST_B,0) else 0 end ,
		SUM_R_EK = case when isnull(R.SUM_REST_E,0)<0 then - isnull(R.SUM_REST_E,0) else 0 end ,
		I_R_BD = case when isnull(R.I_REST_B,0)>0 then isnull(R.I_REST_B,0) else 0 end ,
		I_R_ED = case when isnull(R.I_REST_E,0)>0 then isnull(R.I_REST_E,0) else 0 end ,
		I_R_BK = case when isnull(R.I_REST_B,0)<0 then - isnull(R.I_REST_B,0) else 0 end ,
		I_R_EK = case when isnull(R.I_REST_E,0)<0 then - isnull(R.I_REST_E,0) else 0 end ,
		I_R_BD1 = case when isnull(R.I_REST_B2,0)>0 then isnull(R.I_REST_B2,0) else 0 end ,
		I_R_ED1 = case when isnull(R.I_REST_E2,0)>0 then isnull(R.I_REST_E2,0) else 0 end ,
		I_R_BK1 = case when isnull(R.I_REST_B2,0)<0 then - isnull(R.I_REST_B2,0) else 0 end ,
		I_R_EK1 = case when isnull(R.I_REST_E2,0)<0 then - isnull(R.I_REST_E2,0) else 0 end ,
		NUM_DOC = isnull(R.NUM_DOC,''),
		R.DATE_DOC,
		[YEAR] = isnull(R.[YEAR],0),
		MON = isnull(R.MON,0),
		YEAR_MON = isnull(R.YEAR_MON,0),
		PL_SUM = isnull(R.PL_SUM,0),
		N_SUM = isnull(R.N_SUM,0),
		R1.REST_PL,
		R1.REST_N,
		P_LINK = D.LINK, 
		P_CODE = D.CODE, 
		P_NAME = D.[NAME], 
		DT.TYPE, 
		TYPE_CODE = isnull(CT.CODE,''), 
		[TYPE_NAME] = isnull(CT.[NAME],'') ,
		NACH_OTD = (select dbo.BK_Get_PERSON_Signature (PERS_LINK, DEFAULT) from KU_EMPL_PLACING where LINK = @nSel_Spr2)
from @tDepTable DT
inner join dbo.DEPARTMENTS D   on D.LINK = DT.POL_LINK
left join dbo.CREDIT_TYPES CT ON CT.LINK  = DT.TYPE
left join @tRasdel2 R on DT.POL_LINK = R.P_LINK and (DT.TYPE = R.TYPE or DT.TYPE is null and R.TYPE is null)
left join (select REST_PL = SUM(isnull(SUM_PL,0)), REST_N =  SUM(isnull(SUM_PER,0)), P_LINK, TYPE from @tRasdel1 group by P_LINK, TYPE) R1 on DT.POL_LINK = R1.P_LINK  and (DT.TYPE = R1.TYPE or DT.TYPE is null and R1.TYPE is null) 
order by /*D.[NAME],*/ P_LINK, isnull(CT.CODE,''), YEAR_MON, SORT, DATE_DOC, PL_SUM

--select * from @tDepTable

exec dbo.BufferClear 'CREDIT_ACC'
exec dbo.BufferClear 'CREDIT_PER_D'
exec dbo.BufferClear 'CREDIT_PL_K'
exec dbo.BufferClear 'CREDIT_DOH_N'

return 1








GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
grant all on dbo.BB_CREDIT_CARD to public
GO

GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BB_CREDIT_CARD_DOLG]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BB_CREDIT_CARD_DOLG]
GO

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO


/*
c Кейсистемс (Keysystems), 2005
*/

create  procedure dbo.BB_CREDIT_CARD_DOLG
	@cBufId 	char(100),
	@dDateB 	datetime,
	@dDateE 	datetime,
	@iAcc207 	tinyint,
	@iTypeRep 	tinyint = 1,
	@iDepLink 	int = 0,
	@iPrintKBK TINYINT,
	@iPrintSGU TINYINT,
	@cVal1 		char(1), 
	@nOtborLink1 	int,
	@cVal2 		char(1), 
	@nOtborLink2 	int
	

as
/*
select '@cBufId' = @cBufId 	,
	'@dDateB' = @dDateB 	,
	'@dDateE' = @dDateE 	,
	'@iAcc207' = @iAcc207 	,
	'@iTypeRep' = @iTypeRep 	,
	'@iDepLink' = @iDepLink 	,
	'@iPrintKBK' = @iPrintKBK ,
	'@iPrintSGU' = @iPrintSGU ,
	'@cVal1' = @cVal1 		, 
	'@nOtborLink1' = @nOtborLink1 	,
	'@cVal2' = @cVal2 		, 
	'@nOtborLink2' = @nOtborLink2*/
declare @iOwnDep	int,
		@dDateRest  datetime
	
declare @tRest table(DEP int,
		      		 DT_ACC varchar(35), 
					 KT_ACC varchar(35),
					 GRUP	int,
					 [TYPE]	tinyint,
					 SUMMA numeric(28,2))

declare @tAccTemp1 table(LINK int,
						 ACC int,
						 KBK int,
						 SGU int)

declare @tAccTemp2 table(LINK int,
						 ACC int,
						 KBK int,
						 SGU int)

declare @tDocAccCode table(LINK int,
						 DT_ACC varchar(40),
						 KT_ACC varchar(40))

set @iOwnDep = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
set @iDepLink = isnull(@iDepLink,0)
if @cBufId is null or @cBufId = ''
begin
	set @cBufId = 'BB_DOLG'
	exec dbo.BufferClear @cBufId
	
	insert into BUFFER (link, id)
	select C.link, @cBufId 
	from BB_P_CREDIT C
	where C.DEP_LINK = @iOwnDep and 
			C.DATE_BEG <= @dDateE and C.DATE_END >= @dDateB and
	      (@iDepLink <> 0 and C.KDEP_LINK = @iDepLink or 
			(@iDepLink = 0 and (len(@cVal1) = 0  or len(@cVal1) <> 0 
			and EXISTS (select * from dbo.OBJECT_VAR_DEPARTMENT OVD where OVD.RECORD = C.KDEP_LINK AND OVD.LINK_UP = @nOtborLink1)))) 

			/*inner join dbo.OBJECT_VAR_CREDIT_TYPE OVC on OVC.RECORD = CH.TYPE AND OVC.LINK_UP = @nOtborLink2*/ 
	
end
IF @dDateB IS NULL
	select @dDateB = MIN(DATE)
	from G_PROV 
	where OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_P_CREDIT') and 
		(@cBufId is null or @cBufId = '' or link in (select * from dbo.BufferGetTableByID(@cBufId))) and
		DEP = @iOwnDep
IF @dDateE IS NULL
	select @dDateE = MAX(dbo.BB_CREDIT_DATE_END(LINK, default, default))
	from G_PROV 
	where OBJECT in (select link from S_OBJECTS WHERE CODE = 'BB_P_CREDIT') and
		(@cBufId is null or @cBufId = '' or link in (select * from dbo.BufferGetTableByID(@cBufId))) and
		DEP = @iOwnDep

exec dbo.BufferClear 'CREDIT_ACC'
exec dbo.BufferClear 'CREDIT_PER_D'
exec dbo.BufferClear 'CREDIT_PL_N'
exec dbo.BufferClear 'CREDIT_DOH_N'
exec dbo.BufferClear 'OSNOV'
exec dbo.BufferClear 'SGU_D'
exec dbo.BufferClear 'SGU_K'
exec dbo.BufferClear 'SGU_K_P'
exec dbo.BufferClear 'SGU_K_KL_N'

insert into BUFFER (link, id)
select link, 'CREDIT_ACC' from s_accounts where code like '%301.%'

insert into BUFFER (link, id)
select link, 'CREDIT_PER' from s_accounts where code like '%210.02%' or code like '%201.07%' or code like '%201.11%' or code like '%401.30%' or code like '%301.%'

insert into BUFFER (link, id)
select link, 'CREDIT_PL' from s_accounts where code like '%304.05%' or code like '%201.07%' or code like '%201.11%'or code like '%301.%'

insert into BUFFER (link, id)
select link, 'CREDIT_PL_N' from s_accounts where code like '%401.[1-2]0%'

insert into BUFFER (link, id)
select O.LINK, 'OSNOV' 
from dbo.BD_OSNOV O
inner join dbo.G_PROV G on G.LINK = O.DOC_LINK and G.LINK in (select * from dbo.BufferGetTableByID(@cBufId))

insert into BUFFER (link, id)
select link, 'SGU_D' from dbo.KOSGU where CODE like '8%'

insert into BUFFER (link, id)
select link, 'SGU_K' from dbo.KOSGU where CODE like '7%'

insert into BUFFER (link, id)
select link, 'SGU_K_P' from dbo.KOSGU where CODE like '23%'

insert into BUFFER (link, id)
select link, 'SGU_K_PL_N' from dbo.KOSGU where CODE like '171'


insert into @tAccTemp1
select isnull(KT_AP1, DT_AP1), KT_ACCOUNT, KT_KBK, KT_SGU 
from dbo.AProvByBufferConditions('19000101', '29991231', 'CREDIT_PER', 'CREDIT_ACC', null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) 
/*
insert into @tAccTemp2
select isnull(DT_AP1, KT_AP1), DT_ACCOUNT, DT_KBK, DT_SGU
from dbo.AProvByBufferConditions('19000101', '29991231', 'CREDIT_ACC', 'CREDIT_PL', null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,null,null,null,null,null,null,null,null,null,null,NULL,null,null, null,null)
*/
delete T
from @tAccTemp1 T
where exists(SELECT * from @tAccTemp1 T1 where T.LINK = T1.LINK and T.ACC <> T1.ACC)
and exists(SELECT * from dbo.S_ACCOUNTS SA where T.ACC = SA.LINK and SA.cSinth = '301' and left(SA.cAnalit,1) = '0')
/*
delete T
from @tAccTemp2 T
where exists(SELECT * from @tAccTemp2 T1 where T.LINK = T1.LINK and T.ACC <> T1.ACC)
and exists(SELECT * from dbo.S_ACCOUNTS SA where T.ACC = SA.LINK and SA.cSinth = '301' and left(SA.cAnalit,1) = '0')
*/
insert into @tDocAccCode
select distinct O.DOC_LINK, 
				isnull(dbo.BK_GetAcctFullCode1 (T1.ACC, T1.KBK, T1.SGU, @iPrintKBK, @iPrintSGU, @dDateE),''),
				isnull(dbo.BK_GetAcctFullCode1 (T2.ACC, T2.KBK, T2.SGU, @iPrintKBK, @iPrintSGU, @dDateE),'')
from dbo.BD_OSNOV O 
inner join @tAccTemp1 T1 on T1.LINK = O.LINK
left join @tAccTemp2 T2 on T2.LINK = O.LINK

	
	
-- Раздел 1
declare @tTempRasdel1 table(OBJECT		varchar(254),
							LINK	int,
							DOC_NUM		char(25),
							DOC_DATE	datetime,
							OPER_NAME	varchar(254),
							OPER_DATE	datetime,
							SUM_PER		numeric(28,2),
							SUM_PL		numeric(28,2),
							SUM_PR 		numeric(28,2),
							DEP			int,
		      				DOC_LINK	int)

declare @tRasdel1 table(TYPE		int,
		      			ACC_CODE1 varchar(35),
		      			ACC_CODE2 varchar(35),
		      			DOC_NAME	varchar(254),
						DOC_NUM		char(25),
						DOC_DATE	datetime,
						OPER_NAME	varchar(254),
						OPER_DATE	datetime,
						SUM_PER		numeric(28,2),
						SUM_PL		numeric(28,2),
						SUM_PR 		numeric(28,2),
						SORT		tinyint,
						P_LINK		int,
						DOC_LINK	int,
						GRUP		INT)



insert into @tTempRasdel1
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV,S.SUMMA, 0, 0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.KT_AP1, S.DT_AP1)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_PER', 'CREDIT_ACC',
			 null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,
			 null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0,S.SUMMA,  0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.DT_AP1, S.KT_AP1)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_PL',
			 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,
			 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,null, null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0, 0, S.SUMMA, isnull(S.KT_DEP, S.DT_DEP), isnull(S.DT_AP1, S.KT_AP1)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_PL_N',
				 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K_PL_N',null,null, null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0, 0, S.SUMMA, isnull(S.KT_DEP, S.DT_DEP), isnull(S.KT_AP1, S.DT_AP1)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_PL_N', 'CREDIT_ACC',
				 null,null,null,null,null,null,null,null,null,null,'SGU_K_PL_N',null,null, null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) S



-- Раздел 2
declare @tTempRasdel2 table(OBJECT	varchar(254),
							LINK	int,
							DOC_NUM	char(25),
							DOC_DATE	datetime,
							OPER_NAME	varchar(254),
							OPER_DATE	datetime,
							SUM_PER	numeric(28,2),
							SUM_PL	numeric(28,2),
							SUM_PR 	numeric(28,2),
							DEP			int,
		      				DOC_LINK	int,
		      				ACC_CODE varchar(35))

declare @tRasdel2 table(TYPE		int,
		      			ACC_CODE varchar(35),
						ACC_CODE1 varchar(35),
						ACC_CODE2 varchar(35),
						DOC_NAME	varchar(254),
						DOC_NUM		char(25),
						DOC_DATE	datetime,
						OPER_NAME	varchar(254),
						OPER_DATE	datetime,
						SUM_PER		numeric(28,2),
						SUM_PL		numeric(28,2),
						SUM_PR 		numeric(28,2),
						SORT		tinyint,
						P_LINK		int,
						DOC_LINK	int,
						GRUP		INT)

insert into @tTempRasdel2
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, S.SUMMA, 0, 0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.KT_AP1, S.DT_AP1), dbo.BK_GetAcctFullCode1 (KT_ACCOUNT, KT_KBK, KT_SGU, @iPrintKBK, @iPrintSGU, @dDateE)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_PL_N', 'CREDIT_ACC',
				 null,null,null,null,null,null,null,null,null,null,'SGU_K_P',null,null, null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0,S.SUMMA, 0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.DT_AP1, S.KT_AP1), dbo.BK_GetAcctFullCode1 (DT_ACCOUNT, DT_KBK, DT_SGU, @iPrintKBK, @iPrintSGU, @dDateE)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_PL',
				 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K_P',null,null, null,null) S
union
select S.DOC_OBJECT, S.LINK, S.NUMBER, S.DOC_DATE, S.NAME_OPER, S.DATE_PROV, 0,S.SUMMA, 0, isnull(S.KT_DEP, S.DT_DEP), isnull(S.DT_AP1, S.KT_AP1), dbo.BK_GetAcctFullCode1 (DT_ACCOUNT, DT_KBK, DT_SGU, @iPrintKBK, @iPrintSGU, @dDateE)
from dbo.AProvByBufferConditions(@dDateB, @dDateE, 'CREDIT_ACC', 'CREDIT_ACC',
				 null,null,null,null,null,null,null,null,null,null,'SGU_D',null,'OSNOV', null,null,
				 null,null,null,null,null,null,null,null,null,null,'SGU_K',null,'OSNOV', null,null) S



if @iAcc207 = 0
begin
	insert into @tRest
	select C.KDEP_LINK,  A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end, 0, sum(dbo.BB_CREDIT_REST(C.LINK, @dDateB,0))
	from dbo.BB_P_CREDIT C 
	left join @tDocAccCode A on A.LINK = C.LINK 
	where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
	group by C.KDEP_LINK,   A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end
	
	insert into @tRest
	select C.KDEP_LINK, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end, 2, sum(dbo.BB_CREDIT_REST(C.LINK, @dDateE,0))
	from dbo.BB_P_CREDIT C 
	left join @tDocAccCode A on A.LINK = C.LINK 
	where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
	group by C.KDEP_LINK,  A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end
	
	insert into @tRest
	select  C.KDEP_LINK, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end, 1,
			sum(dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateB,'PROC','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateB,'SH_NECELEV','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateB,'SH_CREDIT','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateB,'SH_PROC',''))
	from dbo.BB_P_CREDIT C
	left join @tDocAccCode A on A.LINK = C.LINK 
	where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
	group by C.KDEP_LINK,  A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end

	insert into @tRest
	select C.KDEP_LINK,   A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end, 3,
			sum(dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateE,'PROC','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateE,'SH_NECELEV','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateE,'SH_CREDIT','') + 
				 dbo.BB_CREDIT_SUM_REST(C.LINK, @dDateE,'SH_PROC',''))
	from dbo.BB_P_CREDIT C
	left join @tDocAccCode A on A.LINK = C.LINK 
	where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
	group by C.KDEP_LINK, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then C.KDEP_LINK when 2 then C.TYPE when 3 then C.LINK  else null end

end
else
begin
	insert into @tRest
	select R.DEP, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then R.DEP when 2 then C.TYPE when 3 then O.DOC_LINK  else null end,
				case KBK.TYPE when 1 then 1 else 0 end, 
				sum(R.K_SUMMA - R.D_SUMMA) 
		from dbo.aRestTableByDateAccounts(@dDateB,'CREDIT_ACC') R
		inner join dbo.KL_KBK KBK on R.KBK = KBK.LINK --and KBK.TYPE <> 2
		inner join dbo.BD_OSNOV O on R.AP1 = O.LINK  
		inner join dbo.BB_P_CREDIT C on C.LINK = O.DOC_LINK 
		left join @tDocAccCode A on A.LINK = C.LINK 
		where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
		group by R.DEP,A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then R.DEP when 2 then C.TYPE when 3 then O.DOC_LINK  else null end, KBK.TYPE
set @dDateE = @dDateE + 1
	insert into @tRest
	select R.DEP, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then R.DEP when 2 then C.TYPE when 3 then O.DOC_LINK  else null end,
				2 + case KBK.TYPE when 1 then 1 else 0 end , 
				sum(R.K_SUMMA - R.D_SUMMA) 
		from dbo.aRestTableByDateAccounts(@dDateE,'CREDIT_ACC') R
		inner join dbo.KL_KBK KBK on R.KBK = KBK.LINK --and KBK.TYPE <> 2
		left join dbo.BD_OSNOV O on R.AP1 = O.LINK  
		inner join dbo.BB_P_CREDIT C on C.LINK = O.DOC_LINK 
		left join @tDocAccCode A on A.LINK = C.LINK 
		where exists(select * from dbo.BufferGetTableByID(@cBufId) where LINK = C.LINK)
		group by R.DEP, A.DT_ACC, A.KT_ACC, case @iTypeRep when 1 then R.DEP when 2 then C.TYPE when 3 then O.DOC_LINK  else null end, KBK.TYPE
end

insert into @tRasdel1
select  C.TYPE,
		A.DT_ACC, 
		A.KT_ACC, 
		DOC_NAME	= dbo.JurnalProvGetDocKind (S.LINK, S.OBJECT),
		DOC_NUM		= S.DOC_NUM,
		DOC_DATE	= S.DOC_DATE,
		S.OPER_NAME,
		S.OPER_DATE,
		S.SUM_PER,
		S.SUM_PL,
		S.SUM_PR,
		SORT		= 2,
		C.KDEP_LINK,
		C.LINK,
		GPUP = case @iTypeRep when 1 then isnull(C.KDEP_LINK, S.DEP)
								when 2 then isnull(C.TYPE, '')
								when 3 then O.DOC_LINK else '' end
from @tTempRasdel1 S
left join dbo.BD_OSNOV O on S.DOC_LINK = O.LINK
left join dbo.BB_P_CREDIT C on C.LINK = O.DOC_LINK and C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))
left join @tDocAccCode A on A.LINK = O.DOC_LINK 

/*
select * from @tTempRasdel1 S
left join dbo.BD_OSNOV O on S.DOC_LINK = O.LINK
where O.DOC_LINK = 92167

select * from @tDocAccCode where LINK = 92167
*/
--select * from @tTempRasdel2

insert into @tRasdel2
select  C.TYPE,
		S.ACC_CODE,
		A.DT_ACC, 
		A.KT_ACC, 
		DOC_NAME	= dbo.JurnalProvGetDocKind (S.LINK, S.OBJECT),
		DOC_NUM		= S.DOC_NUM,
		DOC_DATE	= S.DOC_DATE,
		S.OPER_NAME,
		S.OPER_DATE,
		S.SUM_PER,
		S.SUM_PL,
		S.SUM_PR,
		SORT		= 2,
		C.KDEP_LINK,
		C.LINK,
		GPUP = case @iTypeRep when 1 then isnull(C.KDEP_LINK, S.DEP)
								when 2 then isnull(C.TYPE, '')
								when 3 then O.DOC_LINK else '' end
from @tTempRasdel2 S
left join dbo.BD_OSNOV O on S.DOC_LINK = O.LINK
left join dbo.BB_P_CREDIT C on C.LINK = O.DOC_LINK and C.LINK in (select * from dbo.BufferGetTableByID(@cBufId))
left join @tDocAccCode A on A.LINK = O.DOC_LINK 


--declare @tDocTable table(DOC_LINK	int, POL_LINK	int, TYPE int)
declare @tDocTable table( ACC_CODE1 varchar(35), ACC_CODE2 varchar(35), DEP int, GRUP int)

insert into @tDocTable
select ACC_CODE1, ACC_CODE2, P_LINK, GRUP from @tRasdel2 union
select ACC_CODE1, ACC_CODE2, P_LINK, GRUP from @tRasdel1 union
select DT_ACC, KT_ACC, DEP, GRUP from @tRest
/*
select * from @tDocTable  where GRUP = 92167
select * from @tRasdel2  where GRUP = 92167
select * from @tRasdel1  where GRUP = 92167
select * from @tRest where GRUP = 92167
*/

--select * from @tRest

select 	--DOC_LINK = DT.DOC_LINK,
		DOC_NAME = isnull(R.DOC_NAME,''),
		DOC_NUM = isnull(R.DOC_NUM,''),
		R.DOC_DATE,
		SUM_REST_B = isnull(RB.SUMMA,0),
		SUM_REST_E = isnull(RE.SUMMA,0),
		OPER_NAME = isnull(R.OPER_NAME,''),
		R.OPER_DATE,
		SUM_PER = isnull(R.SUM_PER,0),
		SUM_PL = isnull(R.SUM_PL,0),
		SUM_PR = isnull(R.SUM_PR,0),
		P_LINK = D.LINK, 
		P_CODE = D.CODE, 
		P_NAME = D.[NAME], 
		--DT.TYPE, 
		DATE_B = C.DATE_BEG,
		DATE_E = C.DATE_END,
		DT.ACC_CODE1,
		DT.ACC_CODE2,
		TYPE_CODE = coalesce(CT.CODE,C.TYPE_CODE), 
		[TYPE_NAME] = coalesce(CT.[NAME], rtrim(C.[TYPE_NAME]) + ' (договор №' + rtrim(ltrim(C.NUMBER)) + ')'),
		GRUP = rtrim(str(DT.DEP)) + '__' + rtrim(str(DT.GRUP)) + '__' +  isnull(DT.ACC_CODE1,'') + '__' +  isnull(DT.ACC_CODE2,'')
from @tDocTable DT
inner join dbo.DEPARTMENTS D   on D.LINK = DT.DEP
left join dbo.BB_P_CREDIT C ON @iTypeRep = 3 and  C.LINK  = DT.GRUP
left join dbo.CREDIT_TYPES CT ON @iTypeRep = 2 and CT.LINK  = DT.GRUP
left join @tRasdel1 R on (DT.GRUP = R.GRUP or DT.GRUP is null and R.GRUP is null) and R.P_LINK = DT.DEP and isnull(R.ACC_CODE1,'') = isnull(DT.ACC_CODE1,'') and isnull(R.ACC_CODE2,'') = isnull(DT.ACC_CODE2,'')
left join @tRest RB on (DT.GRUP = RB.GRUP or DT.GRUP is null and RB.GRUP is null) and RB.DEP = DT.DEP and isnull(RB.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RB.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RB.[TYPE] = 0
left join @tRest RE on (DT.GRUP = RE.GRUP or DT.GRUP is null and R.GRUP is null) and RE.DEP = DT.DEP and isnull(RE.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RE.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RE.[TYPE] = 2
order by DT.GRUP, P_LINK,/* DOC_NAME,*/ R.DOC_DATE, SUM_PL, SORT


select 	--DOC_LINK = DT.DOC_LINK,
		DOC_NAME = isnull(R.DOC_NAME,''),
		DOC_NUM = isnull(R.DOC_NUM,''),
		R.DOC_DATE,
		SUM_REST_B = isnull(RB.SUMMA,0),
		SUM_REST_E = isnull(RE.SUMMA,0),
		SUM_R_B1 = isnull(RB1.SUMMA,0),
		SUM_R_E1 = isnull(RE1.SUMMA,0),
		OPER_NAME = isnull(R.OPER_NAME ,''),
		R.OPER_DATE,
		SUM_PER = isnull(R.SUM_PER,0),
		SUM_PL = isnull(R.SUM_PL,0),
		SUM_PR = isnull(R.SUM_PR,0),
		SUM_PER1 = isnull(R1.SUM_PER,0),
		SUM_PL1 = isnull(R1.SUM_PL,0),
		SUM_PR1 = isnull(R1.SUM_PR,0),
		P_LINK = D.LINK, 
		P_CODE = D.CODE, 
		P_NAME = D.[NAME], 
		--DT.TYPE, 
		R.ACC_CODE,
		TYPE_CODE = isnull(CT.CODE,''), 
		[TYPE_NAME] = coalesce(CT.[NAME], rtrim(C.[TYPE_NAME]) + ' (договор №' + rtrim(ltrim(C.NUMBER)) + ')'),
		GRUP = rtrim(str(DT.DEP)) + '__' + rtrim(str(DT.GRUP)) + '__' +  isnull(DT.ACC_CODE1,'') + '__' +  isnull(DT.ACC_CODE2,'')
from @tDocTable DT
inner join dbo.DEPARTMENTS D   on D.LINK = DT.DEP
left join dbo.BB_P_CREDIT C ON @iTypeRep = 3 and  C.LINK  = DT.GRUP
left join dbo.CREDIT_TYPES CT ON @iTypeRep = 2 and CT.LINK  = DT.GRUP
left join @tRasdel2 R on (DT.GRUP = R.GRUP or DT.GRUP is null and R.GRUP is null) and R.P_LINK = DT.DEP and isnull(R.ACC_CODE1,'') = isnull(DT.ACC_CODE1,'') and isnull(R.ACC_CODE2,'') = isnull(DT.ACC_CODE2,'')
left join @tRest RB on (DT.GRUP = RB.GRUP or DT.GRUP is null and RB.GRUP is null) and RB.DEP = DT.DEP and isnull(RB.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RB.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RB.[TYPE] = 1
left join @tRest RE on (DT.GRUP = RE.GRUP or DT.GRUP is null and RE.GRUP is null) and RE.DEP = DT.DEP and isnull(RE.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RE.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RE.[TYPE] = 3
left join (select SUM_PER = sum(isnull(SUM_PER,0)), SUM_PL = sum(isnull(SUM_PL,0)), SUM_PR = sum(isnull(SUM_PR,0)), GRUP, P_LINK, ACC_CODE1, ACC_CODE2
			from @tRasdel1 group by GRUP, P_LINK, ACC_CODE1, ACC_CODE2) r1 on (DT.GRUP = R1.GRUP or DT.GRUP is null and R1.GRUP is null) and R1.P_LINK = DT.DEP and isnull(R1.ACC_CODE1,'') = isnull(DT.ACC_CODE1,'') and isnull(R1.ACC_CODE2,'') = isnull(DT.ACC_CODE2,'')
left join @tRest RB1 on (DT.GRUP = RB1.GRUP or DT.GRUP is null and RB1.GRUP is null) and RB1.DEP = DT.DEP and isnull(RB1.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RB1.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RB1.[TYPE] = 0
left join @tRest RE1 on (DT.GRUP = RE1.GRUP or DT.GRUP is null and RE1.GRUP is null) and RE1.DEP = DT.DEP and isnull(RE1.DT_ACC,'') = isnull(DT.ACC_CODE1,'') and isnull(RE1.KT_ACC,'') = isnull(DT.ACC_CODE2,'') and RE1.[TYPE] = 2
order by  DT.GRUP, P_LINK, /*DOC_NAME, */ R.DOC_DATE, SUM_PL, SORT


exec dbo.BufferClear 'CREDIT_ACC'
exec dbo.BufferClear 'CREDIT_PER_D'
exec dbo.BufferClear 'CREDIT_PL_N'
exec dbo.BufferClear 'CREDIT_DOH_N'
exec dbo.BufferClear 'OSNOV'
exec dbo.BufferClear 'SGU_D'
exec dbo.BufferClear 'SGU_K'
exec dbo.BufferClear 'SGU_K_KL_N'

return 1

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
grant all on dbo.BB_CREDIT_CARD_DOLG to public
GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KJ_KADRY_ALL_PHIS_REP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[KJ_KADRY_ALL_PHIS_REP]

GO
CREATE       PROCEDURE dbo.KJ_KADRY_ALL_PHIS_REP        
	@dDate1 datetime,
	@cText1 varchar(20),
	@varKScVal1 CHAR(1),
	@varKSnOtborLink1 int
AS BEGIN
	
	-- EXEC KJ_KADRY_ALL_PHIS_REP '20160314' , '223' , '', NULL
	-- выборка физ лиц из фильтра
	CREATE TABLE #KSPERS (PERS_LINK INT)
	IF LEN(@varKScVal1) <> 0 
		INSERT	INTO #KSPERS
		SELECT	RECORD FROM OBJECT_VAR_PERSON WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT	INTO #KSPERS
		SELECT	p.LINK
		FROM	DBO.ku_person p


	/* -- Параметры организации -- */
	DECLARE @intORG_LINK INT 
	SET @intORG_LINK = dbo.GetOwnDepLink()

	-- выборка реквизитов физ лиц
	-- !!! РАСШИРИТЬ НАБОР АТРИБУТОВ ПРИ НЕОБХОДИМОСТИ !!! --
	DECLARE
		@ORGNAME VARCHAR(254), @DEP_LINK INT, @ORGFULLNAME VARCHAR(2000),@DEP_ACC_M VARCHAR(20),
	    @DEP_INN VARCHAR(12), @DEP_KPP VARCHAR(9), @DEP_OKPO VARCHAR(20), @DEP_OGRN VARCHAR(13),
	    @N_ACC_CODE VARCHAR(20), @count_phiz INT,
	    @DOC_ID  UNIQUEIDENTIFIER

	SET @count_phiz = (SELECT COUNT(*) FROM #KSPERS)
	SET @DOC_ID = NEWID()    
	SELECT  top 1 
			
			@ORGNAME 	= LEFT(DEP.[NAME],254),
			@ORGFULLNAME  = LEFT(DEP.[FULL_NAME],2000),
			@DEP_LINK 	= DEP.LINK,
			@DEP_INN = LEFT(INN,12), @DEP_KPP = LEFT(KPP,9), @DEP_OKPO = LEFT(OKPO,20), @DEP_OGRN = LEFT(OGRN,13) , @DEP_ACC_M = CONVERT(VARCHAR(20),DEP.MAIN_LINK),
			@N_ACC_CODE = N_ACC_CODE
	FROM dbo.DICTIONARY_DEPARTMENT DEP WHERE link = @intORG_LINK


	/*************************/
	
	SELECT	
		N_PP = ROW_NUMBER() OVER (/*PARTITION BY p.LINK */ORDER BY P.FM, P.IM, P.OT ),
		p.LINK,
		p.FM,
		P.IM ,
		P.OT, 
		B.OSB ,
		RESIDENT = CASE  when P.RESIDENT in (1,3) 
							THEN 'FALSE' 
							ELSE 'TRUE' END,
		P.CITIZ_NAME ,
		VALUTE_CODE = 'RUR',
		PODVIDV_CODE = (SELECT TOP 1 POSTFIX FROM dbo.CARDS WHERE link = EC.CARD_LINK ) ,
		VIDV_CODE =  (SELECT TOP 1 CODE FROM dbo.CARDS WHERE link = EC.CARD_LINK ),
		VIDV_NAME = (SELECT TOP 1 NAME FROM dbo.CARDS WHERE link = EC.CARD_LINK ),
		p.DOC_LINK, 
		p.DOC_CODE,
		p.DOC_NAME,
		DOC_SER = CASE WHEN PATINDEX ( '% %' , substring(P.DOC_NUM,4,16 )) = 0 AND  PATINDEX ( '%/%' , substring(P.DOC_NUM,1,15 )) <> 0
						THEN left(P.DOC_NUM, PATINDEX ( '%/%' , substring(P.DOC_NUM,1,15 ))-1)
						ELSE left(P.DOC_NUM, 5) END ,

		DOC_NUM = CASE WHEN PATINDEX ( '% %' , substring(P.DOC_NUM,4,16 )) = 0  AND  PATINDEX ( '%/%' , substring(P.DOC_NUM,1,15 )) <> 0 
						then SUBSTRING(P.DOC_NUM,PATINDEX ( '%/%' , substring(P.DOC_NUM,1,20 ))+1,10)
						ELSE SUBSTRING(P.DOC_NUM,7,10) END ,
		P.DOC_DATE,
		P.DOC_WHOM,
		p.BIRTHDATE,
		SEX = CASE WHEN SEX = 1 THEN 'М' ELSE 'Ж' END ,
		P.BIRTHPLACE,
		[PINDEX] = (select rtrim(PINDEX) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		[PSTR] =  case when (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK) = '1' then 'Российская Федерация' else '' END,
		PREGION_NAME = (select rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PREGION_SOKR = CASE WHEN  PATINDEX ( '% респ%' ,(SELECT TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'респ'
							WHEN  PATINDEX ( '% обл%' ,(SELECT TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'обл'	
							WHEN  PATINDEX ( '% край%' ,(SELECT TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'край'
							WHEN  PATINDEX ( '% АО%' ,(SELECT TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'АО'
							ELSE ''		
		               END,
		PRAION_N =   (select rtrim(RAION_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),   
		PRAION_S =   (select rtrim(RAION_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),   
		PGOROD_N = (select rtrim(GOROD_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PGOROD_S = (select rtrim(GOROD_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PNASEL_N = (select rtrim(NASEL_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PNASEL_S =(select rtrim(NASEL_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PSTREET_N =(select rtrim(STREET_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		PSTREET_S = (select rtrim(STREET_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
 		PHOUSE = RTRIM(CONVERT(varchar(10),P.HOUSE_OFIC)) ,
		PKORP = RTRIM(CONVERT(varchar(10),P.CORP_OFIC)) ,
		PFLAT = RTRIM(CONVERT(varchar(10),P.FLAT_OFIC)) ,
		[FINDEX] = (select rtrim(PINDEX) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		[FSTR] =  (case when (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK) = '1' then 'Российская Федерация' else '' END),
		FREGION_NAME = (select rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FREGION_SOKR = CASE WHEN  PATINDEX ( '% респ%' ,(select TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'респ'
							WHEN  PATINDEX ( '% обл%' ,(select TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'обл'	
							WHEN  PATINDEX ( '% край%' ,(select TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'край'
							WHEN  PATINDEX ( '% АО%' ,(select TOP 1 rtrim(REGION) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0))) <> 0 THEN 'АО'
							ELSE ''		
		               END,
		FRAION_N =   (select rtrim(RAION_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),   
		FRAION_S =   (select rtrim(RAION_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),   
		FGOROD_N = (select rtrim(GOROD_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FGOROD_S = (select rtrim(GOROD_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FNASEL_N = (select rtrim(NASEL_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FNASEL_S =(select rtrim(NASEL_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FSTREET_N =(select rtrim(STREET_N) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
		FSTREET_S = (select rtrim(STREET_SOCR) from dbo.GetAddressPartsByKladr_SOKR(P.ADR_OFIC_LINK,0)),
 		FHOUSE = RTRIM(CONVERT(varchar(10),P.HOUSE_OFIC)) ,
		FKORP = RTRIM(CONVERT(varchar(10),P.CORP_OFIC)) ,
		FFLAT = RTRIM(CONVERT(varchar(10),P.FLAT_OFIC)) ,
		COL3 = CASE WHEN SEX = 1 THEN 'MR' ELSE 'MRS' END,
		COL2 = 	
		(select replace(replace(replace(replace(replace(replace(replace(replace(replace(REPLACE(REPLACE(
				REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
				REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
				REPLACE(REPLACE(replace(upper(p.FM),
                         'КС','X')
                        ,'А','A')
						 , 'Б','B')
						 , 'В','V')
						 , 'Г', 'G')
						 , 'Д', 'D')
						 , 'Е', 'E')
						 , 'З','Z') 
						 , 'И', 'I')
						 , 'Й', 'Y')
						 , 'К', 'K') 
						 , 'Л', 'L')
						 , 'М', 'M')
						 , 'Н', 'N')
						 , 'О', 'O')
						 , 'П', 'P')
						 , 'Р', 'R')
						 , 'С', 'S')
						 , 'Т', 'T')
						 , 'У', 'U')
						 , 'Ф', 'F')
						 , 'Х', 'H')
						 , 'Ы', 'Y')
						 , 'Ъ', '#')
						 , 'Ь', '''')						
                        , 'Ж','ZH')
                        ,'Ё','YO')
                        ,'Ц','TS')
                        ,'Ч','CH')
                        ,'Ш','SH')
                        ,'Щ','SCH')
                        ,'Э','EH')
                        ,'Ю','YU')
                        ,'Я','YA'))
                        ,

		COL1= 	
		(select replace(replace(replace(replace(replace(replace(replace(replace(replace(REPLACE(REPLACE(
				REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
				REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
				REPLACE(REPLACE(replace(upper(p.im),
                         'КС','X')
                        ,'А','A')
						 , 'Б','B')
						 , 'В','V')
						 , 'Г', 'G')
						 , 'Д', 'D')
						 , 'Е', 'E')
						 , 'З','Z') 
						 , 'И', 'I')
						 , 'Й', 'Y')
						 , 'К', 'K') 
						 , 'Л', 'L')
						 , 'М', 'M')
						 , 'Н', 'N')
						 , 'О', 'O')
						 , 'П', 'P')
						 , 'Р', 'R')
						 , 'С', 'S')
						 , 'Т', 'T')
						 , 'У', 'U')
						 , 'Ф', 'F')
						 , 'Х', 'H')
						 , 'Ы', 'Y')
						 , 'Ъ', '#')
						 , 'Ь', '''')						
                        , 'Ж','ZH')
                        ,'Ё','YO')
                        ,'Ц','TS')
                        ,'Ч','CH')
                        ,'Ш','SH')
                        ,'Щ','SCH')
                        ,'Э','EH')
                        ,'Ю','YU')
                        ,'Я','YA'))
                        ,
       DATE_DOC = @dDate1,
	   num_dog = @cText1,
	   orgname = @ORGNAME ,
	   org_fuln = @ORGFULLNAME,
	   dep_link = @DEP_LINK,
	   DEP_INN = @DEP_INN,
	   N_ACC_CODE = @N_ACC_CODE,
	   count_phiz = @count_phiz,
       DOC_ID  = @DOC_ID               
		FROM	
		DBO.ku_person p 
		LEFT JOIN dbo.SA_PERSON_ECARD_DEFAULT EC ON EC.PERS_LINK = p.LINK
		LEFT JOIN dbo.BANKS AS b ON b.LINK = EC.BANK_LINK
	WHERE	((LEN(@varKScVal1) <> 0 AND p.LINK IN (SELECT PERS_LINK FROM #KSPERS)) OR LEN(@varKScVal1) = 0)
	ORDER BY P.FM, P.IM, P.OT


DROP TABLE #KSPERS

END





GO


GRANT EXECUTE ON dbo.[KJ_KADRY_ALL_PHIS_REP] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RN_PRINT_169_2016]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RN_PRINT_169_2016]

GO

/*
© Кейсистемс (Keysystems), 2009
*/

CREATE PROCEDURE dbo.[RN_PRINT_169_2016]
	@namesTables varchar(8000),        -- имена глобальных временных таблиц через запятую, где хранятся таблицы
									-- нужно самим сделать select, первый select отностится к c_data2
									-- после работы, нужно удалить!
	@LSF int
AS
	create table #all (COL1 varchar(8000), COL2 varchar(8000), COL3 float, COL4 float, COL5 float, COL6 varchar(8000),  CODE varchar(50), DEL bit, ITOG int, orders int IDENTITY(1,1))
	declare @table varchar(100), @RunStr varchar(8000),@table1 varchar(100),@table2 varchar(100),@table3 varchar(100) ,@table5 varchar(100) 
	
	exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table1 output, ','

	set @RunStr = 'DELETE A 
	               FROM  ' + @table1 +' A 
	               WHERE EXISTS(SELECT * FROM '+@table1 +' B WHERE SUBSTRING(A.CODE,18,9) = SUBSTRING(B.CODE,18,9) AND SUBSTRING(B.CODE,1,17) <> ''00000000000000000'')  
	               AND SUBSTRING(A.CODE,1,17) = ''00000000000000000'''  
   PRINT @RunStr
	execute(@RunStr)

--	set @RunStr = 'SELECT * FROM ' + @table1 
--	execute(@RunStr)

--	set @RunStr = 'drop table ' + @table1
--	execute(@RunStr)


	exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table2 output, ','
	set @RunStr = 'DELETE A 
	               FROM  ' + @table2 +' A 
	               WHERE EXISTS(SELECT * FROM '+@table2 +' B WHERE SUBSTRING(A.CODE,18,9) = SUBSTRING(B.CODE,18,9) AND SUBSTRING(B.CODE,1,17) <> ''00000000000000000'')  
	               AND SUBSTRING(A.CODE,1,17) = ''00000000000000000'''  
   PRINT @RunStr
	execute(@RunStr)

--	set @RunStr = 'SELECT * FROM ' + @table2 
--	execute(@RunStr)

--	set @RunStr = 'drop table ' + @table2
--	execute(@RunStr)

	exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table3 output, ','
	set @RunStr = 'DELETE A 
	               FROM  ' + @table3 +' A 
	               WHERE EXISTS(SELECT * FROM '+@table3 +' B WHERE SUBSTRING(A.CODE,18,9) = SUBSTRING(B.CODE,18,9) AND SUBSTRING(B.CODE,1,17) <> ''00000000000000000'')  
	               AND SUBSTRING(A.CODE,1,17) = ''00000000000000000'''  
   PRINT @RunStr
	execute(@RunStr)

--	set @RunStr = 'SELECT * FROM ' + @table3 
--	execute(@RunStr)

--	set @RunStr = 'drop table ' + @table3
--	execute(@RunStr)

set @RunStr = 'SELECT DEL,ORDERS, CODE,COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8,COL9,COL10,COL11,COL12,COL13,COL14,COL15,COL16  FROM ' + @table1 +'
UNION ALL  
SELECT DEL,ORDERS,CODE,COL1,COL2+COL3+COL4,COL5,COL6,COL7,COL8,COL9,COL10,COL11,COL12,COL13,COL14,COL15,COL16,COL17,COL18 FROM ' + @table2 +'
UNION ALL
SELECT DEL,ORDERS,CODE,COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8,COL9,COL10,COL11,COL12,COL13,COL14,COL15,COL16 FROM ' + @table3 
execute(@RunStr)

set @RunStr = 'SELECT * FROM ' + @table2 +' WHERE 1=0' 
execute(@RunStr)

set @RunStr = 'SELECT * FROM ' + @table3 +' WHERE 1=0' 
execute(@RunStr)

	PRINT  @namesTables
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table output, ','
set @RunStr = 'SELECT * FROM ' + @table 
PRINT @RunStr
execute(@RunStr)

set @RunStr = 'drop table ' + @table
execute(@RunStr)

exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table5 output, ','
set @RunStr = 'SELECT * FROM ' + @table5 
PRINT @RunStr
execute(@RunStr)

set @RunStr = 'drop table ' + @table5
execute(@RunStr)




GO


GRANT EXECUTE ON dbo.[RN_PRINT_169_2016] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_4FSS_EXPORT_v08]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_4FSS_EXPORT_v08]

GO

/*EXEC dbo.BK_SELECT_EXPORT_FORMAT 2486*/
/*exec [dbo].SA_4FSS_EXPORT_v05       42251*/
CREATE      PROCEDURE [dbo].SA_4FSS_EXPORT_v08 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT  ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))


INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------
-- Проставлять ОКАТО или ОКТМО по настройке
DECLARE @OKATO_OR_OKTMO int
SET @OKATO_OR_OKTMO = dbo.SA_GET_OPTION_BY_CODE('NASTR_USE_OKATO_OKTMO')


DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT,
		@Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,Period_Number*3,YEAR(Begin_Date))),
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS
WHERE LINK_SAVED_FORM = @link

DECLARE
	@first_month_of_quarter TINYINT,
	@second_month_of_quarter TINYINT,
	@third_month_of_quarter TINYINT

IF @Period_Number = 1
	SELECT @first_month_of_quarter = 1, @second_month_of_quarter = 2, @third_month_of_quarter = 3
IF @Period_Number = 2
	SELECT @first_month_of_quarter = 4, @second_month_of_quarter = 5, @third_month_of_quarter = 6
IF @Period_Number = 3
	SELECT @first_month_of_quarter = 7, @second_month_of_quarter = 8, @third_month_of_quarter = 9
IF @Period_Number = 4
	SELECT @first_month_of_quarter = 10, @second_month_of_quarter = 11, @third_month_of_quarter = 12

SELECT  @first_month_of_quarter = ISNULL(@first_month_of_quarter,1), @second_month_of_quarter = ISNULL(@second_month_of_quarter,2), @third_month_of_quarter = ISNULL(@third_month_of_quarter,3)

SELECT top 1
	DD1.OKPO AS OKPO1,
	DD1.INN AS INN1, DD1.KPP AS KPP1,
	FULL_NAME = UPPER(DD1.FULL_NAME),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	DD1.OGRN AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	DD1.OGRN,
	DD1.OKATO,
	DD1.OKTMO,
	DD1.OKVED,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TaxType = DD1.FSS_KP_PC1,
	TaxType2 = DD1.FSS_KP_PC2,
	TaxType3 = DD1.FSS_KP_PC3
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP

DECLARE @NumDotC VARCHAR(2), @NumDot INT
SELECT @NumDotC = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_NOM_OBR'),'00')
SET @NumDot = CASE WHEN ISNUMERIC(@NumDotC) =1 THEN CONVERT(INT,@NumDotC) ELSE 0 END

DECLARE @LIKV VARCHAR(3), @nLIKV INT
SELECT @LIKV = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_LIKVID'),'00')
SET @nLIKV = CASE WHEN LTRIM(RTRIM(@LIKV)) = 'Да' THEN 1 ELSE 0 END

DECLARE @Cur0 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @Cur CURSOR, @Cur1 CURSOR, @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254)

DECLARE @lcFNAME varchar(254)
SELECT @lcFNAME = FSS_REG_NUM + '_' + CONVERT(VARCHAR(4),@YEAR)  + '_' +  (CASE @Period_Number WHEN 1 THEN '03' WHEN 2 THEN '06' WHEN 3 THEN '09' ELSE '12' END) + '.XML' FROM #DEP_DATA

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'OEM' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="windows-1251"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?F4FORM version="0.8"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<F4REPORT xmlns="http://fz122.fss.ru" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:schemaLocation="http://fz122.fss.ru/doc/f4form_2015.xsd">'

/** Титул **/

	UNION ALL SELECT @lcFNAME, SPACE(1) + '<TITLE'
		+ ' REG_NUM="' + LTRIM(RTRIM(FSS_REG_NUM)) + '"'
		+ ' KPS_NUM="' + LTRIM(RTRIM(FSS_KOD_P)) + '"'
		--+ ' DOP_NUM="' + ISNULL(LTRIM(RTRIM(FSS_KOD_DOP)),'') + '"'
		+ ' YEAR_NUM="' + CONVERT(VARCHAR(4),@YEAR) + '"'
		+ ' QUART_NUM="' + (CASE @Period_Number WHEN 1 THEN '03' WHEN 2 THEN '06' WHEN 3 THEN '09' ELSE '12' END) + '"'
		+ ' NAME="' + LTRIM(RTRIM(REPLACE(FULL_NAME,'"','&quot;'))) + '"'
		+ ' INN="' + LTRIM(RTRIM(INN1)) + '"'
		+ ' KPP="' + LTRIM(RTRIM(KPP1)) + '"'
		+ ' OGRN="' + LTRIM(RTRIM(OGRN)) + '"'
		--+ ' OKOPF="' + LTRIM(RTRIM(OKOPF)) + '"'
		--+ CASE WHEN @OKATO_OR_OKTMO = 1 THEN  (' OKATO="' + REPLACE(LTRIM(RTRIM(OKATO)),' ','') + '"') ELSE (' OKTMO="' + REPLACE(LTRIM(RTRIM(OKTMO)),' ','') + '"') END
		--+ ' OKPO="' + LTRIM(RTRIM(OKPO)) + '"'
		--+ ' OKFS="' + LTRIM(RTRIM(OKFS)) + '"'
		--+ ' OKVED="' + LTRIM(RTRIM(OKVED)) + '"'
		+ ' PHONE="' +(SELECT LTRIM(RTRIM(phone)) FROM DICTIONARY_OTV_FACE  WHERE Dep_LINK=dbo.GetOwnDepLink() and name = 'Главный бухгалтер') + '"'
		+ ' LIKV="' +LTRIM(RTRIM(CONVERT(VARCHAR(1),@nLIKV))) + '"'
		+ ' NumCorr="' + LTRIM(RTRIM(CONVERT(VARCHAR(3),@Version))) + '"' --Номер корректировки
		+ ' NumDot="' + LTRIM(RTRIM(CONVERT(VARCHAR(2),@NumDot))) + '"' --Номер корректировки
		+ ' TaxType="' + LEFT(LTRIM(RTRIM(TaxType)),3) + '"' --Шифр (первая часть)
		+ ' TaxType2="' + LEFT(LTRIM(RTRIM(TaxType2)),2) + '"' --Шифр (вторая часть)
		+ ' TaxType3="' + LEFT(LTRIM(RTRIM(TaxType3)),2) + '"' --Шифр (третья часть)		
		+ ' T1R1C2="' + LTRIM(RTRIM(CONVERT(VARCHAR(6),ISNULL((SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 1, 1, 3)),0)))) + '"' --Численность работников	
		+ ' T1R2C2="' + LTRIM(RTRIM(CONVERT(VARCHAR(6),ISNULL((SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 1, 2, 3)),0)))) + '"' --из них: женщин	
		--+ ' T1R4C2="' + LTRIM(RTRIM(CONVERT(VARCHAR(6),ISNULL((SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 1, 3, 3)),0)))) + '"' --из них: работающих инвалидов	
		--+ ' T1R6C2="' + LTRIM(RTRIM(CONVERT(VARCHAR(6),ISNULL((SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 1, 4, 3)),0)))) + '"' --из них: работающих, занятых на работах с вредными и (или) опасными производственными факторами	
		+ ' CEO="' + LTRIM(RTRIM(CHIEF_FIO)) + '"'
		+ ' CRE_DATE="' + convert(varchar(10),@modify_date,120) + '"'
		--+ ' WRO="' + LEFT(FSS_REG_NUM,4) + '"'
		--+ ' CFO="' + LTRIM(RTRIM(GLBUH_FIO)) + '"'
		--+ ' AUTHOR="' + ISNULL(dbo.AdminGetUserFIO(default),'') + '"'
		+ '/>'
		FROM #DEP_DATA
--  /** Раздел I **/


		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(0) + '<F4INF1 '

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' OKVED="' + LTRIM(RTRIM(OKVED)) + '"' FROM #DEP_DATA
		--Таблица 1 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 1, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 3, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' Ch' + LTRIM(STR(ROW +1 - 5)) + '="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, 3) WHERE SUMMA2 <> 0 AND ROW IN (5,6,7)				
		--Таблица 1 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' N0="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 9, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' N' + LTRIM(STR(ROW + 1 - 11)) + '="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, 3) WHERE SUMMA2 <> 0 AND ROW IN (11,12,13)				
		--Таблица 1 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 14, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NRe0="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 16, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NRe1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 18, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NRe2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 19, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R13="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 20, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2F0="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 22, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2F1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 24, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2F2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 25, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R16="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 26, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2N="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 27, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 9
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' FssDebt="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 29, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 11
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R18="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 31, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 12
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R19="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 32, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 14
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R20="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 34, 3) WHERE SUMMA2 <> 0				
		--Таблица 1 строка 15
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R21="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 36, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' Re' + LTRIM(STR(ROW + 1 - 38)) + '="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, 3) WHERE SUMMA2 <> 0 AND ROW IN (38,39,40)				
		--Таблица 1 строка 16
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R27="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 42, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R29="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 44, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R30="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 45, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R26="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 46, 3) WHERE SUMMA2 <> 0
		--Таблица 1 строка 17
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S2R32="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 47, 3) WHERE SUMMA2 <> 0
		--Таблица 1 строка 19
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' InsDebt="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 49, 3) WHERE SUMMA2 <> 0
		--Таблица 1 строка 20
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' InsDelDebt="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 50, 3) WHERE SUMMA2 <> 0



		--Таблица 2 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 1, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R1C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 1, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R1C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 1, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R1C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 1, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 2, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R2C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 2, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R2C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 2, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R2C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 2, 6) WHERE SUMMA2 <> 0				
---------
		--Таблица 2 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 3, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R9C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 3, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R9C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 3, 5) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase6="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 4, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R10C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 4, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R10C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 4, 5) WHERE SUMMA2 <> 0		


----------
		--Таблица 2 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase4="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 5, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R4C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 5, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R4C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 5, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R4C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 5, 6) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3QCase3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 6, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R41C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 6, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R41C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 6, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R41C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 6, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R5C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 7, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R5C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 7, 5) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 8
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R6C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 8, 4) WHERE SUMMA2<> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R6C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 8, 5) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 9
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3RCP7="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 9, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R7C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 9, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R7C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 9, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R7C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 9, 6) WHERE SUMMA2 <> 0				

		--Таблица 2 строка 10
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3RCP71="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 10, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R71C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 10, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R71C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 10, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R71C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 10, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 11
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3RCP72="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 11, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R72C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 11, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R72C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 11, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R72C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 11, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 12
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R3C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 12, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R3C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 12, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R3C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 12, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 13
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R11C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 13, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R11C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 13, 6) WHERE SUMMA2 <> 0		
		--Таблица 2 строка 14
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R8C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 14, 4) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R8C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 14, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R8C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 14, 6) WHERE SUMMA2 <> 0				
		--Таблица 2 строка 16
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R12C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 16, 5) WHERE SUMMA2 <> 0		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' S3R12C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, 16, 6) WHERE SUMMA2 <> 0				
	

		--Таблица 3 строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S1' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 1, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 2
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S2' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 2, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 3
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S4' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 3, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 5
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S6' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 5, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 6
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S7' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 6, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 7
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S8' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 7, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		--Таблица 3 строка 8
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' S9' + CASE WHEN COL = 3 THEN '' ELSE '_' + CONVERT(VARCHAR(3),COL-3) END +'="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, 8, DEFAULT) WHERE SUMMA2 <> 0 AND COL IN (3,4,5,6)
		

		/*--Таблица 4 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_C="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 1, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 1, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 1, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 1, 6) WHERE SUMMA2 <> 0				
		--Таблица 4 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_CI="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 2, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_CI1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 2, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_CI2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 2, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IOO_CI3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, 2, 6) WHERE SUMMA2 <> 0				
		
		--Таблица 4.1 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_C="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 1, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 1, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 1, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 1, 6) WHERE SUMMA2 <> 0				
		--Таблица 4.1 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_CI="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 2, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_CI1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 2, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_CI2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 2, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_CI3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,0),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 2, 6) WHERE SUMMA2 <> 0				
		--Таблица 4.1 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_S="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 4, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_S1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 4, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_S2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 4, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_S3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 4, 6) WHERE SUMMA2 <> 0				
		--Таблица 4.1 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_SI="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 5, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_SI1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 5, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_SI2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 5, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IUK_SI3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, 5, 6) WHERE SUMMA2 <> 0				
*/
		-- Таблица 4 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_WRK_CNT="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 1, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT2WRK_CNT1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 1, 4) WHERE SUMMA2 <> 0	
		-- Таблица 4 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_PRF_ALL="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 2, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT2PRF_ALL="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 2, 4) WHERE SUMMA <> 0				
		-- Таблица 4 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_PRF_SPC="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 3, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT2PRF_SPC="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 3, 4) WHERE SUMMA <> 0				
		-- Таблица 4 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_ACC_DT="'
							+ CASE LEN(LTRIM(RTRIM(LEFT(STR_VAL,10))))
								WHEN 10 THEN
									SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),7,4)
									+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),4,2)
									+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),1,2)
								WHEN 8 THEN
									'20' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),7,2)
									+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),4,2)
									+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),1,2)								
								ELSE
								''
							END	+ '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 5, 5) WHERE ISNULL(STR_VAL,'') <> ''
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' IT_ACC_NM="' + LEFT(STR_VAL,8) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, 5, 6) WHERE ISNULL(STR_VAL,'') <> ''
	
		--Таблица 4.1 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' OKV_S1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 9, 1, 3) WHERE SUMMA <> 0				
		--Таблица 4.1 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' OKV_S2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 9, 2, 3) WHERE SUMMA <> 0				


		--Таблица 4.1 строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_SP1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 1, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_S1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 1, 4) WHERE SUMMA <> 0				
		--Таблица 4.1 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_SP2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 2, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_S2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 2, 4) WHERE SUMMA <> 0				
		--Таблица 4.1 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_SP3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 3, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_S3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 3, 4) WHERE SUMMA <> 0				
		--Таблица 4.1 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_SP4="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, 3) WHERE SUMMA <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' CUL_S4="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, 4) WHERE SUMMA <> 0				
	
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(0) + ' >'

		/*Раздел I Платежное поручение*/
		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 44, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@first_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 44, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 44, 4)

		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 45, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@second_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 45, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 45, 4)

		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 46, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@third_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 46, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 46, 4)


		/*Сведения об иностранных гражданах*/
		CREATE TABLE #INOST (
			LINK INT, FIO VARCHAR(254), INN VARCHAR(12), SNILS VARCHAR(14),
			GR VARCHAR(100), GR_CODE VARCHAR(5))

		CREATE TABLE #TAB3 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
		INSERT INTO #TAB3 (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 5, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

		INSERT INTO #INOST (FIO, INN, SNILS,GR)
		SELECT DISTINCT
			FIO = (SELECT TOP 1 REPLACE(STR_VAL,SPACE(1), ', ') FROM #TAB3 T WHERE T.COL = 2 AND T.ROW_CODE = T3.ROW_CODE),
			INN = (SELECT TOP 1 STR_VAL FROM #TAB3 T WHERE T.COL = 3 AND T.ROW_CODE = T3.ROW_CODE),
			SNILS = (SELECT TOP 1 STR_VAL FROM #TAB3 T WHERE T.COL = 4 AND T.ROW_CODE = T3.ROW_CODE),
			GR = (SELECT TOP 1 STR_VAL FROM #TAB3 T WHERE T.COL = 5 AND T.ROW_CODE = T3.ROW_CODE)
		FROM
			#TAB3 T3
		
		UPDATE i
			SET gr_code = (select code FROM citizenship WHERE NAME LIKE i.GR)
		FROM #INOST  i
		

		DROP TABLE #TAB3



		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME,
			SPACE(1) + ' <F4INOST'  +
				' LNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO,1,','),'')))) + '"' +
				' FNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO,2,','),'')))) + '"' +
				' MNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO,3,','),'')))) + '"' +
				' INN="' + LTRIM(RTRIM(ISNULL(INN,''))) + '"' +
				' SNILS="' + LTRIM(RTRIM(ISNULL(SNILS,''))) + '"' +
				' GR="' + LTRIM(RTRIM(ISNULL(GR_CODE,''))) + '"' +
			' />'
		FROM #INOST
		ORDER BY FIO

		DROP TABLE #INOST

		

	/*--Сведения об инвалидах
		CREATE TABLE #INVALID (
			LINK INT, FIO VARCHAR(254), FIO2 VARCHAR(254), NUM_SPR VARCHAR(30), DATE_SPR VARCHAR(10),
			GRP VARCHAR(25), GRP2 VARCHAR(25), PER_BEG VARCHAR(10), PER_END VARCHAR(10),
			SM_ALL 	NUMERIC(18,2), SM_QWART NUMERIC(18,2), SM1 NUMERIC(18,2), SM2 NUMERIC(18,2), SM3 NUMERIC(18,2) )

		CREATE TABLE #TAB5 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
		INSERT INTO #TAB5 (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 5, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

		INSERT INTO #INVALID (FIO2, DATE_SPR, PER_END, SM_ALL, SM1, SM2, SM3)
		SELECT DISTINCT
			FIO2 = (SELECT TOP 1 REPLACE(STR_VAL,SPACE(1), ', ') FROM #TAB5 T WHERE T.COL = 2 AND T.ROW_CODE = T5.ROW_CODE),
			DATE_SPR = (SELECT TOP 1 STR_VAL FROM #TAB5 T WHERE T.COL = 3 AND T.ROW_CODE = T5.ROW_CODE),
			PER_END = (SELECT TOP 1 STR_VAL FROM #TAB5 T WHERE T.COL = 4 AND T.ROW_CODE = T5.ROW_CODE),
			SM_ALL = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 5 AND T.ROW_CODE = T5.ROW_CODE),
			SM1 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 6 AND T.ROW_CODE = T5.ROW_CODE),
			SM2 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 7 AND T.ROW_CODE = T5.ROW_CODE),
			SM3 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 8 AND T.ROW_CODE = T5.ROW_CODE)
		FROM
			#TAB5 T5

		DROP TABLE #TAB5

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME,
			SPACE(1) + ' <F4INVAL'  +
				' LNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,1,','),'')))) + '"' +
				' FNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,2,','),'')))) + '"' +
				' MNAME="' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,3,','),'')))) + '"' +
				' MSEDATE="' + CASE LEN(LTRIM(RTRIM(ISNULL(DATE_SPR,''))))
									WHEN 10 THEN
										SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),7,4)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),4,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),1,2)
									WHEN 8 THEN
										'20' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),7,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),4,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(DATE_SPR,''))),1,2)								
									ELSE
										''
								END + '"' +
				CASE WHEN ISNULL(PER_END,'') <> ''
				THEN
					' MSEDATEF="'
								+ CASE LEN(LTRIM(RTRIM(ISNULL(PER_END,''))))
									WHEN 10 THEN
										SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),7,4)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),4,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),1,2)
									WHEN 8 THEN
										'20' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),7,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),4,2)
										+ '-' + SUBSTRING(LTRIM(RTRIM(ISNULL(PER_END,''))),1,2)								
									ELSE
									''
								END + '"'
				ELSE
					''	
				END +
				' S="' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM_ALL,0)))) + '"' +
				' S1="' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM1,0)))) + '"' +
				' S2="' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM2,0)))) + '"' +
				' S3="' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM3,0)))) + '"' +
			' />'
		FROM #INVALID
		ORDER BY FIO2

		DROP TABLE #INVALID

	*/	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(0) + '</F4INF1>'
		
/** Раздел II **/

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(1)

	
		
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(0) + '<F4INFO '		
		--Таблица 5 Строка 1
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 7) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 8) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 10) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 11) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C8="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 12) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C18="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 13) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C7="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 14) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 15) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 16) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 17) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C12="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 18) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C22="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 19) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R1C11="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 1, 20) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 7) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 8) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 10) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 11) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 15) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 16) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 17) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C12="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 18) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C22="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 19) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R2C11="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 2, 20) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R3C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 3, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R3C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 3, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R3C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 3, 15) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 7) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 8) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 10) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 11) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 15) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 16) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R31C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 4, 17) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 6) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 7) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 8) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 9) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 10) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 11) WHERE SUMMA2 <> 0				

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 15) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 16) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R32C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 5, 17) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 6
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C4="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 6) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C14="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 7) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 8) WHERE SUMMA2 <> 0				

	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C6="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 9) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C16="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 10) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C5="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 11) WHERE SUMMA2 <> 0				

	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C10="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 15) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C20="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 16) WHERE SUMMA2 <> 0				
	--	UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R4C9="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 6, 17) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R5C="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 7, 3) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R5C1="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 7, 4) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R5C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 7,5) WHERE SUMMA2 <> 0				

		--Таблица 5 Строка 8
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T5R6C2="' + CONVERT(VARCHAR(20),SUMMA2) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 8, 5) WHERE SUMMA2 <> 0				


/*exec [dbo].SA_4FSS_EXPORT_v08  42483
* select *  FROM DBO.SA_SAVED_REPORT_VIEW (42483, 1, 4, 3) WHERE SUMMA2*/
		--Таблица 6 Строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1)		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' OKVED="' + LTRIM(RTRIM(OKVED)) + '"' FROM #DEP_DATA
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T1R4C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, 3, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T1R6C2="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, 4, 3) WHERE SUMMA2 <> 0
		--Таблица 6 Строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NC="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 2, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NC1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 2, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NC2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 2, 5) WHERE SUMMA2 <> 0				
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' NC3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 2, 6) WHERE SUMMA2 <> 0				
		--Таблица 6 Строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T1R3C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 3, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 3, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 3, 5) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' C3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 3, 6) WHERE SUMMA2 <> 0

		--Таблица 6 Строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T1R5C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 4, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' I1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 4, 4) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' I2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 4, 5) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' I3="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 4, 6) WHERE SUMMA2 <> 0

		--Таблица 6 Строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' RATE_MIS="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,1),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 5, 3) WHERE SUMMA2 <> 0
		--Таблица 6 графа 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' RATE_DEC="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 6, 3) WHERE SUMMA2 <> 0
		--Таблица 6 графа 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' RATE_INC="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 7, 3) WHERE SUMMA2 <> 0

		--Таблица 6 графа 8
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' INC_DATE="'
					+ CASE LEN(LTRIM(RTRIM(LEFT(STR_VAL,10))))
						WHEN 10 THEN
							SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),7,4)
							+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),4,2)
							+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),1,2)
						WHEN 8 THEN
							'20' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),7,2)
							+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),4,2)
							+ '-' + SUBSTRING(LTRIM(RTRIM(LEFT(STR_VAL,10))),1,2)								
						ELSE
						''
					END + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 8, 7) WHERE ISNULL(STR_VAL,'') <> ''

		----Таблица 6 графа 9
		--UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' RATE_INC="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 13, 1, 9) WHERE SUMMA2 <> 0


		--Таблица 7 строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1)		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R1C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 1, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R3C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 3, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R5C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 5, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R6C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 6, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R7C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 7, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R9C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 8, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R13C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 9, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R11C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 10, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R16C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 11, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R17C61="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 12, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 9
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R18C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 14, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 11
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R39C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 16, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 12
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R19C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 17, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 14
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R40C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 19, 3) WHERE SUMMA2 <> 0

		--Таблица 7 строка 15
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R21C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 21, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R23C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 23, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R24C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 24, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R25C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 25, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 16
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R27C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 27, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R29C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 29, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R30C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 30, 3) WHERE SUMMA2 <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R31C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 31, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 17
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R38C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 32, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 19
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R34C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14,34, 3) WHERE SUMMA2 <> 0
		--Таблица 7 строка 20
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T7R35C1="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 35, 3) WHERE SUMMA2 <> 0

		--Таблица 8 строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1)		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R3C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 1, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R3C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 1, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R13C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 2, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R13C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 2, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 3
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R4C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 3, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R4C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 3, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 4
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R8C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 4, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R8C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 4, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 5
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R14C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 5, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R14C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 5, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 6
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R9C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 6, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R9C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 6, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 7
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R5C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 7, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R5C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 7, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 8
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R6C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 8, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R6C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 8, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 9
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R10C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, 9, 4) WHERE SUMMA2 <> 0
		--Таблица 8 строка 11
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' T6R11C2="' + CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15,11, 4) WHERE SUMMA2 <> 0


		--Таблица 9
		UNION ALL SELECT @lcFNAME, SPACE(1)
		UNION ALL SELECT @lcFNAME, SPACE(1) + ' M' + CONVERT(VARCHAR(2),ROW) + '="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 16, DEFAULT, 3) WHERE ROW IN (1,2,3,5) AND SUMMA <> 0

		--Таблица 10 строка 1
		UNION ALL SELECT @lcFNAME, SPACE(1)
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' ATT_C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 1, 3) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' ATT_C2="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 1, 4) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' ATT_CL3="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 1, 6) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' ATT_CL4="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 1, 7) WHERE SUMMA <> 0

		--Таблица 10 строка 2
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' MED_C1="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 2, 8) WHERE SUMMA <> 0
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(1) + ' MED_C2="' + CONVERT(VARCHAR(20),SUMMA) + '"' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 17, 2, 9) WHERE SUMMA <> 0
		
		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(0) + ' >'

		/*Раздел I Платежное поручение*/
		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 29, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@first_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 29, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 29, 4)

		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 30, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@second_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 30, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 30, 4)

		IF EXISTS (SELECT * FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 31, 3) WHERE SUMMA2 > 0)
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT TOP 1 @lcFNAME, SPACE(1) + ' <PAYM_ORDER NUM="' + STR_VAL + '" DT="' + convert(varchar(10),dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@third_month_of_quarter,@YEAR)),120) + '"' + ' SUM="' + (SELECT TOP 1 CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,2),SUMMA2)) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 31, 3)) + '"/>' FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, 31, 4)


	
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(0) + '</F4INFO>'
	
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, SPACE(0) + '</F4REPORT>'
SET NOCOUNT OFF

select * from #OUTPUT order by [ID]











GO


GRANT EXECUTE ON dbo.[SA_4FSS_EXPORT_v08] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_CONV148N_PRINT_SPRAVKA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_CONV148N_PRINT_SPRAVKA]

GO
CREATE PROCEDURE dbo.BK_CONV148N_PRINT_SPRAVKA
	@tDATE_BEGIN	DATETIME,
	@tDATE_END	DATETIME,
	@tTYPE_PRN	INT,
	@tSEP_DOC	INT,
	@tPRN_KBK	INT,
	@tPRN_KOSGU	INT
AS
BEGIN
	DECLARE @intDEP_LINK	INT,
		@intMAIN_DEP_LINK INT,
		@cMAIN_DEP_NAME VARCHAR (254),
		@cMAIN_OKPO	VARCHAR (254),
		@cMAIN_RUK	VARCHAR (100),
		@cMAIN_BUH	VARCHAR (100),
		@intPRN_RUK	INT,
		@intPRN_GLBUH	INT

	EXEC dbo.XD_WHATS_ZB @intDEP_LINK OUTPUT

	SELECT @intMAIN_DEP_LINK = LINK,
		@cMAIN_DEP_NAME = [NAME],
		@cMAIN_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @intDEP_LINK

	SELECT @cMAIN_RUK = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Руководитель')

	SELECT @cMAIN_BUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Главный бухгалтер')

	CREATE TABLE #TMP_TABLE (REC_NO INT IDENTITY, EVENT_TXT VARCHAR (254), LINK_DOC INT, LINK_G2 INT,
			SUMMA NUMERIC (28,4), ACCT25N INT, ACCT148N INT, ACCT_40103 INT,
			KBK INT, SGU INT, INV INT, 
			CODE_25N VARCHAR (30), CODE_148N VARCHAR (30),
			DEP_LINK INT)

	SELECT @tDATE_BEGIN = ISNULL (@tDATE_BEGIN, '20090101'),
		@tDATE_END = ISNULL (@tDATE_END, '20091231')

	INSERT INTO #TMP_TABLE
	SELECT '', 0, 0,
		CASE
			WHEN SA_25N.S_ACTIVE = 1 THEN SUM (RT.D_SUMMA)
			ELSE SUM (RT.K_SUMMA)
		END,
		SA_25N.LINK,
		SA_148N.LINK,
		0, --		dbo.BK_GetDBKTAccount (RT.ACCOUNT, '401', '03', DEFAULT),
		CASE
			WHEN @tPRN_KBK = 1 THEN RT.KBK
			ELSE 0
		END,
		CASE
			WHEN @tPRN_KOSGU = 1 THEN RT.SGU
			ELSE 0
		END,
		CASE
			WHEN @tTYPE_PRN = 1 THEN 0
			ELSE RT.INV
		END,
		SA_25N.CODE,
		SA_148N.CODE,
		RT.DEP_LINK
	FROM dbo.ARestTableByDate (@tDATE_BEGIN, DEFAULT) RT
	INNER JOIN dbo._148N_CONVERT_SA SA1 ON (SA1.LINK = RT.ACCOUNT)
	INNER JOIN dbo.S_ACCOUNTS SA_148N ON (SA_148N.LINK = SA1.LINK_SA)
	INNER JOIN dbo.S_ACCOUNTS_OLD25N SA_25N ON (SA_25N.LINK = SA1.LINK_SA)
	WHERE SA1.TYPE_ACCT = 2
		AND RT.DEP_LINK = @intDEP_LINK
	GROUP BY SA_25N.LINK,
		SA_148N.LINK,
		SA_25N.S_ACTIVE,
		CASE
			WHEN @tPRN_KBK = 1 THEN RT.KBK
			ELSE 0
		END,
		CASE
			WHEN @tPRN_KOSGU = 1 THEN RT.SGU
			ELSE 0
		END,
		CASE
			WHEN @tTYPE_PRN = 1 THEN 0
			ELSE RT.INV
		END,
		SA_25N.CODE,
		SA_148N.CODE,
		RT.DEP_LINK

	UPDATE #TMP_TABLE SET ACCT_40103 = dbo.BK_GetDBKTAccount (ACCT25N, '401', '03', DEFAULT)

/*
	select T.*, 
		SA_148N.CODE AS CODE_148N,
		SA_25N.CODE AS CODE_25N,
		SA.CODE AS CODE_40103
	from @TMP_TABLE T
	INNER JOIN dbo.S_ACCOUNTS SA_148N ON (SA_148N.LINK = T.ACCT148N)
	INNER JOIN dbo.S_ACCOUNTS_OLD25N SA_25N ON (SA_25N.LINK = T.ACCT25N)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T.ACCT_40103)
*/
/*
	SELECT T.REC_NO, 	
		T.SUMMA,
		T.ACCT25N AS DB_ACCT,
		ACCT_40103 AS KT_ACCT,
		KBK, SGU, INV,
		CODE_25N, DEP_LINK,
		1 AS TYPE_REC
	FROM #TMP_TABLE T
	UNION
	SELECT T.REC_NO, 
		T.SUMMA,
		ACCT_40103 AS DB_ACCT,
		T.ACCT148N ,
		KBK, SGU, INV,
		CODE_25N, DEP_LINK,
		2 AS TYPE_REC
	FROM #TMP_TABLE T
*/
	CREATE TABLE #TAB_RES (REC_NO INT, LINK_DOC INT, DOC_TITLE VARCHAR (254), NUMBER VARCHAR (8),
			DOC_DATE VARCHAR (10), dDOC_DATE DATETIME, DOC_NUM VARCHAR (8),
			DEP_NAME VARCHAR (254), OKPO VARCHAR (30),
			REASON VARCHAR (254),
			SUMMA NUMERIC (28,4),
			DT VARCHAR (60), KT VARCHAR (60),
			RUK VARCHAR (100), GLBUH VARCHAR (100),
			ORDERS TINYINT, INV INT)

	INSERT INTO #TAB_RES
	SELECT REC_NO, 
		0,
		'Переход на приказ 148н',
		'1',
		ISNULL (CONVERT (VARCHAR (10), @tDATE_BEGIN, 104), ''),
		@tDATE_BEGIN,
		ISNULL ('1', ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		'Приказ 148н. Перенос остатков со счета ' + SA_25N.CODE + '.',
		T1.SUMMA,
		CASE
			WHEN @tPRN_KBK = 1 THEN ISNULL (RTRIM (K1.CODE), '00000000000000000') + '.'
			ELSE ''
		END
			+ SA_25N.CODE
			+
		CASE
			WHEN @tPRN_KOSGU = 1 THEN '.' + ISNULL (K2.CODE, '000')
			ELSE ''
		END,
		dbo.BK_GetAcctFullCode1 (T1.ACCT_40103, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		@cMAIN_RUK,
		@cMAIN_BUH,
		1,
		T1.INV
	FROM #TMP_TABLE T1
	INNER JOIN dbo.S_ACCOUNTS_OLD25N SA_25N ON (SA_25N.LINK = T1.ACCT25N)
	LEFT OUTER JOIN dbo.KL_KBK K1 ON (K1.LINK = T1.KBK)
	LEFT OUTER JOIN dbo.KOSGU K2 ON (K2.LINK = T1.SGU)
	LEFT OUTER JOIN dbo.DEPARTMENTS D1 ON (D1.LINK = T1.DEP_LINK)

	UNION

	SELECT REC_NO, 
		0,
		'Переход на приказ 148н.',
		'1',
		ISNULL (CONVERT (VARCHAR (10), @tDATE_BEGIN, 104), ''),
		@tDATE_BEGIN,
		ISNULL ('1', ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		'Приказ 148н. Формирование остатков на счете ' + T1.CODE_148N + '.',
		T1.SUMMA,
		dbo.BK_GetAcctFullCode1 (T1.ACCT_40103, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		dbo.BK_GetAcctFullCode1 (T1.ACCT148N, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		@cMAIN_RUK,
		@cMAIN_BUH,
		2,
		T1.INV
	FROM #TMP_TABLE T1
	LEFT OUTER JOIN dbo.DEPARTMENTS D1 ON (D1.LINK = T1.DEP_LINK)


	SELECT TR.*,
		TR.REASON 
		+ CASE  
			WHEN INV.CODE IS NULL THEN ''
			ELSE ' ОС: ' + INV.CODE + ' ' + INV.[NAME] 
		END  AS REASON,
		'' AS SUBDIV,
		'' AS SUBDIV_C,
		0 AS PRN_ANALIT,
		'' AS APD_NAME,
		'' AS APK_NAME,
		0 AS QTY,
		0 AS LINK_G2,
		
		@intPRN_RUK AS PRN_RUK, 
		@intPRN_GLBUH AS PRN_GLBUH,
		'' AS COMMENT
	FROM #TAB_RES TR
	LEFT JOIN dbo.INVENTORY INV ON (INV.LINK = TR.INV)
	ORDER BY DEP_NAME, REC_NO, ORDERS, dDOC_DATE, LINK_DOC

	DROP TABLE #TMP_TABLE
	DROP TABLE #TAB_RES
END
GO


GRANT EXECUTE ON dbo.[BK_CONV148N_PRINT_SPRAVKA] TO PUBLIC
GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RA_IMPORT_FORM_769_16]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RA_IMPORT_FORM_769_16]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 2013

*******************************************************************************/
CREATE PROCEDURE dbo.[RA_IMPORT_FORM_769_16]
	@lbSvodWEB	     BIT     = 1,    -- 1 - Вызов с тонкого клиента, 0 - иначе.
	@liRepeatRequest INT     = NULL, -- Если IS NOT NULL - повторный вызов из Свод-WEB, если >0 - то подтверждение загрузки, <0 - импорт отклонен.
   @tIsAppend       TINYINT = 0,    -- 1 - Импорт отчета в режиме добавления, 0 - обычный импорт.
	@bDinamicRows    BIT     = 0,    -- Строки даже для статических таблиц хранятся динамически (для 14-х форм)
   @iLINK_SELF      INT     = NULL,
   @tMode           TINYINT = 0 -- Режим работы 0 - обычный, 1 - демо.
AS
SET NOCOUNT ON

SELECT 	@lbSvodWEB	 ,   -- 1 - Вызов с тонкого клиента, 0 - иначе.
	@liRepeatRequest , -- Если IS NOT NULL - повторный вызов из Свод-WEB, если >0 - то подтверждение загрузки, <0 - импорт отклонен.
   @tIsAppend       ,    -- 1 - Импорт отчета в режиме добавления, 0 - обычный импорт.
	@bDinamicRows   ,    -- Строки даже для статических таблиц хранятся динамически (для 14-х форм)
   @iLINK_SELF      ,
   @tMode

DECLARE @iOrder   INT,
        @liReturn INT,
        @iTB_01   INT,
        @iTB_02   INT

DECLARE @tabImport TABLE ([TXT]   VARCHAR(8000),
                          [ORDER] INT IDENTITY(1,1))
                          
DECLARE @tabImportRD TABLE ([TXT]   VARCHAR(8000),
                            [RD]    TINYINT)
                                   
                        
                           

IF ISNULL(@liRepeatRequest,0) > 0 
BEGIN
   EXEC @liReturn = dbo.[RA_IMPORT_FORM_STANDART] @lbSvodWEB,
                                                  @liRepeatRequest,
                                                  @tIsAppend,
                                                  @bDinamicRows,
                                                  @iLINK_SELF,
                                                  @tMode

   RETURN @liReturn
END

IF EXISTS (SELECT *
           FROM #IMPORT_TABLE
           WHERE [TXT] IN ('ВФ=0','ВФ=1'))
BEGIN
   EXEC @liReturn = dbo.[RA_IMPORT_FORM_STANDART] @lbSvodWEB,
                                                  @liRepeatRequest,
                                                  @tIsAppend,
                                                  @bDinamicRows,
                                                  @iLINK_SELF,
                                                  @tMode

   RETURN @liReturn
END


IF NOT EXISTS (SELECT *
               FROM #IMPORT_TABLE
               WHERE [TXT] IN ('ВФ=0','ВФ=1'))
BEGIN
   
      SELECT @iTB_01 = [ORDER]
      FROM #IMPORT_TABLE
      WHERE [TXT] = 'ТБ=01'
      
      SELECT @iTB_02 = [ORDER]
      FROM #IMPORT_TABLE
      WHERE [TXT] = 'ТБ=02'
   
      INSERT @tabImportRD([RD],
                          [TXT])
      SELECT [RD] = CASE
                       WHEN [ORDER] > @iTB_02 THEN 4
                       WHEN LEFT([TXT],3) IN ('10|','20|','50|') THEN 1
                       WHEN LEFT([TXT],3) IN ('30|','60|') THEN 2
                       WHEN LEFT([TXT],3) IN ('40|','70|') THEN 3
                    END,
             [TXT] = CASE 
                        WHEN [ORDER] > @iTB_02 THEN dbo.[RA_GETWORDNUM]([TXT],4,'|')+dbo.[RA_GETWORDNUM]([TXT],5,'|') +dbo.[RA_GETWORDNUM]([TXT],6,'|')++dbo.[RA_GETWORDNUM]([TXT],7,'|')+'|'+
                                                     dbo.[RA_GETWORDNUM]([TXT],8,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],6,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],7,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],9,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],10,'|')+'|' 
                           
                        ELSE REPLACE(dbo.[RA_GETWORDNUM]([TXT],5,'|')+dbo.[RA_GETWORDNUM]([TXT],6,'|'),'********','88888888')+'|'+dbo.[RA_GETWORDNUM]([TXT],7,'|')+'|'+
                             dbo.[RA_GETWORDNUM]([TXT],8,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],9,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],10,'|')+'|'
                     END
      FROM #IMPORT_TABLE
      WHERE [TXT] LIKE '%|%|%|%'
            
      INSERT @tabImport([TXT])
      SELECT [TXT]
      FROM #IMPORT_TABLE
      WHERE [ORDER] < @iTB_01 + 2
      ORDER BY [ORDER]
 
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 1

      INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=02')
      INSERT @tabImport(TXT) VALUES ('#$')

      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 2
      
      INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=03')
      INSERT @tabImport(TXT) VALUES ('#$')
      
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 3
      
      INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=04')
      INSERT @tabImport(TXT) VALUES ('#$')
      
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 4
      
	  INSERT @tabImport(TXT) VALUES ('#')
      INSERT @tabImport(TXT) VALUES ('#@')
      INSERT @tabImport(TXT) VALUES ('ТБ=05')
      INSERT @tabImport(TXT) VALUES ('#$')
      
      INSERT @tabImport([TXT])
      SELECT [TXT] 
      FROM @tabImportRD
      WHERE [RD] = 5

      TRUNCATE TABLE #IMPORT_TABLE
      
      INSERT #IMPORT_TABLE ([TXT])
      SELECT [TXT]
      FROM @tabImport
      ORDER BY [ORDER]
              
      EXEC @liReturn = dbo.[RA_IMPORT_FORM_STANDART] @lbSvodWEB,
                                                     @liRepeatRequest,
                                                     @tIsAppend,
                                                     @bDinamicRows,
                                                     @iLINK_SELF,
                                                     @tMode

END

RETURN @liReturn



GO


GRANT EXECUTE ON dbo.[RA_IMPORT_FORM_769_16] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BV_CREATE_DOC_ANALIT_TABLE_70N]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BV_CREATE_DOC_ANALIT_TABLE_70N]

GO






/*
© Кейсистемс (Keysystems), 2005
*/

CREATE	PROCEDURE dbo.BV_CREATE_DOC_ANALIT_TABLE_70N
AS 
DECLARE		@varKSstr varchar(8000),
		@varKScTableObj	CHAR(10),
		@varKScCodeApObj	CHAR(10),
		@varKScNameApObj	CHAR(10),
		@varKScLenApObj	CHAR(10),
		@varKScValLinkObj	CHAR(10),
		@varKScTabDtktObj	CHAR(10)

SELECT @varKScTableObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_ANALIT_TABLE_70N'
SELECT @varKScCodeApObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_CODE_AP'
SELECT @varKScNameApObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_NAME_AP'
SELECT @varKScLenApObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_LEN_AP'
SELECT @varKScValLinkObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_VAL_LINK'
SELECT @varKScTabDtktObj = LTRIM(RTRIM(STR(LINK))) FROM S_OBJECTS WHERE CODE = 'DOC_AP_TAB_DTKT'

SET @varKSstr=CASE WHEN object_id('DOC_ANALIT_TABLE_70N') is null 
	THEN 'CREATE'
	ELSE 'ALTER' END +
' VIEW DOC_ANALIT_TABLE_70N AS
	--Автосформированная BV_CREATE_DOC_ANALIT_TABLE_70N
SELECT 
	OTR.LINK,
	OTR.LINK_UP,
	OTR.ORDERS,
	[CODE_AP] = (SELECT CONVERT(CHAR(5), STRING) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScCodeApObj + '),
	[NAME_AP] = (SELECT CONVERT(VARCHAR(30), STRING) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScNameApObj + '),
	[LEN_AP] = (SELECT CONVERT(INT, SUMMA) FROM OUT_TABLE_SUMMA WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScLenApObj + '),
	[VAL_LINK] = CASE (SELECT UPPER(LTRIM(RTRIM(STRING))) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScCodeApObj + ')
			WHEN ''DEP'' THEN (SELECT DEPARTMENT FROM OUT_TABLE_DEPARTMENT OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''SUB'' THEN (SELECT SUBDIV FROM OUT_TABLE_SUBDIV OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''EMP'' THEN (SELECT EMPL FROM OUT_TABLE_EMPL OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''INV'' THEN (SELECT INVENTORY FROM OUT_TABLE_INVENTORY OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''KBK'' THEN (SELECT KBK FROM OUT_TABLE_KBK OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''EKR'' THEN (SELECT KOSGU FROM OUT_TABLE_KOSGU OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''NOMEN'' THEN (SELECT NOMENCLATURE FROM OUT_TABLE_NOMENCLATURE OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''AP1'' 
         THEN (SELECT CONVERT(INT,[STRING])
               FROM dbo.[OUT_TABLE_STRING] [OTS]
               WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                     [OTS].[OBJECT] = ' + @varKScValLinkObj + ')
			WHEN ''AP2'' 
         THEN (SELECT CONVERT(INT,[STRING])
               FROM dbo.[OUT_TABLE_STRING] [OTS]
               WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                     [OTS].[OBJECT] = ' + @varKScValLinkObj + ')
			ELSE (SELECT DICTION FROM OUT_TABLE_DICTION OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
		     END,
	[VAL_CODE] = CASE (SELECT UPPER(LTRIM(RTRIM(STRING))) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScCodeApObj + ')
			WHEN ''DEP'' THEN (SELECT Convert(VARCHAR(10),CODE) FROM DEPARTMENTS D, OUT_TABLE_DEPARTMENT OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.DEPARTMENT)
			WHEN ''SUB'' THEN (SELECT Convert(VARCHAR(10),CODE) FROM SUBDIV D, OUT_TABLE_SUBDIV OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.SUBDIV)
			WHEN ''EMP'' THEN (SELECT Convert(VARCHAR(10),D.TAB) FROM EMPL D, OUT_TABLE_EMPL OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.EMPL)
			WHEN ''INV'' THEN (SELECT Convert(VARCHAR(20),CODE) FROM INVENTORY D, OUT_TABLE_INVENTORY OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.INVENTORY)
			WHEN ''KBK'' THEN (SELECT Convert(VARCHAR(30),CODE) FROM KL_KBK D, OUT_TABLE_KBK OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.KBK)
			WHEN ''EKR'' THEN (SELECT Convert(VARCHAR(10),CODE) FROM KOSGU D, OUT_TABLE_KOSGU OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.KOSGU)
			WHEN ''NOMEN'' THEN (SELECT Convert(VARCHAR(20),CODE) FROM NOMENCLATURE D, OUT_TABLE_NOMENCLATURE OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.NOMENCLATURE)
			WHEN ''AP1'' 
         THEN  (SELECT [NUMBER]
                FROM dbo.[BD_OSNOV]
                WHERE CONVERT (VARCHAR (20), LINK) = (SELECT [STRING]
                              FROM dbo.[OUT_TABLE_STRING] [OTS]
                              WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                                    [OTS].[OBJECT] = ' + @varKScValLinkObj + '))
			WHEN ''AP2'' 
         THEN  (SELECT [CODE]
                FROM dbo.DOP_CLASSIF
                WHERE CONVERT (VARCHAR (20), LINK) = (SELECT [STRING]
                              FROM dbo.[OUT_TABLE_STRING] [OTS]
                              WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                                    [OTS].[OBJECT] = ' + @varKScValLinkObj + '))
			ELSE (SELECT Convert(VARCHAR(10),CODE) FROM DICTION D, OUT_TABLE_DICTION OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.DICTION)
		     END,
	[VAL_NAME] = CASE (SELECT UPPER(LTRIM(RTRIM(STRING))) FROM OUT_TABLE_STRING WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScCodeApObj + ')
			WHEN ''DEP'' THEN (SELECT Convert(VARCHAR(120),NAME) FROM DEPARTMENTS D, OUT_TABLE_DEPARTMENT OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.DEPARTMENT)
			WHEN ''SUB'' THEN (SELECT Convert(VARCHAR(120),NAME) FROM SUBDIV D, OUT_TABLE_SUBDIV OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.SUBDIV)
			WHEN ''EMP'' THEN (SELECT dbo.sd_GetEmplName(EMPL) FROM OUT_TABLE_EMPL OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ')
			WHEN ''INV'' THEN (SELECT Convert(VARCHAR(120),NAME) FROM INVENTORY D, OUT_TABLE_INVENTORY OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.INVENTORY)
			WHEN ''KBK'' THEN (SELECT Convert(VARCHAR(120),NAME) FROM KL_KBK D, OUT_TABLE_KBK OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.KBK)
			WHEN ''EKR'' THEN (SELECT Convert(VARCHAR(250),NAME) FROM KOSGU D, OUT_TABLE_KOSGU OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.KOSGU)
			WHEN ''NOMEN'' THEN (SELECT Convert(VARCHAR(254),NAME) FROM NOMENCLATURE D, OUT_TABLE_NOMENCLATURE OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.NOMENCLATURE)
			WHEN ''AP1'' 
         THEN  (SELECT [INFO]
                FROM dbo.[BD_OSNOV]
                WHERE CONVERT (VARCHAR (20), LINK) = (SELECT [STRING]
                              FROM dbo.[OUT_TABLE_STRING] [OTS]
                              WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                                    [OTS].[OBJECT] = ' + @varKScValLinkObj + '))
			WHEN ''AP2'' 
         THEN  (SELECT [NAME]
                FROM dbo.DOP_CLASSIF
                WHERE CONVERT (VARCHAR (20), LINK) = (SELECT [STRING]
                              FROM dbo.[OUT_TABLE_STRING] [OTS]
                              WHERE [OTS].[LINK_UP] = [OTR].[LINK] AND 
                                    [OTS].[OBJECT] = ' + @varKScValLinkObj + '))

			ELSE (SELECT Convert(VARCHAR(120),NAME) FROM DICTION D, OUT_TABLE_DICTION OTD WHERE OTD.LINK_UP=OTR.LINK AND OTD.OBJECT= ' + @varKScValLinkObj + ' AND D.LINK=OTD.DICTION)
		     END,
	[TAB_DTKT] = (SELECT CONVERT(TINYINT, SUMMA) FROM OUT_TABLE_SUMMA WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScTabDtktObj + '),
	[NAME_DTKT] = CASE (SELECT CONVERT(TINYINT, SUMMA) FROM OUT_TABLE_SUMMA WHERE LINK_UP=OTR.LINK AND OBJECT=' + @varKScTabDtktObj + ')
			WHEN 0 THEN CONVERT(CHAR(2),''Дт'')
			ELSE CONVERT(CHAR(2),''Кт'')
		      END
	FROM OUT_TABLE_ROW OTR
	WHERE OTR.OBJECT = ' + @varKScTableObj + '
'
EXECUTE (@varKSstr)
GRANT ALL ON [DBO].[DOC_ANALIT_TABLE_70N] TO [PUBLIC]


EXEC U_UPDATE_SCRIPT_PROPERTY 'DOC_ANALIT_TABLE_70N', 'EXECUTE BV_CREATE_DOC_ANALIT_TABLE_70N'


/*
exec dbo.BV_CREATE_DOC_ANALIT_TABLE_70N
*/


GO


GRANT EXECUTE ON dbo.[BV_CREATE_DOC_ANALIT_TABLE_70N] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_CONV157N_PRINT_SPRAVKA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_CONV157N_PRINT_SPRAVKA]

GO
CREATE PROCEDURE dbo.BK_CONV157N_PRINT_SPRAVKA
	@tDATE_BEGIN	DATETIME,
	@tDATE_END	DATETIME,
	@tTYPE_PRN	INT,
	@tSEP_DOC	INT,
	@tPRN_KBK	INT,
	@tPRN_KOSGU	INT,
	@tOLD_40103	INT
AS
BEGIN
	DECLARE @intDEP_LINK	INT,
		@intMAIN_DEP_LINK INT,
		@cMAIN_DEP_NAME VARCHAR (254),
		@cMAIN_OKPO	VARCHAR (254),
		@cMAIN_RUK	VARCHAR (100),
		@cMAIN_BUH	VARCHAR (100),
		@intPRN_RUK	INT,
		@intPRN_GLBUH	INT

	EXEC dbo.XD_WHATS_ZB @intDEP_LINK OUTPUT

	SELECT @intMAIN_DEP_LINK = LINK,
		@cMAIN_DEP_NAME = [NAME],
		@cMAIN_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @intDEP_LINK

	SELECT @cMAIN_RUK = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Руководитель')

	SELECT @cMAIN_BUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Главный бухгалтер')

	CREATE TABLE #TMP_TABLE (REC_NO INT IDENTITY, EVENT_TXT VARCHAR (254), LINK_DOC INT, LINK_G2 INT,
			SUMMA NUMERIC (28,4), ACCT_OLD INT, ACCT_NEW INT, ACCT_KORR INT,
			KBK INT, SGU INT, INV INT, 
			CODE_OLD VARCHAR (30), CODE_NEW VARCHAR (30),
			DEP_LINK INT, S_ACTIVE INT
			)

	SELECT @tDATE_BEGIN = ISNULL (@tDATE_BEGIN, '20090101'),
		@tDATE_END = ISNULL (@tDATE_END, '20091231')

	INSERT INTO #TMP_TABLE
	SELECT '', 0, 0,
		CASE
			WHEN SA_OLD.S_ACTIVE = 1 THEN SUM (RT.D_SUMMA)
			ELSE SUM (RT.K_SUMMA)
		END,
		SA_OLD.LINK,
		SA_NEW.LINK,
		0, --		dbo.BK_GetDBKTAccount (RT.ACCOUNT, '401', '03', DEFAULT),
		CASE
			WHEN @tPRN_KBK = 1 THEN RT.KBK
			ELSE 0
		END,
		CASE
			WHEN @tPRN_KOSGU = 1 THEN RT.SGU
			ELSE 0
		END,
		CASE
			WHEN @tTYPE_PRN = 1 THEN 0
			ELSE RT.INV
		END,
		SA_OLD.CODE,
		SA_NEW.CODE,
		RT.DEP_LINK,
		SA_OLD.S_ACTIVE
	FROM dbo.ARestTableByDate (@tDATE_BEGIN, DEFAULT) RT
	INNER JOIN dbo.S_ACCOUNTS_NEW_CONV SA1 ON (SA1.LINK = RT.ACCOUNT)
	INNER JOIN dbo.S_ACCOUNTS SA_NEW ON (SA_NEW.LINK = SA1.LINK_SA)
	INNER JOIN dbo.S_ACCOUNTS_OLD SA_OLD ON (SA_OLD.LINK = SA1.LINK_SA)
	WHERE SA1.TYPE_ACCT = 2
		AND RT.DEP_LINK = @intDEP_LINK
		AND SA_OLD.cSINTH <> '401'
		AND SA_OLD.cANALIT <> '03'
	GROUP BY SA_OLD.LINK,
		SA_NEW.LINK,
		SA_OLD.S_ACTIVE,
		CASE
			WHEN @tPRN_KBK = 1 THEN RT.KBK
			ELSE 0
		END,
		CASE
			WHEN @tPRN_KOSGU = 1 THEN RT.SGU
			ELSE 0
		END,
		CASE
			WHEN @tTYPE_PRN = 1 THEN 0
			ELSE RT.INV
		END,
		SA_OLD.CODE,
		SA_NEW.CODE,
		RT.DEP_LINK

	UPDATE #TMP_TABLE SET ACCT_KORR = dbo.BK_GetDBKTAccount (ACCT_OLD, '401', '30', DEFAULT)

	CREATE TABLE #TAB_RES (REC_NO INT, LINK_DOC INT, DOC_TITLE VARCHAR (254), NUMBER VARCHAR (8),
			DOC_DATE VARCHAR (10), dDOC_DATE DATETIME, DOC_NUM VARCHAR (8),
			DEP_NAME VARCHAR (254), OKPO VARCHAR (30),
			REASON VARCHAR (254),
			SUMMA NUMERIC (28,4),
			ACCT_CODE VARCHAR (60), KOR_CODE VARCHAR (60),
			DT VARCHAR (60), KT VARCHAR (60),
			RUK VARCHAR (100), GLBUH VARCHAR (100),
			ORDERS TINYINT, INV INT, S_ACTIVE INT,
			LIST_JO VARCHAR (20))

	INSERT INTO #TAB_RES
	SELECT REC_NO, 
		0,
		'Переход на единый план счетов',
		'1',
		ISNULL (CONVERT (VARCHAR (10), @tDATE_BEGIN, 104), ''),
		@tDATE_BEGIN,
		ISNULL ('1', ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		'Переход на единый план счетов. Перенос остатков со счета ' + SA_OLD.CODE + '.',
		T1.SUMMA,
		CASE
			WHEN @tPRN_KBK = 1 THEN ISNULL (RTRIM (K1.CODE), '00000000000000000') + '.'
			ELSE ''
		END
			+ SA_OLD.CODE
			+
		CASE
			WHEN @tPRN_KOSGU = 1 THEN '.' + ISNULL (K2.CODE, '000')
			ELSE ''
		END,
		dbo.BK_GetAcctFullCode1 (T1.ACCT_KORR, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		'', '',
		@cMAIN_RUK,
		@cMAIN_BUH,
		1,
		T1.INV,
		T1.S_ACTIVE,
		''
	FROM #TMP_TABLE T1
	INNER JOIN dbo.S_ACCOUNTS_OLD SA_OLD ON (SA_OLD.LINK = T1.ACCT_OLD)
	LEFT OUTER JOIN dbo.KL_KBK K1 ON (K1.LINK = T1.KBK)
	LEFT OUTER JOIN dbo.KOSGU K2 ON (K2.LINK = T1.SGU)
	LEFT OUTER JOIN dbo.DEPARTMENTS D1 ON (D1.LINK = T1.DEP_LINK)

	UNION ALL

	SELECT REC_NO, 
		0,
		'Переход на единый план счетов',
		'1',
		ISNULL (CONVERT (VARCHAR (10), @tDATE_BEGIN, 104), ''),
		@tDATE_BEGIN,
		ISNULL ('1', ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		'Переход на единый план счетов. Формирование остатков на счете ' + T1.CODE_NEW + '.',
		T1.SUMMA,
		dbo.BK_GetAcctFullCode1 (T1.ACCT_KORR, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		dbo.BK_GetAcctFullCode1 (T1.ACCT_NEW, T1.KBK, T1.SGU, @tPRN_KBK, @tPRN_KOSGU, @tDATE_BEGIN),
		'', '',
		@cMAIN_RUK,
		@cMAIN_BUH,
		2,
		T1.INV,
		T1.S_ACTIVE,
		''
	FROM #TMP_TABLE T1
	LEFT OUTER JOIN dbo.DEPARTMENTS D1 ON (D1.LINK = T1.DEP_LINK)

	IF ISNULL (@tOLD_40103, 0) = 1
		UPDATE #TAB_RES
			SET KOR_CODE = REPLACE (KOR_CODE, '.401.30', '.401.03')
		WHERE ORDERS = 1

	UPDATE #TAB_RES SET DT = CASE 
					WHEN S_ACTIVE = 1 THEN KOR_CODE
					ELSE ACCT_CODE
				END,
			KT = CASE 
					WHEN S_ACTIVE = 1 THEN ACCT_CODE
					ELSE KOR_CODE
				END

	SELECT TR.*,
		TR.REASON 
		+ CASE  
			WHEN INV.CODE IS NULL THEN ''
			ELSE ' ОС: ' + INV.CODE + ' ' + INV.[NAME] 
		END  AS REASON,
		'' AS SUBDIV,
		'' AS SUBDIV_C,
		0 AS PRN_ANALIT,
		'' AS APD_NAME,
		'' AS APK_NAME,
		0 AS QTY,
		0 AS LINK_G2,
		
		@intPRN_RUK AS PRN_RUK, 
		@intPRN_GLBUH AS PRN_GLBUH,
		'' AS COMMENT
	FROM #TAB_RES TR
	LEFT JOIN dbo.INVENTORY INV ON (INV.LINK = TR.INV)
	ORDER BY DEP_NAME, REC_NO, ORDERS, dDOC_DATE, LINK_DOC

	DROP TABLE #TMP_TABLE
	DROP TABLE #TAB_RES
END



GO


GRANT EXECUTE ON dbo.[BK_CONV157N_PRINT_SPRAVKA] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_REP_2NDFL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_REP_2NDFL]

GO

CREATE PROCEDURE dbo.SD_REP_2NDFL
	@varKScYear varchar(4),			
	@varKSnFirstNum INT,	
	@nCHECK_S int = 0,					   /*Определить перечисленную сумму по проводкам*/
	@nSumm_For_Check numeric(18,2) = null, /*Перечисленная сумма НДФЛ за период*/			
	@varKScVal1 char(1), @varKSnOtborLink1 int,	
	@varKScVal2 char(1), @varKSnOtborLink2 int,
	@nLinkEmpl int = 0,
	@nMonth int = 12,
	@LINK_PERS INT = NULL,
	@nCheck_CheeF int = 0
	

AS BEGIN

SET NOCOUNT ON

	
	Set @nMonth = ISNULL(@nMonth,12)

	DECLARE @varKSnYear INT
	SET @varKSnYear = CAST(@varKScYear AS INT)

	DECLARE @BEGIN_YEAR DATETIME
	SET @BEGIN_YEAR = dbo.ConvertDMY2Date(1,1,@varKSnYear)

	declare @DEP_LINK int
	exec dbo.xd_whats_zb @DEP_LINK OUTPUT
	


	

	CREATE TABLE #RES0 (
		ID INT IDENTITY,
		NOM_SPR INT,
		LINK_FACE INT,
		SEX INT,
		INNFIZ VARCHAR(20),
		NUMB_SERT VARCHAR(20),
		STATUS VARCHAR(1),
		FIO VARCHAR(254),
		FM VARCHAR(254),
		IM VARCHAR(254),
		OT VARCHAR(254),
		KDVD VARCHAR(4),
		SERNOM VARCHAR(254), 
		BIRTH DATETIME,
		GRAZD VARCHAR(3),
		KSTR VARCHAR(3),
		LINK_ADR INT,
		IND_ADR VARCHAR(10),
		REGION VARCHAR(4),
		RAION VARCHAR(254),
		GOROD VARCHAR(254),
		NASEL VARCHAR(254),
		STREET VARCHAR(254),
		HOUSE VARCHAR(20),
		KORP VARCHAR(10),
		FLAT VARCHAR(10),

		KSTR_ino VARCHAR(3),
		Adr_ino VARCHAR(200),

		O_OKATO VARCHAR(14),
		O_OKTMO VARCHAR(11),
		O_KPP VARCHAR(9),		

		ksv1 varchar(3), ssv1 numeric(11,2),
		ksv2 varchar(3), ssv2 numeric(11,2),
		ksv3 varchar(3), ssv3 numeric(11,2),
		ksv4 varchar(3), ssv4 numeric(11,2),
		ksv5 varchar(3), ssv5 numeric(11,2),
		ksv6 varchar(3), ssv6 numeric(11,2),
		ksv7 varchar(3), ssv7 numeric(11,2),
		ksv8 varchar(3), ssv8 numeric(11,2),
		ksv9 varchar(3), ssv9 numeric(11,2),
		ksv10 varchar(3), ssv10 numeric(11,2),
		ksv11 varchar(3), ssv11 numeric(11,2),
		ksv12 varchar(3), ssv12 numeric(11,2),
		ssv numeric(11,2), siv numeric(11,2),
		osd13 numeric(11,2), sdo13 numeric(11,2), 
		nalogn13 numeric(18), nalogu13 numeric(18),
		NALOG13S numeric(18),
		err int,
		S_5_6 NUMERIC(18,2), S_5_7 NUMERIC(18,2),		
		dolg_np numeric(8), dolg_na numeric(8),
		kbkcode1 varchar(30), kbkcode2 varchar(30), kbkcode3 varchar(30), kbkcode4 varchar(30), 
		kbksum1 numeric(18,2), kbksum2 numeric(18,2),kbksum3 numeric(18,2),kbksum4 numeric(18,2),
		VIFNSPL numeric(18,2),
		ZSummPL numeric(18,2),
		UdSumPL numeric(18,2),
		VzkIFNS numeric(18,2)

	)	


	CREATE TABLE #FACES (LINK int,PERS_LINK int)

	IF @nLinkEmpl = 0
	BEGIN

		IF (len(@varKScVal1) = 0) AND (len(@varKScVal2) = 0 )
			INSERT INTO #FACES
			SELECT distinct PERS_LINK,PERS_LINK FROM dbo.empl WHERE DEP_LINK = @DEP_LINK --AND dbo.ku_GetEmplSack(link,default) = 0
		ELSE 
		if len(@varKScVal1) <> 0
			INSERT INTO #FACES 
			SELECT distinct Min(RECORD),E.PERS_LINK 
			FROM dbo.EMPL E INNER JOIN dbo.OBJECT_VAR_EMPL OVE ON OVE.RECORD = E.LINK
			WHERE LINK_UP = @varKSnOtborLink1
			GROUP BY E.PERS_LINK

		IF (len(@varKScVal1) = 0) AND (len(@varKScVal2) = 0 )
			INSERT INTO #FACES
			SELECT distinct PERS_LINK,PERS_LINK FROM dbo.SALARY_REESTR_DGH WHERE DEP_LINK = @DEP_LINK
				AND PERS_LINK NOT IN (SELECT PERS_LINK FROM #FACES)
		ELSE 
		IF len(@varKScVal2) <> 0
			INSERT INTO #FACES 
			SELECT distinct Min(RECORD), P.LINK 
			FROM dbo.PERSON P INNER JOIN dbo.OBJECT_VAR_PERSON OVE ON OVE.RECORD = P.LINK  
			WHERE LINK_UP = @varKSnOtborLink2 AND P.LINK NOT IN (SELECT PERS_LINK FROM #FACES)
			GROUP BY P.LINK
	END
	IF @nLinkEmpl > 0
	BEGIN
		INSERT INTO #FACES
		SELECT distinct LINK,PERS_LINK FROM dbo.empl WHERE LINK = @nLinkEmpl and DEP_LINK = @DEP_LINK
	END
	
	IF @nLinkEmpl IS NULL
		INSERT INTO #FACES (LINK, PERS_LINK)
		VALUES (0, @LINK_PERS)

	-----------------------------
	delete from dbo.SAL_DED_MONTH
	where 
	YEAR(DATE_DED) = @varKSnYear
	AND
	Month(DATE_DED) <= @nMonth
	AND
	LINK_EMPL IN (Select EM.LINK from dbo.EMPL EM INNER JOIN #FACES F on EM.PERS_LINK = F.PERS_LINK)
	AND
	LINK IN 
	(
		select D.LINK 
		from dbo.SAL_DED_MONTH D inner join dbo.empl E on D.link_empl = E.link
		where YEAR(D.DATE_DED) = @varKSnYear AND Month(D.DATE_DED) <= @nMonth
		and not exists (Select * from dbo.CALCULATE_JURNAL JC where YEAR(JC.PERIOD_BEGIN) = @varKSnYear AND Month(JC.PERIOD_BEGIN) <= @nMonth AND JC.LINK_EMPL = E.LINK AND JC.LINK_VKR = D.LINK_VKR)
	)

	-----------------------------	

	EXEC dbo.BufferClear
	EXEC dbo.BufferPushTable '#faces', 'REP2NDFL', 'pers_link'

	/*Временная таблица*/
	Declare @isPrevPreiod tinyint
	--Суммы начислений включать в базу расчета в том месяце, в котором он был начислен.                   
	Set @isPrevPreiod = dbo.sa_get_option_by_code('NDFL_OPT6')

	create table #S_J_C_SHORT (LINK_FACE int,PERS_LINK int, link_empl int, link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), link_inc int, period_begin datetime, date1 datetime, link_dep int)

	Insert into #S_J_C_SHORT (LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep)
	Select 
		E.PERS_LINK, JC.PERS_LINK, JC.LINK_EMPL, P.LINK, link_vkr, ISNULL(JC.LINK_EKR,P.LINK_EKR), P.TYP_PER, P.OBJECT, summa, P.LINK_INC,
		period_begin = (case when @isPrevPreiod = 0 then JC.period_begin 
				else (Case 
						when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code = 'DOCUMENTS_ADD_TABEL'
						then JC.DATE_BEGIN else JC.period_begin 
					end) 
				end),
		JC.DATE_BEGIN,
		JC.LINK_DEP
	from 
		dbo.CALCULATE_JURNAL JC 
		INNER JOIN dbo.NDFL_GroupTax() T ON JC.LINK_PAYS=T.LINK_PAYS
		LEFT JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
		LEFT JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
		LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
	where
		(
				(@isPrevPreiod = 0 or ISNULL(d.code,'') <> 'DOCUMENTS_ADD_TABEL') and @nMonth >= month(JC.PERIOD_BEGIN) and @varKSnYear = year(JC.PERIOD_BEGIN)
				or 
				@isPrevPreiod = 1 and ISNULL(d.code,'') = 'DOCUMENTS_ADD_TABEL'
				and (@nMonth >= month(JC.DATE_BEGIN) or @nMonth >= month(JC.PERIOD_BEGIN) )
				and (@varKSnYear = year(JC.DATE_BEGIN) or @varKSnYear = year(JC.PERIOD_BEGIN) )

			)
		AND  
			(	-->>NEW
			E.PERS_LINK in (select PERS_LINK from #FACES )
			or
			JC.PERS_LINK in (select PERS_LINK from #FACES )
			)	
		AND JC.LINK_DEP = @DEP_LINK 
	union all --Удержания
	Select LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep
	from dbo.S_J_C_SHORT SJC 
		LEFT JOIN DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC 
	where 
		SJC.LINK_DEP = @DEP_LINK
		and
		(
			SJC.LINK_FACE in (select PERS_LINK from #FACES )
			or
			SJC.PERS_LINK in (select PERS_LINK from #FACES )
		)
		and YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		and TYP_OPER = 2

-----------------------------------------------------------
--Для обособленных подразделений
DECLARE @DATE DATETIME
SET @DATE = DBO.ConvertDMY2Date(1,@nMonth, @varKSnYear)
SET @DATE = DBO.DateEndOfMonth(@DATE)

CREATE TABLE #E_SUBDIV (EMPL_LINK INT, SUBDIV_LINK INT)
INSERT INTO #E_SUBDIV (EMPL_LINK, SUBDIV_LINK)
SELECT EMPL_LINK, SUBDIV_LINK
FROM DBO.SA_EMPLS_INFO(@DATE, DEFAULT)
WHERE [STATUS] = 1 OR [STATUS] = 3

CREATE TABLE #S_OBOSOB (SUBDIV_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #S_OBOSOB (SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP)
SELECT SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP 
FROM [dbo].SUBDIVISION(@DATE) 
WHERE OBOSOB = 1

CREATE TABLE #P_OBOSOB (PERS_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #P_OBOSOB(PERS_LINK, O_OKATO, O_OKTMO, O_KPP)
SELECT E.PERS_LINK, SO.O_OKATO , SO.O_OKTMO, SO.O_KPP 
FROM 
	#S_OBOSOB SO INNER JOIN #E_SUBDIV ES ON SO.SUBDIV_LINK = ES.SUBDIV_LINK
	INNER JOIN DBO.EMPL E ON E.LINK = ES.EMPL_LINK

-----------------------------------------------------------
	INSERT INTO #RES0 (
		LINK_FACE,
		SEX,
		INNFIZ, --NALOG,
		NUMB_SERT,
		STATUS,
		FIO,
		FM, IM, OT,
		KDVD,
		SERNOM, 
		BIRTH,
		GRAZD,
		KSTR,
		LINK_ADR,
		IND_ADR,
		REGION,
		RAION,
		GOROD,
		NASEL,
		STREET,
		HOUSE,
		KORP,
		FLAT, 
		KSTR_ino,
		Adr_ino,
		ERR,
		O_OKATO,
		O_OKTMO,
		O_KPP
	)

	SELECT 	distinct 
		P.LINK, P.SEX, P.INN, /*P.IFNS,*/ P.INSUR_NUM, 
		CASE 
			WHEN P.RESIDENT  IS NULL THEN ''
			WHEN P.RESIDENT = 1 THEN '1'
			WHEN P.RESIDENT = 0 THEN '2'
		END,
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT),
		RTRIM(P.FM), RTRIM(P.IM), RTRIM(P.OT),
		[KDVD] = (SELECT TOP 1 CODE FROM FACE_DOCUMENT WHERE LINK = P.DOC_LINK),
		P.DOC_NUM,
		P.BIRTHDATE,
		GRAZD= (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK),
		KSTR= (case when (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK) = '1' then '643' else '' END),
		ADR.LINK_ADDR,
		ADR.IND_ADR,
		ADR.REGION,
		ADR.RAION,
		ADR.GOROD,
		ADR.NASEL,
		ADR.STREET,
		ADR.HOUSE,
		ADR.KORP,
		ADR.FLAT,
		KSTR_ino = '',
		Adr_ino = '',
		0,
		PO.O_OKATO,
		PO.O_OKTMO,
		PO.O_KPP
	FROM 
		#FACES F 
		INNER JOIN PERSON P ON P.LINK = F.PERS_LINK
		INNER JOIN (SELECT LINK_FACE from #S_J_C_Short SJC where LINK_FACE is not null
			UNION SELECT LINK_FACE= PERS_LINK from #S_J_C_Short SJC where PERS_LINK is not null) J on P.LINK = J.LINK_FACE
		LEFT OUTER JOIN dbo.NDFL_GET_ADDRESS() ADR ON P.LINK = ADR.LINK_FACE
		LEFT JOIN #P_OBOSOB PO ON PO.PERS_LINK = F.PERS_LINK
	ORDER BY 
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT)

	select distinct LINK_FACE, Y = year(PERIOD_BEGIN), M = month(PERIOD_BEGIN),  LINK_INC, LINK_VKR  
	into #spr_pays_kbk
	from 	#S_J_C_SHORT where TYP_OPER = 1
	

	CREATE TABLE #PAYS_0_tmp
	(
		ID INT IDENTITY,
		LINK_FACE INT,
		mes int, 
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	CREATE TABLE #PAYS_0
	(
		ID INT IDENTITY,
		LINK_FACE INT, 
		mes int, 
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	INSERT INTO #PAYS_0_tmp
	(LINK_FACE, mes, 
	LINK_INC, CODE_INC, SUMMA_INC,
	LINK_DED, CODE_DED, SUMMA_DED)
	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM 
		#S_J_C_SHORT SJC 
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.LINK_FACE = F.PERS_LINK
	WHERE 
		SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.PERS_LINK,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK 
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED

	---<< Добавление информации по внештатникам	
	union all 

	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM #S_J_C_SHORT SJC 	
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC --AND DTI.SNAME <> '0000'
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 	SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.LINK_FACE,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED
	ORDER BY 
		1, ISNULL(DTI.SNAME,'0000'), COD_DED


	INSERT INTO #PAYS_0
	Select LINK_FACE, mes, LINK_INC, CODE_INC, sum(SUMMA_INC), LINK_DED, CODE_DED, sum(SUMMA_DED)
	from #PAYS_0_tmp
	group by LINK_FACE, mes, LINK_INC, CODE_INC, LINK_DED, CODE_DED
	having Sum(SUMMA_INC) <> 0

	drop table #PAYS_0_tmp

	---->>
	--СКИДКИ
	SELECT D.LINK_FACE, D.mes, SUM(D.SUMMA) as SUMMA, D.REF_DED INTO #DED 
	FROM 
		dbo.SA_NDFL_MONTH_DED_ALL(@varKSnYear) D 
		inner join #spr_pays_kbk kbk on kbk.LINK_FACE = d.LINK_FACE and kbk.m = d.mes and kbk.link_inc = d.REF_INC and kbk.LINK_VKR = d.LINK_VKR
	where 
		kbk.y = @varKSnYear
		and kbk.m <= @nMonth
	GROUP BY 
		D.LINK_FACE, d.mes, d.REF_DED

	UPDATE #PAYS_0
	SET SUMMA_DED = 
		(SELECT SUM(SUMMA) FROM #DED D WHERE D.LINK_FACE = R.LINK_FACE AND D.REF_DED = R.LINK_DED AND D.mes = R.mes ) 
	FROM #PAYS_0 R 
	WHERE LINK_DED IS NOT NULL


	update #PAYS_0 
		Set CODE_DED = ''
		where ISNULL(SUMMA_DED,0) = 0


	CREATE TABLE #P0 (LINK_FACE INT, ID1 INT)

	--- 1

	CREATE TABLE #PAYS1(LINK_FACE INT, SM NUMERIC(11,2), MONTH_NUM INT)
	INSERT INTO #PAYS1
	SELECT LINK_FACE, SM, [MONTH]
	FROM dbo.NDFL_BASE_SUM_TAX_MONTH_ALL(@nMonth, @varKSnYear)

	---<< Добавление информации по внештатникам
	insert into #pays1

	SELECT 
		F.PERS_LINK,
		SUM(SUMMA) AS SUMMA_INC,
		Month(SJC.PERIOD_BEGIN)
	FROM 
		#S_J_C_SHORT SJC 
		INNER JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND ISNULL(SJC.LINK_FACE,0) = 0
		AND SJC.LINK_DEP = @DEP_LINK 
	GROUP BY F.PERS_LINK, SJC.PERIOD_BEGIN

	---->>

	SELECT LINK_FACE, SUM(SM) AS SM
	INTO #PAYS_R
	FROM #PAYS1
	GROUP BY LINK_FACE

	INSERT INTO #PAYS1
	SELECT 
		EP.PERS_LINK, -SUM(SUMMA), MONTH(DATE_DED)
	FROM    
		dbo.empl EP 
		inner join SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND [TYPE] = 2)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
	where 
		EP.DEP_LINK = @DEP_LINK	
	GROUP BY 
		EP.PERS_LINK, MONTH(DATE_DED)

	CREATE TABLE #PAYS3(ID INT IDENTITY, LINK_FACE INT, LINK_DED INT, CODE_DED VARCHAR(6), SUMMA NUMERIC(18,2), SUMMA_FAKT NUMERIC(18,2))
	--Стандартные и скидки на мат помощь
	--ПО СОТРУДНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.empl EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BEGIN_YEAR) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE

	--ПО ДОГОВОРНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.REESTR_DGH EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_DGH AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND S.[TYPE] = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BEGIN_YEAR) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE

	--UPDATE #PAYS3
	--SET
	--	SUMMA = (Select sum(SUM_DED) from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	
	--where
	--	exists (Select * from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	

	UPDATE #PAYS3
	SET
		SUMMA = ISNULL(SUMMA_FAKT,0)
	where
		ISNULL(SUMMA,0) = 0

	--Прочие вычеты (имущественные, добровольное пенс страхование и пр.)
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, SUM(S.SUMMA), SUM(S.SUMMA) 
	FROM 
		dbo.EMPL EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
	where 
		T.NUMBER NOT IN (	1, --Стандартные
							6 --скидки на мат помощь 
							)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE

	-- Общая сумма имущ. вычетов
	update #RES0
	Set siv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0),
		ssv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED NOT IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0)		

	from #RES0 R
	--
	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV1 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV1 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV2 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV2 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV3 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV3 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV4 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV4 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV5 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV5 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV6 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV6 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV7 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV7 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV8 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV8 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV9 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV9 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV10 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV10 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV11 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV11 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV12 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV12 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END


	UPDATE #RES0 SET OSD13 = (SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE) FROM #RES0 R

	----
	UPDATE #RES0 SET SDO13 = OSD13 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE

	-----
	UPDATE #RES0 SET SDO13 = 0 WHERE SDO13 < 0


	CREATE TABLE #NDFL_TAX(LINK_TAX INT)
	INSERT INTO #NDFL_TAX
	SELECT LINK FROM PAYS P WHERE P.OBJECT = 2 AND P.WAY_CALC = 4

	Create table #NDLF13_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF13 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF13_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF13 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF13_tmp group by LINK
	
	drop table #NDLF13_tmp
	--->>

	UPDATE #RES0 SET NALOGU13 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF13 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN13 = SDO13 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX WHERE TARIF = 1)
								ELSE 0.30 END)
	--Перечисленная сумма по всем за период
	DECLARE @SUMMA_PLAT_ALL NUMERIC(18,2)
		
	IF @nCHECK_S = 0
		BEGIN
			SET @SUMMA_PLAT_ALL =  @nSumm_For_Check 	
		END
	ELSE
		BEGIN 
			EXEC dbo.SA_NDFL_PLAT @BEGIN_YEAR, @DATE, @DEP_LINK, @SUMMA_PLAT_ALL OUT
		END 
	--Начисленная сумма по всем за период
	DECLARE @SUMMA_NACH_ALL NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL @BEGIN_YEAR, @DATE, @DEP_LINK, @SUMMA_NACH_ALL OUT
	--Перечисленная за сотрудника	
	UPDATE #RES0 SET NALOG13S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL > 0 THEN (NALOGU13	/ @SUMMA_NACH_ALL) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG13S = CASE WHEN NALOG13S > NALOGU13 THEN NALOGU13 ELSE NALOG13S END

	UPDATE #RES0 SET NOM_SPR = ID + @varKSnFirstNum - 1
	
	---Учет переплаты/недоплаты НДФЛ из остатков с прошлого года
	UPDATE A SET 
		S_5_6 = (CASE WHEN R.NDFL > 0 THEN R.NDFL ELSE 0 END),
		S_5_7 = (CASE WHEN R.NDFL <= 0 THEN - R.NDFL ELSE 0 END)
	FROM
		#RES0 A INNER JOIN 
		(SELECT E.PERS_LINK, NDFL = SUM(SR.NDFL) FROM dbo.SAL_REMAIN SR INNER JOIN dbo.EMPL E ON E.LINK = SR.LINK_EMPL WHERE SR.YEAR_SAL = @varKSnYear GROUP BY E.PERS_LINK) R 
			ON R.PERS_LINK = A.LINK_FACE
	--	
	UPDATE #RES0 SET DOLG_NP = CASE WHEN NALOGN13 - NALOGU13 > 0 THEN NALOGN13 - NALOGU13 ELSE 0 END - ISNULL(S_5_6,0)
	UPDATE #RES0 SET DOLG_NA = CASE WHEN NALOGU13 - NALOGN13 > 0 THEN NALOGU13 - NALOGN13 ELSE 0 END - ISNULL(S_5_7,0)

	--^^^^^^^^^Распределение налога по КБК^^^^^^^^^^
	create table  #PAYS_NDFL (ID INT IDENTITY, LINK_FACE int, LINK_PAYS int, kbk_code varchar(30), SUMMA numeric(18,2))

	INSERT INTO #PAYS_NDFL (LINK_FACE, LINK_PAYS, kbk_code, SUMMA)
	SELECT LINK_FACE, SJC.LINK_PAYS, left(kbk.CODE,30), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.PERS_LINK,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)
	GROUP BY 
		LINK_FACE, LINK_PAYS, kbk.CODE

	union all ---<< Добавление информации по внештатникам	

	SELECT  PERS_LINK, SJC.LINK_PAYS, left(kbk.CODE,20), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.LINK_FACE,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)

	GROUP BY 
		PERS_LINK, LINK_PAYS, kbk.CODE
	ORDER BY 
		1, 2, 3



	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode1 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum1 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode2 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum2 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode3 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum3 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode4 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum4 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	-------------------------------------
	update #res0
	set 	VIFNSPL =0, ZSummPL =0, UdSumPL =0, VzkIFNS =0


	DECLARE @varKSCNT INT

	SELECT @varKSCNT  = COUNT(*) FROM #RES0

	SELECT TOP 1 
		LTRIM(RTRIM(STR(@varKSCNT))) AS DOCCOUNT, 
		ISNULL(IMNS, '') AS NALOG,
		ISNULL(dd.INN, '') AS INN,
		ISNULL(KPP, '') AS KPP,
		ISNULL(OKATO, '')  AS OKATO,
		ISNULL(OKTMO, '')AS OKTMO,
		convert(varchar (254),(ISNULL(FULL_NAME, ''))) AS FULL_NAME,
		ISNULL(DOTF.PHONE, '') AS PHONE,
		ISNULL(RTRIM(FM), '') + ' ' + ISNULL(RTRIM(IM), '') + ' ' + ISNULL(RTRIM(OT), '') AS GLBUH,
		ISNULL(RTRIM(FM), '') AS FM,
		ISNULL(RTRIM(IM), '') AS IM, 
		ISNULL(RTRIM(OT), '') AS OT,
		ISNULL(RTRIM(DOTF.NAME), '') AS Dolzh
	INTO #DEP
	FROM DICTIONARY_DEPARTMENT DD 
	LEFT OUTER JOIN DICTIONARY_OTV_FACE DOTF ON 
		(DOTF.DEP_LINK = DD.LINK
		AND (@nCheck_CheeF = 0 and DOTF.NAME = 'Главный бухгалтер' ) 
			OR (@nCheck_CheeF = 1 and DOTF.NAME = 'Руководитель' ))
	LEFT OUTER JOIN KU_EMPL_PLACING EP ON DOTF.FACE_LINK = EP.LINK
	WHERE DD.link = @DEP_LINK

/*
EXECUTE KIR_EXEC_QUERY 95090,'''2014'',1,''1'',''1'',''1'',1,0,'''',0,95091'
go


*/

	CREATE TABLE #LOG(
		LINK INT, ERR INT IDENTITY, 
		NUMBER VARCHAR(20), DETAIL VARCHAR(254) )

	DECLARE @varKScInn VARCHAR(254), @varKScKPP VARCHAR(254), @varKSFULL_NAME varchar(254), 
		@varKSNALOG VARCHAR(254), @varKSOKATO VARCHAR(254), @varKSOKTMO VARCHAR(254), @varKSPHONE VARCHAR(254), 
		@varKSGLBUH VARCHAR(254), 
		@varKSRESULT BIT

	SELECT 
		@varKScInn = INN, @varKScKPP = KPP,
		@varKSFULL_NAME = FULL_NAME, 
		@varKSNALOG = NALOG, @varKSOKATO = Replace(OKATO,' ',''), @varKSOKTMO = Replace(OKTMO,' ',''),
		@varKSPHONE = PHONE, 
		@varKSGLBUH  = GLBUH
	FROM #DEP
	
	IF LEN(@varKScInn) = 0
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указан ИНН организации')
	ELSE BEGIN
		IF LEN(@varKScInn) <> 10 BEGIN
			INSERT INTO #LOG (LINK, NUMBER, DETAIL)
			VALUES (0, 'Общие ошибки', 'Неверный ИНН организации')
		END
		ELSE BEGIN
			EXEC SD_CHECK_INN @varKScInn, @varKSRESULT OUTPUT, 0
			IF @varKSRESULT = -1
				INSERT INTO #LOG (LINK, NUMBER, DETAIL)
				VALUES (0, 'Общие ошибки', 'Неверный ИНН организации')
		END
	END

	
	IF LEN(@varKScKPP) = 0
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указан КПП организации')
	ELSE BEGIN
		IF LEN(@varKScKPP) <>9  BEGIN
			INSERT INTO #LOG (LINK, NUMBER, DETAIL)
			VALUES (0, 'Общие ошибки', 'КПП организации должен быть 9 знаков')
		END
	END

	IF LEN(@varKSNALOG) = 0 
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указан код ИФНС')
	ELSE BEGIN
		IF LEN(@varKSNALOG) <> 4  
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Код ИФНС должен быть 4 знака')

	END

	IF LEN(@varKSFULL_NAME) = 0 
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указано наименование организации-отправителя')



	IF LEN(@varKSOKATO) = 0  
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)		VALUES (0, 'Общие ошибки', 'Не указан код ОКТМО')	

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT E.PERS_LINK, '', 'Не указан код ОКТМО у обособленного подразделения, в котором находится сотрудник ' + RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.'
	FROM
		#S_OBOSOB SO INNER JOIN #E_SUBDIV ES ON SO.SUBDIV_LINK = ES.SUBDIV_LINK
		INNER JOIN DBO.EMPL E ON E.LINK = ES.EMPL_LINK
		INNER JOIN #FACES F ON F.PERS_LINK = E.PERS_LINK
		INNER JOIN DBO.PERSON P ON P.LINK = E.PERS_LINK
	WHERE
		LEN(O_OKATO) = 0 
		
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT E.PERS_LINK, '', 'Не указан либо указан неверно код KPP у обособленного подразделения, в котором находится сотрудник ' + RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.'
	FROM
		#S_OBOSOB SO INNER JOIN #E_SUBDIV ES ON SO.SUBDIV_LINK = ES.SUBDIV_LINK
		INNER JOIN DBO.EMPL E ON E.LINK = ES.EMPL_LINK
		INNER JOIN #FACES F ON F.PERS_LINK = E.PERS_LINK
		INNER JOIN DBO.PERSON P ON P.LINK = E.PERS_LINK		
	WHERE
		LEN(O_KPP) <> 9

	IF LEN(@varKSPHONE) = 0 
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указан контактный телефон')

	IF LEN(@varKSGLBUH) = 0 
		INSERT INTO #LOG (LINK, NUMBER, DETAIL)
		VALUES (0, 'Общие ошибки', 'Не указано ответственное лицо')

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT DISTINCT
		0, 'Общие ошибки', 'В настройках по зарплате не указан вычет с кодом ' + LTRIM(RTRIM(ISNULL(D.SNAME,'')))
	FROM
		dbo.TAX_DEDUCTIONS TD INNER JOIN DBO.DICTIONARY_TYP_DEDUCTION D ON D.LINK = TD.LINK_DICTION
	WHERE
		TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth
		AND
		TD.LINK_DICTION NOT IN (SELECT REF_PAY FROM dbo.Salary_deductions(@BEGIN_YEAR))

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '', 'Не указана фамилия' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE LEN(ISNULL(FM, '')) = 0 AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '', 'Не указано имя' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE LEN(ISNULL(IM, '')) = 0 AND OSD13 > 0 

/*	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указано отчество' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE LEN(ISNULL(Ot, '')) = 0 AND OSD13 > 0 
*/
/*	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT NOM_SPR, NOM_SPR,  'Неверный ИНН сотрудника' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE dbo.IsValidINNFiz(INNFIZ) = 0
*/
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан статус работника' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE STATUS = '' AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указано гражданство' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE GRAZD IS NULL AND OSD13 > 0 
/*
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT NOM_SPR, NOM_SPR,  'Не указан ИНН' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = ''
*/
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан ИНН либо документ, удостоверяющий личность' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = '' and KDVD IS NULL AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан ИНН либо номер документа' + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = '' AND ISNULL(SERNOM, '') = '' AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан ИНН либо дата рождения'  + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = '' AND BIRTH IS NULL AND OSD13 > 0 

	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Не указан адрес'  + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 WHERE ISNULL(INNFIZ, '') = '' AND link_adr IS NULL AND OSD13 > 0 

	SET @varKSCNT = 0
	SELECT @varKSCNT = COUNT(DISTINCT LINK) FROM #LOG WHERE LINK > 0

	UPDATE #RES0
	SET ERR = 1
	WHERE LINK_FACE IN (SELECT LINK_FACE FROM #LOG)

	/*заявленные имущественные вычеты*/  -- DED_TYPE = 1 - имущественные, 2-  социальные
	CREATE TABLE #td (LINK_PERSON INT ,NUM_REF VARCHAR(15),DATE_REF DATETIME,IFNS_CODE VARCHAR(20),DED_TYPE TINYINT)
	INSERT INTO #td (LINK_PERSON ,NUM_REF,DATE_REF,IFNS_CODE,DED_TYPE)
	Select LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 1 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER ='4')  )
	UNION SELECT 
		   LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 2 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER IN('11','12','13')) )


	declare @KBK_DEFAULT varchar(254)
	Set @KBK_DEFAULT = (select Top 1 CODE_KBK from dbo.sd_empl where LINK_KBK > 0)

	UPDATE #RES0 Set kbkcode1 = @KBK_DEFAULT, kbksum1 = 0 where ISNULL(kbksum1,0) = 0

	/*Контроль имущественных вычетов*/
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Указаны не все данные в уведомлении на имущественный вычет'  + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 inner join  #td on #RES0.LINK_FACE = #td.LINK_PERSON 
	WHERE rtrim(ltrim(ISNULL(NUM_REF,''))) = '' or rtrim(ltrim(ISNULL(IFNS_CODE,''))) = '' or DATE_REF is null AND OSD13 > 0 

	CREATE TABLE #RES_OUT (ID INT,LINK_FACE INT,mes INT,LINK_INC INT,CODE_INC VARCHAR(4),SUMMA_INC NUMERIC(18,2),LINK_DED INT,CODE_DED VARCHAR(3),SUMMA_DED NUMERIC(18,2),ID2 INT)

	INSERT INTO #RES_OUT (ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2)
	SELECT ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2 = 0 
	FROM #PAYS_0 
	ORDER BY LINK_FACE, MES, CODE_INC
	
	---СОРТИРОВКА
	CREATE TABLE #RES_OUT_ORD (NUM_PP INT IDENTITY(1,1), ID INT, LINK_FACE INT)
	INSERT INTO #RES_OUT_ORD (ID, LINK_FACE)
	SELECT ID, LINK_FACE FROM #PAYS_0 ORDER BY LINK_FACE, MES, CODE_INC
	--
	CREATE TABLE #RES_OUT_ORD2 (LINK_FACE INT, MIN_NUM INT)
	INSERT INTO #RES_OUT_ORD2 (LINK_FACE, MIN_NUM)
	SELECT LINK_FACE, MIN(NUM_PP) FROM #RES_OUT_ORD GROUP BY LINK_FACE
	---СОРТИРОВКА ДЛЯ КАЖДОГО ФИЗЛИЦА
	UPDATE R
	SET R.ID2 = O.NUM_PP - O2.MIN_NUM + 1
	FROM 
		#RES_OUT R 
		INNER JOIN #RES_OUT_ORD O ON O.ID = R.ID
		INNER JOIN #RES_OUT_ORD2 O2 ON O2.LINK_FACE = R.LINK_FACE

	CREATE TABLE #ORDERS (ID int)
	DECLARE @SQL VARCHAR(1000)
	SET @SQL = 'ALTER TABLE #ORDERS ADD [NOM_SPR] INT IDENTITY(' + RTRIM(str(ISNULL(@varKSnFirstNum,1))) + ',1)'
	EXEC(@SQL)

	INSERT INTO #ORDERS (ID) 
	SELECT DISTINCT ID 
	FROM #RES0 
	WHERE LINK_FACE IN ( Select DISTINCT LINK_FACE from #RES_OUT where [ID2]%2 = 1 )
			--AND ISNULL(OSD13,0) > 0
	ORDER BY ID

	--UPDATE #ORDERS SET NOM_SPR = NOM_SPR + @varKSnFirstNum - 1

	--- общее количество документов
	UPDATE #DEP SET DOCCOUNT = ISNULL((SELECT MAX(NOM_SPR) FROM #ORDERS),0)

	-------------------
	SELECT 
		R.ID, O.NOM_SPR, R.LINK_FACE, R.SEX, R.INNFIZ, R.NUMB_SERT, R.STATUS, 
		R.FIO, R.FM, R.IM, R.OT, R.KDVD, R.SERNOM, R.BIRTH, R.GRAZD, R.KSTR, 
		R.LINK_ADR, R.IND_ADR, R.REGION, R.RAION, R.GOROD, R.NASEL, R.STREET, 
		R.HOUSE, R.KORP, R.FLAT, R.KSTR_ino, R.Adr_ino, 
		R.ksv1, R.ssv1, R.ksv2, R.ssv2, R.ksv3, R.ssv3, R.ksv4, R.ssv4, R.ksv5, R.ssv5, R.ksv6, R.ssv6, 
		R.ksv7, R.ssv7, R.ksv8, R.ssv8, R.ksv9, R.ssv9, R.ksv10, R.ssv10, R.ksv11, R.ssv11, R.ksv12, R.ssv12, 
		R.ssv, R.siv, R.osd13, R.sdo13, R.nalogn13, R.nalogu13, R.nalog13s, R.err, R.S_5_6, R.S_5_7, R.dolg_np, R.dolg_na, 
		R.kbkcode1, R.kbkcode2, R.kbkcode3, R.kbkcode4, R.kbksum1, R.kbksum2, R.kbksum3, R.kbksum4, 
		R.VIFNSPL, R.ZSummPL, R.UdSumPL, R.VzkIFNS, 
		ndoc_td = td1.NUM_REF , -- на имущественные вычеты
		ddoc_td = td1.DATE_REF,
		ifnsdoc_td = td1.ifns_code,
		nDoc_SD = td2.NUM_REF, -- на социальные вычеты 
		dDoc_SD = td2.DATE_REF,
		ifnsdoc_sd = td2.ifns_code,
		nalog	= @varKSNALOG,
		KPP1 = ISNULL(R.O_KPP,@varKScKPP),
		OKATO1 = replace(ISNULL(R.O_OKATO,@varKSOKATO),' ',''),
		OKATO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKATO else '' end),
		OKATO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKATO else '' end),
		OKATO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKATO else '' end),
		OKTMO1 = replace(ISNULL(R.O_OKATO,@varKSOKTMO),' ',''),
		OKTMO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKTMO else '' end),
		T.M1, T.CINC1, T.SINC1, T.CDED1, T.SDED1, T.M2, T.CINC2, T.SINC2, T.CDED2, T.SDED2,
		td1.LINK_PERSON/*, #td.NUM_REF, #td.DATE_REF, #td.IFNS_CODE*/
	FROM #RES0 R 
		INNER JOIN #ORDERS O ON O.ID = R.ID
		INNER JOIN ( 
			Select	T1.LINK_FACE, M1= T1.MES, CINC1= T1.CODE_INC, SINC1= T1.SUMMA_INC, CDED1= T1.CODE_DED, SDED1= T1.SUMMA_DED, M2= T2.MES, CINC2= T2.CODE_INC, SINC2= T2.SUMMA_INC, CDED2= T2.CODE_DED, SDED2= T2.SUMMA_DED
			from	(Select * from #RES_OUT where [ID2]%2 = 1) T1 left join (Select * from #RES_OUT where [ID2]%2 = 0) T2 on T1.link_FACE = T2.LINK_FACE AND T1.[ID2] = (T2.[ID2]-1)
		) T on R.LINK_FACE = T.LINK_FACE
		LEFT OUTER JOIN   #td td1 on R.LINK_FACE = td1.LINK_PERSON AND td1.DED_TYPE = 1 /*имущественные вычеты*/
		LEFT OUTER JOIN   #td td2 on R.LINK_FACE = td2.LINK_PERSON AND td2.DED_TYPE = 2 /*социальные вычеты*/
	--where OSD13 > 0 
	ORDER BY O.NOM_SPR, T.M1, T.CINC1, T.M2, T.CINC2

	---
	SELECT *, CAST(  (CAST (DOCCOUNT AS INT) - @varKSCNT) AS VARCHAR(254) ) AS DOCCOUNT2 FROM #DEP 
	---	

	UPDATE L SET
		NUMBER = O.NOM_SPR
	FROM 
		#LOG L
		INNER JOIN #RES0 R ON L.LINK = R.LINK_FACE
		INNER JOIN #ORDERS O ON O.ID = R.ID
	
	SELECT * FROM #LOG ORDER BY LINK, ERR
	---
	EXEC dbo.BufferClear

	DROP TABLE #E_SUBDIV
	DROP TABLE #S_OBOSOB
	DROP TABLE #P_OBOSOB	
	DROP TABLE #LOG	
	DROP TABLE #RES0	
	DROP TABLE #ORDERS				
	
END











GO


GRANT EXECUTE ON dbo.[SD_REP_2NDFL] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINT_INV_CARD_F0504031]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINT_INV_CARD_F0504031]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE      PROCEDURE dbo.BK_PRINT_INV_CARD_F0504031
	@varKSc_BufferName	VARCHAR (100)
AS
BEGIN
	DECLARE	@varKSintLINK	INT,
		@varKSnCALC_RATE	NUMERIC (28,4),
		@varKSdDATE_WORK	DATETIME,
		@varKSdDATE_REST	DATETIME,
		@varKSACCT_CODE	VARCHAR (20),
		@varKSDEP		INT,
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSEMP		INT,
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254),
		@varKSSUB_CODE	VARCHAR (20),
		@varKSSUB_NAME	VARCHAR (254),
		@varKSKBK	INT,
		@varKSACCT	INT,
		@nBALANSE	NUMERIC (28,4),
		@BEGIN_DATE_USED DATETIME,
		@DATE_CALC_REST_AMORT	DATETIME,
		@DATE_AMORT	DATETIME,
		@SUMMA_AM	NUMERIC (28, 4),
		@REST_SUMMA_AM	NUMERIC (28, 4),
		@PREV_SUMMA_AM	NUMERIC (28, 4),
		@YEAR_AM	INT,
		@LAST_RECNO	INT,
		@ACCOUNT_AM	INT,

		@PRN_MOVE_EMP	INT,

		@dDATE_RECALC DATETIME,
		@nSUM_RECALC NUMERIC (28,4),
		@cINFO_RECALC VARCHAR (254)

	SELECT TOP 1 @varKSintLINK = LINK
		FROM dbo.BufferGetTableByID (@varKSc_BufferName)

--	SELECT @varKSdDATE_WORK = DATEADD (DAY, 1, WORKDATE) FROM USER_INFO
	SELECT @varKSdDATE_WORK = WORKDATE FROM dbo.USER_INFO
	SET @varKSdDATE_REST = DATEADD (DAY, 1, @varKSdDATE_WORK) 

	DECLARE @varKSINV_REST TABLE
			(ACCOUNT INT,
			ACCT_SINT VARCHAR (10),
			ACCT_CODE VARCHAR (20),
			DEP INT,
			SUB INT,
			EMP INT,
			INV INT,
			KBK INT,
			SUMMA NUMERIC (28,4))

	INSERT INTO @varKSINV_REST
	SELECT --*
		T1.ACCOUNT,
		SA.cSinth,
		SA.CODE,
		T1.DEP,
		T1.SUB,
		T1.EMP,
		T1.INV,
		T1.KBK,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN SUM (T1.D_SUMMA)
			WHEN SA.S_PASSIVE = 1 THEN SUM (T1.K_SUMMA)
		END
	FROM dbo.ARestTableByDate (@varKSdDATE_REST, DEFAULT) T1
	INNER JOIN dbo.S_ACCOUNTS SA ON (T1.ACCOUNT = SA.LINK)
	INNER JOIN dbo.BufferGetTableByID (@varKSc_BufferName) BUF ON (BUF.LINK = T1.INV)
--	WHERE T1.INV = @varKSintLINK
	GROUP BY T1.ACCOUNT, T1.DEP, T1.SUB, T1.EMP, T1.INV, T1.KBK, SA.S_ACTIVE, SA.S_PASSIVE, SA.cSinth, SA.CODE

--SELECT * FROM @varKSINV_REST
--SELECT * FROM dbo.ARestTableByDate ('20140101', DEFAULT) T1

	
	SELECT TOP 1
		@varKSACCT_CODE = ACCT_CODE,
		@varKSDEP = DEP.LINK,
		@varKSDEP_CODE = DEP.CODE,
		@varKSDEP_NAME = DEP.NAME, 
		@varKSDEP_OKPO = DEP.OKPO,
		@varKSEMP = EMP.LINK,
		@varKSEMP_CODE = EMP.TAB,
		@varKSEMP_NAME = EMP.NAME_EMPL,
		@varKSSUB_CODE	= SUB.CODE,
		@varKSSUB_NAME	= SUB.[NAME],
		@nBALANSE = SUMMA,
		@varKSKBK = KBK,
		@varKSACCT = T1.ACCOUNT
	FROM @varKSINV_REST T1
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = T1.DEP)
	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = T1.EMP)
	LEFT OUTER JOIN dbo.DICTIONARY_SUBDIVISION SUB ON (SUB.LINK = T1.SUB)
	WHERE
		T1.ACCT_SINT = '101'
		OR T1.ACCT_SINT = '102'
		OR T1.ACCT_SINT = '103'
		OR T1.ACCT_SINT = '108'

	IF @varKSDEP IS NULL
		SELECT TOP 1
			@varKSDEP = DEP.LINK,
			@varKSDEP_CODE = DEP.CODE,
			@varKSDEP_NAME = DEP.NAME, 
			@varKSDEP_OKPO = DEP.OKPO
		FROM dbo.DICTIONARY_DEPARTMENT DEP 
		WHERE DEP.LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SELECT @varKSnCALC_RATE = SUM (SUMMA)
	FROM @varKSINV_REST T1
	WHERE T1.ACCT_SINT = '104'


	--- вычисляем балансовую стоимость 
	DECLARE @nBALANSE_R NUMERIC(18,2)
	SELECT @nBALANSE_R = SUM (BALANS)
	 FROM dbo.BK_GetTableRestINV (@varKSdDATE_WORK, @varKSintLINK, @varKSDEP)
	GROUP BY INV,
		ACCOUNT_B,
		ACCOUNT_A	
	


	-- Вычисляем переоценку --
	DECLARE @TAB_RECALL TABLE (REC_NO INT IDENTITY, DATE_OPER2 VARCHAR (10), dDATE_OPER DATETIME,
		JO_NUM2 VARCHAR (20), SUMMA2 NUMERIC (20,2), NAME2 VARCHAR(100), DOC_NUM2 VARCHAR (30) )

	INSERT INTO @TAB_RECALL	
	SELECT CONVERT (VARCHAR (10), a.DATE_OPER, 104) AS DATE_OPER2, a.DATE_OPER,
		CONVERT (VARCHAR (20), RTRIM (a.JO_NUM) + '(баланс)') AS JO_NUM2,
		a.SUMMA AS SUMMA2,
		left(s.NAME,100) AS NAME2,
		CONVERT (VARCHAR (20), RTRIM (a.DOC_NUM) + '(баланс)') AS DOC_NUM2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK,
		'17.15#17.16#17.17#17.18') a  -- Переоценка ОС
	INNER JOIN G_PROV2 g2 ON  g2.LINK = a.LINK_G2
	INNER JOIN G_PROV1 g1 ON g1.LINK = g2.LINK_UP
	INNER JOIN G_PROV g ON g.LINK = g1.LINK_UP
	INNER JOIN S_OBJECTS s ON s.LINK = g.[OBJECT]-- Переоценка ОС


	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_RECALL	 (DATE_OPER2, JO_NUM2, SUMMA2,NAME2, DOC_NUM2) VALUES ('', '', 0,'','')
	ELSE
	BEGIN

		SELECT TOP 1 @dDATE_RECALC = dDATE_OPER FROM @TAB_RECALL
		IF @dDATE_RECALC IS NOT NULL AND @dDATE_RECALC <= @varKSdDATE_WORK
		BEGIN
			SET @dDATE_RECALC = DATEADD (DAY, 1, @dDATE_RECALC)
			SELECT @nSUM_RECALC = SUM (D_SUMMA)
			FROM dbo.ARestTableByDate (@dDATE_RECALC, DEFAULT) TR
			INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = TR.ACCOUNT)
			WHERE SA.cSINTH = '101'
				AND TR.INV = @varKSintLINK

			IF ISNULL (@nSUM_RECALC, 0) > 0 
				SET @cINFO_RECALC = 'Стоимость после переоценки на '
					+ CONVERT (VARCHAR (10), @dDATE_RECALC, 104) + ' г. '
		END
	END

	SELECT @varKSDEP AS DEP,
		CONVERT (VARCHAR (10), @varKSdDATE_WORK, 104) AS REP_DATE,
		ISNULL (@varKSDEP_CODE, '') AS DEP_CODE,
		ISNULL (@varKSDEP_OKPO, '') AS DEP_OKPO,
		ISNULL (@varKSDEP_NAME, '') AS DEP_NAME,
		ISNULL (@varKSEMP_CODE, '') AS EMP_CODE,
		ISNULL (@varKSEMP_NAME, '') AS EMP_NAME,
		ISNULL (@varKSSUB_CODE, '') AS SUB_CODE,
		ISNULL (@varKSSUB_NAME, '') AS SUB_NAME,
		
		ISNULL (@cINFO_RECALC, '') AS INFRECALC,
		ISNULL (@nSUM_RECALC, 0) AS SUMRECALC,

		T1.LINK,
		ISNULL (T1.CODE, '') AS INV_CODE,
		ISNULL (T1.NAME, '') AS INV_NAME,
		ISNULL (dbo.BK_GetAcctFullCode1 (@varKSACCT, @varKSKBK, NULL, 1, 0, @varKSdDATE_WORK), ISNULL (T1.CODE_ACC, '')) AS ACCT_CODE,
		ISNULL (T1.BALANCE, 0)	 AS FIRST_COST,
		ISNULL (@nBALANSE_R, 0)	 AS BALANSE_R,
		GRP_TYPE = case when LEFT(ISNULL(T1.CODE_GRP,''),4) = '1011' then 'недвижимое имущество'
						WHEN LEFT(ISNULL(T1.CODE_GRP,''),4) = '1012' then 'особо ценное движимое имущество' 
						WHEN LEFT(ISNULL(T1.CODE_GRP,''),4) = '1013' then 'иное движимое имущество' 
						else '' END ,
		ISNULL (T2.CARD_NO, '') AS CARD_NO,
		ISNULL (T2.PASSPORT, '') AS PASSPORT,
		ISNULL (T2.PLANT_NUM, '') AS PLANT_NUM,
		ISNULL (T2.OTHER_NUM, '') AS OTHER_NUM,
		ISNULL (T2.CODE_OKOF, '') AS CODE_OKOF,
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_PROD, 104), '') AS DATE_PROD,
		ISNULL (T2.FIXING, '') AS FIXING,
		ISNULL (T2.LOCATION, '') AS LOCATION,
		ISNULL (T2.MANUFACT, '') AS MANUFACT,		
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_BEGIN, 104), '') AS DATE_BEGIN,
		ISNULL (T2.DOC_NUM, '') AS DOC_BEGIN,
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_FILLING, 104), '') as DATE_FILL,
		(SELECT  top 1 (case when CONVERT (VARCHAR (10), DATE_OPER, 104) = '01.01.1900' then '' else CONVERT (VARCHAR (10), DATE_OPER, 104) END)   FROM dbo.BK_GetDateTableOutOS(@varKSintLINK, DEFAULT))  as DATE_END,
		CASE
			WHEN T2.D_DT_CALC IS NULL THEN ISNULL (T2.PERIOD_USED, 0)
			ELSE (ISNULL (T2.PER_USED, 0)
--				+ ROUND((CONVERT (NUMERIC (19,2), ISNULL((T2.D_DT_CALC - T2.DATE_BEGIN), 0)) / 365.25), 0)
				+ DATEDIFF (MONTH, T2.DATE_BEGIN, T2.D_DT_CALC) - 1)/ 12
		END AS PER_USED,
		ISNULL (T2.D_GRP_CODE, ISNULL (T2.CODE_RATE, ISNULL (T4.CODE, ''))) AS CODE_RATE,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (10,2), 0)
			ELSE ISNULL (ND.DEPRE_RATE, 0)
		END AS DEPRE_Y_R,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (10,2), 0)
			ELSE CONVERT (NUMERIC (10,2), ISNULL (ND.DEPRE_RATE/12, 0)) 
		END AS DEPRE_M_R,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (28,2), 0)
			ELSE CONVERT (NUMERIC (28,2), ISNULL (@nBALANSE * ND.DEPRE_RATE / 100, 0))
		END AS SUM_Y_N,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (28,2), 0)
			ELSE CONVERT (NUMERIC (28,2), ISNULL (ND.DEPRE_RATE / 100 / 12 * @nBALANSE, 0))
		END AS SUM_M_N,
		isnull(t2.WEAR_FLAG,0) AS WEAR_FLAG,
		ISNULL (@varKSnCALC_RATE, 0) AS SUM_RATE,
		ISNULL (EMP.NAME_EMPL, '') AS FIL_NAME,
		ISNULL (EMP.POST_NAME, '') AS FIL_POST,
		ISNULL (CONVERT (VARCHAR (10), DATE_FILLING, 104), '') AS FIL_DATE,
		ISNULL (dbo.DateMonthName (month (dbo.CalcLastDateWearOS (T1.LINK)))
			+ SPACE (1) + LTRIM (STR (dbo.CalcLastYearWearOS (T1.LINK))), '') AS LAST_DATE,
		T1.NOTICE AS COMMENT,
		T2.ALOCATION,
		LAST_COST = (select isnull(dbo.RestOSByDate(T1.LINK_ACC,T1.LINK,DEFAULT),0) - isnull(dbo.RestOSDepreByDate(DEFAULT, T1.LINK,DEFAULT),0) ) 
	FROM dbo.INVENTORY_CARD T1
	LEFT OUTER JOIN dbo.BV_INVENTORY_CARD_DOP T2 ON (T2.LINK_UP = T1.LINK)
	LEFT OUTER JOIN dbo.ASSETS_GROUP_OKOF T3 ON (T3.LINK = T2.LINK_OKOF)
	LEFT OUTER JOIN dbo.DEPRE_GROUP T4 ON (T4.LINK = T3.DEPRE_GROUP)
	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = T2.LINK_EMP_F)
	LEFT OUTER JOIN dbo.BK_GetNormDepreTableByOS (@varKSintLINK) ND ON (ND.INV = T1.LINK)
	WHERE T1.LINK = @varKSintLINK

	DECLARE @TAB_MODERN TABLE (REC_NO INT IDENTITY, DATE_OPER1 VARCHAR (10),
		JO_NUM1 VARCHAR (20), SUMMA1 NUMERIC (20,2), NAME1 VARCHAR(100), DOC_NUM1 VARCHAR (30) )

	INSERT INTO @TAB_MODERN
	SELECT CONVERT (VARCHAR (10), a.DATE_OPER, 104) AS DATE_OPER1,
		a.JO_NUM AS JO_NUM1,
		a.SUMMA AS SUMMA1,
		left(s.NAME,100) AS NAME1,
		a.DOC_NUM AS DOC_NUM1
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.20')  a -- Реконструкция, модернизация
	INNER JOIN G_PROV2 g2 ON  g2.LINK = a.LINK_G2
	INNER JOIN G_PROV1 g1 ON g1.LINK = g2.LINK_UP
	INNER JOIN G_PROV g ON g.LINK = g1.LINK_UP
	INNER JOIN S_OBJECTS s ON s.LINK = g.[OBJECT]-- Реконструкция, модернизация
--  С_DATA1
	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_MODERN (DATE_OPER1, JO_NUM1, SUMMA1,NAME1,DOC_NUM1) VALUES ('', '', 0,'','')
	SELECT * FROM @TAB_MODERN

-- C_DATA2
	SELECT * FROM @TAB_RECALL	

	--- Поступление НФА ---
	DECLARE @TAB_INPUT TABLE (REC_NO INT IDENTITY, DATE_OPER1 VARCHAR (10),
		JO_NUM1 VARCHAR (20), SUMMA1 NUMERIC (20,2), NAME1 VARCHAR(100), DOC_NUM1 VARCHAR (30) )

	INSERT INTO @TAB_INPUT	
	SELECT 	CONVERT (VARCHAR (10), a.DATE_OPER, 104) AS DATE_OPER1,
		a.JO_NUM AS JO_NUM1,
		a.SUMMA AS SUMMA1,
		left(s.NAME,100) AS NAME1,
		a.DOC_NUM AS DOC_NUM1
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK,
		'17.01#17.02#17.03#17.05#17.06#17.12#17.13') a  
	INNER JOIN G_PROV2 g2 ON  g2.LINK = a.LINK_G2
	INNER JOIN G_PROV1 g1 ON g1.LINK = g2.LINK_UP
	INNER JOIN G_PROV g ON g.LINK = g1.LINK_UP
	INNER JOIN S_OBJECTS s ON s.LINK = g.[OBJECT]-- Поступление НФА 

-- C_DATA3
	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_INPUT (DATE_OPER1, JO_NUM1, SUMMA1,NAME1,DOC_NUM1) VALUES ('', '', 0,'','')

	SELECT TOP 1 * FROM @TAB_INPUT

	SELECT @PRN_MOVE_EMP = ISNULL (dbo.XK_GET_NASTR_INT ('INV_CARD_OPT_PRN_MOVE_EMP'), 0)

	SELECT IDENTITY (INT) AS REC_NO,
		ISNULL (T1.DOC_NUM, '') AS DOC_NUM2,
		CONVERT (VARCHAR (10), T1.DATE_OPER, 104) AS DATE_OPER2,
		T1.JO_NUM AS JO_NUM2,
		T1.SUMMA AS SUMMA2,
		ISNULL (dbo.sd_GetEmplName (GAP.EMP), '') AS MOV_EMPL2
	INTO #TAB_MOVED
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.07') T1 -- Внутреннее перемещение НФА
	LEFT OUTER JOIN dbo.G_PROV_AP GAP ON (GAP.LINK_UP = T1.LINK_G2
				AND ((@PRN_MOVE_EMP = 1 AND GAP.DB_KR = 0)
					OR (@PRN_MOVE_EMP = 0 AND GAP.DB_KR = 1)))
					
					
--	LEFT OUTER JOIN dbo.G_PROV_AP GAP ON (GAP.LINK_UP = T1.LINK_G2 AND GAP.DB_KR = 1) -- поменял в 10604

-- C_DATA4
	IF @@ROWCOUNT = 0
		INSERT INTO #TAB_MOVED (DOC_NUM2, DATE_OPER2, JO_NUM2, SUMMA2, MOV_EMPL2) VALUES ('', '', '',0, '')


	SELECT * FROM #TAB_MOVED
	DROP TABLE #TAB_MOVED

	DECLARE @TAB_OUTPUT TABLE (REC_NO INT IDENTITY, DATE_OPER3 VARCHAR (10),
		JO_NUM3 VARCHAR (20), SUMMA3 NUMERIC (20,2), NAME3 VARCHAR (100), DOC_NUM3 varchar (30) , COMMENT3 VARCHAR (100)  )

	INSERT INTO @TAB_OUTPUT	
	SELECT 	CONVERT (VARCHAR (10), a.DATE_OPER, 104) AS DATE_OPER3,
		a.JO_NUM AS JO_NUM3,
		a.SUMMA AS SUMMA3,
		left(s.NAME,100) AS NAME3,
		a.DOC_NUM AS DOC_NUM3,
		g.COMMENT AS COMMENT3
	FROM dbo.BK_GetDateTableOutOS (@varKSintLINK, @varKSdDATE_WORK) a 
	INNER JOIN G_PROV2 g2 ON  g2.LINK = a.LINK_G2
	INNER JOIN G_PROV1 g1 ON g1.LINK = g2.LINK_UP
	INNER JOIN G_PROV g ON g.LINK = g1.LINK_UP
	INNER JOIN S_OBJECTS s ON s.LINK = g.[OBJECT]
	
	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_OUTPUT (DATE_OPER3, JO_NUM3, SUMMA3,NAME3, DOC_NUM3, COMMENT3) VALUES ('', '', 0,'','', '')

-- C_DATA5
	SELECT TOP 1 * FROM @TAB_OUTPUT

	SELECT ISNULL (NAME, '') AS NAME_C,
		ISNULL (BASIC_OBJ, '') AS BASIC_OBJ,
		ISNULL (ATTR1, '') AS ATTR1,
		ISNULL (ATTR2, '') AS ATTR2,
		ISNULL (ATTR3, '') AS ATTR3,
		ISNULL (ATTR4, '') AS ATTR4
	INTO #TAB_CHAR
	FROM dbo.BV_DICTIONARY_SHORT_DESC
	WHERE LINK_UP = @varKSintLINK

	IF @@ROWCOUNT = 0
		INSERT INTO #TAB_CHAR (NAME_C, BASIC_OBJ, ATTR1, ATTR2, ATTR3, ATTR4)
			VALUES ('', '', '', '', '', '')


-- C_DATA6
	SELECT * FROM #TAB_CHAR
	DROP TABLE #TAB_CHAR

	SELECT ISNULL (BASIC_OBJ, '') AS BASIC_OBJ1,
		ISNULL (NAME_PREC, '') AS NAME_PREC,
		ISNULL (NAME_UM, '') AS NAME_UM,
		ISNULL (CODE_UM, '') AS CODE_UM,
		ISNULL (WEIGTH, 0) AS WEIGTH
	INTO #TAB_DRAG
	FROM dbo.BV_DICTIONARY_PRECIOUS_CONTENT
	WHERE LINK_UP = @varKSintLINK

	IF @@ROWCOUNT = 0
		INSERT INTO #TAB_DRAG (BASIC_OBJ1, NAME_PREC, NAME_UM, CODE_UM, WEIGTH)
			VALUES ('', '', '', '',0)


-- C_DATA7
	SELECT * FROM #TAB_DRAG
	DROP TABLE #TAB_DRAG

	DECLARE @TAB_AMORT TABLE (REC_NO INT IDENTITY,
			SUM_AM NUMERIC (28,4),
			YEAR_AM INT)

	SELECT @BEGIN_DATE_USED = DATE_BEGIN FROM dbo.BV_INVENTORY_CARD_DOP WHERE LINK_UP = @varKSintLINK

	IF @BEGIN_DATE_USED IS NULL
		SET @BEGIN_DATE_USED = @varKSdDATE_WORK
	
--SET @BEGIN_DATE_USED = '20060101'

	SET @DATE_CALC_REST_AMORT = dbo.DateEndOfYear (@BEGIN_DATE_USED)
	SET @YEAR_AM = YEAR (@DATE_CALC_REST_AMORT)
	SET @PREV_SUMMA_AM = 0

	SELECT
		@ACCOUNT_AM = LINK
	FROM dbo.S_ACCOUNTS
	WHERE CODE = '104'	
		AND ZABALANS = 0

	WHILE @YEAR_AM <= YEAR (@varKSdDATE_WORK)
	BEGIN
		SET @DATE_AMORT = DATEADD (DAY, 1, @DATE_CALC_REST_AMORT)

		SET @REST_SUMMA_AM = (SELECT
									SUM (T1.K_SUMMA)
								FROM dbo.ARestTableByDate (@DATE_AMORT, @ACCOUNT_AM) T1
								WHERE T1.INV = @varKSintLINK
								)

/*
	--- !!! ЭТОТ ВАРИАНТ ДЛЯ ВЫВОДА СУММЫ АМОРТИЗАЦИИ, НАЧИСЛЕННОЙ ЗА ГОД!!!

		IF ISNULL (@REST_SUMMA_AM, 0) <> 0
		BEGIN
			SET @SUMMA_AM = @REST_SUMMA_AM - @PREV_SUMMA_AM
			SET @PREV_SUMMA_AM = @REST_SUMMA_AM

			IF @SUMMA_AM > 0
			BEGIN
				INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (@SUMMA_AM, @YEAR_AM)
				SET @LAST_RECNO = @@IDENTITY
			END
		END

*/
	--- !!! ЭТОТ ВАРИАНТ ДЛЯ ВЫВОДА СУММЫ АМОРТИЗАЦИИ НАРАСТАЮЩИМ ИТОГОМ !!!

		IF ISNULL (@REST_SUMMA_AM, 0) <> 0
		BEGIN
			IF @REST_SUMMA_AM <> @PREV_SUMMA_AM
			BEGIN
				INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (@REST_SUMMA_AM, @YEAR_AM)
				SET @LAST_RECNO = @@IDENTITY

				SET @PREV_SUMMA_AM = @REST_SUMMA_AM
			END
		END


/*
		IF @SUMMA_AM IS NOT NULL
		BEGIN
			INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (@SUMMA_AM, @YEAR_AM)
			SET @LAST_RECNO = @@IDENTITY
		END
*/
		SET @DATE_CALC_REST_AMORT = DATEADD (YEAR, 1, @DATE_CALC_REST_AMORT)
		SET @YEAR_AM = YEAR (@DATE_CALC_REST_AMORT)
	END

	IF @LAST_RECNO IS NULL
		INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (0, 0)		
-- C_DATA8
	SELECT TOP 1 * FROM @TAB_AMORT ORDER BY YEAR_AM DESC

	EXEC dbo.BUFFERCLEAR @varKSc_BufferName
END





GO


GRANT EXECUTE ON dbo.[BK_PRINT_INV_CARD_F0504031] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINT_INV_CARD_F0504032_GRP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINT_INV_CARD_F0504032_GRP]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE  PROCEDURE dbo.BK_PRINT_INV_CARD_F0504032_GRP
		@varKSc_BufferName	VARCHAR (100)
AS
BEGIN
	DECLARE	
		@varKSintLINK	INT,
		@varKSnCALC_RATE	NUMERIC (28,4),
		@varKSdDATE_WORK	DATETIME,
		@varKSdDATE_REST	DATETIME,
		@varKSACCT_CODE	VARCHAR (20),
		@varKSDEP		INT,
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSEMP	INT,
		@varKSACCOUNT	INT,
		@varKSKBK	INT,
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254),
		@varKSSUB_CODE	VARCHAR (20),
		@varKSSUB_NAME	VARCHAR (254),
		@nBALANSE	NUMERIC (28,4),
		@BEGIN_DATE_USED DATETIME,
		@DATE_CALC_REST_AMORT	DATETIME,
		@DATE_AMORT	DATETIME,
		@SUMMA_AM	NUMERIC (28, 4),
		@REST_SUMMA_AM	NUMERIC (28, 4),
		@PREV_SUMMA_AM	NUMERIC (28, 4),
		@YEAR_AM	INT,
		@LAST_RECNO	INT,
		@intCOUNT_ROW	INT

	--- Список ОС для в группе ---		
	DECLARE @LIST_INV TABLE (INV INT,
		ISMAIN TINYINT)

	SELECT TOP 1 @varKSintLINK = LINK
	FROM dbo.BufferGetTableByID (@varKSc_BufferName)

	INSERT INTO @LIST_INV
	SELECT INV_LINK, MAIN_REC
	FROM dbo.XK_SELECT_INV_LIST_GRP (@varKSintLINK)

-- SELECT * FROM @LIST_INV

	SELECT @varKSdDATE_WORK = WORKDATE FROM USER_INFO
	SET @varKSdDATE_REST = DATEADD (DAY, 1, @varKSdDATE_WORK)

	DECLARE @varKSINV_REST TABLE
			(INV_LINK INT,
			ACCOUNT INT,
			ACCT_SINT VARCHAR (10),
			ACCT_CODE VARCHAR (20),
			DEP INT,
			SUB INT,
			EMP INT,
			INV INT,
			KBK INT,
			QTY NUMERIC (28,4),
			SUMMA NUMERIC (28,4))

	INSERT INTO @varKSINV_REST
	SELECT T1.INV,
		T1.ACCOUNT,
		SA.cSinth,
		SA.CODE,
		T1.DEP,
		T1.SUB,
		T1.EMP,
		T1.INV,
		T1.KBK,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN SUM (T1.D_QUANTITY)
			WHEN SA.S_PASSIVE = 1 THEN SUM (T1.K_QUANTITY)
		END,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN SUM (T1.D_SUMMA)
			WHEN SA.S_PASSIVE = 1 THEN SUM (T1.K_SUMMA)
		END
	FROM dbo.ARestTableByDate (@varKSdDATE_REST, DEFAULT) T1
	INNER JOIN @LIST_INV LST ON (LST.INV = T1.INV)
	INNER JOIN dbo.S_ACCOUNTS SA ON (T1.ACCOUNT = SA.LINK)
	GROUP BY T1.ACCOUNT, T1.DEP, T1.SUB, T1.EMP, T1.INV, T1.KBK, SA.S_ACTIVE, SA.S_PASSIVE, SA.cSinth, SA.CODE
--	HAVING T1.INV = @varKSintLINK

-- SELECT * FROM @varKSINV_REST

	SELECT TOP 1 @varKSACCT_CODE = ACCT_CODE,
			@varKSACCOUNT	= T1.ACCOUNT,
			@varKSKBK	= T1.KBK,
			@varKSDEP = DEP.LINK,
			@varKSDEP_CODE = DEP.CODE,
			@varKSDEP_NAME = DEP.NAME, 
			@varKSDEP_OKPO = DEP.OKPO,
			@varKSEMP = EMP.LINK,
			@varKSEMP_CODE = EMP.TAB,
			@varKSEMP_NAME = EMP.NAME_EMPL,
			@varKSSUB_CODE	= SUB.CODE,
			@varKSSUB_NAME	= SUB.[NAME],
			@nBALANSE = SUMMA
	FROM @varKSINV_REST T1
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = T1.DEP)
	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = T1.EMP)
	LEFT OUTER JOIN dbo.DICTIONARY_SUBDIVISION SUB ON (SUB.LINK = T1.SUB)
	WHERE T1.INV_LINK = @varKSintLINK
		AND (T1.ACCT_SINT = '101'
			OR T1.ACCT_SINT = '102'
			OR T1.ACCT_SINT = '103')

	IF @varKSDEP IS NULL
		SELECT TOP 1 @varKSDEP = DEP.LINK,
			@varKSDEP_CODE = DEP.CODE,
			@varKSDEP_NAME = DEP.NAME, 
			@varKSDEP_OKPO = DEP.OKPO
		FROM dbo.DICTIONARY_DEPARTMENT DEP 
		WHERE DEP.LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SELECT @varKSnCALC_RATE = SUM (SUMMA)
	FROM @varKSINV_REST T1
	WHERE T1.ACCT_SINT = '104'

	--- ДВИЖЕНИЕ ОС ---
	DECLARE @TAB_MOVING TABLE (REC_NO INT IDENTITY, INV INT,
		DATE_ALL DATETIME,
		DATE_OP1 VARCHAR (10), JO_NUM1 VARCHAR (20),
		QTY1 NUMERIC (20,2), SUMMA1 NUMERIC (20,2),
		DATE_OP2 VARCHAR (10), JO_NUM2 VARCHAR (20),
		QTY2 NUMERIC (20,2), SUMMA2 NUMERIC (20,2)
		)

	--- ОПЕРАЦИИ ПОСТУПЛЕНИЯ --- 
	DECLARE @TAB_INPUT TABLE (INV INT,
		DATE_ALL DATETIME,
		DATE_OP1 VARCHAR (10), JO_NUM1 VARCHAR (20),
		QTY1 NUMERIC (20,2), SUMMA1 NUMERIC (20,2))

	INSERT INTO @TAB_INPUT (INV, DATE_ALL, DATE_OP1, JO_NUM1, QTY1, SUMMA1)
	SELECT distinct T1.INV,
		T1.DATE_OPER,
		CONVERT (VARCHAR (10), T1.DATE_OPER, 104),
		T1.JO_NUM,
		CASE WHEN (select COUNT(QTY) from dbo.BK_GetOperationsByOS (T1.INV, @varKSdDATE_WORK,
		'17.01#17.02#17.03#17.05#17.06#17.12#17.13') WHERE QTY <> 0 ) > 0  
			then (select SUM(QTY) from dbo.BK_GetOperationsByOS (T1.INV, @varKSdDATE_WORK,
		'17.01#17.02#17.03#17.05#17.06#17.12#17.13') WHERE QTY <> 0 ) 
			ELSE  t1.QTY END ,
		T1.SUMMA
	FROM dbo.BK_GetOperationsByOS (DEFAULT, @varKSdDATE_WORK,
		'17.01#17.02#17.03#17.05#17.06#17.12#17.13') T1  -- Поступление НФА
	INNER JOIN @LIST_INV INV ON (INV.INV = T1.INV)

 --SELECT * FROM @TAB_INPUT

	SET @intCOUNT_ROW = @@ROWCOUNT

	--- ОПЕРАЦИИ ВЫБЫТИЯ --- 
	DECLARE @TAB_OUTPUT TABLE (INV INT,
		DATE_ALL DATETIME,
		DATE_OP2 VARCHAR (10), JO_NUM2 VARCHAR (20),
		QTY2 NUMERIC (20,2), SUMMA2 NUMERIC (20,2))

	INSERT INTO @TAB_OUTPUT (INV, DATE_ALL, DATE_OP2, JO_NUM2, QTY2, SUMMA2)
	SELECT T1.INV,
		T1.DATE_OPER,
		CONVERT (VARCHAR (10), T1.DATE_OPER, 104),
		T1.JO_NUM,
		T1.QTY,
		T1.SUMMA
	FROM dbo.BK_GetOperationsByOS (DEFAULT, @varKSdDATE_WORK,
		'17.08#17.09#17.10#17.11#17.19') T1 -- Списание 
	INNER JOIN @LIST_INV INV ON (INV.INV = T1.INV)


	SET @intCOUNT_ROW = @intCOUNT_ROW + @@ROWCOUNT

	IF @intCOUNT_ROW = 0
		INSERT INTO @TAB_MOVING (INV, DATE_OP1, JO_NUM1, QTY1, SUMMA1,
			DATE_OP2, JO_NUM2, QTY2, SUMMA2)
		VALUES (@varKSintLINK, '', '', 0, 0, '', '', 0, 0)

	/* -- Переоценка -- */
	DECLARE @TAB_RECALL TABLE (REC_NO INT IDENTITY, DATE_OPER2 VARCHAR (10),
		JO_NUM2 VARCHAR (20), SUMMA2 NUMERIC (20,2))

	INSERT INTO @TAB_RECALL	
	SELECT CONVERT (VARCHAR (10), DATE_OPER, 104) AS DATE_OPER2,
		JO_NUM AS JO_NUM2,
		SUMMA AS SUMMA2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.15') -- Положительная переоценка ОС
	UNION
	SELECT CONVERT (VARCHAR (10), DATE_OPER, 104) AS DATE_OPER2,
		JO_NUM AS JO_NUM2,
		SUMMA AS SUMMA2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.16') -- Отрицательная переоценка ОС
	UNION 
	SELECT CONVERT (VARCHAR (10), DATE_OPER, 104) AS DATE_OPER2,
		JO_NUM AS JO_NUM2,
		SUMMA AS SUMMA2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.17') -- Положительная переоценка амортизации ОС
	UNION 
	SELECT CONVERT (VARCHAR (10), DATE_OPER, 104) AS DATE_OPER2,
		JO_NUM AS JO_NUM2,
		SUMMA AS SUMMA2
	FROM dbo.BK_GetOperationsByOS (@varKSintLINK, @varKSdDATE_WORK, '17.18') -- Отрицательная переоценка амортизации ОС

	IF @@ROWCOUNT = 0
		INSERT INTO @TAB_RECALL	 (DATE_OPER2, JO_NUM2, SUMMA2) VALUES ('', '', 0)

--	SELECT * FROM @TAB_RECALL	

	DECLARE @TAB_AMORT TABLE (REC_NO INT IDENTITY,
			SUM_AM NUMERIC (28,4),
			YEAR_AM INT)

	SELECT @BEGIN_DATE_USED = DATE_BEGIN FROM dbo.BV_INVENTORY_CARD_DOP WHERE LINK_UP = @varKSintLINK

	IF @BEGIN_DATE_USED IS NULL
		SET @BEGIN_DATE_USED = @varKSdDATE_WORK
	
	SET @DATE_CALC_REST_AMORT = dbo.DateEndOfYear (@BEGIN_DATE_USED)
	SET @YEAR_AM = YEAR (@DATE_CALC_REST_AMORT)
	SET @PREV_SUMMA_AM = 0

	WHILE @YEAR_AM <= YEAR (@varKSdDATE_WORK)
	BEGIN
		SET @DATE_AMORT = DATEADD (DAY, 1, @DATE_CALC_REST_AMORT)
		SET @REST_SUMMA_AM = (SELECT SUM (T1.K_SUMMA)
					FROM dbo.ARestTableByDate (@DATE_AMORT, DEFAULT) T1
					INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
					WHERE T1.INV = @varKSintLINK
						AND SA.cSINTH = '104')

		IF ISNULL (@REST_SUMMA_AM, 0) <> 0
		BEGIN
			SET @SUMMA_AM = @REST_SUMMA_AM - @PREV_SUMMA_AM
			SET @PREV_SUMMA_AM = @REST_SUMMA_AM

			IF @SUMMA_AM > 0
			BEGIN
				INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (@SUMMA_AM, @YEAR_AM)
				SET @LAST_RECNO = @@IDENTITY
			END
		END

		SET @DATE_CALC_REST_AMORT = DATEADD (YEAR, 1, @DATE_CALC_REST_AMORT)
		SET @YEAR_AM = YEAR (@DATE_CALC_REST_AMORT)

	END

	IF @LAST_RECNO IS NULL
		INSERT INTO @TAB_AMORT (SUM_AM, YEAR_AM) VALUES (0, 0)		

--	SELECT * FROM @TAB_AMORT ORDER BY REC_NO
	-- ДВИЖЕНИЕ
	INSERT INTO @TAB_MOVING (INV)
	SELECT INV
	FROM @TAB_INPUT
	UNION 
	SELECT INV
	FROM @TAB_OUTPUT

	
	--- ВЫВОД ОСНОВНЫХ РЕКВИЗИТОВ ---
	-- Стоимость на группу объектов --
	SELECT @nBALANSE = SUM (SUMMA1)
	FROM @TAB_INPUT

	SELECT
		@varKSDEP AS DEP,
		ISNULL (@varKSDEP_CODE, '') AS DEP_CODE,
		ISNULL (@varKSDEP_OKPO, '') AS DEP_OKPO,
		ISNULL (@varKSDEP_NAME, '') AS DEP_NAME,
		ISNULL (@varKSEMP_CODE, '') AS EMP_CODE,
		ISNULL (@varKSEMP_NAME, '') AS EMP_NAME,
		ISNULL (@varKSSUB_CODE, '') AS SUB_CODE,
		ISNULL (@varKSSUB_NAME, '') AS SUB_NAME,
		T1.LINK,
		ISNULL (T1.CODE, '') AS INV_CODE,
		ISNULL (T1.NAME, '') AS INV_NAME,
--		ISNULL (@varKSACCT_CODE, ISNULL (T1.CODE_ACC, '')) AS ACCT_CODE,
		ISNULL (dbo.BK_GetAcctFullCode1 (@varKSACCOUNT, @varKSKBK, NULL, 1, 0, @varKSdDATE_WORK), ISNULL (T1.CODE_ACC, '')) AS ACCT_CODE,
		ISNULL (T1.BALANCE, 0)	 AS FIRST_COST,
		ISNULL (@nBALANSE, 0) AS GRP_COST,
		GRP_TYPE = case when LEFT(ISNULL(T1.CODE_GRP,''),4) = '1011' then 'недвижимое имущество'
						WHEN LEFT(ISNULL(T1.CODE_GRP,''),4) = '1012' then 'особо ценное движимое имущество' 
						WHEN LEFT(ISNULL(T1.CODE_GRP,''),4) = '1013' then 'иное движимое имущество' 
						else '' END ,
		ISNULL (T2.CARD_NO, '') AS CARD_NO,
		ISNULL (T2.PASSPORT, '') AS PASSPORT,
		ISNULL (T2.PLANT_NUM, '') AS PLANT_NUM,
		ISNULL (T2.OTHER_NUM, '') AS OTHER_NUM,
		ISNULL (T2.CODE_OKOF, '') AS CODE_OKOF,
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_PROD, 104), '') AS DATE_PROD,
		ISNULL (T2.FIXING, '') AS FIXING,
		ISNULL (T2.LOCATION, '') AS LOCATION,
		ISNULL (T2.MANUFACT, '') AS MANUFACT,		
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_BEGIN, 104), '') AS DATE_BEGIN,
		ISNULL (T2.DOC_NUM, '') AS DOC_BEGIN,
		ISNULL (CONVERT (VARCHAR (10), T2.DATE_FILLING, 104), '') as DATE_FILL,
		(SELECT case when CONVERT (VARCHAR (10), DATE_OPER, 104) = '01.01.1900' then '' else CONVERT (VARCHAR (10), DATE_OPER, 104) end   FROM dbo.BK_GetDateTableOutOS(@varKSintLINK, DEFAULT))  as DATE_END,
--		ISNULL (T2.PERIOD_USED, 0) AS PER_USED,
		CASE
			WHEN T2.D_DT_CALC IS NULL THEN ISNULL (T2.PERIOD_USED, 0)
			ELSE (ISNULL (T2.PERIOD_USED, 0)
--				+ ROUND((CONVERT (NUMERIC (19,2), ISNULL((T2.D_DT_CALC - T2.DATE_BEGIN), 0)) / 365.25), 0)
				+ DATEDIFF (MONTH, T2.DATE_BEGIN, T2.D_DT_CALC) - 1)/ 12
		END AS PER_USED,
		ISNULL (T2.D_GRP_CODE, ISNULL (T2.CODE_RATE, ISNULL (T4.CODE, ''))) AS CODE_RATE,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (10,2), 0)
			ELSE ISNULL (ND.DEPRE_RATE, 0)
		END AS DEPRE_Y_R,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (10,2), 0)
			ELSE CONVERT (NUMERIC (10,2), ISNULL (ND.DEPRE_RATE/12, 0))
		END AS DEPRE_M_R,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (28,2), 0)
			ELSE CONVERT (NUMERIC (28,2), ISNULL (ND.DEPRE_RATE / 100 * @nBALANSE, 0))
		END AS SUM_Y_N,
		CASE
			WHEN T2.WEAR_FLAG = 2 THEN CONVERT (NUMERIC (28,2), 0)
			ELSE CONVERT (NUMERIC (28,2), ISNULL (ND.DEPRE_RATE / 100 / 12 * @nBALANSE, 0))
		END AS SUM_M_N,
		ISNULL (@varKSnCALC_RATE, 0) AS SUM_RATE,
--		ISNULL (EMP.NAME_EMPL, '') AS FIL_NAME,
--		ISNULL (EMP.POST_NAME, '') AS FIL_POST,
--		ISNULL (CONVERT (VARCHAR (10), DATE_FILLING, 104), '') AS FIL_DATE,
		CONVERT (VARCHAR (10), @varKSdDATE_WORK, 104) AS DATE_CARD,
		ISNULL (dbo.DateMonthName (month (dbo.CalcLastDateWearOS (T1.LINK)))
			+ SPACE (1) + LTRIM (STR (dbo.CalcLastYearWearOS (T1.LINK))), '') AS LAST_DATE,
		DATE_RCALC	=	DATE_OPER2,
		JO_RCALC	=	JO_NUM2,
		SUM_RCALC	=	SUMMA2, 
		SUM_AM	=	TA1.SUM_AM, 
		YEAR_AM	=	TA1.YEAR_AM, 
		LAST_COST = (select isnull(dbo.RestOSByDate(T1.LINK_ACC,T1.LINK,DEFAULT),0) - isnull(dbo.RestOSDepreByDate(DEFAULT, T1.LINK,DEFAULT),0) ) ,
		REC_NO = 1,
		CNT_INV = (SELECT COUNT(*) FROM @TAB_MOVING )
	INTO #RES1		
	FROM dbo.INVENTORY_CARD T1
	LEFT OUTER JOIN dbo.BV_INVENTORY_CARD_DOP T2 ON (T2.LINK_UP = T1.LINK)
	LEFT OUTER JOIN dbo.ASSETS_GROUP_OKOF T3 ON (T3.LINK = T2.LINK_OKOF)
	LEFT OUTER JOIN dbo.DEPRE_GROUP T4 ON (T4.LINK = T3.DEPRE_GROUP)
--	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = T2.LINK_EMP_F)
	LEFT OUTER JOIN dbo.BK_GetNormDepreTableByOS (@varKSintLINK) ND ON (ND.INV = T1.LINK)
	LEFT JOIN @TAB_RECALL TR1 ON (TR1.REC_NO = 1)
	LEFT JOIN @TAB_AMORT TA1 ON (TA1.REC_NO = 1)
	WHERE T1.LINK = @varKSintLINK


	INSERT INTO #RES1 (
			DEP, DEP_CODE, DEP_OKPO, DEP_NAME, EMP_CODE, EMP_NAME, SUB_CODE, SUB_NAME,
			LINK, INV_CODE, INV_NAME, ACCT_CODE,
			FIRST_COST, GRP_COST,GRP_TYPE, CARD_NO, PASSPORT, PLANT_NUM, OTHER_NUM, CODE_OKOF, DATE_PROD,
			FIXING, LOCATION, MANUFACT,	DATE_BEGIN, DOC_BEGIN,DATE_FILL,DATE_END, PER_USED, CODE_RATE,
			DEPRE_Y_R, DEPRE_M_R, SUM_Y_N, SUM_M_N, SUM_RATE, DATE_CARD, LAST_DATE,
			REC_NO,CNT_INV,
			DATE_RCALC, JO_RCALC, SUM_RCALC,
			SUM_AM, YEAR_AM, LAST_COST)
	SELECT
		0, '', '', '', '', '', '', '',
		0, '', '', '', 
		0, 0, '','', '', '', '', '', '',
		'', '','', '', '', '', '', 0, '',
		0, 0, 0, 0, 0, '', '',
		T1.REC_NO, 0,
		ISNULL (CONVERT (VARCHAR (10), TR.DATE_OPER2, 104), ''),
		ISNULL (JO_NUM2, ''),
		ISNULL (SUMMA2, 0),
		ISNULL (SUM_AM, 0), ISNULL (YEAR_AM, 0),
		0
	FROM (
		SELECT
			REC_NO
		FROM @TAB_RECALL
		
		UNION

		SELECT
			REC_NO
		FROM @TAB_AMORT
		) AS T1
	LEFT JOIN @TAB_RECALL TR ON (TR.REC_NO = T1.REC_NO)
	LEFT JOIN @TAB_AMORT TA ON (TA.REC_NO = T1.REC_NO)
	WHERE T1.REC_NO > 1
	ORDER BY
	 	T1.REC_NO

	SELECT *
	FROM #RES1
	ORDER BY
	 	REC_NO

	
	--- ВЫВОД ДВИЖЕНИЯ --- 

	
	SELECT T2.CODE AS INV_CODE,
		ISNULL (T_IN.DATE_OP1, '') AS [DATE_D],
		ISNULL (T_IN.JO_NUM1, '') AS [JO_D],
		ISNULL (T_IN.QTY1, 0) AS QTY_D,
		ISNULL (T_IN.SUMMA1, 0) AS SUM_D,
		ISNULL (T_OUT.DATE_OP2, '') AS DATE_K,
		ISNULL (T_OUT.JO_NUM2, '') AS JO_K,
		ISNULL (T_OUT.QTY2, 0) AS QTY_K,
		ISNULL (T_OUT.SUMMA2, 0) AS SUM_K,
		ISNULL (TR.QTY, 0) AS QTY_R,
		ISNULL (TR.SUMMA, 0) AS SUM_R,
		ISNULL (EMP.NAME_EMPL, '') AS FIL_NAME,
		ISNULL (EMP.POST_NAME, '') AS FIL_POST,
		ISNULL (CONVERT (VARCHAR (10), ASS.DATE_FILLING, 104), '') AS FIL_DATE

	FROM @TAB_MOVING T1
	INNER JOIN dbo.INVENTORY T2 ON (T2.LINK = T1.INV)
	LEFT JOIN @TAB_INPUT T_IN ON (T_IN.INV = T1.INV)
	LEFT JOIN @TAB_OUTPUT T_OUT ON (T_OUT.INV = T1.INV)
	LEFT OUTER JOIN dbo.ASSETS ASS ON (ASS.LINK_UP = T2.LINK)
	LEFT OUTER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = ASS.EMP_FILLING)
	LEFT OUTER JOIN @varKSINV_REST TR ON (TR.INV_LINK = T1.INV
		AND TR.ACCT_SINT = '101')
--	ORDER BY DATE_ALL

	DROP TABLE #RES1

	EXEC dbo.BUFFERCLEAR @varKSc_BufferName
END






GO


GRANT EXECUTE ON dbo.[BK_PRINT_INV_CARD_F0504032_GRP] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[ALL_PHIS_EXPORT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[ALL_PHIS_EXPORT]

GO

/*Пример выполнения: exec ALL_PHIS_EXPORT '20160314','35',95432 */



CREATE   PROCEDURE [dbo].ALL_PHIS_EXPORT (
	@dDate1 datetime,				/*Дата*/
	@cText1 VARCHAR(20),				/*Номер договора*/
	@nFiltlink INT = null /* Отбор физ.лиц */	
) AS


	
	DECLARE @cVal1 char(1), @nOtborLink1 int	/* Отбор подразделений*/
	SELECT @nOtborLink1 = (SELECT LINK FROM OBJECT_VAR WHERE LINK_SELF=@nFiltlink AND OBJECT=(SELECT LINK FROM S_OBJECTS WHERE CODE='OTBOR_QUERY_SQL_FL'))
	SELECT @cVal1 = (SELECT VALUE FROM OBJECT_VAR_VALUES WHERE LINK_UP=@nOtborLink1 AND PROPERTY=(SELECT LINK FROM S_PROPERTY WHERE CODE='QUERY_OTBOR_CHECK'))


CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT ON


-- Курсор АХД зарплата
CREATE TABLE #ALL_PHIS(N_PP int, LINK INT, FM VARCHAR(100),	IM varchar(100), OT varchar(100),	OSB VARCHAR(4), RESIDENT VARCHAR(5), CITIZ_NAME VARCHAR(100),VALUTE_CODE VARCHAR(3), PODVIDV_CODE VARCHAR(2),
							 VIDV_CODE  VARCHAR(3),VIDV_NAME VARCHAR(100), DOC_LINK INT,DOC_CODE varchar(2), DOC_NAME varchar(50),DOC_SER varchar(5), DOC_NUM varchar(10), DOC_DATE datetime, DOC_WHOM varchar(254),
							 BIRTHDATE DATETIME, SEX CHAR(1), BIRTHPLACE VARCHAR(254), 
							 PINDEX VARCHAR (6),PSTR varchar(50),PREGION_N VARCHAR(254),PREGION_S VARCHAR(5),PRAION_N VARCHAR(254),PRAION_S VARCHAR(5),PGOROD_N VARCHAR(254),PGOROD_S VARCHAR(5),PNASEL_N VARCHAR(254),PNASEL_S VARCHAR(5), 
							 PSTREET_N VARCHAR(254),PSTREET_S VARCHAR(5),PHOUSE varchar(10),PKORP varchar(50),PFLAT varchar(50),
							 FINDEX VARCHAR (6),FSTR varchar(50),FREGION_N VARCHAR(254),FREGION_S VARCHAR(5),FRAION_N VARCHAR(254),FRAION_S VARCHAR(5),FGOROD_N VARCHAR(254),FGOROD_S VARCHAR(5),FNASEL_N VARCHAR(254),FNASEL_S VARCHAR(5),
							 FSTREET_N VARCHAR(254),FSTREET_S VARCHAR(5),FHOUSE varchar(10),FKORP varchar(10),FFLAT varchar(10),
							 COL3 VARCHAR(3),COL2 VARCHAR(100),COL1 VARCHAR(100),DATE_DOC datetime,num_dog VARCHAR(20),
							 orgname VARCHAR(254),org_fuln VARCHAR(2000),dep_link INT ,DEP_INN VARCHAR(12),N_ACC_CODE VARCHAR(20),count_phiz INT ,DOC_ID VARCHAR(36)
)
				 
INSERT INTO #ALL_PHIS(N_PP,LINK,FM,IM,OT,OSB,RESIDENT,CITIZ_NAME,VALUTE_CODE,PODVIDV_CODE,VIDV_CODE,VIDV_NAME,
					  DOC_LINK,DOC_CODE,DOC_NAME,DOC_SER,DOC_NUM,DOC_DATE,DOC_WHOM,BIRTHDATE,SEX,BIRTHPLACE,
					  PINDEX,PSTR,PREGION_N,PREGION_S,PRAION_N,PRAION_S,PGOROD_N,PGOROD_S,PNASEL_N,PNASEL_S,PSTREET_N,PSTREET_S,PHOUSE,PKORP,PFLAT,
					  FINDEX,FSTR,FREGION_N,FREGION_S,FRAION_N,FRAION_S,FGOROD_N,FGOROD_S,FNASEL_N,FNASEL_S,FSTREET_N,FSTREET_S,FHOUSE,FKORP,FFLAT,
					  COL3,COL2,COL1,DATE_DOC,num_dog,orgname,org_fuln,dep_link,DEP_INN,N_ACC_CODE,count_phiz,DOC_ID
)

exec dbo.KJ_KADRY_ALL_PHIS_REP @dDate1 , @cText1, @cVal1, @nOtborLink1



DELETE FROM #ALL_PHIS WHERE isnull(DOC_ID,'') = ''  

IF (SELECT COUNT(*) FROM #ALL_PHIS)=0
BEGIN
	RETURN 1
END	

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))

INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))), 
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------

declare @DEP_LINK int, @lcFNAME VARCHAR(254), @INN VARCHAR(12),	@ACC_CODE varchar(20), @FULL_NAME varchar(2000),	@COUNT_PERS INT , @DOC_ID VARCHAR(36)

exec dbo.xd_whats_zb @DEP_LINK output

DECLARE @Cur1 CURSOR, @DEP_LINK1 INT , @ID1 INT /*Номер записи*/ , @nYear int, @nMonth int
set @ID1 = 0
SET @nYear = year(@dDate1)
set @nMonth = month(@dDate1)

-- ШАПОЧНАЯ ЧАСТЬ ФАЙЛА
-----
	SELECT top 1 @lcFNAME = 'imp_card_' + CONVERT(VARCHAR(4),@nYEAR) + '_' + CONVERT(VARCHAR(4),@nMONTH) + '.XML' ,
	@INN = DEP_INN,
	@ACC_CODE = N_ACC_CODE,
	@FULL_NAME = ORG_FULN,
	@COUNT_PERS = COUNt_PHIZ,
	@DOC_ID = DOC_ID
	FROM  #ALL_PHIS WHERE DEP_LINK = @DEP_LINK
	  

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	 SELECT @lcFNAME, 'windows-1251' --Имя файла 
			UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="windows-1251"?>' 
			UNION ALL SELECT @lcFNAME, SPACE(0) + '<СчетаПК ДатаФормирования="'+ CONVERT(VARCHAR(10),convert(smalldatetime, dbo.DateEndOfMonth(GETDATE())),127) +'"  НомерДоговора="'+rtrim(@cText1)+'" НаименованиеОрганизации="'+rtrim(@FULL_NAME)+'" ИНН="'+@INN+'" РасчетныйСчетОрганизации="'+rtrim(coalesce(@ACC_CODE,''))+'">' -- БИК="" ИдПервичногоДокумента="'+rtrim(@DOC_ID)+'" >'
			 UNION ALL SELECT @lcFNAME, SPACE(1) + '<ОткрытиеСчетов>' 
	DECLARE @DOCCOUNT INT 
	set @DOCCOUNT = (select count(*) from #ALL_PHIS WHERE DEP_LINK = @DEP_LINK1 )

-- -- EXEC KJ_KADRY_ALL_PHIS_REP '20160314' , 35 , '1', 95433
	---
	-- ПЕРЕЧИСЛЕНИЕ ДОКУМЕНТОВ
	---

	SET @Cur1 = CURSOR FORWARD_ONLY
	FOR select N_PP from #ALL_PHIS WHERE DEP_LINK = @DEP_LINK
	
	OPEN @Cur1
	FETCH NEXT FROM @Cur1 INTO @ID1

	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, 
					SPACE(2) + '<Сотрудник Нпп="'+RTRIM(LTRIM(STR(@ID1)))+'">' + CHAR(10)
						+ SPACE(3) + '<Фамилия>'+ RTRIM(LTRIM(COALESCE(FM,''))) +'</Фамилия>' + CHAR(10)
						+ SPACE(3) + '<Имя>'+RTRIM(LTRIM(COALESCE(IM,'')))+'</Имя>' + CHAR(10)
						+ SPACE(3) + '<Отчество>'+ RTRIM(LTRIM(COALESCE(OT,''))) +'</Отчество>' + CHAR(10)
						+ SPACE(3) + '<ОтделениеБанка>'+ RTRIM(LTRIM(COALESCE(OSB,''))) + '</ОтделениеБанка>' + CHAR(10) 
						+ SPACE(3) + '<Резидент>' +RTRIM(LTRIM(COALESCE(RESIDENT,''))) + '</Резидент>' + CHAR(10) 
						+ SPACE(3) + '<Гражданство>' + RTRIM(LTRIM(COALESCE(CITIZ_NAME,''))) + '</Гражданство>' + CHAR(10)
						+ SPACE(3) + '<ВидВклада КодВидаВклада="'+RTRIM(LTRIM(COALESCE(VIDV_CODE,'')))+'" КодПодвидаВклада="'+RTRIM(LTRIM(COALESCE(PODVIDV_CODE,'')))+'" КодВалюты="'+RTRIM(LTRIM(COALESCE(VALUTE_CODE,'')))+'">' + RTRIM(LTRIM(COALESCE(VIDV_NAME,''))) + '</ВидВклада>' + CHAR(10)
						+ SPACE(3) + '<УдостоверениеЛичности>' + CHAR(10)
							+ SPACE(4) + '<ВидДокумента>'+RTRIM(LTRIM(COALESCE(DOC_NAME,'')))+'</ВидДокумента>' + CHAR(10)
							+ SPACE(4) + '<Серия>'+RTRIM(LTRIM(COALESCE(DOC_SER,'')))+'</Серия>' + CHAR(10)
							+ SPACE(4) + '<Номер>'+RTRIM(LTRIM(COALESCE(DOC_NUM,'')))+'</Номер>' + CHAR(10)
				            + SPACE(4) + '<ДатаВыдачи>'+ CONVERT(VARCHAR(10),DOC_DATE,127) +'</ДатаВыдачи>' + CHAR(10)
							+ SPACE(4) + '<КемВыдан>'+RTRIM(LTRIM(COALESCE(DOC_WHOM,'')))+'</КемВыдан>' + CHAR(10)
						+ SPACE(3) + '</УдостоверениеЛичности>' + CHAR(10)
						+ SPACE(3) + '<ДатаРождения>'+ CONVERT(VARCHAR(10),BiRTHDATE,127) +'</ДатаРождения>' + CHAR(10)
						+ SPACE(3) + '<Пол>'+RTRIM(LTRIM(COALESCE(SEX,'')))+'</Пол>' + CHAR(10)
						+ SPACE(3) + '<МестоРождения>'+RTRIM(LTRIM(COALESCE(BiRTHPLACE,'')))+'</МестоРождения>' + CHAR(10)
						+ SPACE(3) + '<АдресПрописки>' + CHAR(10)
							+ SPACE(4) + '<Индекс>'+RTRIM(LTRIM(COALESCE(PINDEX,'')))+'</Индекс>' + CHAR(10)
							+ SPACE(4) + '<Страна>' + CHAR(10)
								+ SPACE(5) + '<СтранаНазвание>'+RTRIM(LTRIM(COALESCE(PSTR,'')))+'</СтранаНазвание>' + CHAR(10)
								+ SPACE(5) + '<СтранаСокращение/>' + CHAR(10)
								+ SPACE(5) + '<СтранаКод/>' + CHAR(10)
							+ SPACE(4) + '</Страна>' + CHAR(10)
							+ SPACE(4) + '<Регион>' + CHAR(10)
								+ SPACE(5) + '<РегионНазвание>'+RTRIM(LTRIM(COALESCE(PREGION_N,'')))+'</РегионНазвание>' + CHAR(10)
								+ SPACE(5) + '<РегионСокращение>'+RTRIM(LTRIM(COALESCE(PREGION_S,'')))+'</РегионСокращение>' + CHAR(10)
							+ SPACE(4) + '</Регион>' + CHAR(10)
							+ SPACE(4) + '<Район>' + CHAR(10)
								+ SPACE(5) + '<РайонНазвание>'+RTRIM(LTRIM(COALESCE(PRAION_N,'')))+'</РайонНазвание>' + CHAR(10)
								+ SPACE(5) + '<РайонСокращение>'+RTRIM(LTRIM(COALESCE(PRAION_S,'')))+'</РайонСокращение>' + CHAR(10)
							+ SPACE(4) + '</Район>' + CHAR(10)
							+ SPACE(4) + '<Город>' + CHAR(10)
								+ SPACE(5) + '<ГородНазвание>'+RTRIM(LTRIM(COALESCE(PGOROD_N,'')))+'</ГородНазвание>' + CHAR(10)
								+ SPACE(5) + '<ГородСокращение>'+RTRIM(LTRIM(COALESCE(PGOROD_S,'')))+'</ГородСокращение>' + CHAR(10)
							+ SPACE(4) + '</Город>' + CHAR(10)
							+ SPACE(4) + '<НаселенныйПункт>' + CHAR(10)
								+ SPACE(5) + '<НаселенныйПунктНазвание>'+RTRIM(LTRIM(COALESCE(PNASEL_N,'')))+'</НаселенныйПунктНазвание>' + CHAR(10)
								+ SPACE(5) + '<НаселенныйПунктСокращение>'+RTRIM(LTRIM(COALESCE(PNASEL_S,'')))+'</НаселенныйПунктСокращение>' + CHAR(10)
							+ SPACE(4) + '</НаселенныйПункт>' + CHAR(10)
							+ SPACE(4) + '<Улица>' + CHAR(10)
								+ SPACE(5) + '<УлицаНазвание>'+RTRIM(LTRIM(COALESCE(PSTREET_N,'')))+'</УлицаНазвание>' + CHAR(10)
								+ SPACE(5) + '<УлицаСокращение>'+RTRIM(LTRIM(COALESCE(PSTREET_S,'')))+'</УлицаСокращение>' + CHAR(10)
							+ SPACE(4) + '</Улица>' + CHAR(10)
							+ SPACE(4) + '<Дом>'+RTRIM(LTRIM(COALESCE(PSTREET_S,'')))+'</Дом>' + CHAR(10)
							+ SPACE(4) + '<Корпус>'+RTRIM(LTRIM(COALESCE(PKORP,'')))+'</Корпус>' + CHAR(10)
							+ SPACE(4) + '<Квартира>'+RTRIM(LTRIM(COALESCE(PFLAT,'')))+'</Квартира>' + CHAR(10)
						+ SPACE(3) + '</АдресПрописки>' + CHAR(10)
						+ SPACE(3) + '<АдресПроживания>' + CHAR(10)
							+ SPACE(4) + '<Индекс>'+RTRIM(LTRIM(COALESCE(fINDEX,'')))+'</Индекс>' + CHAR(10)
							+ SPACE(4) + '<Страна>' + CHAR(10)
								+ SPACE(5) + '<СтранаНазвание>'+RTRIM(LTRIM(COALESCE(fSTR,'')))+'</СтранаНазвание>' + CHAR(10)
								+ SPACE(5) + '<СтранаСокращение/>' + CHAR(10)
								+ SPACE(5) + '<СтранаКод/>' + CHAR(10)
							+ SPACE(4) + '</Страна>' + CHAR(10)
							+ SPACE(4) + '<Регион>' + CHAR(10)
								+ SPACE(5) + '<РегионНазвание>'+RTRIM(LTRIM(COALESCE(fREGION_N,'')))+'</РегионНазвание>' + CHAR(10)
								+ SPACE(5) + '<РегионСокращение>'+RTRIM(LTRIM(COALESCE(fREGION_S,'')))+'</РегионСокращение>' + CHAR(10)
							+ SPACE(4) + '</Регион>' + CHAR(10)
							+ SPACE(4) + '<Район>' + CHAR(10)
								+ SPACE(5) + '<РайонНазвание>'+RTRIM(LTRIM(COALESCE(fRAION_N,'')))+'</РайонНазвание>' + CHAR(10)
								+ SPACE(5) + '<РайонСокращение>'+RTRIM(LTRIM(COALESCE(fRAION_S,'')))+'</РайонСокращение>' + CHAR(10)
							+ SPACE(4) + '</Район>' + CHAR(10)
							+ SPACE(4) + '<Город>' + CHAR(10)
								+ SPACE(5) + '<ГородНазвание>'+RTRIM(LTRIM(COALESCE(fGOROD_N,'')))+'</ГородНазвание>' + CHAR(10)
								+ SPACE(5) + '<ГородСокращение>'+RTRIM(LTRIM(COALESCE(fGOROD_S,'')))+'</ГородСокращение>' + CHAR(10)
							+ SPACE(4) + '</Город>' + CHAR(10)
							+ SPACE(4) + '<НаселенныйПункт>' + CHAR(10)
								+ SPACE(5) + '<НаселенныйПунктНазвание>'+RTRIM(LTRIM(COALESCE(fNASEL_N,'')))+'</НаселенныйПунктНазвание>' + CHAR(10)
								+ SPACE(5) + '<НаселенныйПунктСокращение>'+RTRIM(LTRIM(COALESCE(fNASEL_S,'')))+'</НаселенныйПунктСокращение>' + CHAR(10)
							+ SPACE(4) + '</НаселенныйПункт>' + CHAR(10)
							+ SPACE(4) + '<Улица>' + CHAR(10)
								+ SPACE(5) + '<УлицаНазвание>'+RTRIM(LTRIM(COALESCE(fSTREET_N,'')))+'</УлицаНазвание>' + CHAR(10)
								+ SPACE(5) + '<УлицаСокращение>'+RTRIM(LTRIM(COALESCE(fSTREET_S,'')))+'</УлицаСокращение>' + CHAR(10)
							+ SPACE(4) + '</Улица>' + CHAR(10)
							+ SPACE(4) + '<Дом>'+RTRIM(LTRIM(COALESCE(fSTREET_S,'')))+'</Дом>' + CHAR(10)
							+ SPACE(4) + '<Корпус>'+RTRIM(LTRIM(COALESCE(fKORP,'')))+'</Корпус>' + CHAR(10)
							+ SPACE(4) + '<Квартира>'+RTRIM(LTRIM(COALESCE(fFLAT,'')))+'</Квартира>' + CHAR(10)
						+ SPACE(3) + '</АдресПроживания>' + CHAR(10)
						+ SPACE(3) + '<ЭмбоссированныйТекст Поле1="'+RTRIM(LTRIM(COALESCE(COL1,'')))+'" Поле2="'+RTRIM(LTRIM(COALESCE(COL2,'')))+'" Поле3="'+RTRIM(LTRIM(COALESCE(COL3,'')))+'"/>' + CHAR(10)
						+ SPACE(3) + '<Сумма>''</Сумма>' + CHAR(10)
				  + SPACE(2) + '</Сотрудник>' + CHAR(10)

				  
    			FROM
					#ALL_PHIS
				WHERE 
					N_PP = @ID1 
	
		END
		
		FETCH NEXT FROM @Cur1 INTO @ID1



	END

	CLOSE @Cur1
	DEALLOCATE @Cur1
	

	
	
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(1) + '</ОткрытиеСчетов>' + CHAR(10)	
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(1) + '<КонтрольныеСуммы>' + CHAR(10)	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<КоличествоЗаписей>'+ +RTRIM(LTRIM(STR(COALESCE(@COUNT_PERS,0))))+ +'</КоличествоЗаписей>' + CHAR(10)	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<СуммаИтого/>'  + CHAR(10)	
  UNION ALL SELECT @lcFNAME, SPACE(1) + '</КонтрольныеСуммы>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '</СчетаПК>' 	




SET NOCOUNT OFF

select * from #OUTPUT  order by [ID]
--select OUT_TEXT from #OUTPUT order by [ID]
--exec ALL_PHIS_EXPORT '20160314','35',95432




GO


GRANT EXECUTE ON dbo.[ALL_PHIS_EXPORT] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_BI_DICTION_KBK]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_BI_DICTION_KBK]
GO

CREATE PROCEDURE dbo.SYNCH_BI_DICTION_KBK (@DB NVARCHAR(254), @LINK_JOURN_TAB INT)
AS

BEGIN
/*
Синхронизация Бюджетная классификация (КБК)
*/

DECLARE @varKStrancount	int
		
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, [TYPE] INT, CODE VARCHAR(30), NAME VARCHAR(254), ADM_CODE VARCHAR(3), USED INT, NUM INT)

DECLARE @SQL NVARCHAR(4000)
DECLARE @COLLATE VARCHAR(254)

SET @SQL = 
N'	
SET @COLLATE = (SELECT TOP 1 ''COLLATE '' + CAST (SERVERPROPERTY(''Collation'') AS VARCHAR(100)) FROM ' + @DB + 'dbo.DEPARTMENTS_DATE)
'	
EXEC SP_EXECUTESQL @SQL, N'@COLLATE VARCHAR(254) OUTPUT', @COLLATE = @COLLATE OUTPUT


SET @SQL = 
N'	
INSERT INTO #DICT (LINK, [TYPE], CODE, NAME, ADM_CODE, USED, NUM)

SELECT 
	D.LINK, D.[TYPE], LEFT(D.CODE,30), LEFT(D.NAME,254), LEFT(ADM.CODE,3), 
	USED = CASE WHEN DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(DATEB,''19800101'') AND ISNULL(DATEE,''20490101'') 
			AND LEN(REPLACE(D.CODE,''.'','''')) = 20 
			THEN 1 ELSE 0 END, 
	NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,30) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.KL_KBK D
	INNER JOIN ' + @DB + 'dbo.DEPARTMENTS ADM ON ADM.LINK = D.LINK_ADM
WHERE
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 3
		WHERE
			EXISTS (SELECT * FROM dbo.DEPARTMENTS D2 WHERE D2.[TYPE] = 4 AND D2.INN = D1.INN ' + @COLLATE + ' AND D2.KPP = D1.KPP ' + @COLLATE + ')
			AND
			(D.LINK_DEP = D1.LINK OR D.LINK_DEP = D1.ZB)
			)
	AND
	LEFT(D.CODE ' + @COLLATE + ',30) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Связанные таблицы

--Администраторы
CREATE TABLE #TAB1 (LINK INT, CODE VARCHAR(10))
INSERT INTO #TAB1 (LINK, CODE)
SELECT LINK, CODE
FROM ( SELECT LINK, CODE, NUM = ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY LINK) FROM dbo.KL_ADMIN_BS ) T
WHERE T.NUM = 1

DECLARE @DEF_ADM INT
SET @DEF_ADM = (SELECT TOP 1 LINK FROM dbo.KL_ADMIN_BS WHERE CODE = '---')

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,''),
	A.LINK_ADM = ISNULL(T1.LINK,A.LINK_ADM),
	A.USED = T.USED
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.KL_KBK A ON T.CODE = A.CODE AND T.[TYPE] = A.[TYPE]
	LEFT JOIN dbo.KL_ADMIN_BS ADM ON ADM.LINK = A.LINK_ADM
	LEFT JOIN #TAB1 T1 ON T1.CODE = T.ADM_CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')
	OR
	A.USED <> T.USED
	OR
	(ISNULL(A.LINK_ADM,0) <> ISNULL(T1.LINK,0) AND T1.LINK IS NOT NULL)


INSERT INTO dbo.KL_KBK ([TYPE], CODE, NAME, LINK_ADM, NOT_BUDJ, LNAME, USED) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.[TYPE],
	T.CODE,
	ISNULL(T.NAME,''),
	ISNULL(T1.LINK,@DEF_ADM),
	0,
	'',
	T.[USED]
FROM
	#DICT T
	LEFT JOIN #TAB1 T1 ON T1.CODE = T.ADM_CODE
WHERE
	T.[USED] = 1
	AND
	NOT EXISTS (SELECT * FROM dbo.KL_KBK A WHERE A.CODE = T.CODE AND A.[TYPE] = T.[TYPE])


/*
Обновление связок для расходных КБК
*/

CREATE TABLE #DICT_KBK (KBK VARCHAR(30), DIV INT, CSR INT, EX INT, NUM INT)

SET @SQL = 
N'	
INSERT INTO #DICT_KBK (KBK, DIV, CSR, EX, NUM)
SELECT DISTINCT 
	B.CODE, 
	DIV = (SELECT TOP 1 LINK FROM dbo.KL_DIVISION T WHERE T.CODE = D.CODE ' + @COLLATE + '),
	CSR = (SELECT TOP 1 LINK FROM dbo.KL_TARGET_ITEM T WHERE T.CODE = F.CODE ' + @COLLATE + '),
	EX = (SELECT TOP 1 LINK FROM [dbo].[KL_EXPEND] T WHERE T.CODE = E.CODE ' + @COLLATE + '),
	NUM = ROW_NUMBER() OVER (PARTITION BY B.CODE ORDER BY D.CODE, F.CODE, E.CODE DESC)
	
FROM
	' + @DB + 'dbo.KL_KBK B
	INNER JOIN ' + @DB + 'dbo.KL_VKR A ON A.LINK_KBK = B.LINK
	LEFT JOIN ' + @DB + 'dbo.KL_DIVISION D ON A.LINK_DIV = D.LINK
	LEFT JOIN ' + @DB + 'dbo.KL_EXPEND E ON A.LINK_EXP = E.LINK
	LEFT JOIN ' + @DB + 'dbo.KL_TARGET_ITEM F ON A.LINK_CSR = F.LINK
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(B.DATEB,''19800101'') AND ISNULL(B.DATEE,''20490101'') 
	AND LEN(REPLACE(B.CODE,''.'','''')) = 20
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 3
		WHERE
			EXISTS (SELECT * FROM dbo.DEPARTMENTS D2 WHERE D2.[TYPE] = 4 AND D2.INN = D1.INN ' + @COLLATE + ' AND D2.KPP = D1.KPP ' + @COLLATE + ')
			AND
			(B.LINK_DEP = D1.LINK OR B.LINK_DEP = D1.ZB)
			)
	AND
	LEFT(D.CODE ' + @COLLATE + ',30) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT_KBK WHERE NUM <> 1

UPDATE V SET
	V.LINK_DIV = ISNULL(T.DIV,V.LINK_DIV),
	V.LINK_CSR = ISNULL(T.CSR,V.LINK_CSR),
	V.LINK_EXP = ISNULL(T.EX,V.LINK_EXP)
OUTPUT
	'U', INSERTED.LINK_KBK INTO #PROTOKOL (OP, LINK)	
FROM
	#DICT_KBK T
	INNER JOIN dbo.KL_KBK K ON K.CODE = T.KBK
	INNER JOIN dbo.KL_VKR V ON V.LINK_KBK = K.LINK
WHERE
	K.[TYPE] = 1
	AND
	ISNULL(V.LINK_DIV,0) <> ISNULL(T.DIV,0)
	AND
	ISNULL(V.LINK_CSR,0) <> ISNULL(T.CSR,0)
	AND
	ISNULL(V.LINK_EXP,0) <> ISNULL(T.EX,0)


INSERT INTO dbo.KL_VKR (LINK_KBK, LINK_DIV, LINK_CSR, LINK_EXP)
OUTPUT
	'U', INSERTED.LINK_KBK INTO #PROTOKOL (OP, LINK)
SELECT
	K.LINK, T.DIV, T.CSR, T.EX
FROM
	#DICT_KBK T
	INNER JOIN dbo.KL_KBK K ON K.CODE = T.KBK	
WHERE
	K.[TYPE] = 1
	AND
	NOT EXISTS (SELECT * FROM dbo.KL_VKR V WHERE V.LINK_KBK = K.LINK)

/*
Обновление связок для доходных КБК
*/

CREATE TABLE #DICT_KD (KBK VARCHAR(30), KD INT, PROG INT, SGU INT, NUM INT)

SET @SQL = 
N'	
INSERT INTO #DICT_KD (KBK, KD, PROG, SGU, NUM)
SELECT DISTINCT
	KBK = B.CODE,
	KD = (SELECT TOP 1 LINK FROM [dbo].[KL_KD] T WHERE T.CODE = D.CODE ' + @COLLATE + '),
	PROG = (SELECT TOP 1 LINK FROM [dbo].[KL_PROG] T WHERE T.CODE = E.CODE ' + @COLLATE + '),
	SGU = (SELECT TOP 1 LINK FROM [dbo].[KOSGU] T WHERE T.CODE = F.CODE ' + @COLLATE + '),
	NUM = ROW_NUMBER() OVER (PARTITION BY B.CODE ORDER BY D.CODE, F.CODE, E.CODE DESC)
FROM
	' + @DB + 'dbo.KL_KBK B
	INNER JOIN ' + @DB + '[dbo].[KL_KBK_KD] A ON A.LINK_KBK = B.LINK
	LEFT JOIN ' + @DB + '[dbo].[KL_KD] D ON A.LINK_KD = D.LINK
	LEFT JOIN ' + @DB + '[dbo].[KL_PROG] E ON A.LINK_PROG = E.LINK
	LEFT JOIN ' + @DB + '[dbo].[KOSGU] F ON A.SGU_LINK = F.LINK
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(B.DATEB,''19800101'') AND ISNULL(B.DATEE,''20490101'') 
	AND LEN(REPLACE(B.CODE,''.'','''')) = 20
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 3
		WHERE
			EXISTS (SELECT * FROM dbo.DEPARTMENTS D2 WHERE D2.[TYPE] = 4 AND D2.INN = D1.INN ' + @COLLATE + ' AND D2.KPP = D1.KPP ' + @COLLATE + ')
			AND
			(B.LINK_DEP = D1.LINK OR B.LINK_DEP = D1.ZB)
			)
	AND
	LEFT(D.CODE ' + @COLLATE + ',30) <> ''''	
'

EXEC SP_EXECUTESQL @SQL

DELETE #DICT_KD WHERE NUM <> 1

UPDATE V SET
	V.Link_KD = ISNULL(T.KD,V.Link_KD),
	V.LINK_PROG = ISNULL(T.PROG,V.LINK_PROG),
	V.LINK_SGU =ISNULL( T.SGU,V.LINK_SGU)
OUTPUT
	'U', INSERTED.LINK_KBK INTO #PROTOKOL (OP, LINK)	
FROM
	#DICT_KD T
	INNER JOIN dbo.KL_KBK K ON K.CODE = T.KBK
	INNER JOIN [dbo].[KL_KBK_KD] V ON V.LINK_KBK = K.LINK
WHERE
	K.[TYPE] = 2
	AND
	ISNULL(V.Link_KD,0) <> ISNULL(T.KD,0)
	AND
	ISNULL(V.LINK_PROG,0) <> ISNULL(T.PROG,0)
	AND
	ISNULL(V.LINK_SGU,0) <> ISNULL(T.SGU,0)

INSERT INTO dbo.[KL_KBK_KD] (LINK_KBK, Link_KD, LINK_PROG, LINK_SGU)
OUTPUT
	'U', INSERTED.LINK_KBK INTO #PROTOKOL (OP, LINK)
SELECT
	K.LINK, T.KD, T.PROG, T.SGU
FROM
	#DICT_KD T
	INNER JOIN dbo.KL_KBK K ON K.CODE = T.KBK	
WHERE
	K.[TYPE] = 2
	AND
	NOT EXISTS (SELECT * FROM [dbo].[KL_KBK_KD] V WHERE V.LINK_KBK = K.LINK)

/*
Обновление связок для источников КБК
*/

CREATE TABLE #DICT_IVF (KBK VARCHAR(30), IVF INT, PROG INT, SGU INT, NUM INT)

SET @SQL = 
N'	
INSERT INTO #DICT_IVF (KBK, IVF, PROG, SGU, NUM)
SELECT DISTINCT
	KBK = B.CODE,
	IVF = (SELECT TOP 1 LINK FROM [dbo].[KL_IVF] T WHERE T.CODE = D.CODE ' + @COLLATE + '),
	PROG = (SELECT TOP 1 LINK FROM [dbo].[KL_PROG] T WHERE T.CODE = E.CODE ' + @COLLATE + '),
	SGU = (SELECT TOP 1 LINK FROM [dbo].[KOSGU] T WHERE T.CODE = F.CODE ' + @COLLATE + '),
	NUM = ROW_NUMBER() OVER (PARTITION BY B.CODE ORDER BY D.CODE, F.CODE, E.CODE DESC)
FROM
	' + @DB + 'dbo.KL_KBK B
	INNER JOIN ' + @DB + '[dbo].[KL_KBK_IVF] A ON A.LINK_KBK = B.LINK
	LEFT JOIN ' + @DB + '[dbo].[KL_IVF] D ON A.LINK_IVF = D.LINK
	LEFT JOIN ' + @DB + '[dbo].[KL_PROG] E ON A.LINK_PROG = E.LINK
	LEFT JOIN ' + @DB + '[dbo].[KOSGU] F ON A.SGU_LINK = F.LINK
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(B.DATEB,''19800101'') AND ISNULL(B.DATEE,''20490101'') 
	AND LEN(REPLACE(B.CODE,''.'','''')) = 20
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 3
		WHERE
			EXISTS (SELECT * FROM dbo.DEPARTMENTS D2 WHERE D2.[TYPE] = 4 AND D2.INN = D1.INN ' + @COLLATE + ' AND D2.KPP = D1.KPP ' + @COLLATE + ')
			AND
			(B.LINK_DEP = D1.LINK OR B.LINK_DEP = D1.ZB)
			)
	AND
	LEFT(D.CODE ' + @COLLATE + ',30) <> ''''	
'

EXEC SP_EXECUTESQL @SQL

DELETE #DICT_IVF WHERE NUM <> 1

UPDATE V SET
	V.Link_IVF = ISNULL(T.IVF,V.Link_IVF),
	V.LINK_PROG = ISNULL(T.PROG,V.LINK_PROG),
	V.LINK_SGU =ISNULL( T.SGU,V.LINK_SGU)
OUTPUT
	'U', INSERTED.LINK_KBK INTO #PROTOKOL (OP, LINK)	
FROM
	#DICT_IVF T
	INNER JOIN dbo.KL_KBK K ON K.CODE = T.KBK
	INNER JOIN [dbo].[KL_KBK_IVF] V ON V.LINK_KBK = K.LINK
WHERE
	K.[TYPE] >=3
	AND
	ISNULL(V.Link_IVF,0) <> ISNULL(T.IVF,0)
	AND
	ISNULL(V.LINK_PROG,0) <> ISNULL(T.PROG,0)
	AND
	ISNULL(V.LINK_SGU,0) <> ISNULL(T.SGU,0)

INSERT INTO dbo.[KL_KBK_IVF] (LINK_KBK, Link_IVF, LINK_PROG, LINK_SGU)
OUTPUT
	'U', INSERTED.LINK_KBK INTO #PROTOKOL (OP, LINK)
SELECT
	K.LINK, T.IVF, T.PROG, T.SGU
FROM
	#DICT_IVF T
	INNER JOIN dbo.KL_KBK K ON K.CODE = T.KBK	
WHERE
	K.[TYPE] >= 3
	AND
	NOT EXISTS (SELECT * FROM [dbo].[KL_KBK_IVF] V WHERE V.LINK_KBK = K.LINK)


---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(DISTINCT A.LINK)) FROM #PROTOKOL A WHERE A.OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(DISTINCT A.LINK)) FROM #PROTOKOL A WHERE A.OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN

END

GO


GRANT EXECUTE ON dbo.[SYNCH_BI_DICTION_KBK] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINTDOC_AVANSE_REP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINTDOC_AVANSE_REP]

GO

-- Печать авансового отчета --
CREATE PROCEDURE dbo.BK_PRINTDOC_AVANSE_REP
	@intLINK_DOC	INT
AS
BEGIN
	DECLARE
		@intPrintKBK TINYINT,
		@intPrintSGU TINYINT,
		@DOC_DATE	DATETIME

	-- Титульный лист --
	DECLARE @TAB_TITLE TABLE 
		(
		LINK		INT,
		DOC_NUM		VARCHAR (60),
		DOC_DATE	DATETIME,
		WHY_AVA		VARCHAR (254),
		KA_CODE		VARCHAR (30),

		GET_SUM		NUMERIC (28,2),
		PREV_SUM1	NUMERIC (28,2),
		PREV_SUM2	NUMERIC (28,2),
		TOT_SUM		NUMERIC (28,2),
		REST_SUM	NUMERIC (28,2),
		OUT_SUM		NUMERIC (28,2),

		CNT_DOC		NUMERIC (5),
		CNT_SHEET	NUMERIC (5),
	
		EMP_CODE	VARCHAR (30),
		EMP_NAME	VARCHAR (254),
		EMPL_SIGN	VARCHAR (254),
		SUB_NAME	VARCHAR (254),
		POST_NAME	VARCHAR (254),
		EMP_FIO		VARCHAR (254),
		
		DEP_OKPO	VARCHAR (30),
		DEP_KPP	    VARCHAR (9),
		DEP_INN	    VARCHAR (12),
		DEP_NAME	VARCHAR (254),
		GET_DATE	DATETIME,
		GET_DOC		VARCHAR (1000)
		)

	DECLARE @T_GET_DOC	TABLE 
		(
		DOC_LINK	INT,
		DOC_DATE	DATETIME,
		DOC_NUM		VARCHAR (60),
		DOC_INFO	VARCHAR (254),
		DOC_SUM		NUMERIC (28,4)
		)

	INSERT @T_GET_DOC
		(
		DOC_LINK,
		DOC_DATE,
		DOC_NUM,
		DOC_INFO,
		DOC_SUM	
		)
	SELECT 
		T1.LINK_UP,
		G.[DATE],
		G.NUMBER,
		dbo.GetDocumentName (G.LINK, G.[OBJECT])
			+ ' № ' + RTRIM (G.NUMBER)
			+ ' от ' + CONVERT (VARCHAR (10), G.[DATE], 104),
		G.SUMMA	
	FROM (
		SELECT
			TTT.LINK_UP,
			TTT.OSNOV
		FROM dbo.DOC_AO_RKO_TABLE TTT
		GROUP BY
			TTT.LINK_UP,
			TTT.OSNOV
			) AS T1
	INNER JOIN dbo.OSNOV O1 ON (O1.LINK = T1.OSNOV)
	INNER JOIN dbo.G_PROV G ON (G.LINK = O1.LINK_G_PROV)
	WHERE T1.LINK_UP = @intLINK_DOC
--		AND (SELECT COUNT (DISTINCT T2.LINK_UP) FROM dbo.DOC_AO_RKO_TABLE T2 WHERE T2.LINK_UP = T1.LINK_UP) = 1

	SELECT
		@DOC_DATE = G.[DATE]
	FROM dbo.G_PROV G
	WHERE G.LINK = @intLINK_DOC	

	INSERT INTO @TAB_TITLE
	SELECT
		DOC.LINK,
		DOC.NUMBER,
		DOC.[DATE],
		ISNULL (DOC.[TARGET], ''),
		ISNULL (DOC.KTACCOUNT, ''),
		
		ISNULL (DOC.AVANSESUMMA, 0),
		CASE
			WHEN ISNULL (DOC.PREVSUMMA, 0) >= 0 THEN ISNULL (DOC.PREVSUMMA, 0)
			ELSE 0.00
		END,
		CASE	
			WHEN ISNULL (DOC.PREVSUMMA, 0) < 0 THEN ABS (ISNULL (DOC.PREVSUMMA, 0))
			ELSE 0.00
		END,
		ISNULL (DOC.ITOG_SUM, 0.00),
		ISNULL (DOC.REST_SUM, 0.00),
		ISNULL (DOC.RASHOD_SUM, 0.00),

		ISNULL (DOC.DOC, 0.00),
		ISNULL (DOC.PAGES, 0.00),

		DOC.EMP_CODE,
		DOC.EMP_NAME,
		CASE
			WHEN DOC.[OPTION] = 1 THEN dbo.BK_Get_EMPL_Signature (DOC.EMP_LINK, DEFAULT)
			WHEN DOC.[OPTION] = 2 THEN dbo.BK_Get_PERSON_Signature (DOC.EMP_LINK, DEFAULT)
		END,
		CASE
			WHEN DOC.[OPTION] = 1 THEN EMP.SUBDIV_NAME
			WHEN DOC.[OPTION] = 2 THEN ''
		END,	
		CASE
			WHEN DOC.[OPTION] = 1 THEN EMP.POST_NAME
			WHEN DOC.[OPTION] = 2 THEN ''
		END,
		CASE
			WHEN DOC.[OPTION] = 1 THEN EMP.FIO
			WHEN DOC.[OPTION] = 2 THEN LTRIM (RTRIM (PERS.FM)) + SPACE (1) + LTRIM (RTRIM (PERS.IM)) + SPACE (1) + LTRIM (RTRIM (PERS.OT))
		END,
		DEP.OKPO,
		DEP.KPP,
		DEP.INN,
		dbo.BK_GET_PRINT_DEP_NAME (DEP.LINK),
--		TGD.DOC_DATE,
--		ISNULL (TGD.DOC_INFO, '')
		NULL, 
		SUBSTRING ((SELECT
						', ' + ISNULL (TGD.DOC_INFO, '')
					FROM @T_GET_DOC TGD
					WHERE TGD.DOC_LINK = DOC.LINK
					FOR XML PATH ('')),
					3,
					1000)
	FROM dbo.BV_DOC_AVANSE_REP DOC
	INNER JOIN dbo.DEPARTMENTS DEP ON (DEP.LINK = DOC.DEP_LINK)
	LEFT JOIN dbo.KU_EMPL_PLACING EMP ON (DOC.[OPTION] = 1
		AND EMP.LINK = DOC.EMP_LINK)
	LEFT JOIN dbo.PERSON PERS ON (DOC.[OPTION] = 2
		AND PERS.LINK = DOC.EMP_LINK)
--	LEFT JOIN @T_GET_DOC TGD ON (TGD.DOC_LINK = DOC.LINK)	
	WHERE DOC.LINK = @intLINK_DOC

-- SELECT '@T_GET_DOC', * FROM @T_GET_DOC

	-- КО на перерасход\возврат --
	SELECT
		@intPrintKBK = PRN_KBK,
		@intPrintSGU = PRN_SGU
	FROM dbo.BK_GET_PRINT_NASTRDOC ('BV_DOC_AVANSE_REP')

	DECLARE @TAB_KO1 TABLE
		(	
		LINK_AO	INT,
		KO_NUM	VARCHAR (30),
		KO_DATE VARCHAR (10), 
		ACCT_CODE	VARCHAR (60),
		ACCT_GR	VARCHAR (20),
		PKO_SUM	NUMERIC (28,4),
		RKO_SUM NUMERIC (28,4)
		)

	INSERT INTO @TAB_KO1		
	SELECT
		T1.G_PRIMARY,
		T1.NUMBER,
		CONVERT (VARCHAR (10), T1.[DATE], 104),
		dbo.BK_GetAcctFullCode1 (GAP.ACCOUNT, GAP.KBK, GAP.SGU,
			@intPrintKBK, @intPrintSGU, @DOC_DATE),
		SA.CODE,
		CASE
			WHEN T1.DOC_CODE = 'DOCUMENTS_PKO' THEN G2.SUMMA  ELSE 0 
		END,
		CASE
			WHEN T1.DOC_CODE = 'DOCUMENTS_RKO' THEN G2.SUMMA  ELSE 0 
		END
	FROM dbo.XK_GetTable_Doc_FOREIGN (@intLINK_DOC) T1
	INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = T1.LINK)
	INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
	INNER JOIN dbo.G_PROV_AP GAP ON (GAP.LINK_UP = G2.LINK)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = GAP.ACCOUNT
			AND SA.cSINTH = '208')
	WHERE T1.DOC_CODE IN ('DOCUMENTS_PKO', 'DOCUMENTS_RKO')

	--- Проводки АО (на титульную страницу) ---
	DECLARE @TAB_TITLE_PROV TABLE
			(
			DB_ACCT	VARCHAR (60),
			KR_ACCT	VARCHAR (60),
			SUM_PROV NUMERIC (28,2)
			)
			
	IF EXISTS (SELECT * FROM dbo.BV_DOC_AO_OPTIONS WHERE ISNULL (TITLE_PROV, 0) = 1)
		-- Проводки из документов на выдачу аванса --
		INSERT INTO @TAB_TITLE_PROV		
		SELECT
			ISNULL (dbo.BK_GetAcctFullCode1 (GAP_D.ACCOUNT, GAP_D.KBK, GAP_D.SGU,
						@intPrintKBK, @intPrintSGU, @DOC_DATE), ''),
			ISNULL (dbo.BK_GetAcctFullCode1 (GAP_K.ACCOUNT, GAP_K.KBK, GAP_K.SGU,
						@intPrintKBK, @intPrintSGU, @DOC_DATE), ''),
			ISNULL (G2.SUMMA, 0)
		FROM dbo.DOC_AO_RKO_TABLE T1
		INNER JOIN dbo.OSNOV OSNOV ON (OSNOV.LINK = T1.OSNOV)
		INNER JOIN dbo.G_PROV G ON (G.LINK = OSNOV.LINK_G_PROV)
		INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = G.LINK)
		INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
		LEFT JOIN dbo.G_PROV_AP GAP_D ON (GAP_D.LINK_UP = G2.LINK
			AND GAP_D.DB_KR = 0)
		LEFT JOIN dbo.G_PROV_AP GAP_K ON (GAP_K.LINK_UP = G2.LINK
			AND GAP_K.DB_KR = 1)
		WHERE T1.LINK_UP = @intLINK_DOC
	ELSE
		-- Проводки из авансового отчета --
		INSERT INTO @TAB_TITLE_PROV		
		SELECT
			ISNULL (ACCT_CD_D, ''),
			ISNULL (ACCT_CD_K, ''),
			ISNULL (SUMMA, 0)
		FROM dbo.BK_PrintDocProv (@intLINK_DOC, DEFAULT)

	SELECT
		*,
		(SELECT
			SUM (SUM_PROV)
		FROM @TAB_TITLE_PROV) AS SUM_PROV0
	FROM @TAB_TITLE

	SELECT
		T1.EMP_NAME, 
		T1.DOC_NUM AS DOC_NUM,
		CONVERT (VARCHAR (10), T1.DOC_DATE, 104) AS DOC_DATE, 
		T1.CNT_DOC AS CNT_DOC, 
		ISNULL (T1.OUT_SUM, 0.00) AS OUT_SUM,
		ISNULL (T2.ACCT_CODE, '') AS ACCT_KO, 
		ISNULL (T2.PKO_SUM, 0.00) AS PKO_SUM, 
		ISNULL (T2.RKO_SUM, 0.00) AS RKO_SUM, 
		ISNULL (T2.KO_NUM, '') AS KO_NUM, 
		ISNULL (T2.KO_DATE, '') AS KO_DATE, 
		0 AS T0
	FROM @TAB_TITLE T1 
	LEFT OUTER JOIN @TAB_KO1 T2 ON (T2.LINK_AO = T1.LINK) 
	WHERE T1.LINK = @intLINK_DOC 

	SELECT
		DB_ACCT,
		KR_ACCT,
		SUM (SUM_PROV) AS SUM_PROV
	FROM @TAB_TITLE_PROV
	GROUP BY
		DB_ACCT,
		KR_ACCT

	--- Оборотная сторона ---
	SELECT 
		ISNULL (T1.NUMBER, 0) AS NUM_POS,
		ISNULL (CONVERT (VARCHAR (10), (T1.DATEDOC), 104), '') AS D_DATE,
		ISNULL (T1.NUMDOC, '') AS D_NUM,
		ISNULL (T1.NAMEDOC, '') AS D_NAME,
		ISNULL (T1.SUMREPORT, 0.00) AS SUMMA1,
		ISNULL (T1.SUMACCEPTED, 0.00) AS SUMMA2,
		COALESCE (T3.ACCT_CD_D, T1.DTACCOUNT, '') AS D_ACCT,
		COALESCE (T3.ACCT_CD_K, T1.KTACCOUNT, '') AS K_ACCT,
		T2.EMP_NAME AS E_NAME, 
		T2.EMPL_SIGN AS E_SIGN,
		CASE
			WHEN T2.REST_SUM > 0 THEN T2.REST_SUM
			ELSE 0.00
		END	 AS REST_D,
		CASE
			WHEN T2.REST_SUM < 0 THEN ABS (T2.REST_SUM)
			ELSE 0.00
		END AS REST_K 
	FROM dbo.BK_DOC_TABLE_AO_FN (@intLINK_DOC) T1
	INNER JOIN @TAB_TITLE T2 ON (T2.LINK = T1.LINK_UP)
	LEFT JOIN dbo.BK_PrintDocProv (@intLINK_DOC, DEFAULT) T3 ON (T3.LINK_G1 = T1.LINK_OPER)

	-- Документы на выдачу --
	SELECT *
	FROM @T_GET_DOC
	ORDER BY 
		DOC_INFO

END


GO


GRANT EXECUTE ON dbo.[BK_PRINTDOC_AVANSE_REP] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SYNC_JOURNAL_SAVE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SYNC_JOURNAL_SAVE]


GO
CREATE PROCEDURE [dbo].SA_SYNC_JOURNAL_SAVE
	@LINK		int	OUTPUT,
	@PERIOD	    DATETIME = null
AS

IF @LINK is null OR @LINK = 0
BEGIN

	INSERT INTO dbo.SYNCH_SMETA_SMART_JOURN (PERIOD) 
		VALUES (@PERIOD)

	SELECT @LINK = @@IDENTITY

	INSERT INTO dbo.SYNCH_SMETA_SMART_TAB  WITH (ROWLOCK) (LINK_UP, LINK_OPT2)
	SELECT @LINK, so2.link
	FROM 
		dbo.SYNCH_SMETA_SMART_OPT so
		INNER join dbo.SYNCH_SMETA_SMART_opt2 so2 ON so2.link_up = so.link  
	WHERE  so.active = 1 AND so2.active = 1
	
END

declare @ObjectLink int, @EventText varchar(254)
SELECT @ObjectLink = link FROM s_objects WHERE code='SYNCH_SMETA_SMART_JOURNAL'
SET @EventText = 'Синхронизация с ПК Смета-Смарт'
EXECUTE WF_GENERATEEVENT 'Сохранение строки журнала', @EventText, @ObjectLink, 'SYNCH_SMETA_SMART_JOURNAL', @LINK

RETURN 0

GO


GRANT EXECUTE ON dbo.[SA_SYNC_JOURNAL_SAVE] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_CALC_NASTR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RO_CALC_NASTR]

GO


CREATE PROCEDURE [dbo].[RO_CALC_NASTR]
	@intIS_NOT_CALC	TINYINT OUTPUT,
	@varKSiLSF		INT,
	@varKSiLT		INT = NULL,
	@varKSiOrderCol	INT = 0, -- внутренний порядок
	@varKScCodeRow	varchar(50) = '',
	@varKSfValue	float = 0 output 
AS

DECLARE @ldEnd		  DATETIME,
		@ldBegin      DATETIME,
		@liYear       INT,
		@ADM_CODE	  CHAR(3),
		@dCALC_DATE	  DATETIME,
		@iDEP_LINK	  INT,
		@LF		int, @LT int,
		@execStr		varchar(8000),
		@LC			int,
		@bid		varchar(100),
		@nabor_filter varchar(100),
		@orderCol	int,
		@iLinkCalcForm int,
		@lbKBK_FILTER int,
		@iForm737 tinyint,
		@iKbkLen int

SET @intIS_NOT_CALC = 0

if exists(select * from dbo.REPORT_FORMS RF 
					inner join dbo.REPORT_SAVED_FORMS RSF on RF.Link_Form = RSF.Link_Form and RSF.Link_Saved_Form = @varKSiLSF
					where left(RF.CODE,7) = '0503737' or left(RF.CODE,7) = '0503723' or left(RF.CODE,7) = '0503123') 
	set @iForm737 = 1
else	
	set @iForm737 = 0
	
declare @temp_nastr1 table (link int, [Link_Col] int NOT NULL, [Code_Row] varchar(50) NOT NULL,
	[Calc_Order] int NOT NULL , [Sign] tinyint NOT NULL, dt_z int, kt_z int, dt_mask varchar(1000), kt_mask varchar(1000), 
	dt_ekr varchar(1000), kt_ekr varchar(1000), [type] tinyint, type_kbk tinyint, mask_kbk varchar(100), dt_kt tinyint, oper varchar(1000))


declare @temp_nastr table (link int, [Link_Col] int NOT NULL, [Code_Row] varchar(50) NOT NULL,
	[Calc_Order] int NOT NULL , [Sign] tinyint NOT NULL, link_dt int, link_kt int, dt_ekr varchar(1000),
	kt_ekr varchar(1000), [type] tinyint, type_kbk tinyint, mask_kbk varchar(100), dt_kt tinyint)
declare @temp_nastr_xor table (	link int, [Link_Col] int NOT NULL , [Code_Row] varchar(50) NOT NULL,
	[Calc_Order] int NOT NULL , [Sign] tinyint NOT NULL , link_dt int, link_kt int, dt_ekr varchar(1000),
	kt_ekr varchar(1000), [type] tinyint, type_kbk tinyint, dt_kt tinyint)
declare @temp_nastr_rest table (	link int, [Link_Col] int NOT NULL , [Code_Row] varchar(50) NOT NULL,
	[Calc_Order] int NOT NULL , [Sign] tinyint NOT NULL , link_account int, ekr varchar(1000),
	[type] tinyint, type_kbk tinyint, mask_kbk varchar(100), dt_kt tinyint, oper varchar(1000))
declare @temp_nastr_rest_xor table (link int, [Link_Col] int NOT NULL , [Code_Row] varchar(50) NOT NULL,
	[Calc_Order] int NOT NULL , [Sign] tinyint NOT NULL , link_account int, ekr varchar(1000),
	[type] tinyint, type_kbk tinyint, dt_kt tinyint)

declare @filter_kbk table (kbk varchar(30))

CREATE TABLE #tTemp  (KBK varchar(50), Link_Col int, SUMMA FLOAT, Calc_Order int)
declare @t_Col table (Link_Col int, orderCol int)

-------- ЧИТАЕМ ДАННЫЕ ОТЧЕТА
select @LF = RSF.Link_Form, 
		@iDEP_LINK 	= Link_Organization, 
		@ldEnd		= Begin_Date + 1,
		@dCALC_DATE	= Begin_Date, 
		@liYear		= YEAR(Begin_Date),
		@ldBegin	= dbo.DateBeginOfYear(Begin_Date)
from report_saved_forms RSF  where RSF.link_saved_form = @varKSiLSF

--- Поиск расчета по заданным атрибутам ---
/*
set @iLinkCalcForm = (select top 1 CF.LINK
			from dbo.REPORT_ATRIBUT_VALUES RA
			inner join dbo.REPORT_CALC_ATRIBUTE CA on RA.code_atr = CA.code_atr
			inner join dbo.REPORT_CALC_FORMS CF on CA.LINK_CALC_FORM = CF.LINK and CF.LINK_FORM = @LF
			where RA.LINK_SAVED_FORM = @varKSiLSF and CF.USED = 1 
			order by CF.[ORDER] desc)

--- Если нет расчета с заданными атрибутами, то поиск расчета без атрибутов ---
IF @iLinkCalcForm is null 
	set @iLinkCalcForm = (select top 1 CF.LINK
				from dbo.REPORT_CALC_FORMS CF 
				where CF.LINK_FORM = @LF and CF.USED = 1 
				order by CF.[ORDER] desc)

*/
SET @iLinkCalcForm = dbo.RK_GET_NASTR_CALC_REPORT (@varKSiLSF, 0)

if @iLinkCalcForm is null 
BEGIN
	SET @intIS_NOT_CALC = 1
	RETURN 0
END

--- Удаление старых записей ---
if @varKSiLT is NULL or isnull(@varKSiOrderCol,0) = 0
BEGIN
	insert @t_Col (Link_Col, orderCol)
	select Link_Col, Export_Order
	from report_coloumns RC
	join report_tables RT on RC.Link_Table = RT.Link_Table
	where RT.Link_Form = @LF

	DELETE FROM dbo.REPORT_DINAMICS WHERE LINK_SF = @varKSiLSF
END
ELSE
BEGIN
	SELECT @orderCol = Export_Order, @LC = Link_Col
	FROM dbo.REPORT_COLOUMNS
	WHERE link_table = @varKSiLT and orders = @varKSiOrderCol
	INSERT @t_Col (Link_Col, orderCol)
	VALUES (@LC, @orderCol)
end

--select * from @t_Col where link_col = 57755

select @nabor_filter = dbo.rn_get_atr_value(@varKSiLSF,'REPORTS_FILTER_KBK')

select @nabor_filter = REPLACE (@nabor_filter, 'Не отобрано', '')

IF EXISTS(Select LINK FROM rn_get_filter(@varKSiLSF,'REPORTS_FILTER_KBK'))
	set @lbKBK_FILTER = 1
else
	set @lbKBK_FILTER = 0

-- Olga 2011.07.19
insert @filter_kbk (kbk)   
Select RTRIM(code) FROM rn_get_filter(@varKSiLSF,'REPORTS_FILTER_KBK')

SET @ADM_CODE = dbo.rn_get_atr_value(@varKSiLSF,'REPORTS_ATR_ADM')
IF isnull(@ADM_CODE, '') <> '' and isnull(@ADM_CODE, '') <> '000' 
BEGIN 
   insert @filter_kbk (kbk)   
   Select @ADM_CODE
   set @nabor_filter = 'REPORTS_ATR_ADM'
END 


insert @temp_nastr1
select C.link, C.Link_Col, Code_Row, Calc_Order, [Sign],
	DT_Z = case when charindex('.',CR.DT_Mask,charindex('.',DT_Mask) + 1) - charindex('.',DT_Mask) = 3 or len(DT_Mask) - charindex('.',DT_Mask) = 2 then 1 else 0 end, 
	KT_Z = case when charindex('.',CR.KT_Mask,charindex('.',KT_Mask) + 1) - charindex('.',KT_Mask) = 3 or len(KT_Mask) - charindex('.',KT_Mask) = 2 then 1 else 0 end,
	CR.DT_Mask , CR.KT_Mask, dt_ekr, kt_ekr,
	[type], type_kbk, mask_kbk, dt_kt, oper
from dbo.REPORT_CALC C 
INNER JOIN @t_Col RC on RC.Link_Col = C.Link_Col
INNER JOIN dbo.report_calc_rows CR on CR.Link_calc = C.link
WHERE C.LINK_UP = @iLinkCalcForm

--   
---------------------------------------------------------------------
----- ПОЛУЧАЕМ ВЫБОРКУ ИЗ ТАБЛИЦЫ НАСТРОЕК ----
insert @temp_nastr 
select C.link, C.Link_Col, Code_Row, Calc_Order, [Sign],
	DT.link , KT.link, dt_ekr, kt_ekr,
	[type], type_kbk, mask_kbk, dt_kt
from @temp_nastr1 C
left join dbo.s_accounts DT on DT.Code like case when C.DT_Mask = '%' or rtrim (C.DT_Mask) = '' then 'x' else rtrim (C.DT_Mask) + '%' end
left join dbo.s_accounts KT on	KT.Code like case when C.KT_Mask = '%' or rtrim (C.KT_Mask) = ''then 'x' else rtrim (C.KT_Mask) + '%' end
WHERE C.[sign] in (1,2) and C.[type] = 1 
	AND (rtrim (C.DT_Mask) = '' OR C.DT_Mask = '%' OR rtrim (C.DT_Mask) <> '' AND DT.LINK IS NOT NULL and DT.zabalans = C.DT_Z)
	AND (rtrim (C.KT_Mask) = '' OR C.KT_Mask = '%' OR rtrim (C.KT_Mask) <> '' AND KT.LINK IS NOT NULL and KT.zabalans = C.KT_Z)
--select * from @temp_nastr where link_col = 57755

/*
SELECT S1.CODE AS DT, S2.CODE AS KT
FROM @temp_nastr T
LEFT JOIN S_ACCOUNTS S1 ON S1.LINK = LINK_DT
LEFT JOIN S_ACCOUNTS S2 ON S2.LINK = LINK_KT
*/
/*	AND DT.cSOURCE = KT.cSOURCE
	AND DT.ZABALANS = KT.ZABALANS
*/
-- проводки, которые мы исключаем --
insert @temp_nastr_xor 
select C.link, C.Link_Col, Code_Row, Calc_Order, [Sign], DT.link , KT.link, dt_ekr, kt_ekr, [type], type_kbk, dt_kt
from @temp_nastr1 C
left join dbo.s_accounts DT on DT.Code like case when C.DT_Mask = '%' or rtrim (C.DT_Mask) = '' then 'x' else rtrim (C.DT_Mask) + '%' end
left join dbo.s_accounts KT on	KT.Code like case when C.KT_Mask = '%' or rtrim (C.KT_Mask) = ''then 'x' else rtrim (C.KT_Mask) + '%' end
where C.[sign] = 3 and C.[type] = 1
	AND (rtrim (C.DT_Mask) = '' OR C.DT_Mask = '%' OR rtrim (C.DT_Mask) <> '' AND DT.LINK IS NOT NULL and DT.zabalans = C.DT_Z)
	AND (rtrim (C.KT_Mask) = '' OR C.KT_Mask = '%' OR rtrim (C.KT_Mask) <> '' AND KT.LINK IS NOT NULL and KT.zabalans = C.KT_Z)
 

/*	AND DT.cSOURCE = KT.cSOURCE
	AND DT.ZABALANS = KT.ZABALANS
*/

--select t.* from @temp_nastr t 

/*
select t.* from @temp_nastr t
select t1.* from @temp_nastr_xor t1 -- on t1.link_col = t.link_col
*/
--- Удаление лишних корреспонденций ---
/*
DELETE T1
FROM @temp_nastr T1
INNER JOIN @temp_nastr_xor T2 ON (T2.LINK = T1.LINK
	AND T2.LINK_COL = T1.LINK_COL
	AND T2.CODE_ROW = T1.CODE_ROW
	AND T2.LINK_DT = T1.LINK_DT
	AND T2.LINK_KT = T1.LINK_KT)
*/
-- select * from @temp_nastr 

if @liYear < 2016
	set @iKbkLen = 17
else
	set @iKbkLen = 20

--- Выборка счетов для расчета остатков ---
insert @temp_nastr_rest 
select C.link, C.Link_Col, Code_Row, Calc_Order, [Sign],
	case
		when DT.link is NULL then KT.link
		else DT.link
	end,
	case
		when DT.link is NULL then kt_ekr
		else dt_ekr
	end, [type],
	type_kbk,
	mask_kbk,
	dt_kt,
	oper
from @temp_nastr1 C
left join dbo.s_accounts DT on DT.Code like case when C.DT_Mask = '%' or rtrim (C.DT_Mask) = '' then 'x' else rtrim (C.DT_Mask) + '%' end
left join dbo.s_accounts KT on	KT.Code like case when C.KT_Mask = '%' or rtrim (C.KT_Mask) = ''then 'x' else rtrim (C.KT_Mask) + '%' end
WHERE C.[type] in (2,3) and C.[sign] in (1,2) 
	AND (rtrim (C.DT_Mask) = '' OR C.DT_Mask = '%' OR rtrim (C.DT_Mask) <> '' AND DT.LINK IS NOT NULL and DT.zabalans = C.DT_Z)
	AND (rtrim (C.KT_Mask) = '' OR C.KT_Mask = '%' OR rtrim (C.KT_Mask) <> '' AND KT.LINK IS NOT NULL and KT.zabalans = C.KT_Z)

/*
select S1.CODE, * from @temp_nastr_rest T, S_ACCOUNTS S1 
WHERE S1.LINK = T.LINK_account
*/

--- Счета, которые исключаем для расчета остатков ---
insert @temp_nastr_rest_xor
select C.link, C.Link_Col, Code_Row, Calc_Order, [Sign],
	case
		when DT.link is NULL then KT.link
		else DT.link
	end,
	case
		when DT.link is NULL then kt_ekr
		else dt_ekr
	end,
	[type],
	type_kbk,
	dt_kt
from @temp_nastr1 C
left join dbo.s_accounts DT on DT.Code like case when C.DT_Mask = '%' or rtrim (C.DT_Mask) = '' then 'x' else rtrim (C.DT_Mask) + '%' end
left join dbo.s_accounts KT on	KT.Code like case when C.KT_Mask = '%' or rtrim (C.KT_Mask) = ''then 'x' else rtrim (C.KT_Mask) + '%' end
WHERE C.[type] in (2,3) and C.[sign] = 3 
	AND (rtrim (C.DT_Mask) = '' OR C.DT_Mask = '%' OR rtrim (C.DT_Mask) <> '' AND DT.LINK IS NOT NULL and DT.zabalans = C.DT_Z)
	AND (rtrim (C.KT_Mask) = '' OR C.KT_Mask = '%' OR rtrim (C.KT_Mask) <> '' AND KT.LINK IS NOT NULL and KT.zabalans = C.KT_Z)
--- Удаление лишних корреспонденций ---

----------------------------------------------------------------------
-- РАССЧИТЫВАЕМ
-- CREATE TABLE #tTemp  (KBK varchar(50), Link_Col int, SUMMA FLOAT, Calc_Order int)
---------------- проводки ----------------------------
insert #tTemp (KBK, Link_Col, SUMMA, Calc_Order)
SELECT 
CASE WHEN TMP.Code_Row <> '' THEN TMP.Code_Row
		ELSE
			 dbo.RA_Mask(CASE 
						WHEN CHARINDEX ('#', TMP.Mask_KBK) = 0 THEN ''
						ELSE LEFT (TMP.Mask_KBK, CHARINDEX ('#', TMP.Mask_KBK))
					END 
			+ LEFT(ISNULL(LTRIM(REPLACE(KBK.CODE,'.','')),'') + '00000000000000000000', @iKbkLen)
			+ LEFT(ISNULL(REPLACE(SA.CODE,'.',''),'') + '000000', 6)
--			+ LEFT(ISNULL(REPLACE(CASE TMP.DT_KT when 0 THEN SAD.CODE ELSE SAK.CODE END,'.',''),'') + '000000', 6) 
			+ LEFT(ISNULL(case dt_kt when 0 then DTS.CODE else KTS.CODE END, '000'), 3) 
			+ LEFT(ISNULL(case dt_kt when 0 then DTE.CODE else KTE.CODE END, '000'), 3), TMP.Mask_KBK)
		END,
	TMP.Link_Col,
	SUM(CASE [SIGN] WHEN 1 THEN G2.SUMMA WHEN 2 THEN -G2.SUMMA  ELSE 0 END), 
--CASE [SIGN] WHEN 1 THEN G2.SUMMA WHEN 2 THEN -G2.SUMMA  ELSE 0 END,
	TMP.Calc_Order

--g.*

FROM dbo.G_PROV G
INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = G.LINK)
INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)


LEFT JOIN dbo.G_PROV_AP DT ON (DT.LINK_UP = G2.LINK
	AND DT.DB_KR = 0)
LEFT JOIN dbo.G_PROV_AP KT ON (KT.LINK_UP = G2.LINK
	AND KT.DB_KR = 1)

LEFT JOIN dbo.KOSGU DTS ON (DTS.Link = DT.SGU)
LEFT JOIN dbo.KOSGU DTE ON (DTE.Link = DT.EKR)
LEFT JOIN dbo.KOSGU KTS ON (KTS.Link = KT.SGU)
LEFT JOIN dbo.KOSGU KTE ON (KTE.Link = KT.EKR)

INNER JOIN @TEMP_NASTR TMP ON (TMP.LINK_DT = DT.ACCOUNT OR TMP.LINK_DT IS NULL)
		AND (TMP.LINK_KT = KT.ACCOUNT OR TMP.LINK_KT IS NULL)
	AND (@iForm737 = 0 and dbo.RO_LIKE_LIST(DTS.Code, TMP.DT_EKR) > 0 OR TMP.DT_EKR = '' or @iForm737 = 1)
	AND (@iForm737 = 0 and dbo.RO_LIKE_LIST(KTS.Code, TMP.KT_EKR) > 0 OR TMP.KT_EKR = '' or @iForm737 = 1)
	AND (@iForm737 = 1 and dbo.RO_LIKE_LIST(DTE.Code, TMP.DT_EKR) > 0 OR TMP.DT_EKR = '' or @iForm737 = 0)
	AND (@iForm737 = 1 and dbo.RO_LIKE_LIST(KTE.Code, TMP.KT_EKR) > 0 OR TMP.KT_EKR = '' or @iForm737 = 0)

LEFT JOIN dbo.S_ACCOUNTS SA ON (TMP.DT_KT = 0 AND SA.LINK = DT.ACCOUNT
	OR TMP.DT_KT = 1 AND SA.LINK = KT.ACCOUNT)

LEFT JOIN dbo.KL_KBK KBK ON (TMP.dt_kt = 0 AND KBK.LINK = DT.KBK
		OR TMP.DT_KT = 1 AND KBK.LINK = KT.KBK)
LEFT JOIN @filter_kbk F on KBK.Code LIKE F.kbk + '%' -- добавила Olga 2011.07.19 
WHERE G.DATE_PROV BETWEEN @ldBegin AND @dCALC_DATE
--and tmp.link_col = 57755
	--and tmp.Code_Row = '162'
	AND G.DEP = @iDEP_LINK
	AND (F.kbk IS NOT NULL
		OR isnull(@nabor_filter, '') = '')
	AND (TMP.TYPE_KBK = 0 
		OR (TMP.TYPE_KBK & KBK.[TYPE]) / KBK.[TYPE] = 1)
	AND not exists(select top 1 *
			from @temp_nastr_xor xor
			where xor.link = tmp.link
				and xor.link_dt = dt.account and xor.link_kt = kt.account
				AND (@iForm737 = 0 and dbo.RO_LIKE_LIST(DTS.Code, xor.DT_EKR) > 0 OR xor.DT_EKR = '' or @iForm737 = 1)
				AND (@iForm737 = 0 and dbo.RO_LIKE_LIST(KTS.Code, xor.KT_EKR) > 0 OR xor.KT_EKR = '' or @iForm737 = 1)
				AND (@iForm737 = 1 and dbo.RO_LIKE_LIST(DTE.Code, xor.DT_EKR) > 0 OR xor.DT_EKR = '' or @iForm737 = 0)
				AND (@iForm737 = 1 and dbo.RO_LIKE_LIST(KTE.Code, xor.KT_EKR) > 0 OR xor.KT_EKR = '' or @iForm737 = 0))

GROUP BY case WHEN TMP.Code_Row <> '' THEN TMP.Code_Row
		ELSE
			 dbo.RA_Mask(CASE 
						WHEN CHARINDEX ('#', TMP.Mask_KBK) = 0 THEN ''
						ELSE LEFT (TMP.Mask_KBK, CHARINDEX ('#', TMP.Mask_KBK))
					END 
			+ LEFT(ISNULL(LTRIM(REPLACE(KBK.CODE,'.','')),'') + '00000000000000000000', @iKbkLen)
			+ LEFT(ISNULL(REPLACE(SA.CODE,'.',''),'') + '000000', 6)
			+ LEFT(ISNULL(case dt_kt when 0 then DTS.CODE else KTS.CODE END, '000'), 3) 
			+ LEFT(ISNULL(case dt_kt when 0 then DTE.CODE else KTE.CODE END, '000'), 3), TMP.Mask_KBK)
		END,
	TMP.Link_Col,
	TMP.Calc_Order

----------------- остатки ------------------------------
while exists(select top 1 * from @temp_nastr_rest)
begin
	select top 1 @LC = Link_Col from @temp_nastr_rest

	set @bid = 'calc_col_' + LTRIM(RTRIM(STR(@LC)))

	insert dbo.buffer(ID, Link)
	select @bid, link_account
	from @temp_nastr_rest
	where link_col = @LC

	-- остаток на начало периода
	INSERT #tTemp (KBK, Link_Col, SUMMA, Calc_Order)
	SELECT 
		CASE
			WHEN R.Code_Row <> '' THEN R.Code_Row
			ELSE
			+ dbo.RA_Mask(CASE 
						WHEN CHARINDEX ('#', R.Mask_KBK) = 0 THEN ''
						ELSE LEFT (R.Mask_KBK, CHARINDEX ('#', R.Mask_KBK))
					END 
			+ LEFT(ISNULL(LTRIM(REPLACE(K.CODE,'.','')),'') + '00000000000000000', @iKbkLen)
			+ LEFT(ISNULL(REPLACE(SA.CODE,'.',''),'') + '000000', 6) 
			+ LEFT(ISNULL(S.CODE,'000'), 3) 
			+ LEFT(ISNULL(E.CODE,'000'), 3), R.Mask_KBK)
		END,
		@LC,
		CASE WHEN (SA.S_PASSIVE = 1 and [sign] = 1) OR (SA.S_ACTIVE = 1 and [sign] = 2) then 1 else - 1 end *
			CASE WHEN R.OPER like '%>0%' and case SA.S_PASSIVE when 1 then sum(k_summa - d_summa) else sum(d_summa - k_summa) end > 0
					or R.OPER like '%<0%' and case SA.S_PASSIVE when 1 then sum(k_summa - d_summa) else sum(d_summa - k_summa) end < 0
					or R.OPER = '' then sum(k_summa - d_summa) else 0 end,
		--sum(CASE WHEN (SA.S_PASSIVE = 1 and [sign] = 1) OR (SA.S_ACTIVE = 1 and [sign] = 2) then 1 else - 1 end *
		--	CASE WHEN R.OPER like '%>0%' and case SA.S_PASSIVE when 1 then k_summa - d_summa else d_summa - k_summa end > 0
		--			or R.OPER like '%<0%' and case SA.S_PASSIVE when 1 then k_summa - d_summa else d_summa - k_summa end < 0
		--			or R.OPER = '' then k_summa - d_summa else 0 end),
		R.Calc_Order
	FROM dbo.ARestTableByDateAccounts(@ldBegin, @bid) A
	INNER JOIN @temp_nastr_rest R on R.link_account = A.account and R.Link_Col = @LC and R.[Type] = 2
	LEFT JOIN dbo.KL_KBK K on K.Link = A.KBK
	--		and (R.TYPE_KBK & (case K.[TYPE] when 3 then 4 when 4 then 8 else K.[TYPE] end) > 0)
	LEFT JOIN @filter_kbk F on K.Code LIKE F.kbk + '%' -- добавила Olga 2011.07.19 
	left join dbo.KOSGU S on (S.Link = A.SGU) --and (dbo.RO_LIKE_LIST(S.Code, R.ekr) > 0 or R.ekr = '')
	left join dbo.KOSGU E on E.Link = A.EKR
	left join dbo.S_ACCOUNTS SA on SA.Link = A.ACCOUNT
	where dep_link = @iDEP_LINK
		AND (dbo.RO_LIKE_LIST(S.Code, R.ekr) > 0 or R.ekr = '')
		and not exists(select top 1 * from @temp_nastr_rest_xor R1 where [type] = 2 and R1.link_account = A.account and (dbo.RO_LIKE_LIST(S.Code, R1.ekr) > 0  or R1.ekr = '') and r1.link = r.link)
		AND (R.TYPE_KBK = 0 
			OR (R.TYPE_KBK & K.[TYPE]) / K.[TYPE] = 1)
		AND (F.kbk IS NOT NULL
			OR isnull(@nabor_filter, '') = '')
	GROUP BY 
		CASE
			WHEN R.Code_Row <> '' THEN R.Code_Row
			ELSE
			+ dbo.RA_Mask(CASE 
						WHEN CHARINDEX ('#', R.Mask_KBK) = 0 THEN ''
						ELSE LEFT (R.Mask_KBK, CHARINDEX ('#', R.Mask_KBK))
					END 
			+ LEFT(ISNULL(LTRIM(REPLACE(K.CODE,'.','')),'') + '00000000000000000', @iKbkLen)
			+ LEFT(ISNULL(REPLACE(SA.CODE,'.',''),'') + '000000', 6) 
			+ LEFT(ISNULL(S.CODE,'000'), 3) 
			+ LEFT(ISNULL(E.CODE,'000'), 3), R.Mask_KBK)
		END,
		R.Calc_Order,
		R.OPER, SA.S_PASSIVE, SA.S_ACTIVE, [sign],
		dbo.RA_Mask(CASE 
						WHEN CHARINDEX ('#', R.Mask_KBK) = 0 THEN ''
						ELSE LEFT (R.Mask_KBK, CHARINDEX ('#', R.Mask_KBK))
					END 
			+ LEFT(ISNULL(LTRIM(REPLACE(K.CODE,'.','')),'') + '00000000000000000', @iKbkLen)
			+ LEFT(ISNULL(REPLACE(SA.CODE,'.',''),'') + '000000', 6) 
			+ LEFT(ISNULL(S.CODE,'000'), 3) 
			+ LEFT(ISNULL(E.CODE,'000'), 3), R.Mask_KBK)

	-- остаток на конец периода
	insert #tTemp(KBK, Link_Col, SUMMA, Calc_Order)
	select 
		CASE
			WHEN R.Code_Row <> '' THEN R.Code_Row
			ELSE
			+ dbo.RA_Mask(CASE 
						WHEN CHARINDEX ('#', R.Mask_KBK) = 0 THEN ''
						ELSE LEFT (R.Mask_KBK, CHARINDEX ('#', R.Mask_KBK))
					END 
			+ LEFT(ISNULL(LTRIM(REPLACE(K.CODE,'.','')),'') + '00000000000000000', @iKbkLen)
			+ LEFT(ISNULL(REPLACE(SA.CODE,'.',''),'') + '000000', 6) 
			+ LEFT(ISNULL(S.CODE,'000'), 3) 
			+ LEFT(ISNULL(E.CODE,'000'), 3), R.Mask_KBK)
		END,
		@LC,
			CASE WHEN (SA.S_PASSIVE = 1 and [sign] = 1) OR (SA.S_ACTIVE = 1 and [sign] = 2) then 1 else - 1 end *
			CASE WHEN R.OPER like '%>0%' and case SA.S_PASSIVE when 1 then sum(k_summa - d_summa) else sum(d_summa - k_summa) end > 0
					or R.OPER like '%<0%' and case SA.S_PASSIVE when 1 then sum(k_summa - d_summa) else sum(d_summa - k_summa) end < 0
					or R.OPER = '' then sum(k_summa - d_summa) else 0 end,
			--sum(CASE WHEN (SA.S_PASSIVE = 1 and [sign] = 1) OR (SA.S_ACTIVE = 1 and [sign] = 2) then 1 else - 1 end *
			--CASE WHEN R.OPER like '%>0%' and case SA.S_PASSIVE when 1 then k_summa - d_summa else d_summa - k_summa end > 0
			--		or R.OPER like '%<0%' and case SA.S_PASSIVE when 1 then k_summa - d_summa else d_summa - k_summa end < 0
			--		or R.OPER = '' then k_summa - d_summa else 0 end),
		R.Calc_Order
	from dbo.ARestTableByDateAccounts(@ldEnd, @bid) A
	INNER JOIN @temp_nastr_rest R on R.link_account = account and R.Link_Col = @LC and R.[Type] = 3
	LEFT JOIN dbo.KL_KBK K on K.Link = A.KBK
	--		and (R.TYPE_KBK & (case K.[TYPE] when 3 then 4 when 4 then 8 else K.[TYPE] end) > 0)
	LEFT JOIN @filter_kbk F on K.Code LIKE F.kbk + '%' -- добавила Olga 2011.07.19  
	left join dbo.KOSGU S on (S.Link = A.SGU) --and (dbo.RO_LIKE_LIST(S.Code, R.ekr) > 0 or R.ekr = '')
	left join dbo.KOSGU E on E.Link = A.EKR
	left join dbo.S_ACCOUNTS SA on SA.Link = A.ACCOUNT
	where dep_link = @iDEP_LINK
		AND (dbo.RO_LIKE_LIST(S.Code, R.ekr) > 0 or R.ekr = '')
			and not exists(select top 1 * from @temp_nastr_rest_xor R1 where [type] = 2 and R1.link_account = A.account and (dbo.RO_LIKE_LIST(S.Code, R1.ekr) > 0  or R1.ekr = '') and r1.link = r.link)
		AND (R.TYPE_KBK = 0 
			OR (R.TYPE_KBK & K.[TYPE]) / K.[TYPE] = 1)
		AND (F.kbk IS NOT NULL
			OR isnull(@nabor_filter, '') = '')

/*		join @temp_nastr_rest R on R.link_account = account and R.Link_Col = @LC and R.[Type] = 3
		left join dbo.KL_KBK K on K.Link = A.KBK and (R.TYPE_KBK & (case K.[TYPE] when 3 then 4 when 4 then 8 else K.[TYPE] end)>0)
		LEFT JOIN @filter_kbk F on F.kbk = K.Code 
		left join dbo.KOSGU S on (S.Link = A.EKR)  -- and (dbo.RO_LIKE_LIST(S.Code, R.ekr) > 0 or R.ekr = '')
		left join dbo.KOSGU E on E.Link = A.EKR
		left join dbo.S_ACCOUNTS SA on SA.Link = A.ACCOUNT
	where dep_link = @iDEP_LINK
		and not exists(select top 1 * from @temp_nastr_rest_xor R1 where [type] = 2 and R1.link_account = A.account and (dbo.RO_LIKE_LIST(S.Code, R1.ekr) > 0 or R1.ekr =''))
		AND (dbo.RO_LIKE_LIST(S.Code, R.ekr) > 0 or R.ekr = '')
		AND (R.TYPE_KBK = 0 
			OR (R.TYPE_KBK & K.[TYPE]) / K.[TYPE] = 1)
		AND (F.kbk IS NOT NULL
			OR isnull(@nabor_filter, '') = '')
*/	group by 
		CASE
			WHEN R.Code_Row <> '' THEN R.Code_Row
			ELSE
			+ dbo.RA_Mask(CASE 
						WHEN CHARINDEX ('#', R.Mask_KBK) = 0 THEN ''
						ELSE LEFT (R.Mask_KBK, CHARINDEX ('#', R.Mask_KBK))
					END 
			+ LEFT(ISNULL(LTRIM(REPLACE(K.CODE,'.','')),'') + '00000000000000000', @iKbkLen)
			+ LEFT(ISNULL(REPLACE(SA.CODE,'.',''),'') + '000000', 6) 
			+ LEFT(ISNULL(S.CODE,'000'), 3)
			+ LEFT(ISNULL(E.CODE,'000'), 3), R.Mask_KBK)
		END,
		/*R.Code_Row, */R.Calc_Order,
		R.OPER, SA.S_PASSIVE, SA.S_ACTIVE, [sign],
		dbo.RA_Mask(CASE 
						WHEN CHARINDEX ('#', R.Mask_KBK) = 0 THEN ''
						ELSE LEFT (R.Mask_KBK, CHARINDEX ('#', R.Mask_KBK))
					END 
			+ LEFT(ISNULL(LTRIM(REPLACE(K.CODE,'.','')),'') + '00000000000000000', @iKbkLen)
			+ LEFT(ISNULL(REPLACE(SA.CODE,'.',''),'') + '000000', 6) 
			+ LEFT(ISNULL(S.CODE,'000'), 3) 
			+ LEFT(ISNULL(E.CODE,'000'), 3), R.Mask_KBK)

-- select * from #tTemp
	
	delete @temp_nastr_rest where Link_Col = @LC

	exec dbo.BufferClear @bid	
end

 --select * from #tTemp
---------------------------------------------------------------------
-- СОХРАНЯЕМ ДАННЫЕ В ОТЧЕТ
-- динамическая таблица
delete T -- удаляем ячейки с меньшим приоритетом
from #tTemp T
where exists(select top 1 * from #tTemp T1 where T.Link_Col = T1.Link_Col and T.KBK = T1.KBK and T.Calc_Order < T1.Calc_Order)

delete #tTemp where KBK <> @varKScCodeRow and isnull(@varKScCodeRow, '') <> ''
	OR SUMMA = 0

UPDATE #tTemp SET KBK = REPLACE (KBK, '#', '')

if isnull(@varKScCodeRow, '') <> ''
	select @varKSfValue = sum(SUMMA)
	from #tTemp

update dbo.report_dinamics
set float_val = SUMMA
from (select KBK, Link_Col, sum(SUMMA) as SUMMA from #tTemp group by KBK, Link_Col) T join report_coloumns RC on T.Link_Col = RC.Link_Col
	join report_tables RT on RC.Link_Table = RT.Link_Table
where Link_SF = @varKSiLSF and T.Link_Col = report_dinamics.Link_Col and Code_Row = KBK and RT.Val_Type = 1

insert dbo.report_dinamics(Link_SF, Link_Col, Code_Row, Float_Val, Str_Val)
select @varKSiLSF, T.Link_Col, KBK, sum(SUMMA), ''
from #tTemp T join report_coloumns RC on T.Link_Col = RC.Link_Col
	join report_tables RT on RC.Link_Table = RT.Link_Table and RT.Val_Type = 1
where not exists(select top 1 * from dbo.report_dinamics RD where RD.Link_SF = @varKSiLSF and RD.Link_Col = T.Link_Col and RD.Code_Row = T.KBK)
group by T.Link_Col, KBK

-- статическая таблица
update S
set SUMMA = T.SUMMA
-- select *
from dbo.report_summa S
join dbo.i_report_rows RR on S.Link_Row = RR.Link_Row and Link_Saved_Form = @varKSiLSF
join (select KBK, Link_Col, sum(SUMMA) as SUMMA from #tTemp group by KBK, Link_Col) T on T.Link_Col = S.Link_Col and T.KBK = RR.Code

insert dbo.report_summa(Link_Saved_Form, Link_Col, Link_Row, Summa)
select @varKSiLSF, T.Link_Col, RR.Link_Row, sum(SUMMA)
from #tTemp T
join dbo.report_coloumns RC on T.Link_Col = RC.Link_Col
join dbo.i_report_rows RR on RC.Link_Table = RR.Link_Table and T.KBK = RR.Code
where not exists(select top 1 * from dbo.report_summa S where S.Link_Saved_Form = @varKSiLSF and S.Link_Col = T.Link_Col and S.Link_Row = RR.Link_Row)
group by T.Link_Col, RR.Link_Row

-- SELECT * FROM #tTemp where link_col = 57755 order by kbk, link_col



drop table #tTemp

return 0


GO


GRANT EXECUTE ON dbo.[RO_CALC_NASTR] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINTDOC_JURNAL_BO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINTDOC_JURNAL_BO]

GO


CREATE  PROCEDURE dbo.BK_PRINTDOC_JURNAL_BO
	@td_DATE_START	DATETIME,
	@td_DATE_END	DATETIME
AS
BEGIN
	DECLARE @DEP_LINK	INT,
		@DEP_NAME	VARCHAR (254),
		@DEP_OKPO	VARCHAR (20),

		@dDATE_START	DATETIME,
		@dDATE_STOP	DATETIME
	
	SELECT @dDATE_START = BEGINDATE,
		@dDATE_STOP = ENDDATE
	FROM USER_INFO

	SELECT @DEP_LINK = LINK,
		@DEP_NAME = NAME,
		@DEP_OKPO = OKPO
	FROM DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SET @dDATE_START = ISNULL (@td_DATE_START, @dDATE_START)
	SET @dDATE_STOP = ISNULL (@td_DATE_END, @dDATE_STOP)

	SELECT T1.DEP AS DEP_LINK,
		@DEP_NAME AS DEP_NAME,
		@DEP_OKPO AS DEP_OKPO,
		CONVERT (VARCHAR (10), @dDATE_START, 104) AS cDATE_B, 
		CONVERT (VARCHAR (10), @dDATE_STOP, 104) AS cDATE_E,
		CONVERT (VARCHAR (10), T1.DATE_AP1, 104) AS cDATE_DOC,
		CODE_AP1 AS DOC_NUM,
		NAME_AP1 AS DOC_NAME,
		SA.LINK,
		dbo.BK_GetAcctFullCode1 (SA.LINK, T1.KBK_LINK, T1.SGU_LINK, 1, 1, @td_DATE_END) AS ACCT_CODE,
		T1.SUMMA,
		ISNULL (G2.[NAME], '') AS COMENT
	FROM BD_JURN_BO T1
	INNER JOIN S_ACCOUNTS SA ON (cSinth = '502'
			AND cAnalit = '11'
			AND cSource = CONVERT(VARCHAR(1), T1.IST_FIN - 1)
			AND ISNULL(cUSER,'') = '')
	LEFT OUTER JOIN G_PROV2 G2 ON (T1.PROV_LINK = G2.LINK)
	WHERE T1.DATE_AP1 BETWEEN @dDATE_START AND @dDATE_STOP
		AND T1.DEP = @DEP_LINK
	ORDER BY T1.DATE_AP1, T1.NAME_AP1
END


GO


GRANT EXECUTE ON dbo.[BK_PRINTDOC_JURNAL_BO] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SYNC_JOURNAL_SELECT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SYNC_JOURNAL_SELECT]

GO

CREATE PROCEDURE [dbo].SA_SYNC_JOURNAL_SELECT  
			@nLink INT 
			
AS


SELECT * 
FROM dbo.SYNCH_SMETA_SMART_JOURNAL  
  WHERE link = @nLink
			


RETURN 0




GO


GRANT EXECUTE ON dbo.[SA_SYNC_JOURNAL_SELECT] TO PUBLIC

GO



GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_PRINTREP_JO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_PRINTREP_JO]

GO




CREATE PROCEDURE dbo.BK_PRINTREP_JO
	@intLINK_JO	INT,
	@dDATE_START	DATETIME,
	@dDATE_END	DATETIME,
--	@intUSE_FILTERS	INT,
	@strBUFFER_NAME_ACCOUNT		VARCHAR (30),
	@strBUFFER_NAME_ACTIVE		VARCHAR (30),
	@strBUFFER_NAME_SEPARATOR	VARCHAR (30),
	@strBUFFER_NAME_KL_KBK		VARCHAR (30),
	@intPRN_KBK			tinyint,
	@intPRN_SGU			tinyint,
	@intPRN_KBK_REST		tinyint,
	@intNO_USER_ACCT		tinyint,
	@intPRN_SVOD_ZB 		tinyint,
	@intINIT_SEPARATOR		tinyint,
	@cSOURCE			CHAR (1),
	@intGRP_DATE			tinyint,
	@intTypeOb_GK			tinyint = 0,
	@intGrp_Prov			tinyint
AS
BEGIN
	/* --- Настройки журнала операций --- */
	DECLARE @strActivities_Name	VARCHAR (30),
		@strSeparator_Name	VARCHAR (30),
		@strJO_NUMBER		VARCHAR (30),
		@strJO_Name		VARCHAR (100),
		@strTXT_TOTAL_DATE	VARCHAR (100),
		@strSEPARATOR_TITLE	VARCHAR (30),
		@strDATE_START		VARCHAR (10),
		@strDATE_END		VARCHAR (10),
		@dDATE_NEXT		DATETIME, 
		@strDATE_NEXT		VARCHAR (10),

		@intORG_LINK		INT,
		@strORG_OKPO		VARCHAR (30),
		@strORG_NAME		VARCHAR (254),
		@UCHR_NAME		VARCHAR (254),	-- Учредитель
		@BUDG_NAME		VARCHAR (254),	-- Наименование бюджета

		@intFACTOR_TOTAL	TINYINT,
		@intACCOUNT_TOTAL	TINYINT,
		@TDIN_SUM		NUMERIC (28,4),
		@TKIN_SUM		NUMERIC (28,4),
		@TDOUT_SUM		NUMERIC (28,4),
		@TKOUT_SUM		NUMERIC (28,4),
		@CUR_DATE_PROV		DATETIME,
		@DATE_PROV_NEXT		DATETIME,
		@DIN_SUM_DAY		NUMERIC (28,4),
		@KIN_SUM_DAY		NUMERIC (28,4),
		@DOUT_SUM_DAY		NUMERIC (28,4),
		@KOUT_SUM_DAY		NUMERIC (28,4),
		@intROWCOUNT		INT,
		@intTOTAL_MODE		TINYINT

	SELECT	@strActivities_Name = ACTIVITIES,
		@strSeparator_Name = DELIMITER,
		@strJO_NUMBER	= [CODE],
		@strJO_Name	= [NAME],
		@strTXT_TOTAL_DATE = ISNULL (TOTAL_DATE, ''),
		@intFACTOR_TOTAL = CONVERT (TINYINT, FACT_TOTAL),
		@intACCOUNT_TOTAL = CONVERT (TINYINT, ACCT_TOTAL),
		@intTOTAL_MODE = TOTAL_MODE
	FROM dbo.JOURNAL_OPERATION	
	WHERE LINK = @intLINK_JO


	IF @intGRP_DATE = 1 OR @intGRP_DATE = 2
	BEGIN
		SET @intFACTOR_TOTAL = 0
		SET @intACCOUNT_TOTAL = 0
	END
	
	IF @intFACTOR_TOTAL = 0 OR @intACCOUNT_TOTAL = 0
		SET @intTOTAL_MODE = 0

	IF @intFACTOR_TOTAL = 1 OR @intACCOUNT_TOTAL = 1
		SET @intPRN_KBK_REST = 0

	/* --- ФИЛЬТРЫ --- */
	/* --- Показатель --- */
	DECLARE @TAB_ACTIVITIES	TABLE	(LINK_AP INT, AP_CODE VARCHAR (30), AP_NAME VARCHAR (254))
	IF LEN (@strBUFFER_NAME_ACTIVE) = 0
		INSERT INTO @TAB_ACTIVITIES
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP (@strActivities_Name)
	ELSE
		INSERT INTO @TAB_ACTIVITIES
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP (@strActivities_Name) T1
		INNER JOIN dbo.BufferGetTableByID (@strBUFFER_NAME_ACTIVE) T2 ON (T2.LINK = T1.LINK_AP)

	/* --- Разделитель --- */
	DECLARE @TAB_SEPARATOR TABLE	(LINK_SEP INT, SEP_CODE VARCHAR (30), SEP_NAME VARCHAR (254))
	IF LEN (@strBUFFER_NAME_SEPARATOR) = 0
		INSERT INTO @TAB_SEPARATOR
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP (@strSeparator_Name)
	ELSE
		INSERT INTO @TAB_SEPARATOR
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP (@strSeparator_Name) T1
		INNER JOIN dbo.BufferGetTableByID (@strBUFFER_NAME_SEPARATOR) T2 ON (T2.LINK = T1.LINK_AP)

	 --- Счета --- 
	DECLARE @TAB_ACCOUNTS TABLE	(ACCOUNT INT)
	IF LEN (@strBUFFER_NAME_ACCOUNT)  = 0
		INSERT INTO @TAB_ACCOUNTS
		SELECT SA.LINK
		FROM dbo.BK_AccountsTableByJO (@intLINK_JO) T1
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
		WHERE @cSOURCE = '' OR SA.cSOURCE = @cSOURCE
	ELSE
		INSERT INTO @TAB_ACCOUNTS
		SELECT LINK
		FROM dbo.BufferGetTableByID (@strBUFFER_NAME_ACCOUNT)

	INSERT INTO @TAB_ACCOUNTS 
	SELECT SA.LINK_SELF
	FROM @TAB_ACCOUNTS T1
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	WHERE SA.cUSER <> ''
		AND NOT EXISTS (SELECT * FROM @TAB_ACCOUNTS T2 WHERE T2.ACCOUNT = SA.LINK_SELF)
	GROUP BY SA.LINK_SELF

	/* --- КБК --- */
	DECLARE @TAB_KBK TABLE	(LINK_KBK INT)
	IF LEN (@strBUFFER_NAME_KL_KBK)  = 0
		INSERT INTO @TAB_KBK
		SELECT LINK_AP
		FROM dbo.BK_GetTableDictionByAP ('KBK')
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK
		FROM dbo.BufferGetTableByID (@strBUFFER_NAME_KL_KBK)

	/* -- Параметры организации -- */
	SET @intPRN_SVOD_ZB = ISNULL (@intPRN_SVOD_ZB, 0)
	SET @intORG_LINK = dbo.BK_GetDepZB ()

	IF @intPRN_SVOD_ZB = 1 OR @intORG_LINK IS NULL
		SET @intORG_LINK = dbo.GetOwnDepLink()

	SELECT @intORG_LINK = D.LINK,
		@strORG_OKPO = D.[OKPO],
		@strORG_NAME = dbo.BK_GET_PRINT_DEP_NAME (D.LINK),
		@UCHR_NAME = dbo.BK_GET_PRINT_DEP_NAME (D.UCHR_LINK),
		@BUDG_NAME = B.[NAME]
	FROM dbo.DEPARTMENTS D
	LEFT JOIN dbo.KL_ADMIN_BS V ON (V.LINK = D.VED_LINK)
	LEFT JOIN dbo.KL_BUDG_TYPE B ON (B.LINK = V.Link_Budg)
	WHERE D.LINK = @intORG_LINK

	SELECT @UCHR_NAME = ISNULL (@UCHR_NAME, ''),
		@BUDG_NAME = ISNULL (@BUDG_NAME, '')

	IF @intPRN_SVOD_ZB = 1
		SET @strORG_NAME = RTRIM (@strORG_NAME) + ' (ЦБ)'

	/* --- ОБОРОТЫ ЗА ПЕРИОД --- */
	DECLARE @TAB_OBOROT TABLE
		(REC_NO INT IDENTITY,
		ORDERS	INT,		
		NUMBER VARCHAR (50),
		[DATE]	DATETIME,
		DATE_PROV DATETIME,
		DATE_SORT DATETIME,
		ACCOUNT INT,
		DT int,
		KT int,
		DIN_SUM NUMERIC (28,4),
		KIN_SUM NUMERIC (28,4),
		DT_SUMMA NUMERIC (28,4),
		KT_SUMMA NUMERIC (28,4),
		DT_SUM1 NUMERIC (28,4),
		KT_SUM1 NUMERIC (28,4),
		DOUT_SUM NUMERIC (28,4),
		KOUT_SUM NUMERIC (28,4),
		SUMMA NUMERIC (28,4),
		SUMMA_OB NUMERIC (28,4),
		OBJECT INT,
		NAME_OPER VARCHAR(254),
		LEDGER_JOURNAL INT,
		AP INT,
		SEP INT,
		KBK_REST INT,
		KBK1 INT,
		KBK2 INT,
		SGU1 INT,
		SGU2 INT,
		INDATE	DATETIME,
		ADD_REC TINYINT,
		DOC_CODE	VARCHAR (30),	
		LINK_DOC	INT,
		LINK_G2		INT
		)

	IF LEN (@strBUFFER_NAME_ACCOUNT)  = 0
		INSERT INTO @TAB_OBOROT
		SELECT 1, NUMBER, 
			DATE,
			DATE_PROV,
			DATE_SORT,
			CASE
				WHEN ISNULL (SA1.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (SA1.LINK_SELF, SA1.LINK)
				ELSE SA1.LINK
			END,
			CASE
				WHEN ISNULL (D_SA.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (D_SA.LINK_SELF, DT)
				ELSE DT
			END,
			CASE
				WHEN ISNULL (K_SA.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (K_SA.LINK_SELF, KT)
				ELSE KT
			END,
			0, 0,	/* --- ВХОДЯЩИЕ ОСТАТКИ --- */
			CASE
				WHEN (JO1 = @intLINK_JO AND JO2 = @intLINK_JO 
					AND D_SA.S_ACTIVE = 1 AND K_SA.S_ACTIVE = 1) THEN 0
				WHEN (JO1 = @intLINK_JO AND D_SA.S_ACTIVE = 1) THEN SUMMA
				WHEN (JO2 = @intLINK_JO AND K_SA.S_ACTIVE = 1) THEN -SUMMA 
				ELSE 0
			END,
			CASE
				WHEN (JO1 = @intLINK_JO AND JO2 = @intLINK_JO 
					AND D_SA.S_PASSIVE = 1 AND K_SA.S_PASSIVE = 1) THEN 0
				WHEN (JO2 = @intLINK_JO AND K_SA.S_PASSIVE = 1) THEN SUMMA
				WHEN (JO1 = @intLINK_JO AND D_SA.S_PASSIVE = 1) THEN -SUMMA 
				ELSE 0
			END,
			CASE
				WHEN JO1 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			CASE
				WHEN JO2 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			0, 0,	/* --- ИСХОДЯЩИЕ ОСТАТКИ --- */
			SUMMA,
			CASE
				WHEN DT = KT THEN 0
				WHEN (ACCOUNT = KT AND K_SA.S_ACTIVE = 1)
					OR (ACCOUNT = DT AND D_SA.S_PASSIVE = 1) THEN -SUMMA
				ELSE SUMMA
			END,
			OBJECT,
			NAME_OPER,
			LEDGER_JOURNAL,
			AP = CASE
					WHEN JO1 = @intLINK_JO THEN COALESCE (AP_DB, AP_KT, 0) 
					WHEN JO2 = @intLINK_JO THEN COALESCE (AP_KT, AP_DB, 0) 
					ELSE COALESCE (AP_DB, AP_KT, 0) 
				END,
			SEP = CASE
					WHEN @intINIT_SEPARATOR = 1 THEN
						CASE
							WHEN JO1 = @intLINK_JO THEN COALESCE (SEP_DB, SEP_KT, 0) 
							WHEN JO2 = @intLINK_JO THEN COALESCE (SEP_KT, SEP_DB, 0) 
							ELSE COALESCE (SEP_DB, SEP_KT, 0) 
						END
					ELSE 0
			END,
			CASE
				WHEN JO1 = @intLINK_JO AND @intPRN_KBK = 1 THEN ISNULL(KBK1, 0)
				WHEN JO2 = @intLINK_JO AND @intPRN_KBK = 1 THEN ISNULL(KBK2, 0)
				ELSE 0
			END,
			ISNULL(KBK1, 0) AS KBK1, 
			ISNULL(KBK2, 0) AS KBK2,
			ISNULL(SGU1, 0) AS SGU1, 
			ISNULL(SGU2, 0) AS SGU2,
			CASE
				WHEN JO1 = @intLINK_JO THEN COALESCE (INDATE1, INDATE2)
				WHEN JO2 = @intLINK_JO THEN COALESCE (INDATE2, INDATE1)
				ELSE COALESCE (INDATE1, INDATE2)
			END,
			T1.ADD_REC,
			T1.DOC_CODE,
			T1.LINK_DOC,
			T1.LINK_G2
		FROM dbo.BK_GetTableOborotForJOByPeriod (@dDATE_START, @dDATE_END, DEFAULT, @intLINK_JO, DEFAULT, @intGRP_DATE) T1
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA1 ON (SA1.LINK = ACCOUNT)
		LEFT OUTER JOIN dbo.S_ACCOUNTS D_SA ON (D_SA.LINK = DT)
		LEFT OUTER JOIN dbo.S_ACCOUNTS K_SA ON (K_SA.LINK = KT)
		WHERE (@intPRN_SVOD_ZB = 1 OR DEP_LINK = @intORG_LINK)
			AND (@cSOURCE = ''
				OR (@cSOURCE <> '' AND (D_SA.cSOURCE = @cSOURCE OR K_SA.cSOURCE = @cSOURCE)))
			AND (ISNULL (KBK1, 0) IN (SELECT LINK_KBK FROM @TAB_KBK)
				OR ISNULL (KBK2, 0) IN (SELECT LINK_KBK FROM @TAB_KBK))
	ELSE
		INSERT INTO @TAB_OBOROT
		SELECT 1, NUMBER, 
			DATE, 
			DATE_PROV,
			DATE_SORT,
			CASE
				WHEN ISNULL (SA1.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (SA1.LINK_SELF, SA1.LINK)
				ELSE SA1.LINK
			END,
			CASE
				WHEN ISNULL (D_SA.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (D_SA.LINK_SELF, DT)
				ELSE DT
			END,
			CASE
				WHEN ISNULL (K_SA.cUSER, '') <> '' AND @intNO_USER_ACCT = 1 THEN ISNULL (K_SA.LINK_SELF, KT)
				ELSE KT
			END,
			0, 0,	/* --- ВХОДЯЩИЕ ОСТАТКИ --- */
			CASE
				WHEN JO1 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			CASE
				WHEN JO2 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			CASE
				WHEN JO1 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			CASE
				WHEN JO2 = @intLINK_JO THEN SUMMA
				ELSE 0
			END,
			0, 0,	/* --- ИСХОДЯЩИЕ ОСТАТКИ --- */
			SUMMA, 
			CASE
				WHEN DT = KT THEN 0
				WHEN (ACCOUNT = KT AND K_SA.S_ACTIVE = 1)
					OR (ACCOUNT = DT AND D_SA.S_PASSIVE = 1) THEN -SUMMA
				ELSE SUMMA
			END,
			OBJECT,
			NAME_OPER,
			LEDGER_JOURNAL,
			AP = CASE
					WHEN JO1 = @intLINK_JO THEN COALESCE (AP_DB, AP_KT, 0) 
					WHEN JO2 = @intLINK_JO THEN COALESCE (AP_KT, AP_DB, 0) 
					ELSE COALESCE (AP_DB, AP_KT, 0) 
				END,
			SEP = CASE
					WHEN @intINIT_SEPARATOR = 1 THEN
						CASE
							WHEN JO1 = @intLINK_JO THEN COALESCE (SEP_DB, SEP_KT, 0) 
							WHEN JO2 = @intLINK_JO THEN COALESCE (SEP_KT, SEP_DB, 0) 
							ELSE COALESCE (SEP_DB, SEP_KT, 0) 
						END
					ELSE 0
			END,
			CASE
				WHEN JO1 = @intLINK_JO  AND @intPRN_KBK = 1 THEN ISNULL(KBK1, 0)
				WHEN JO2 = @intLINK_JO  AND @intPRN_KBK = 1 THEN ISNULL(KBK2, 0)
				ELSE 0
			END,
			ISNULL(KBK1, 0) AS KBK1, 
			ISNULL(KBK2, 0) AS KBK2,
			ISNULL(SGU1, 0) AS SGU1, 
			ISNULL(SGU2, 0) AS SGU2,
			CASE
				WHEN JO1 = @intLINK_JO THEN COALESCE (INDATE1, INDATE2)
				WHEN JO2 = @intLINK_JO THEN COALESCE (INDATE2, INDATE1)
				ELSE COALESCE (INDATE1, INDATE2)
			END,
			T1.ADD_REC,
			T1.DOC_CODE,
			T1.LINK_DOC,
			T1.LINK_G2
		FROM dbo.BK_GetTableOborotForJOByPeriod (@dDATE_START, @dDATE_END, DEFAULT, @intLINK_JO, DEFAULT, @intGRP_DATE) T1
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA1 ON (SA1.LINK = T1.ACCOUNT)
		LEFT OUTER JOIN dbo.S_ACCOUNTS D_SA ON (D_SA.LINK = T1.DT)
		LEFT OUTER JOIN dbo.S_ACCOUNTS K_SA ON (K_SA.LINK = T1.KT)
		WHERE (@intPRN_SVOD_ZB = 1 OR DEP_LINK = @intORG_LINK)
			AND (T1.DT IN (SELECT LINK FROM dbo.BufferGetTableByID (@strBUFFER_NAME_ACCOUNT))
				OR T1.KT IN (SELECT LINK FROM dbo.BufferGetTableByID (@strBUFFER_NAME_ACCOUNT)))
			AND (ISNULL (KBK1, 0) IN (SELECT LINK_KBK FROM @TAB_KBK)
				OR ISNULL (KBK2, 0) IN (SELECT LINK_KBK FROM @TAB_KBK))

	/* --- ОБОРОТЫ В ГЛАВНУЮ КНИГУ --- */
	DECLARE @TAB_OBOROT_GK TABLE (DT INT, KBK1 INT, SGU1 INT,
			KT INT, KBK2 INT, SGU2 INT,
			SUMMA NUMERIC (28,4))

	IF ISNULL (@intTypeOb_GK, 0) = 0
	BEGIN	--- Группировка оборотов для ГК счетам ---
		INSERT INTO @TAB_OBOROT_GK
		SELECT DT, KBK1, SGU1,
			0, 0, 0,
			D_SUM
		FROM (SELECT D.DT,
			CASE 
				WHEN @intPRN_KBK = 1 THEN D.KBK1
				ELSE 0
			END	AS KBK1,
			CASE 
				WHEN @intPRN_SGU = 1 THEN D.SGU1
				ELSE 0
			END	AS SGU1,
			SUM (D.SUMMA) AS D_SUM
			FROM @TAB_OBOROT D
			INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = D.AP)
			INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = D.SEP)
			WHERE D.LEDGER_JOURNAL = @intLINK_JO
				AND D.ADD_REC = 0
			GROUP BY D.DT,
				CASE 
					WHEN @intPRN_KBK = 1 THEN D.KBK1
					ELSE 0
				END,
				CASE 
					WHEN @intPRN_SGU = 1 THEN D.SGU1
					ELSE 0
				END
				) DT
		UNION ALL
		SELECT 0, 0, 0,
			KT, KBK2, SGU2,
			K_SUM
		FROM (SELECT K.KT,
			CASE 
				WHEN @intPRN_KBK = 1 THEN K.KBK2
				ELSE 0
			END	AS KBK2,
			CASE 
				WHEN @intPRN_SGU = 1 THEN K.SGU2
				ELSE 0
			END	AS SGU2,
			SUM (K.SUMMA) AS K_SUM
			FROM @TAB_OBOROT K
			INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = K.AP)
			INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = K.SEP)
			WHERE K.LEDGER_JOURNAL = @intLINK_JO
				AND K.ADD_REC = 0
			GROUP BY K.KT,
				CASE 
					WHEN @intPRN_KBK = 1 THEN K.KBK2
					ELSE 0
				END,
				CASE 
					WHEN @intPRN_SGU = 1 THEN K.SGU2
					ELSE 0
				END
				) KT
		
		SET @intROWCOUNT = @@ROWCOUNT
	END
	ELSE		
	BEGIN		--- Группировка оборотов для ГК проводкам ---
		INSERT INTO @TAB_OBOROT_GK
		SELECT DT, KBK1, SGU1,
			KT, KBK2, SGU2,
			SUM_GK
		FROM (SELECT OB.DT,
			CASE 
				WHEN @intPRN_KBK = 1 THEN OB.KBK1
				ELSE 0
			END	AS KBK1,
			CASE 
				WHEN @intPRN_SGU = 1 THEN OB.SGU1
				ELSE 0
			END	AS SGU1,
			OB.KT,
			CASE 
				WHEN @intPRN_KBK = 1 THEN OB.KBK2
				ELSE 0
			END	AS KBK2,
			CASE 
				WHEN @intPRN_SGU = 1 THEN OB.SGU2
				ELSE 0
			END	AS SGU2,
			SUM (OB.SUMMA) AS SUM_GK
			FROM @TAB_OBOROT OB
			INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = OB.AP)
			INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = OB.SEP)
			WHERE OB.LEDGER_JOURNAL = @intLINK_JO
				AND OB.ADD_REC = 0
			GROUP BY OB.DT,
				CASE 
					WHEN @intPRN_KBK = 1 THEN OB.KBK1
					ELSE 0
				END,
				CASE 
					WHEN @intPRN_SGU = 1 THEN OB.SGU1
					ELSE 0
				END,
				OB.KT,
				CASE 
					WHEN @intPRN_KBK = 1 THEN OB.KBK2
					ELSE 0
				END,
				CASE 
					WHEN @intPRN_SGU = 1 THEN OB.SGU2
					ELSE 0
				END
				) GK
		
		SET @intROWCOUNT = @@ROWCOUNT
	END

	IF ISNULL (@intROWCOUNT, 0) = 0
		INSERT INTO @TAB_OBOROT_GK VALUES (0, 0, 0, 0, 0, 0, 0)

	/* --- ВЫЧИСЛЯЕМ ОСТАТКИ --- */
	--- Таблица входящих остатков ---
	DECLARE @BEGIN_REST TABLE (ACCOUNT INT, AP INT, SEP INT, KBK INT, --INDATE DATETIME, 
			D_SUMMA NUMERIC (28,4), K_SUMMA NUMERIC (28,4))
	--- Таблица исходящих остатков ---
	DECLARE @END_REST TABLE (ACCOUNT INT, AP INT, SEP INT, KBK INT, --INDATE DATETIME, 
			D_SUMMA NUMERIC (28,4), K_SUMMA NUMERIC (28,4))
	--- Сводная таблица ---
	DECLARE @TAB_REST TABLE (ACCOUNT INT, AP INT, SEP INT, KBK INT, 
				DIN_SUMMA NUMERIC (28,4), KIN_SUMMA NUMERIC (28,4),
				DOUT_SUMMA NUMERIC (28,4), KOUT_SUMMA NUMERIC (28,4))
	
	--- Таблица расчета остатков по дням ---
	DECLARE @REST_BY_DATE TABLE (DATE_PROV DATETIME,
			DIN_SUMMA NUMERIC (28,4), KIN_SUMMA NUMERIC (28,4),
			DOUT_SUMMA NUMERIC (28,4), KOUT_SUMMA NUMERIC (28,4))

	IF @intGRP_DATE = 1 OR @intGRP_DATE = 2
	BEGIN
		--!!! Расчет остатков по дням !!!-- 
		DECLARE #CURS CURSOR LOCAL STATIC
			FOR SELECT DATE_SORT
				FROM @TAB_OBOROT
				WHERE ADD_REC = 0
					AND DATE_SORT IS NOT NULL
				GROUP BY DATE_SORT
				ORDER BY DATE_SORT

		OPEN #CURS
		FETCH FROM #CURS
			INTO @CUR_DATE_PROV
		WHILE @@FETCH_STATUS = 0
		BEGIN

--select @CUR_DATE_PROV, @DATE_PROV_NEXT

			IF @CUR_DATE_PROV = @DATE_PROV_NEXT	-- На предыдущей итерации пощитали
			BEGIN
				SELECT @DIN_SUM_DAY	= @DOUT_SUM_DAY,
					@KIN_SUM_DAY	= @KOUT_SUM_DAY
			END
			ELSE
			BEGIN
				SELECT @DIN_SUM_DAY	= 0, @KIN_SUM_DAY	= 0

				SELECT @DIN_SUM_DAY = SUM (R1.D_SUMMA),
					@KIN_SUM_DAY = SUM (R1.K_SUMMA)
				FROM dbo.BK_GetTableRestForJOByDate (@CUR_DATE_PROV, @intLINK_JO,
									@intINIT_SEPARATOR,
									@intNO_USER_ACCT,
									1,
									DEFAULT) R1
				INNER JOIN @TAB_ACCOUNTS T1 ON (T1.ACCOUNT = R1.ACCOUNT)
				INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = R1.AP)
				INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R1.SEP)
				INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = R1.KBK)
				WHERE @intPRN_SVOD_ZB = 1 OR R1.DEP_LINK = @intORG_LINK
			END

			SELECT @DOUT_SUM_DAY	= 0, @KOUT_SUM_DAY	= 0

			SET @DATE_PROV_NEXT = DATEADD (DAY, 1, @CUR_DATE_PROV)


			SELECT @DOUT_SUM_DAY = SUM (R1.D_SUMMA),
				@KOUT_SUM_DAY	= SUM (R1.K_SUMMA)
			FROM dbo.BK_GetTableRestForJOByDate (@DATE_PROV_NEXT, @intLINK_JO,
								@intINIT_SEPARATOR,
								@intNO_USER_ACCT,
								1,
								DEFAULT) R1
			INNER JOIN @TAB_ACCOUNTS T1 ON (T1.ACCOUNT = R1.ACCOUNT)
			INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = R1.AP)
			INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R1.SEP)
			INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = R1.KBK)
			WHERE @intPRN_SVOD_ZB = 1 OR R1.DEP_LINK = @intORG_LINK
			
			INSERT INTO @REST_BY_DATE (DATE_PROV, DIN_SUMMA, KIN_SUMMA, DOUT_SUMMA, KOUT_SUMMA)
			SELECT @CUR_DATE_PROV, @DIN_SUM_DAY, @KIN_SUM_DAY, @DOUT_SUM_DAY, @KOUT_SUM_DAY

			FETCH NEXT FROM #CURS
				INTO @CUR_DATE_PROV
		END
		CLOSE #CURS
		DEALLOCATE #CURS
	END
	ELSE
	BEGIN
		/* --- Входящие --- */
		INSERT INTO @BEGIN_REST
		SELECT
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE
					CASE WHEN @intNO_USER_ACCT = 1 AND ISNULL (SA.cUSER, '') <> ''
								THEN ISNULL (SA.LINK_SELF, SA.LINK)
						ELSE R1.ACCOUNT END
			END,
			CASE 
				WHEN @intFACTOR_TOTAL = 1 THEN R1.AP
				ELSE 0
			END,
			R1.SEP,
			CASE 
				WHEN @intPRN_KBK_REST = 1 THEN ISNULL (R1.KBK, 0)
				ELSE 0
			END,
			SUM (R1.D_SUMMA),
			SUM (R1.K_SUMMA)
		FROM dbo.BK_GetTableRestForJOByDate (@dDATE_START, @intLINK_JO,
							@intINIT_SEPARATOR,
							0,
--							@intNO_USER_ACCT,
							1,
							DEFAULT) R1
		INNER JOIN @TAB_ACCOUNTS T1 ON (T1.ACCOUNT = R1.ACCOUNT)
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
		INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = R1.AP)
		INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R1.SEP)
		INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = R1.KBK)
		WHERE @intPRN_SVOD_ZB = 1 OR R1.DEP_LINK = @intORG_LINK
		GROUP BY
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE
					CASE WHEN @intNO_USER_ACCT = 1 AND ISNULL (SA.cUSER, '') <> ''
								THEN ISNULL (SA.LINK_SELF, SA.LINK)
						ELSE R1.ACCOUNT END
			END,
			CASE 
				WHEN @intFACTOR_TOTAL = 1 THEN R1.AP
				ELSE 0
			END,
			R1.SEP,
			CASE 
				WHEN @intPRN_KBK_REST = 1 THEN ISNULL (R1.KBK, 0)
				ELSE 0
			END
		HAVING SUM (R1.D_SUMMA) <> 0 OR SUM (R1.K_SUMMA) <> 0

		/* --- Исходящие --- */
		SET @dDATE_NEXT = DATEADD (DAY, 1, @dDATE_END)
		
		INSERT INTO @END_REST
		SELECT 
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE
					CASE WHEN @intNO_USER_ACCT = 1 AND ISNULL (SA.cUSER, '') <> ''
								THEN ISNULL (SA.LINK_SELF, SA.LINK)
						ELSE R1.ACCOUNT END
			END,
			CASE 
				WHEN @intFACTOR_TOTAL = 1 THEN R1.AP
				ELSE 0
			END,
			R1.SEP,
			CASE 
				WHEN @intPRN_KBK_REST = 1 THEN ISNULL (R1.KBK, 0)
				ELSE 0
			END,
			SUM (R1.D_SUMMA),
			SUM (R1.K_SUMMA)
		FROM dbo.BK_GetTableRestForJOByDate (@dDATE_NEXT, @intLINK_JO,
							@intINIT_SEPARATOR,
							0,
--							@intNO_USER_ACCT,
							1,
							DEFAULT) R1
		INNER JOIN @TAB_ACCOUNTS T1 ON (T1.ACCOUNT = R1.ACCOUNT)
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
		INNER JOIN @TAB_ACTIVITIES ACT ON (ACT.LINK_AP = R1.AP)
		INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R1.SEP)
		INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = R1.KBK)
		WHERE @intPRN_SVOD_ZB = 1 OR R1.DEP_LINK = @intORG_LINK
		GROUP BY
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE
					CASE WHEN @intNO_USER_ACCT = 1 AND ISNULL (SA.cUSER, '') <> ''
								THEN ISNULL (SA.LINK_SELF, SA.LINK)
						ELSE R1.ACCOUNT END
			END,
			CASE 
				WHEN @intFACTOR_TOTAL = 1 THEN R1.AP
				ELSE 0
			END,
			R1.SEP,
			CASE 
				WHEN @intPRN_KBK_REST = 1 THEN ISNULL (R1.KBK, 0)
				ELSE 0
			END
		HAVING SUM (R1.D_SUMMA) <> 0 OR SUM (R1.K_SUMMA) <> 0
	
		INSERT INTO @TAB_REST (ACCOUNT, AP, SEP, KBK)
		SELECT ACCOUNT, AP, SEP, KBK
		FROM @BEGIN_REST
		UNION
		SELECT ACCOUNT, AP, SEP, KBK
		FROM @END_REST
	
		UPDATE @TAB_REST SET DIN_SUMMA = ISNULL (BR.D_SUMMA, 0),
					KIN_SUMMA = ISNULL (BR.K_SUMMA, 0),
					DOUT_SUMMA = ISNULL (ER.D_SUMMA, 0),
					KOUT_SUMMA = ISNULL (ER.K_SUMMA, 0)
		FROM @TAB_REST R1
		LEFT OUTER JOIN @BEGIN_REST BR ON (BR.ACCOUNT = R1.ACCOUNT
							AND BR.AP = R1.AP
							AND BR.SEP = R1.SEP
							AND BR.KBK = R1.KBK)
		LEFT OUTER JOIN @END_REST ER ON (ER.ACCOUNT = R1.ACCOUNT
							AND ER.AP = R1.AP
							AND ER.SEP = R1.SEP
							AND ER.KBK = R1.KBK)
	END

	/* --- Наименование разделителя --- */
	SELECT @strSEPARATOR_TITLE = S_TITLE FROM ANALIT WHERE CODE_AP = @strSeparator_Name
	SET @strSEPARATOR_TITLE = CASE
					WHEN @intINIT_SEPARATOR = 1 AND @strSeparator_Name = 'INDATE' THEN 'Дата: '
					WHEN @intINIT_SEPARATOR = 0 OR ISNULL (@strSEPARATOR_TITLE, '') = '' THEN ''
					ELSE RTRIM (@strSEPARATOR_TITLE) + ': '
				END
	/* --- --- */
	SET @strDATE_START = ISNULL (CONVERT (VARCHAR (10), @dDATE_START, 104), '')
	SET @strDATE_END = ISNULL (CONVERT (VARCHAR (10), @dDATE_END, 104), '')
	SET @strDATE_NEXT = ISNULL (CONVERT (VARCHAR (10), @dDATE_NEXT, 104), '')

	/* --- Расчет для вывода итогов по показателям и субсчетам --- */
	IF @intFACTOR_TOTAL = 1 OR @intACCOUNT_TOTAL = 1
	BEGIN
		UPDATE @TAB_OBOROT SET DIN_SUM = TR.DIN_SUMMA,
					KIN_SUM = TR.KIN_SUMMA,
					DOUT_SUM = TR.DOUT_SUMMA,
					KOUT_SUM = TR.KOUT_SUMMA
		FROM @TAB_OBOROT OB
		INNER JOIN @TAB_REST TR ON (((@intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1)
						OR (TR.ACCOUNT = OB.ACCOUNT))
					AND ((@intFACTOR_TOTAL = 1 AND TR.AP = OB.AP)
						OR (@intFACTOR_TOTAL = 0))
					AND TR.SEP = OB.SEP)
		
		INSERT INTO @TAB_OBOROT (ORDERS, ACCOUNT, AP, SEP,
			DIN_SUM, KIN_SUM,
			DT_SUMMA, KT_SUMMA,
			DOUT_SUM, KOUT_SUM,
			DOC_CODE,
			LINK_DOC,
			LINK_G2)
		SELECT 1,
			CASE 
				WHEN @intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1 THEN 0
				ELSE T1.ACCOUNT
			END,
			CASE
				WHEN @intFACTOR_TOTAL = 1 THEN T1.AP
				ELSE 0
			END,
			T1.SEP,
			T1.DIN_SUMMA, T1.KIN_SUMMA,
			0, 0,
			T1.DOUT_SUMMA, T1.KOUT_SUMMA,
			'', 0, 0
		FROM @TAB_REST T1
		WHERE NOT EXISTS (SELECT T2.*
					FROM @TAB_OBOROT T2
					WHERE ((@intACCOUNT_TOTAL = 0 AND @intFACTOR_TOTAL = 1)
							OR (T2.ACCOUNT = T1.ACCOUNT))
						AND ((@intFACTOR_TOTAL = 1 AND T2.AP = T1.AP)
							OR (@intFACTOR_TOTAL = 0))
						AND T2.SEP = T1.SEP)
	END

	/* --- Результаты для вывода --- */
	DECLARE @TAB_RES TABLE (ORDERS	INT, ACCOUNT INT, AP INT, SEP INT, 
		JO_CODE VARCHAR (20), JO_NAME VARCHAR (254),
		TOTAL_DATE VARCHAR (254),
		DATE_START VARCHAR (10), DATE_END VARCHAR (10), DATE_NEXT VARCHAR (10), 

		DEP_OKPO VARCHAR (20), DEP_NAME VARCHAR (254),
		UCHR_NAME VARCHAR (254), BUDG_NAME VARCHAR (254),

		DOC_NUM VARCHAR (50),
		DOC_DATE VARCHAR (10), dDOC_DATE DATETIME,
		DATE_PROV VARCHAR (10), dDATE_PROV DATETIME,
		DOC_NAME VARCHAR (254),
		ACT_NAME VARCHAR (254), SEP_CODE VARCHAR (30), SEP_NAME VARCHAR (254), NAME_OPER VARCHAR (254),
		DT_CODE VARCHAR (60), KT_CODE VARCHAR (60),
		ACCT_CODE VARCHAR (60),
		DT_LONG  VARCHAR (60), KT_LONG  VARCHAR (60),
	 	SUMMA NUMERIC (28,4), SUMMA_OB NUMERIC (28,4),
		DT_SUMMA NUMERIC (28,4),
		KT_SUMMA NUMERIC (28,4),
		DT_SUM1 NUMERIC (28,4),
		KT_SUM1 NUMERIC (28,4),
		DIC_NAME VARCHAR (60),
		DIN_SUM NUMERIC (28,4), KIN_SUM NUMERIC (28,4), 
		DOUT_SUM NUMERIC (28,4), KOUT_SUM NUMERIC (28,4), 
		FDIN_SUM NUMERIC (28,4), FKIN_SUM NUMERIC (28,4), 
		FDOUT_SUM NUMERIC (28,4), FKOUT_SUM NUMERIC (28,4),
		TDIN_SUM NUMERIC (28,4), TKIN_SUM NUMERIC (28,4), 
		TDOUT_SUM NUMERIC (28,4), TKOUT_SUM NUMERIC (28,4),
		DIN_DAY NUMERIC (28,4), KIN_DAY NUMERIC (28,4), 
		DOUT_DAY NUMERIC (28,4), KOUT_DAY NUMERIC (28,4), 
		OBJ_CODE VARCHAR (30),	
		LINK_DOC INT,
		LINK_G2	INT,
		JO_GK_LN INT,
		JO_GK_CD VARCHAR (10),
		DATE_SORT DATETIME,
		cDATE_SORT VARCHAR (10)
	)

	IF @intGrp_Prov = 1	-- Группировка проводок --
		INSERT INTO @TAB_RES
		SELECT JO.ORDERS,
			JO.ACCOUNT,
			0, JO.SEP,
			@strJO_NUMBER AS JO_CODE,
			@strJO_Name AS JO_NAME,
			@strTXT_TOTAL_DATE AS TOTAL_DATE,
			@strDATE_START AS DATE_START,
			@strDATE_END AS DATE_END,
			@strDATE_NEXT,
			ISNULL (@strORG_OKPO, '') AS DEP_OKPO,
			ISNULL (@strORG_NAME, '') AS DEP_NAME,
			@UCHR_NAME,
			@BUDG_NAME,

			'',	--JO.NUMBER AS DOC_NUM,
			CONVERT(VARCHAR(10), JO.DATE, 104) AS DOC_DATE,
			JO.DATE, 
			'', -- CONVERT(VARCHAR(10), JO.DATE_PROV, 104),
			NULL, -- JO.DATE_PROV, 
			'', --dbo.JurnalProvGetDocKind (JO.LINK_DOC, JO.OBJECT)
			--	+ ISNULL (' (пров.' + CONVERT (VARCHAR (10), JO.DATE_PROV, 104) + ')', '') AS DOC_NAME,
			ACT_NAME = '', --CASE 
					--WHEN @strActivities_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
					--WHEN @strActivities_Name IN ('EKR', 'SGU', 'KBK') THEN AP.AP_CODE
					--ELSE AP.AP_NAME
				--END,
			SEP_CODE = CASE 
					WHEN @strSeparator_Name = 'INDATE' THEN ''
					ELSE SEP.SEP_CODE
				END,
			SEP_NAME = CASE 
					WHEN @strSeparator_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
					ELSE SEP.SEP_NAME
				END,	
			'', --NAME_OPER,
			DT_CODE = ISNULL (SA1.CODE, ''),
			KT_CODE = ISNULL (SA2.CODE, ''),
			ACCT_CODE = ISNULL (SA3.CODE, ''),
			dbo.BK_GetAcctFullCode1 (JO.DT, JO.KBK1, JO.SGU1, @intPRN_KBK, @intPRN_SGU, @dDATE_END) AS DT_LONG,
			dbo.BK_GetAcctFullCode1 (JO.KT, JO.KBK2, JO.SGU2, @intPRN_KBK, @intPRN_SGU, @dDATE_END) AS KT_LONG,
			SUM (JO.SUMMA),
			SUM (JO.SUMMA_OB),
			SUM (JO.DT_SUMMA),
			SUM (JO.KT_SUMMA),
			SUM (JO.DT_SUM1),
			SUM (JO.KT_SUM1),
			@strSEPARATOR_TITLE AS DIC_NAME,
			DIN_SUM, KIN_SUM,
			DOUT_SUM, KOUT_SUM,
			0, 0, 0, 0,
			0, 0, 0, 0,
			RD.DIN_SUMMA, RD.KIN_SUMMA,
			RD.DOUT_SUMMA, RD.KOUT_SUMMA,
			'', --JO.DOC_CODE, 
			0, --JO.LINK_DOC,
			0, --JO.LINK_G2,
			0, --JO.LEDGER_JOURNAL,
			'', --ISNULL (JO_GK.CODE, ''),
			JO.DATE_SORT,
			CONVERT (VARCHAR (10), JO.DATE_SORT, 104)
		FROM @TAB_OBOROT JO
		INNER JOIN @TAB_ACTIVITIES AP ON (AP.LINK_AP = JO.AP )
		INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = JO.SEP)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA1 ON SA1.LINK = JO.DT
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA2 ON SA2.LINK = JO.KT
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA3 ON SA3.LINK = JO.ACCOUNT
		LEFT OUTER JOIN @REST_BY_DATE RD ON (RD.DATE_PROV = JO.DATE_PROV)
		LEFT OUTER JOIN dbo.JOURNAL_OPERATION JO_GK ON (JO_GK.LINK = JO.LEDGER_JOURNAL)
		GROUP BY JO.ORDERS, JO.ACCOUNT, JO.SEP, JO.[DATE], -- JO.DATE_PROV,
			CASE 
				WHEN @strSeparator_Name = 'INDATE' THEN ''
				ELSE SEP.SEP_CODE
			END,
			CASE 
				WHEN @strSeparator_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
				ELSE SEP.SEP_NAME
			END,	
			ISNULL (SA1.CODE, ''), ISNULL (SA2.CODE, ''), ISNULL (SA3.CODE, ''), JO.SGU1, JO.KBK1, JO.DT,
			JO.SGU2, JO.KBK2, JO.KT, 
			RD.DIN_SUMMA, RD.KIN_SUMMA, RD.DOUT_SUMMA, RD.KOUT_SUMMA,
			DIN_SUM, KIN_SUM, DOUT_SUM, KOUT_SUM, 
			JO.DATE_SORT
		ORDER BY 6, JO.DATE_SORT --, JO.REC_NO
	ELSE		--- @intGrp_Prov = 0	-- Проводки полностью --
		INSERT INTO @TAB_RES
		SELECT JO.ORDERS,
			JO.ACCOUNT,
			JO.AP, JO.SEP,
			@strJO_NUMBER AS JO_CODE,
			@strJO_Name AS JO_NAME,
			@strTXT_TOTAL_DATE AS TOTAL_DATE,
			@strDATE_START AS DATE_START,
			@strDATE_END AS DATE_END,
			@strDATE_NEXT,
			ISNULL (@strORG_OKPO, '') AS DEP_OKPO,
			ISNULL (@strORG_NAME, '') AS DEP_NAME,
			@UCHR_NAME,
			@BUDG_NAME,

			JO.NUMBER AS DOC_NUM,
			CONVERT(VARCHAR(10),JO.DATE,104) AS DOC_DATE,
			JO.DATE, 
			CONVERT(VARCHAR(10), JO.DATE_PROV, 104),
			JO.DATE_PROV, 
			dbo.JurnalProvGetDocKind (JO.LINK_DOC, JO.OBJECT)
				+ ISNULL (' (пров.' + CONVERT (VARCHAR (10), JO.DATE_PROV, 104) + ')', '') AS DOC_NAME,
			ACT_NAME = CASE 
					WHEN @strActivities_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
					WHEN @strActivities_Name IN ('EKR', 'SGU', 'KBK') THEN AP.AP_CODE
					ELSE AP.AP_NAME
				END,
			SEP_CODE = CASE 
					WHEN @strSeparator_Name = 'INDATE' THEN ''
					ELSE SEP.SEP_CODE
				END,
			SEP_NAME = CASE 
					WHEN @strSeparator_Name = 'INDATE' THEN ISNULL (CONVERT (VARCHAR (10), INDATE, 104), '')
					ELSE SEP.SEP_NAME
				END,	
			NAME_OPER,
			DT_CODE = ISNULL (SA1.CODE, ''),
			KT_CODE = ISNULL (SA2.CODE, ''),
			ACCT_CODE = ISNULL (SA3.CODE, ''),
			dbo.BK_GetAcctFullCode1 (JO.DT, JO.KBK1, JO.SGU1, @intPRN_KBK, @intPRN_SGU, @dDATE_END) AS DT_LONG,
			dbo.BK_GetAcctFullCode1 (JO.KT, JO.KBK2, JO.SGU2, @intPRN_KBK, @intPRN_SGU, @dDATE_END) AS KT_LONG,
			JO.SUMMA,
			JO.SUMMA_OB,
			JO.DT_SUMMA,
			JO.KT_SUMMA,
			JO.DT_SUM1,
			JO.KT_SUM1,
			@strSEPARATOR_TITLE AS DIC_NAME,
			DIN_SUM, KIN_SUM,
			DOUT_SUM, KOUT_SUM,
			0, 0, 0, 0,
			0, 0, 0, 0,
			RD.DIN_SUMMA, RD.KIN_SUMMA,
			RD.DOUT_SUMMA, RD.KOUT_SUMMA,
			JO.DOC_CODE, 
			JO.LINK_DOC,
			JO.LINK_G2,
			JO.LEDGER_JOURNAL,
			ISNULL (JO_GK.CODE, ''),
			JO.DATE_SORT,
			CONVERT (VARCHAR (10), JO.DATE_SORT, 104)
		FROM @TAB_OBOROT JO
		INNER JOIN @TAB_ACTIVITIES AP ON (AP.LINK_AP = JO.AP )
		INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = JO.SEP)
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA1 ON SA1.LINK = JO.DT
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA2 ON SA2.LINK = JO.KT
		LEFT OUTER JOIN dbo.S_ACCOUNTS SA3 ON SA3.LINK = JO.ACCOUNT
		LEFT OUTER JOIN @REST_BY_DATE RD ON (RD.DATE_PROV = JO.DATE_PROV)
		LEFT OUTER JOIN dbo.JOURNAL_OPERATION JO_GK ON (JO_GK.LINK = JO.LEDGER_JOURNAL)
		ORDER BY 6, JO.DATE_SORT, JO.REC_NO

	/* --- ОСТАТКИ --- */
	INSERT INTO @TAB_RES 
	SELECT 0,
		ACCOUNT, 0, SEP,
		@strJO_NUMBER AS JO_CODE,
		@strJO_Name AS JO_NAME,
		@strTXT_TOTAL_DATE AS TOTAL_DATE,
		@strDATE_START AS DATE_START,
		@strDATE_END AS DATE_END,
		@strDATE_NEXT,
		ISNULL (@strORG_OKPO, '') AS DEP_OKPO,
		ISNULL (@strORG_NAME, '') AS DEP_NAME,
		@UCHR_NAME,
		@BUDG_NAME,
		'',
		'',
		NULL,
		'',
		NULL,
		'',
		'',
		SEP.SEP_CODE,
		SEP.SEP_NAME,
		dbo.BK_GetAcctFullCode1 (R.ACCOUNT, R.KBK, 0, @intPRN_KBK_REST, @intPRN_SGU, @dDATE_END),
		'','',
		'',
		'', '',
		0, 0,
		0, 0,
		0, 0,
		@strSEPARATOR_TITLE,
		D_SUMMA, K_SUMMA,
		0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		'', 0, 0,
		0, '',	-- ЖО для ГК --,
		NULL, ''
	FROM (SELECT S.ACCOUNT, S.KBK, S.SEP,
		SUM (D_SUMMA) AS D_SUMMA,
		SUM (K_SUMMA) AS K_SUMMA
		FROM @BEGIN_REST S
		GROUP BY S.ACCOUNT, S.KBK, S.SEP) R
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = R.ACCOUNT)
	INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R.SEP)
	WHERE R.D_SUMMA <> 0 OR R.K_SUMMA <> 0
		
	INSERT INTO @TAB_RES 
	SELECT 2,
		ACCOUNT, 0, SEP,
		@strJO_NUMBER AS JO_CODE,
		@strJO_Name AS JO_NAME,
		@strTXT_TOTAL_DATE AS TOTAL_DATE,
		@strDATE_START AS DATE_START,
		@strDATE_END AS DATE_END,
		@strDATE_NEXT,
		ISNULL (@strORG_OKPO, '') AS DEP_OKPO,
		ISNULL (@strORG_NAME, '') AS DEP_NAME,
		@UCHR_NAME,
		@BUDG_NAME,
		'',
		'',
		NULL,
		'',
		NULL,
		'',
		'',
		SEP.SEP_CODE,
		SEP.SEP_NAME,
		dbo.BK_GetAcctFullCode1 (R.ACCOUNT, R.KBK, 0, @intPRN_KBK_REST, @intPRN_SGU, @dDATE_END),
		'','',
		'',
		'', '',
		0, 0,
		0, 0,
		0, 0,
		@strSEPARATOR_TITLE,
		0, 0,
		D_SUMMA, K_SUMMA,
		0, 0, 0, 0,
		0, 0, 0, 0,
		0, 0, 0, 0,
		'', 0, 0,
		0, '',		-- ЖО для ГК --
		NULL, ''
	FROM (SELECT S.ACCOUNT, S.KBK, S.SEP,
		SUM (D_SUMMA) AS D_SUMMA,
		SUM (K_SUMMA) AS K_SUMMA
		FROM @END_REST S
		GROUP BY S.ACCOUNT, S.KBK, S.SEP) R
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = R.ACCOUNT)
	INNER JOIN @TAB_SEPARATOR SEP ON (SEP.LINK_SEP = R.SEP)
	WHERE R.D_SUMMA <> 0 OR R.K_SUMMA <> 0

--SELECT @intFACTOR_TOTAL, @intACCOUNT_TOTAL, @intGRP_DATE 
	IF @intFACTOR_TOTAL = 0 AND @intACCOUNT_TOTAL = 0
		IF @intGRP_DATE = 1 OR @intGRP_DATE = 2
			SELECT *,
				@intFACTOR_TOTAL AS FACT_TOTAL,
				@intACCOUNT_TOTAL AS ACCT_TOTAL,
				@intGRP_DATE AS GRP_DATE 
			FROM @TAB_RES
			WHERE ORDERS = 1
			ORDER BY SEP_CODE, SEP, DATE_SORT, ACCT_CODE, AP, NAME_OPER, DOC_NAME
		ELSE
			SELECT *,
				@intFACTOR_TOTAL AS FACT_TOTAL,
				@intACCOUNT_TOTAL AS ACCT_TOTAL
			FROM @TAB_RES
			ORDER BY SEP_CODE, SEP, ORDERS, dDOC_DATE, DOC_NAME, RIGHT ('0000000000' + DOC_NUM, 8), NAME_OPER 
	ELSE
	BEGIN

		SELECT @TDIN_SUM = SUM (DIN_SUMMA),
			@TKIN_SUM = SUM (KIN_SUMMA),
			@TDOUT_SUM = SUM (DOUT_SUMMA),
			@TKOUT_SUM = SUM (KOUT_SUMMA)
		FROM @TAB_REST

		IF @intTOTAL_MODE = 0
			UPDATE @TAB_RES SET	TDIN_SUM = ISNULL (@TDIN_SUM, 0),
						TKIN_SUM = ISNULL (@TKIN_SUM, 0),
						TDOUT_SUM = ISNULL (@TDOUT_SUM, 0),
						TKOUT_SUM = ISNULL (@TKOUT_SUM, 0),
						FDIN_SUM = ISNULL (T2.DIN_SUM, 0),
						FKIN_SUM = ISNULL (T2.KIN_SUM, 0),
						FDOUT_SUM = ISNULL (T2.DOUT_SUM, 0),
						FKOUT_SUM = ISNULL (T2.KOUT_SUM, 0)
			FROM @TAB_RES T1
			LEFT OUTER JOIN (SELECT AP, SEP,
						SUM (R.DIN_SUMMA) AS DIN_SUM,
						SUM (R.KIN_SUMMA) AS KIN_SUM,
						SUM (R.DOUT_SUMMA) AS DOUT_SUM,
						SUM (R.KOUT_SUMMA) AS KOUT_SUM
					FROM @TAB_REST R
					GROUP BY R.AP, R.SEP) AS T2
				ON T2.AP = T1.AP
					AND T2.SEP = T1.SEP
		ELSE
			UPDATE @TAB_RES SET	TDIN_SUM = ISNULL (@TDIN_SUM, 0),
						TKIN_SUM = ISNULL (@TKIN_SUM, 0),
						TDOUT_SUM = ISNULL (@TDOUT_SUM, 0),
						TKOUT_SUM = ISNULL (@TKOUT_SUM, 0),
						FDIN_SUM = ISNULL (T2.DIN_SUM, 0),
						FKIN_SUM = ISNULL (T2.KIN_SUM, 0),
						FDOUT_SUM = ISNULL (T2.DOUT_SUM, 0),
						FKOUT_SUM = ISNULL (T2.KOUT_SUM, 0)
			FROM @TAB_RES T1
			LEFT OUTER JOIN (SELECT ACCOUNT, SEP,
						SUM (R.DIN_SUMMA) AS DIN_SUM,
						SUM (R.KIN_SUMMA) AS KIN_SUM,
						SUM (R.DOUT_SUMMA) AS DOUT_SUM,
						SUM (R.KOUT_SUMMA) AS KOUT_SUM
					FROM @TAB_REST R
					GROUP BY R.ACCOUNT, R.SEP) AS T2
				ON T2.ACCOUNT = T1.ACCOUNT
					AND T2.SEP = T1.SEP

		IF @intFACTOR_TOTAL = 1 AND @intACCOUNT_TOTAL = 0
			SELECT *,
				@intFACTOR_TOTAL AS FACT_TOTAL,
				@intACCOUNT_TOTAL AS ACCT_TOTAL
			FROM @TAB_RES
			WHERE ORDERS = 1
			ORDER BY SEP_CODE, SEP, ACT_NAME, AP, dDOC_DATE, NAME_OPER, DOC_NAME
		ELSE
			IF @intFACTOR_TOTAL = 0 AND @intACCOUNT_TOTAL = 1
					SELECT *,
						@intFACTOR_TOTAL AS FACT_TOTAL,
						@intACCOUNT_TOTAL AS ACCT_TOTAL
					FROM @TAB_RES
					WHERE ORDERS = 1
					ORDER BY SEP_CODE, SEP, ACCT_CODE, AP, dDOC_DATE, NAME_OPER, DOC_NAME
			ELSE
				IF @intTOTAL_MODE = 0
					SELECT *,
						@intFACTOR_TOTAL AS FACT_TOTAL,
						@intACCOUNT_TOTAL AS ACCT_TOTAL
					FROM @TAB_RES 	
					WHERE ORDERS = 1
					ORDER BY SEP_CODE, SEP, ACT_NAME, AP, ACCT_CODE, dDOC_DATE, NAME_OPER, DOC_NAME
				ELSE
					SELECT *,
						@intFACTOR_TOTAL AS FACT_TOTAL,
						@intACCOUNT_TOTAL AS ACCT_TOTAL,
						@intTOTAL_MODE AS TOTAL_MODE
					FROM @TAB_RES 	
					WHERE ORDERS = 1
					ORDER BY SEP_CODE, SEP, ACCT_CODE, ACT_NAME, AP, dDOC_DATE, NAME_OPER, DOC_NAME
	END

	DECLARE @strGLBUH VARCHAR (254)
	SELECT @strGLBUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intORG_LINK, 'Главный бухгалтер')

	/* --- Обороты в ГК --- */
	SELECT
		ISNULL (dbo.BK_GetAcctFullCode1 (DT, KBK1, SGU1, @intPRN_KBK, @intPRN_SGU, @dDATE_END), '') AS DT_GK,
		ISNULL (dbo.BK_GetAcctFullCode1 (KT, KBK2, SGU2, @intPRN_KBK, @intPRN_SGU, @dDATE_END), '') AS KT_GK,
		SUMMA AS SUM_GK,
		@strGLBUH AS GLBUH
	FROM @TAB_OBOROT_GK
	LEFT JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = DT)
	ORDER BY ISNULL (SA.CODE, '9')

	/* --- Клеар буфер --- */
	EXEC dbo.BufferClear @strBUFFER_NAME_ACCOUNT
	EXEC dbo.BufferClear @strBUFFER_NAME_ACTIVE
	EXEC dbo.BufferClear @strBUFFER_NAME_SEPARATOR
	EXEC dbo.BufferClear @strBUFFER_NAME_KL_KBK
END





GO


GRANT EXECUTE ON dbo.[BK_PRINTREP_JO] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_ACCUM_VED1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_ACCUM_VED1]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE  PROCEDURE dbo.BK_REPORT_ACCUM_VED1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@intACCOUNT	INT,
	@intKBK 	INT,
	@strCODE_AP	VARCHAR (60),
	@intSORT_CODE	INT,
	@intDepGroup	INT,
	@cVal1 CHAR (1), @nOtborLink1	INT, /* Отбор субсчетов */
	@cVal2 CHAR (1) = '', @nOtborLink2 INT = 0, /* Отбор субсчетов */
	@cVal_KAU CHAR (1) = '', @nOtborKAU  INT = 0,	/* Отбор КАУ */
	@intKAU_GRP INT =0	/* Выводить подитоги по КАУ */
AS
BEGIN

	DECLARE	@varKSDEP_LINK	INT,
		@varKSDIC_EMP	INT,
		@varKSORGNAME	VARCHAR(254),
		@strDATE_NEXT	VARCHAR (10),
		@strREP_NAME	VARCHAR (254),
		@intPRN_KBK	TINYINT,
		@MORE_ACCT	INT

	SELECT  @varKSDEP_LINK = LINK,
		@varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (LINK)
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())

	SET @strDATE_NEXT = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSdDate2), 104)
	
	SET @intSORT_CODE = ISNULL (@intSORT_CODE, 0)
	SET @intKBK = ISNULL (@intKBK, 0)
	SET @intPRN_KBK = CASE 
				WHEN @intKBK = 0 THEN 0
				ELSE 1
			END

	SET @strCODE_AP = ISNULL (@strCODE_AP, '')

	IF @strCODE_AP <> 'DEP'
		SET @intDepGroup = 0

	--- Отбор субсчетов ---
	SET @intACCOUNT = ISNULL (@intACCOUNT, 0)
	DECLARE @ACCT_TABLE TABLE (LINK_ACCT INT)

	IF @intACCOUNT = 0	-- Счет не задан в параметрах отчета --
	BEGIN
		IF LEN (@cVal1) > 0	-- Задан фильтр отчета --
			INSERT INTO @ACCT_TABLE
			SELECT RECORD
			FROM OBJECT_VAR_ACCT
			WHERE LINK_UP = @nOtborLink1
		ELSE
			IF ISNULL (@strCODE_AP, '') = ''	-- Если показатель не указан, берем все счета --
				INSERT INTO @ACCT_TABLE
				SELECT T1.LINK
				FROM dbo.AccountsTableWithNoChild () T1
			ELSE					-- Выбор счетов, по которым настроен показатель --
				INSERT INTO @ACCT_TABLE
				SELECT T1.LINK
				FROM dbo.AccountsTableWithNoChild () T1
				INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = T1.LINK
				WHERE (@strCODE_AP = 'DEP' AND SA.AP_DEP = 1)
					OR (@strCODE_AP = 'EMP' AND SA.AP_EMP = 1)
					OR (@strCODE_AP = 'KAU' AND SA.AP_KAU = 1)
					OR (@strCODE_AP = 'AP2' AND SA.AP_AP2 = 1)
					OR (@strCODE_AP = 'EKR' AND SA.AP_EKR = 1)
					OR (@strCODE_AP = 'SUB' AND SA.AP_SUB = 1)
		SET @MORE_ACCT = 1
	END
	ELSE
	BEGIN
		INSERT INTO @ACCT_TABLE
		SELECT @intACCOUNT
		
		SET @MORE_ACCT = 0
	END

	--- Отбор организаций ---
	DECLARE @TAB_FIL TABLE (LINK_AP INT, AP_CODE VARCHAR (20),
		AP_NAME VARCHAR (254), GRP_NAME VARCHAR (254))
	IF @strCODE_AP = 'DEP' AND LEN (@cVal2) > 0	-- Задан фильтр отчета --
		INSERT INTO @TAB_FIL
		SELECT DEP.LINK,
			DEP.CODE,
			DEP.[NAME],
			DG.[NAME]
		FROM dbo.OBJECT_VAR_DEPARTMENT_GROUPS OVR
		INNER JOIN dbo.DEPARTMENT_GROUPS_REF DGR ON (DGR.GROUP_LINK = OVR.RECORD)
		INNER JOIN dbo.DEPARTMENT_GROUPS DG ON (DG.LINK = OVR.RECORD)
		INNER JOIN dbo.DEPARTMENTS DEP ON (DEP.LINK = DGR.DEP_LINK)
		WHERE OVR.LINK_UP = @nOtborLink2
	ELSE
		INSERT INTO @TAB_FIL
		SELECT LINK_AP,
			AP_CODE,
			AP_NAME,
			DG.[NAME]
		FROM dbo.BK_GetTableDictionByAP (@strCODE_AP) AP
		LEFT JOIN dbo.DEPARTMENT_GROUPS_REF DGR ON (DGR.DEP_LINK = AP.LINK_AP
			AND @strCODE_AP = 'DEP'
			AND @intDepGroup = 1)
		LEFT JOIN dbo.DEPARTMENT_GROUPS DG ON (DG.LINK = DGR.GROUP_LINK)

	DECLARE @TABLE_KAU TABLE (KAU INT, KAU_CODE VARCHAR (20))
	IF @intKAU_GRP = 1 OR @strCODE_AP = 'KAU'
		IF LEN (@cVal_KAU) > 0
			INSERT INTO @TABLE_KAU
			SELECT OVR.RECORD,
				KAU.CODE
			FROM dbo.OBJECT_VAR_KAU OVR
			INNER JOIN dbo.KAU ON (KAU.LINK = OVR.RECORD)
			WHERE OVR.LINK_UP = @nOtborKAU
		ELSE
			INSERT INTO @TABLE_KAU
			SELECT LINK_AP,
				AP_CODE
			FROM dbo.BK_GetTableDictionByAP ('KAU')
	ELSE
		INSERT INTO @TABLE_KAU
		SELECT 0, ''

	DECLARE @TABLE1 TABLE (ACCOUNT [INT], AP [INT], KBK [INT], 
			KAU INT,
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2), 
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT T1.ACCOUNT,
		CASE 
			WHEN @strCODE_AP = 'DEP' THEN T1.DEP
			WHEN @strCODE_AP = 'EMP' THEN T1.EMP
			WHEN @strCODE_AP = 'KAU' THEN T1.KAU
			WHEN @strCODE_AP = 'AP2' THEN T1.AP2	-- ДОП. КЛАСС.
			WHEN @strCODE_AP = 'EKR' THEN T1.EKR	-- 
			WHEN @strCODE_AP = 'SUB' THEN T1.SUB	-- 
			ELSE 0
		END,
		CASE 
			WHEN @intKBK = 0 THEN 0 
			ELSE T1.KBK
		END,
		CASE 
			WHEN @intKAU_GRP = 1 OR @strCODE_AP = 'KAU' THEN T1.KAU
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.K_SUMMA), 
		SUM (T1.IN_SUMMA), SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT_TABLE AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	WHERE @intKBK = 0
		OR (@intKBK <> 0 AND T1.KBK = @intKBK)
	GROUP BY T1.ACCOUNT,
		CASE 
			WHEN @strCODE_AP = 'DEP' THEN T1.DEP
			WHEN @strCODE_AP = 'EMP' THEN T1.EMP
			WHEN @strCODE_AP = 'KAU' THEN T1.KAU
			WHEN @strCODE_AP = 'AP2' THEN T1.AP2	-- ДОП. КЛАСС.
			WHEN @strCODE_AP = 'EKR' THEN T1.EKR	-- 
			WHEN @strCODE_AP = 'SUB' THEN T1.SUB	-- 
			ELSE 0
		END,
		CASE 
			WHEN @intKBK = 0 THEN 0 
			ELSE T1.KBK
		END,
		CASE 
			WHEN @intKAU_GRP = 1 OR @strCODE_AP = 'KAU' THEN T1.KAU
			ELSE 0
		END

	DECLARE @RESULT TABLE  (ACCOUNT [INT], AP [INT], KBK [INT],
			ACCT_GR VARCHAR (30), ACCT_CODE VARCHAR (60), 
			AP_CODE [VARCHAR] (20), AP_NAME [VARCHAR] (254),
			KBK_CODE [VARCHAR] (30), KAU INT, KAU_CODE VARCHAR (20),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2), 
			IN_SUM [NUMERIC] (20,2), OUT_SUM [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254), DATE_NEXT VARCHAR (10), DEP_GROUP varchar (100),
			AP_TYPE VARCHAR (60))

	INSERT INTO @RESULT
	SELECT OSV.ACCOUNT,
		OSV.AP,
		OSV.KBK,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, DEFAULT, @intPRN_KBK, 0, @varKSdDate2),
		T_AP.AP_CODE,
		T_AP.AP_NAME,
		ISNULL (KL_KBK.CODE, ''),
		KAU.KAU,
		KAU.KAU_CODE,
		OSV.D_SUMMA, 
		OSV.K_SUMMA, 
		OSV.IN_SUMMA, 
		OSV.OUT_SUMMA,
		@varKSORGNAME,
		@strDATE_NEXT,
		ISNULL(T_AP.GRP_NAME,''),
		@strCODE_AP
	FROM @TABLE1 OSV
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	INNER JOIN @TABLE_KAU KAU ON (KAU.KAU = OSV.KAU)
	LEFT JOIN @TAB_FIL T_AP ON (T_AP.LINK_AP = OSV.AP)
	LEFT OUTER JOIN dbo.KL_KBK ON (KL_KBK.LINK = OSV.KBK)
	WHERE (@intDepGroup = 0
		OR @intDepGroup > 0
			AND @strCODE_AP = 'DEP'
			AND T_AP.LINK_AP = OSV.AP)
		AND ((OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0) 
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0))


	IF @intSORT_CODE = 0
		SELECT *,
			@MORE_ACCT AS MORE_ACCT
		FROM @RESULT
			ORDER BY ACCT_GR, KAU_CODE, DEP_GROUP, AP_NAME 
	ELSE
		SELECT *,
			@MORE_ACCT AS MORE_ACCT
		FROM @RESULT
			ORDER BY ACCT_GR, KAU_CODE, DEP_GROUP,RIGHT ('00000000000000000000' + AP_CODE, 20)


END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_ACCUM_VED1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_BOOK_MAIN]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_BOOK_MAIN]

GO

CREATE PROCEDURE dbo.BK_REPORT_BOOK_MAIN 
		@DATE_START		DATETIME	/* -- НАЧАЛО ПЕРИОДА -- */,
		@DATE_STOP		DATETIME	/* -- КОНЕЦ ПЕРИОДА -- */,
--		@ACCOUNT_LONG		tinyint,
--		@cSOURCE		CHAR (1),
		@intSTR_JO		INT,		/* -- 0 - Разделять обороты по ЖО,
								1 - Выводить ЖО ондной строкой с одинаковой аналитикой -- */
--		@intSource0		INT,
		@intZabalansAcct	INT,
		@intACCT_GR		INT,
		@varKScVal1	char(1), @varKSnOtborLink1 int,	 -- Отбор субсчетов --
		@intPRN_KBK	int,				-- Код счета с КБК --
		@intPRN_KOSGU	int,				-- Код счета с КОСГУ --
		@intSVOD_ZB	int,				-- Сводный отчет (ЦБ) --
		@intGRP_SGU	int,				-- Вывести подитоги по субсчетам с по группе КОСГУ --
		@cVal_KBK char(1), @nOtborLinkKBK int,		-- Отбор КБК --
		@cVal_KOSGU char(1), @nOtborLinkKOSGU int,	-- Отбор КОСГУ --
		@cVal_SFIN char(1), @nOtborLinkSFIN int,	-- Отбор источников финансирования --
		@cVal_KAU char(1) = '', @nOtborKAU	int	= 0 -- Отбор источников финансирования --
AS
BEGIN
	DECLARE @DATE_BEG_YEAR DATETIME,  -- Дата начала года
		@MONTH_NAME VARCHAR(20),  -- Дата начала года
		@OUT_DATE_REST	DATETIME, -- Для расчета конечных остатков

		@intDEP_LINK	INT,
		@strORGNAME	VARCHAR (254),
		@strOKPO	VARCHAR (20),
		@strGLBUH	VARCHAR (100),
		@UCHR_NAME	VARCHAR (254),	-- Учредитель
		@BUDG_NAME	VARCHAR (254)	-- Наименование бюджета

	SET @DATE_BEG_YEAR = dbo.DateBeginOfYear (@DATE_START)
	SELECT @MONTH_NAME = dbo.DateMonthName(MONTH(@DATE_STOP))

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)	/* -- Сводный отчет по ЦБ -- */
	SET @intDEP_LINK = ISNULL (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())
	
	IF @intSVOD_ZB = 1				/* -- Сводный отчет по ЦБ (собственные реквизиты организации) -- */
		SET @intDEP_LINK = dbo.GetOwnDepLink ()

	SELECT
		@strOKPO = D.[OKPO],
		@strORGNAME = dbo.BK_GET_PRINT_DEP_NAME (D.LINK),
		@UCHR_NAME = dbo.BK_GET_PRINT_DEP_NAME (D.UCHR_LINK),
		@BUDG_NAME = B.[NAME]
	FROM dbo.DEPARTMENTS D
	LEFT JOIN dbo.KL_ADMIN_BS V ON (V.LINK = D.VED_LINK)
	LEFT JOIN dbo.KL_BUDG_TYPE B ON (B.LINK = V.Link_Budg)
	WHERE D.LINK = @intDEP_LINK

	SELECT @UCHR_NAME = ISNULL (@UCHR_NAME, ''),
		@BUDG_NAME = ISNULL (@BUDG_NAME, '')

	IF @intSVOD_ZB = 1
		SET @strORGNAME = RTRIM (@strORGNAME) + ' (ЦБ)'

	SELECT @strGLBUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@intDEP_LINK, 'Главный бухгалтер')

	--- ОТБОР ПО СУБСЧЕТАМ --- 
	-- Отбор источников финансирования --
	DECLARE @TAB_SFIN TABLE (CODE CHAR (2))

	IF LEN (@cVal_SFIN) > 0 
		INSERT INTO @TAB_SFIN
		SELECT 
			D.CODE
		FROM dbo.OBJECT_VAR_FIN_SOURCE OVR
		INNER JOIN dbo.FIN_SOURCE D ON (D.LINK = OVR.RECORD)
		WHERE OVR.LINK_UP = @nOtborLinkSFIN
--			AND D.ISUSED = 1
	ELSE
	BEGIN
		INSERT INTO @TAB_SFIN
		SELECT 
			D.CODE
		FROM dbo.FIN_SOURCE D 
		WHERE D.ISUSED = 1

		INSERT INTO @TAB_SFIN (CODE) 
		SELECT ''
	END

	-- Отбор субсчетов --
	DECLARE @TAB_ACCT TABLE (ACCOUNT INT, ACCT_ROOT INT, JO INT)

	IF LEN (@varKScVal1) > 0
		INSERT INTO @TAB_ACCT
		SELECT
			OVR.RECORD,
			CASE 
				WHEN SA.cUSER <> '' THEN SA.LINK_SELF
				ELSE OVR.RECORD
			END,
			0	-- ЖО НЕ БЕРЕМ ИЗ ПС -- 
--			SA.JO
		FROM dbo.OBJECT_VAR_ACCT OVR
		INNER JOIN dbo.S_ACCOUNTS SA ON (OVR.RECORD = SA.LINK)
		WHERE OVR.LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @TAB_ACCT
		SELECT
			SA.LINK,
			CASE 
				WHEN SA.cUSER <> '' THEN SA.LINK_SELF
				ELSE SA.LINK
			END,
			0	-- ЖО НЕ БЕРЕМ ИЗ ПС --
		FROM dbo.AccountsTableWithNoChild () T1
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.LINK)
		INNER JOIN @TAB_SFIN T2 ON (T2.CODE = SA.cSOURCE)
		WHERE (@intZabalansAcct = 1
			OR (@intZabalansAcct = 2 AND ZABALANS = 0)
			OR (@intZabalansAcct = 3 AND ZABALANS = 1))

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ПО КОСГУ --- 
	DECLARE @TAB_KOSGU TABLE (LINK INT, CODE VARCHAR (20))
	IF LEN (@cVal_KOSGU) > 0
		INSERT INTO @TAB_KOSGU
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KOSGU AP 
		INNER JOIN dbo.OBJECT_VAR_KOSGU OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKOSGU
	ELSE
		INSERT INTO @TAB_KOSGU
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('SGU')

	--- ОТБОР ПО КАУ --- 
	DECLARE @T_KAU TABLE (LINK INT)
	IF LEN (@cVal_KAU) > 0
		INSERT INTO @T_KAU
		SELECT
			OVR.RECORD 
		FROM dbo.OBJECT_VAR_KAU OVR
		WHERE OVR.LINK_UP = @nOtborKAU
	ELSE
		SET @nOtborKAU = 0

	-- BEGIN YEAR --
	DECLARE @SALDO_BEGIN_YEAR TABLE
		(
		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		JO [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @SALDO_BEGIN_YEAR
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		NULL,
		ISNULL (SA.JO, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestSaldoForLedgerByDate1 (@DATE_BEG_YEAR, DEFAULT, 1) SBY
	INNER JOIN @TAB_ACCT SA ON (SBY.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (SBY.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (SBY.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND SBY.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND SBY.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = SBY.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (SA.JO, 0)

--select * from @SALDO_BEGIN_YEAR
--select * from @TAB_ACCT
	-- BEGIN PERIOD --
	DECLARE @SALDO_BEGIN_PERIOD TABLE
		(
		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		JO [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @SALDO_BEGIN_PERIOD
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		NULL,
		ISNULL (SA.JO, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestSaldoForLedgerByDate1(@DATE_START, DEFAULT, 1) SB
	INNER JOIN @TAB_ACCT SA ON (SB.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (SB.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (SB.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND SB.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND SB.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = SB.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (SA.JO, 0)
		
--SELECT * FROM @SALDO_BEGIN_PERIOD

	-- END PERIOD --
	SET @OUT_DATE_REST = DATEADD (DAY, 1, @DATE_STOP)

	DECLARE @SALDO_END_PERIOD TABLE
		(
		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		JO [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @SALDO_END_PERIOD
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		NULL,
		ISNULL (SA.JO, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestSaldoForLedgerByDate1(@OUT_DATE_REST, DEFAULT, 1) SE
	INNER JOIN @TAB_ACCT SA ON (SE.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (SE.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (SE.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND SE.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND SE.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = SE.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (SA.JO, 0)

--select * from @SALDO_END_PERIOD

	-- OBOROTS BY PERIOD --
	DECLARE @OBOROT_PERIOD TABLE
		(
 		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		LEDGER_JOURNAL [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @OBOROT_PERIOD
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (OB.SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (OB.KBK, 0)
			ELSE 0
		END,
		NULL,
		ISNULL (LEDGER_JOURNAL, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestOborotForLedgerByPeriod1(@DATE_START, @DATE_STOP, 1) OB
	INNER JOIN @TAB_ACCT SA ON (OB.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (OB.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (OB.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND OB.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND OB.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = OB.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (LEDGER_JOURNAL, 0)
--select * from @OBOROT_PERIOD

	-- ОБОРОТЫ С НАЧАЛА ГОДА -- 
	DECLARE @OBOROT_YEAR TABLE
		(
		ACCOUNT [INT],
		SGU [INT],
		KBK [INT],
		KAU	INT,
		LEDGER_JOURNAL [INT],
		D_SUMMA [NUMERIC] (28,2),
		K_SUMMA [NUMERIC] (28,2)
		)

	INSERT INTO @OBOROT_YEAR
	SELECT
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (OB.SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (OB.KBK, 0)
			ELSE 0
		END, 
		NULL,
		ISNULL (LEDGER_JOURNAL, 0),
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM dbo.BB_RestOborotForLedgerByPeriod1(@DATE_BEG_YEAR, @DATE_STOP, 1) OB
	INNER JOIN @TAB_ACCT SA ON (OB.ACCOUNT = SA.ACCOUNT)
	INNER JOIN @TAB_KBK AP ON (AP.LINK_KBK = ISNULL (OB.KBK, 0))
	INNER JOIN @TAB_KOSGU KOSGU ON (KOSGU.LINK = ISNULL (OB.SGU, 0))
	WHERE (@intSVOD_ZB = 1
				AND OB.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4)
			OR @intSVOD_ZB = 0 AND OB.DEP_LINK = @intDEP_LINK)
		AND (@nOtborKAU = 0
			OR @nOtborKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = OB.KAU)
			)	
	GROUP BY
		SA.ACCT_ROOT,
		CASE 
			WHEN @intPRN_KOSGU = 1 THEN ISNULL (SGU, 0)
			ELSE 0
		END, 
		CASE 
			WHEN @intPRN_KBK = 1 THEN ISNULL (KBK, 0)
			ELSE 0
		END,
		ISNULL (LEDGER_JOURNAL, 0)

	--select * from @OBOROT_YEAR

	DECLARE @ACCOUNT_BOOK TABLE
		(
		ACCOUNT [INT],
		KBK [INT],
		SGU [INT],
		LEDGER_JO [INT])

	INSERT INTO @ACCOUNT_BOOK
	SELECT ACCOUNT, KBK, SGU, JO
	FROM @SALDO_BEGIN_YEAR
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
	UNION
	SELECT ACCOUNT, KBK, SGU, JO
	FROM @SALDO_BEGIN_PERIOD
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
	UNION
	SELECT ACCOUNT, KBK, SGU, LEDGER_JOURNAL
	FROM @OBOROT_PERIOD
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
	UNION
	SELECT ACCOUNT, KBK, SGU, JO
	FROM @SALDO_END_PERIOD
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
	UNION
	SELECT ACCOUNT, KBK, SGU, LEDGER_JOURNAL
	FROM @OBOROT_YEAR
	WHERE D_SUMMA <> 0 OR K_SUMMA <> 0 
--select * from @ACCOUNT_BOOK

	/* --- Итоговые остатки по группе --- */
	/* НАЧАЛО ГОДА */
	DECLARE @SALDO_BEGIN_YEAR_GR TABLE (ACCOUNT [INT],
				D_SUMMA [NUMERIC] (28,2),
				K_SUMMA [NUMERIC] (28,2))

	INSERT INTO @SALDO_BEGIN_YEAR_GR	
	SELECT ACCOUNT,
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM @SALDO_BEGIN_YEAR
	GROUP BY ACCOUNT

	/* НАЧАЛО ПЕРИОДА */
	DECLARE @SALDO_BEGIN_PERIOD_GR TABLE (ACCOUNT [INT],
				D_SUMMA [NUMERIC] (28,2),
				K_SUMMA [NUMERIC] (28,2))

	INSERT INTO @SALDO_BEGIN_PERIOD_GR	
	SELECT ACCOUNT,
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM @SALDO_BEGIN_PERIOD
	GROUP BY ACCOUNT

	/* КОНЕЦ ПЕРИОДА */
	DECLARE @SALDO_END_PERIOD_GR TABLE (ACCOUNT [INT],
				D_SUMMA [NUMERIC] (28,2),
				K_SUMMA [NUMERIC] (28,2))

	INSERT INTO @SALDO_END_PERIOD_GR	
	SELECT ACCOUNT,
		SUM (D_SUMMA),
		SUM (K_SUMMA)
	FROM @SALDO_END_PERIOD
	GROUP BY ACCOUNT
/*
SELECT * FROM @SALDO_BEGIN_YEAR_GR
SELECT * FROM @SALDO_BEGIN_PERIOD_GR
SELECT * FROM @SALDO_END_PERIOD_GR
*/

--SELECT * FROM @ACCOUNT_BOOK

	DECLARE @MAIN_BOOK TABLE (
		[MONTH]	VARCHAR(20),
		ORGNAME	VARCHAR(254),
		OKPO	VARCHAR (20),
		GLBUH	VARCHAR (50),
		UCHR_NAME VARCHAR (254),
		BUDG_NAME VARCHAR (254),
		ACCT_GR	VARCHAR (5),
		ZABALANS TINYINT,
		AC_CODE VARCHAR (20),
		CODE_LONG VARCHAR (60),
		KBK_CODE VARCHAR (30),
		SGU_CODE VARCHAR (3),
		JO_CODE VARCHAR (10),
		BEG_YEAR VARCHAR (10),
		SBYD_SUMMA NUMERIC (28,4),
		SBYK_SUMMA NUMERIC (28,4),
		SBD_SUMMA NUMERIC (28,4),
		SBK_SUMMA NUMERIC (28,4),
		OBD_SUMMA NUMERIC (28,4),
		OBK_SUMMA NUMERIC (28,4),

		YOD_SUM NUMERIC (28,4),
		YOK_SUM NUMERIC (28,4),

		SED_SUMMA NUMERIC (28,4),
		SEK_SUMMA NUMERIC (28,4),

		SBYD_SUM_G NUMERIC (28,4),
		SBYK_SUM_G NUMERIC (28,4),
		SBD_SUM_G NUMERIC (28,4),
		SBK_SUM_G NUMERIC (28,4),
		SED_SUM_G NUMERIC (28,4),
		SEK_SUM_G NUMERIC (28,4),

		[SBYD_SUM_T] NUMERIC (28,4),
		[SBYK_SUM_T] NUMERIC (28,4),
		[SBD_SUM_T] NUMERIC (28,4),
		[SBK_SUM_T] NUMERIC (28,4),
		[SED_SUM_T] NUMERIC (28,4),
		[SEK_SUM_T] NUMERIC (28,4),

		ACSGU_GR1	VARCHAR (30),
		ACSGU_GR2	VARCHAR (30)
		)

--	ORDER BY 1, 2, 3, 4, 5
-- 	MONTH, ORGNAME, ACCT_GR, AC_CODE,

		
	INSERT INTO @MAIN_BOOK
	SELECT @MONTH_NAME AS MONTH,
		@strORGNAME AS ORGNAME,
		@strOKPO AS OKPO,
		@strGLBUH AS GLBUH,
		@UCHR_NAME,
		@BUDG_NAME,
		SA.cSINTH AS ACCT_GR,
		SA.ZABALANS,
		SA.CODE AS AC_CODE,

		dbo.BK_GetAcctFullCode1 (AC.ACCOUNT, AC.KBK, AC.SGU, @intPRN_KBK, @intPRN_KOSGU, @DATE_STOP) AS CODE_LONG,
		ISNULL (KL_KBK.CODE, ''),
		ISNULL (KOSGU.CODE, ''),
		ISNULL (CONVERT (VARCHAR (10), JO.CODE), '') AS JO_CODE,
		CONVERT (VARCHAR (10), @DATE_BEG_YEAR, 104) AS BEG_YEAR,
		ISNULL (REST_BY.D_SUMMA, 0) AS SBYD_SUMMA ,
		ISNULL (REST_BY.K_SUMMA, 0) AS SBYK_SUMMA,
		ISNULL (REST_BP.D_SUMMA, 0) AS SBD_SUMMA,
		ISNULL (REST_BP.K_SUMMA , 0) AS SBK_SUMMA,
		ISNULL (OB.D_SUMMA, 0) AS OBD_SUMMA,
		ISNULL (OB.K_SUMMA, 0) AS OBK_SUMMA,

		ISNULL (OBY.D_SUMMA, 0) AS YOD_SUM,
		ISNULL (OBY.K_SUMMA, 0) AS YOK_SUM,

		ISNULL (REST_EP.D_SUMMA, 0) AS SED_SUMMA ,
		ISNULL (REST_EP.K_SUMMA, 0) AS SEK_SUMMA,

		ISNULL (REST_BY_GR.D_SUMMA, 0) AS SBYD_SUM_G ,
		ISNULL (REST_BY_GR.K_SUMMA, 0) AS SBYK_SUM_G,
		ISNULL (REST_BP_GR.D_SUMMA, 0) AS SBD_SUM_G,
		ISNULL (REST_BP_GR.K_SUMMA , 0) AS SBK_SUM_G,
		ISNULL (REST_EP_GR.D_SUMMA, 0) AS SED_SUM_G,
		ISNULL (REST_EP_GR.K_SUMMA, 0) AS SEK_SUM_G,

		[SBYD_SUM_T] = ISNULL ((SELECT SUM (D_SUMMA) FROM @SALDO_BEGIN_YEAR_GR), 0),
		[SBYK_SUM_T] = ISNULL ((SELECT SUM (K_SUMMA) FROM @SALDO_BEGIN_YEAR_GR), 0),
		[SBD_SUM_T] = ISNULL ((SELECT SUM (D_SUMMA) FROM @SALDO_BEGIN_PERIOD_GR), 0),
		[SBK_SUM_T] = ISNULL ((SELECT SUM (K_SUMMA) FROM @SALDO_BEGIN_PERIOD_GR), 0),
		[SED_SUM_T] = ISNULL ((SELECT SUM (D_SUMMA) FROM @SALDO_END_PERIOD_GR), 0),
		[SEK_SUM_T] = ISNULL ((SELECT SUM (K_SUMMA) FROM @SALDO_END_PERIOD_GR), 0),

		CASE
--			WHEN @intGRP_SGU = 1 AND SA.P_KASSA = 1 AND KOSGU.IS_EKR = 1 THEN RTRIM (SA.CODE) + '.' + LEFT (KOSGU.CODE, 2) + '0'
--			WHEN @intGRP_SGU = 1 AND SA.P_KASSA = 1 THEN RTRIM (SA.CODE) + '.' + ISNULL (LEFT (KOSGU.CODE, 2) + '0', '000')
			WHEN @intGRP_SGU = 1 THEN RTRIM (SA.CODE) + '.' + ISNULL (LEFT (KOSGU.CODE, 2) + '0', '000')
			ELSE ''
		END, 
		CASE
--			WHEN @intGRP_SGU = 1 AND SA.P_KASSA = 1 AND KOSGU.IS_EKR = 1 THEN RTRIM (SA.CODE) + '.' + LEFT (KOSGU.CODE, 1) + '00'
--			WHEN @intGRP_SGU = 1 AND SA.P_KASSA = 1 THEN RTRIM (SA.CODE) + '.' + ISNULL (LEFT (KOSGU.CODE, 1) + '00', '000')
			WHEN @intGRP_SGU = 1 THEN RTRIM (SA.CODE) + '.' + ISNULL (LEFT (KOSGU.CODE, 1) + '00', '000')
			ELSE ''
		END
	FROM @ACCOUNT_BOOK AC
	LEFT OUTER JOIN @SALDO_BEGIN_YEAR REST_BY ON (REST_BY.ACCOUNT = AC.ACCOUNT
			AND REST_BY.KBK = AC.KBK
			AND REST_BY.SGU = AC.SGU
			AND REST_BY.JO = AC.LEDGER_JO)
	LEFT OUTER JOIN @SALDO_BEGIN_PERIOD REST_BP ON (REST_BP.ACCOUNT = AC.ACCOUNT
			AND REST_BP.KBK = AC.KBK
			AND REST_BP.SGU = AC.SGU
			AND REST_BP.JO = AC.LEDGER_JO)
	LEFT OUTER JOIN @OBOROT_PERIOD OB ON (OB.ACCOUNT = AC.ACCOUNT
			AND OB.KBK = AC.KBK
			AND OB.SGU = AC.SGU
			AND OB.LEDGER_JOURNAL = AC.LEDGER_JO)
	LEFT OUTER JOIN @SALDO_END_PERIOD REST_EP ON (REST_EP.ACCOUNT = AC.ACCOUNT
			AND REST_EP.KBK = AC.KBK
			AND REST_EP.SGU = AC.SGU
			AND REST_EP.JO = AC.LEDGER_JO)
	LEFT OUTER JOIN @OBOROT_YEAR OBY ON (OBY.ACCOUNT = AC.ACCOUNT
			AND OBY.KBK = AC.KBK
			AND OBY.SGU = AC.SGU
			AND OBY.LEDGER_JOURNAL = AC.LEDGER_JO)
	LEFT OUTER JOIN @SALDO_BEGIN_YEAR_GR REST_BY_GR ON (REST_BY_GR.ACCOUNT = AC.ACCOUNT)
	LEFT OUTER JOIN @SALDO_BEGIN_PERIOD_GR REST_BP_GR ON (REST_BP_GR.ACCOUNT = AC.ACCOUNT)
	LEFT OUTER JOIN @SALDO_END_PERIOD_GR REST_EP_GR ON (REST_EP_GR.ACCOUNT = AC.ACCOUNT)

	INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = AC.ACCOUNT
	LEFT JOIN dbo.KL_KBK ON KL_KBK.LINK=AC.KBK

	LEFT JOIN dbo.KOSGU ON KOSGU.LINK=AC.SGU
	LEFT JOIN dbo.JOURNAL_OPERATION JO ON JO.LINK=AC.LEDGER_JO
--	ORDER BY 1, 2, 3, 4, 5


	IF @intACCT_GR = 1
		IF @intGRP_SGU = 1
			SELECT *
			FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, ACCT_GR, AC_CODE, SGU_CODE, KBK_CODE
		ELSE
			SELECT *
			FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, ACCT_GR, AC_CODE, KBK_CODE, SGU_CODE
	ELSE
		IF @intGRP_SGU = 1
			SELECT *
			FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, AC_CODE, SGU_CODE, KBK_CODE
		ELSE
			SELECT *
			FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, AC_CODE, KBK_CODE, SGU_CODE

-- EXECUTE KIR_EXEC_QUERY 40039,'''20060101'',''20081231'',0,1,0,0,1,1,0,0,1,40905'
/*
SELECT *,
	CONVERT (VARCHAR (26), REPLACE (CODE_LONG, '.', '')) AS SCHET,
	CONVERT (NUMERIC (15), SBYD_SUMMA * 100) AS OST_NG_D,
	CONVERT (NUMERIC (15), SBYK_SUMMA * 100) AS OST_NG_K,
	CONVERT (NUMERIC (15), SBD_SUMMA * 100) AS OST_NM_D,
	CONVERT (NUMERIC (15), SBK_SUMMA * 100) AS OST_NM_K
FROM @MAIN_BOOK ORDER BY ORGNAME, [MONTH], ZABALANS, AC_CODE, KBK_CODE, SGU_CODE
*/
END





GO


GRANT EXECUTE ON dbo.[BK_REPORT_BOOK_MAIN] TO PUBLIC

GO



GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BK_REPORT_CARD_AFC_F0504051_1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BK_REPORT_CARD_AFC_F0504051_1]
GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE      PROCEDURE dbo.BK_REPORT_CARD_AFC_F0504051_1
	@varKSDateBegin	DATETIME	,
	@varKDateEnd	DATETIME	,
	@varKSnSel_Acct	INT		,
	@varKSnSel_KBK	INT		,
	@varKScVal1 char(1), @varKSnOtborLink1 int,
	@codeKSReport	CHAR (20),
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSBEGIN_YEAR	DATETIME	,
		@varKSDEP_LINK		INT		,
		@varKSDEP_NAME		VARCHAR (254)	,
		@varKSDEP_OKPO		VARCHAR (20),
		@varKSACCT_ACTIVE	INT		,		
		@intIS_KAU		TINYINT,

		@varKSnSel_Empl	INT		,
		@varKSWorkDate	DATETIME	,

		@varKSEMP_LINK	INT,
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254),
		@varKSEMP_POST	VARCHAR (60),
	
		@varKSACCT_LINK	INT,
		@varKSACCT_CODE	VARCHAR (60),
		@varKSACCT_NAME	VARCHAR (254),

		@varKScBEGIN_PERIOD	VARCHAR (10),
		@varKScEND_PERIOD	VARCHAR (10)

	SET @varKSnSel_KBK = ISNULL (@varKSnSel_KBK, 0) 

	SET @varKSACCT_CODE = CASE 
					WHEN @varKSnSel_KBK = 0 THEN dbo.BK_GetAcctFullCode1 (@varKSnSel_Acct, @varKSnSel_KBK, 0, 0, 0, @varKDateEnd)
					ELSE dbo.BK_GetAcctFullCode1 (@varKSnSel_Acct, @varKSnSel_KBK, 0, 1, 0, @varKDateEnd)
				END
	
	SET @varKScBEGIN_PERIOD	=	CONVERT (VARCHAR (10), @varKSDateBegin, 104) 
	SET @varKScEND_PERIOD	=	CONVERT (VARCHAR (10), @varKDateEnd, 104) 

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSDEP_LINK	=	LINK,
		@varKSDEP_NAME	=	dbo.BK_GET_PRINT_DEP_NAME (LINK),
		@varKSDEP_OKPO	=	[OKPO]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'

	--- Организации, которые нужны (ЦБ) ---
	DECLARE @DEP_ZB TABLE (LINK INT)
	
	IF @intSVOD_ZB = 1 
		INSERT INTO @DEP_ZB
		SELECT	LINK
		FROM dbo.DEPARTMENTS
		WHERE ZB = 1 OR TYPE = 4
	ELSE
		INSERT INTO @DEP_ZB (LINK)
		VALUES (@varKSDEP_LINK)
	


	SELECT @varKSACCT_ACTIVE = S_ACTIVE
	FROM dbo.S_ACCOUNTS
	WHERE LINK = @varKSnSel_Acct

	DECLARE @TABLE_AP TABLE (LINK_AP INT, AP_CODE VARCHAR (20),
			AP_NAME VARCHAR (254), AP_OKPO VARCHAR (20))

	IF LEN (@varKScVal1) > 0
	BEGIN
		IF @codeKSReport = 'DEP'
			INSERT INTO @TABLE_AP
			SELECT OV.RECORD,
				ISNULL (DEP.CODE, ''),
				ISNULL (dbo.BK_GET_PRINT_DEP_NAME (DEP.LINK), ''),
				ISNULL (DEP.OKPO, '')
			FROM dbo.OBJECT_VAR_DEPARTMENT OV
			INNER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OV.RECORD)
			WHERE OV.LINK_UP = @varKSnOtborLink1

		IF @codeKSReport = 'EMP'
			INSERT INTO @TABLE_AP
			SELECT OV.RECORD,
				ISNULL (EMP.TAB, ''),
				ISNULL (EMP.[NAME_EMPL], ''),
				''
			FROM dbo.OBJECT_VAR_EMPL OV
			INNER JOIN dbo.KU_EMPL_PLACING EMP ON (EMP.LINK = OV.RECORD)
			WHERE OV.LINK_UP = @varKSnOtborLink1

		IF @codeKSReport = 'KAU'
			INSERT INTO @TABLE_AP
			SELECT OV.RECORD,
				ISNULL (KAU.CODE, ''),
				ISNULL (KAU.[NAME], ''),
				''
			FROM dbo.OBJECT_VAR_KAU OV
			INNER JOIN dbo.DICTIONARY_ANALYTICAL_CODES KAU ON (KAU.LINK = OV.RECORD)
			WHERE OV.LINK_UP = @varKSnOtborLink1

		IF @codeKSReport = 'NOMEN_D'
			INSERT INTO @TABLE_AP
			SELECT OV.RECORD,
				ISNULL (NOMEN.CODE, ''),
				ISNULL (NOMEN.[NAME], ''),
				''
			FROM dbo.OBJECT_VAR_NOMENCLATURE OV
			INNER JOIN dbo.NOMENCLATURE NOMEN ON (NOMEN.LINK = OV.RECORD)
			WHERE OV.LINK_UP = @varKSnOtborLink1
	END
	ELSE
	BEGIN
		IF @codeKSReport = 'NOMEN_D'
		BEGIN
			INSERT INTO @TABLE_AP
			SELECT LINK,
				ISNULL (CODE, ''),
				ISNULL ([NAME], ''),
				''
			FROM dbo.BK_DICTION_NOMEN_D

			INSERT INTO @TABLE_AP (LINK_AP, AP_CODE, AP_NAME, AP_OKPO)
			VALUES (0, '', 'Не указан', '')
		END
		ELSE
			INSERT INTO @TABLE_AP
			SELECT LINK_AP,
				ISNULL (AP_CODE, ''),
				CASE
					WHEN @codeKSReport = 'DEP' THEN dbo.BK_GET_PRINT_DEP_NAME (LINK_AP)
					ELSE ISNULL (AP_NAME, '')
				END,
				ISNULL (DOP_CODE, '')
			FROM dbo.BK_GetTableDictionByAP (@codeKSReport)
	END

	--- Остатки ---
	DECLARE @TABLE_REST TABLE (LINK_AP INT, D_SUMMA NUMERIC (28, 4), K_SUMMA NUMERIC (28, 4))

	INSERT INTO @TABLE_REST
	SELECT 
		CASE 
			WHEN @codeKSReport = 'DEP' THEN ISNULL (REST.DEP, 0)
			WHEN @codeKSReport = 'EMP' THEN ISNULL (REST.EMP, 0)
			WHEN @codeKSReport = 'KAU' THEN ISNULL (REST.KAU, 0)
			WHEN @codeKSReport = 'NOMEN_D' THEN ISNULL (REST.NOMEN, 0)
			ELSE 0
		END,
		SUM (REST.D_SUMMA),
		SUM (REST.K_SUMMA)
	FROM dbo.ARestTableByDate (@varKSDateBegin, @varKSnSel_Acct) REST
	INNER JOIN @DEP_ZB DEP ON (DEP.LINK = REST.DEP_LINK)
	WHERE(@varKSnSel_KBK = 0)
			OR (@varKSnSel_KBK <> 0 AND REST.KBK = @varKSnSel_KBK)
	GROUP BY 
		CASE 
			WHEN @codeKSReport = 'DEP' THEN ISNULL (REST.DEP, 0)
			WHEN @codeKSReport = 'EMP' THEN ISNULL (REST.EMP, 0)
			WHEN @codeKSReport = 'KAU' THEN ISNULL (REST.KAU, 0)
			WHEN @codeKSReport = 'NOMEN_D' THEN ISNULL (REST.NOMEN, 0)
			ELSE 0
		END

	--- Дебетовые обороты ---
	DECLARE	@TABLE_DB TABLE (LINK_DOC INT, DATE_PROV DATETIME, LINK_AP INT,
		LINK_JO INT, COMMENT VARCHAR (254),
		D_SUMMA NUMERIC (28, 4), K_SUMMA NUMERIC (28, 4))

	INSERT INTO @TABLE_DB
	SELECT DB.LINK_DOC,
		DB.DATE_PROV,
		CASE 
			WHEN @codeKSReport = 'DEP' THEN ISNULL (DB.DEP, 0)
			WHEN @codeKSReport = 'EMP' THEN ISNULL (DB.EMP, 0)
			WHEN @codeKSReport = 'KAU' THEN ISNULL (DB.KAU, 0)
			WHEN @codeKSReport = 'NOMEN_D' THEN ISNULL (DB.NOMEN, 0)
			ELSE 0
		END,
		XOJ.JURN_LINK,
		DB.NAME_OPER,
		DB.SUMMA,
		0
	FROM dbo.BK_GetTableOborotByDate1 (@varKSDateBegin, @varKDateEnd, 0, @varKSnSel_Acct, DEFAULT) DB
	LEFT JOIN dbo.XOZ_OPER_JURN XOJ ON (XOJ.XOZ_LINK = DB.XOZ_OPER
				AND XOJ.GK = 1)
	WHERE (@intSVOD_ZB = 1 
			OR (@intSVOD_ZB = 0 AND DB.DEP_LINK = @varKSDEP_LINK))
		AND ((@varKSnSel_KBK = 0)
				OR (@varKSnSel_KBK <> 0 AND DB.KBK = @varKSnSel_KBK))

	--- Кредитовые обороты ---
	DECLARE	@TABLE_KT TABLE (LINK_DOC INT, DATE_PROV DATETIME, LINK_AP INT,
		LINK_JO INT, COMMENT VARCHAR (254),
		D_SUMMA NUMERIC (28, 4), K_SUMMA NUMERIC (28, 4))

	INSERT INTO @TABLE_KT
	SELECT KT.LINK_DOC,
		KT.DATE_PROV,
		CASE 
			WHEN @codeKSReport = 'DEP' THEN ISNULL (KT.DEP, 0)
			WHEN @codeKSReport = 'EMP' THEN ISNULL (KT.EMP, 0)
			WHEN @codeKSReport = 'KAU' THEN ISNULL (KT.KAU, 0)
			WHEN @codeKSReport = 'NOMEN_D' THEN ISNULL (KT.NOMEN, 0)
			ELSE 0
		END,
		XOJ.JURN_LINK,
		KT.NAME_OPER,
		0,
		KT.SUMMA
	FROM dbo.BK_GetTableOborotByDate1 (@varKSDateBegin, @varKDateEnd, 1, @varKSnSel_Acct, DEFAULT) KT
	LEFT JOIN dbo.XOZ_OPER_JURN XOJ ON (XOJ.XOZ_LINK = KT.XOZ_OPER
				AND XOJ.GK = 1)
	WHERE (@intSVOD_ZB = 1 
			OR (@intSVOD_ZB = 0 AND KT.DEP_LINK = @varKSDEP_LINK))
		AND ((@varKSnSel_KBK = 0)
				OR (@varKSnSel_KBK <> 0 AND KT.KBK = @varKSnSel_KBK))

	DECLARE @TABLE_OBOROT TABLE (LINK_DOC INT, DATE_PROV DATETIME, LINK_AP INT,
		LINK_JO INT, COMMENT VARCHAR (254),
		D_SUMMA NUMERIC (28, 4), K_SUMMA NUMERIC (28, 4))

	INSERT INTO @TABLE_OBOROT
	SELECT * FROM @TABLE_DB
	UNION ALL
	SELECT * FROM @TABLE_KT
		ORDER BY DATE_PROV

	DECLARE @TABLE_GR TABLE (LINK_AP INT)

	INSERT INTO @TABLE_GR
	SELECT LINK_AP FROM @TABLE_OBOROT
	UNION
	SELECT LINK_AP FROM @TABLE_REST
		WHERE D_SUMMA <> 0 OR K_SUMMA <> 0
		
	SET @intIS_KAU = CASE 
				WHEN @codeKSReport = 'KAU' THEN 1
				WHEN @codeKSReport = 'NOMEN_D' THEN 2
				ELSE 0
			END

	DECLARE @RESULT TABLE (REC_NO INT IDENTITY, IS_KAU TINYINT, DEP INT, LINK_ACCT INT, LINK_AP INT,
		DEP_OKPO VARCHAR (20), DEP_NAME VARCHAR (254),
		AP_CODE VARCHAR (20), AP_NAME VARCHAR (254), AP_OKPO VARCHAR (20),
		BEGIN_DATE VARCHAR (10), DATE_END VARCHAR (10),
		ACCT_CODE VARCHAR (60), 
		DATE_PROV DATETIME, cDATE_PROV VARCHAR (10),
		JO_NUM VARCHAR (20),
		OPER_COM VARCHAR (254), 
		IN_SUM_D NUMERIC (28,4), IN_SUM_K NUMERIC (28,4),
		D_SUMMA NUMERIC (28,4), K_SUMMA NUMERIC (28,4),
		OUT_SUM_D NUMERIC (28,4), OUT_SUM_K NUMERIC (28,4))

	INSERT INTO @RESULT (IS_KAU, DEP, LINK_ACCT, LINK_AP,
			DEP_OKPO, DEP_NAME,
			AP_CODE, AP_NAME, AP_OKPO,
			BEGIN_DATE, DATE_END,
			ACCT_CODE,
			DATE_PROV, cDATE_PROV,
			JO_NUM,	OPER_COM,
			IN_SUM_D, IN_SUM_K,
			D_SUMMA, K_SUMMA 
		)

	SELECT @intIS_KAU,
		@varKSDEP_LINK,
		@varKSnSel_Acct,
		T1.LINK_AP,
		ISNULL (@varKSDEP_OKPO, ''),
		ISNULL (@varKSDEP_NAME, ''),
		T_AP.AP_CODE, 
		T_AP.AP_NAME,
		T_AP.AP_OKPO,
		@varKScBEGIN_PERIOD,
		@varKScEND_PERIOD,
		@varKSACCT_CODE,
		T_OB.DATE_PROV,
		ISNULL (CONVERT (VARCHAR (10), T_OB.DATE_PROV, 104), ''),
		ISNULL (JO.CODE, ''),
		ISNULL (T_OB.COMMENT, ''),
		ISNULL (T_REST.D_SUMMA, 0),
		ISNULL (T_REST.K_SUMMA, 0),
		ISNULL (T_OB.D_SUMMA, 0),
		ISNULL (T_OB.K_SUMMA, 0)

	FROM @TABLE_GR T1
	INNER JOIN @TABLE_AP T_AP ON (T_AP.LINK_AP = T1.LINK_AP)
	LEFT OUTER JOIN @TABLE_OBOROT T_OB ON (T_OB.LINK_AP = T1.LINK_AP)
	LEFT OUTER JOIN dbo.JOURNAL_OPERATION JO ON (JO.LINK = T_OB.LINK_JO)
	LEFT OUTER JOIN @TABLE_REST T_REST ON (T_REST.LINK_AP = T1.LINK_AP)

/*	
	DECLARE #UPDATE_REST CURSOR LOCAL
		FOR SELECT REC_NO, LINK_AP, IN_SUM_D, IN_SUM_K
			FROM @RESULT

	DECLARE	@varKSintREC_NO	INT,
		@varKSintLINK_AP	INT,
		@varKSnIN_SUM_D	NUMERIC (28,4),
		@varKSnIN_SUM_K	NUMERIC (28,4),
		@varKSnOBOROT_SUMMA	NUMERIC (28,4)

	OPEN #UPDATE_REST
	FETCH #UPDATE_REST
		INTO @varKSintREC_NO, @varKSintLINK_AP, @varKSnIN_SUM_D, @varKSnIN_SUM_K
	WHILE @@FETCH_STATUS = 0 BEGIN
		
		SELECT @varKSnOBOROT_SUMMA	= SUM (D_SUMMA) - SUM (K_SUMMA)
		FROM @RESULT
		WHERE LINK_AP = @varKSintLINK_AP
			AND REC_NO <= @varKSintREC_NO

		UPDATE @RESULT SET OUT_SUM_D = CASE 
							WHEN @varKSACCT_ACTIVE = 1 THEN @varKSnOBOROT_SUMMA + @varKSnIN_SUM_D
							ELSE 0
						END,
					OUT_SUM_K = CASE 
							WHEN @varKSACCT_ACTIVE = 0 THEN @varKSnOBOROT_SUMMA * (-1) + @varKSnIN_SUM_K
							ELSE 0
						END
		WHERE REC_NO = @varKSintREC_NO
			
		FETCH #UPDATE_REST
			INTO @varKSintREC_NO, @varKSintLINK_AP, @varKSnIN_SUM_D, @varKSnIN_SUM_K
		
	END
*/
	DECLARE #UPDATE_REST CURSOR LOCAL
		FOR SELECT LINK_AP 
			FROM @TABLE_GR

	DECLARE	@varKSintREC_NO	INT,
		@varKSintLINK_AP	INT,
		@varKSnIN_SUM_D	NUMERIC (28,4),
		@varKSnIN_SUM_K	NUMERIC (28,4),
		@varKSnOBOROT_SUMMA	NUMERIC (28,4)

	OPEN #UPDATE_REST
	FETCH #UPDATE_REST
		INTO @varKSintLINK_AP
	WHILE @@FETCH_STATUS = 0 BEGIN
		
		SET @varKSnOBOROT_SUMMA	= (SELECT SUM (D_SUMMA) - SUM (K_SUMMA)
						FROM @RESULT
						WHERE LINK_AP = @varKSintLINK_AP)
		SET @varKSnOBOROT_SUMMA = ISNULL (@varKSnOBOROT_SUMMA, 0)

		SET @varKSnIN_SUM_D = (SELECT D_SUMMA
					FROM @TABLE_REST
					WHERE LINK_AP = @varKSintLINK_AP)

		SET @varKSnIN_SUM_K = (SELECT K_SUMMA
					FROM @TABLE_REST
					WHERE LINK_AP = @varKSintLINK_AP)

		UPDATE @RESULT SET OUT_SUM_D = CASE 
							WHEN @varKSACCT_ACTIVE = 1 THEN @varKSnOBOROT_SUMMA + ISNULL (@varKSnIN_SUM_D, 0)
							ELSE 0
						END,
					OUT_SUM_K = CASE 
							WHEN @varKSACCT_ACTIVE = 0 THEN @varKSnOBOROT_SUMMA * (-1) + ISNULL (@varKSnIN_SUM_K, 0)
							ELSE 0
						END
		WHERE LINK_AP = @varKSintLINK_AP
			
		FETCH #UPDATE_REST
			INTO @varKSintLINK_AP 
	END

	CLOSE #UPDATE_REST
	DEALLOCATE	#UPDATE_REST

	SELECT * FROM 	@RESULT ORDER BY AP_CODE, DATE_PROV
END

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO


GO
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BK_REPORT_JURNAL_BO]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BK_REPORT_JURNAL_BO]
GO

CREATE PROCEDURE BK_REPORT_JURNAL_BO
	@td_DATE_START	DATETIME,
	@td_DATE_END	DATETIME,
	@nOptType int				/* ВИд */,
	@cVal1 char(1), @nOtborLink1 int,	/* Отбор счетов нашей организации */
	@cVal2 char(1), @nOtborLink2 int,	/* Отбор КБК */
	@cVal3 char(1), @nOtborLink3 int,	/* Отбор источников */
	@cVal4 char(1), @nOtborLink4 int	/* Отбор источников */
AS
BEGIN
	DECLARE @DEP_LINK	INT,
		@DEP_NAME	VARCHAR (254),
		@DEP_OKPO	VARCHAR (20),

		@dDATE_START	DATETIME,
		@dDATE_STOP	DATETIME

	DECLARE @TAB_DEP_ACCT TABLE (LINK_ACCT INT)
	IF LEN (@cVal1) > 0 
		INSERT INTO @TAB_DEP_ACCT
		SELECT RECORD
		FROM OBJECT_VAR_DEPARTMENT_ACCOUNTS
		WHERE LINK_UP = @nOtborLink1
	ELSE
		INSERT INTO @TAB_DEP_ACCT
		SELECT LINK
		FROM dbo.DEPARTMENT_ACCOUNTS
	
	DECLARE @tKBK TABLE (LINK INT)
	IF LEN (@cVal2) > 0 
		INSERT INTO @tKBK
		SELECT RECORD
		FROM OBJECT_VAR_KBK
		WHERE LINK_UP = @nOtborLink2
	ELSE
		INSERT INTO @tKBK
		SELECT LINK
		FROM dbo.KL_KBK
		
	
	
	-- Отбор источников финансирования --
	DECLARE @TAB_SFIN TABLE (CODE CHAR (2))

	IF LEN (@cVal3) > 0 
		INSERT INTO @TAB_SFIN
		SELECT D.CODE
		FROM dbo.OBJECT_VAR_FIN_SOURCE OVR
		INNER JOIN dbo.FIN_SOURCE D ON (D.LINK = OVR.RECORD)
		WHERE OVR.LINK_UP = @nOtborLink3
	ELSE
		INSERT INTO @TAB_SFIN
		SELECT D.CODE
		FROM dbo.FIN_SOURCE D 


	SELECT @dDATE_START = BEGINDATE,
		@dDATE_STOP = ENDDATE
	FROM USER_INFO

	SELECT @DEP_LINK = LINK,
		@DEP_NAME = NAME,
		@DEP_OKPO = OKPO
	FROM DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SET @dDATE_START = ISNULL (@td_DATE_START, @dDATE_START)
	SET @dDATE_STOP = ISNULL (@td_DATE_END, @dDATE_STOP)

	SELECT T1.DEP AS DEP_LINK,
		@DEP_NAME AS DEP_NAME,
		@DEP_OKPO AS DEP_OKPO,

		CONVERT (VARCHAR (10), @dDATE_START, 104) AS DATE_BEGIN, 
		CONVERT (VARCHAR (10), @dDATE_STOP, 104) AS DATE_END,
		CONVERT (VARCHAR (10), T1.DATE_AP1, 104) AS DOC_DATE,

		CODE_AP1 AS DOC_NUM,
		NAME_AP1 AS DOC_NAME,
		TYPE_AP1 AS DOC_TYPE,
		SA.LINK,
		dbo.BK_GetAcctFullCode1 (SA.LINK, T1.KBK_LINK, T1.SGU_LINK, 1, 1, @td_DATE_END) AS ACCT_CODE,
		T1.SUMMA,
		CONVERT (VARCHAR (10), ISNULL (T1.DATE_PR,T1.DATE_AP1), 104) AS cDATE_PR,
		ISNULL (CONVERT (VARCHAR (10), T1.DATE_SN, 104), '') AS cDATE_SN,
		ISNULL (G2.[NAME], '') AS COMENT
	FROM dbo.BD_JURN_BO T1
	INNER JOIN @TAB_DEP_ACCT D_ACCT ON (D_ACCT.LINK_ACCT = T1.ACCOUNT_LINK)
	INNER JOIN @tKBK KBK ON KBK.LINK = T1.KBK_LINK
	inner join @TAB_SFIN SF on SF.CODE = T1.IST_FIN
	LEFT OUTER JOIN G_PROV2 G2 ON T1.PROV_LINK = G2.LINK
	LEFT OUTER JOIN G_PROV_AP GAP ON GAP.LINK_UP = G2.LINK and GAP.DB_KR = 1
	LEFT OUTER JOIN S_ACCOUNTS SA ON GAP.ACCOUNT = SA.LINK
	WHERE T1.DATE_AP1 BETWEEN @dDATE_START AND @dDATE_STOP
		AND T1.DEP = @DEP_LINK
		and (@nOptType = 1 or @nOptType = 2 and DO = 0 or @nOptType = 3 and DO = 1)
		and (len(@cVal4) = 0 or exists(SELECT *	FROM dbo.OBJECT_VAR_DOP_CLASSIF WHERE LINK_UP = @nOtborLink4 and RECORD = T1.DOP_LINK))

END

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

GRANT ALL ON BK_REPORT_JURNAL_BO TO PUBLIC
GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_MANYGRAPH_CARD]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_MANYGRAPH_CARD]

GO

--- МНОГОГРАФНАЯ КАРТОЧКА --- 
-- SELECT * FROM S_ACCOUNTS WHERE CODE = '1.401.01'
-- SELECT * FROM dbo.BK_GetTableDictionByAP ('EKR') 
-- EXEC [dbo].BK_REPORT_MANYGRAPH_CARD '20070101', '20071231', 1486, 0, 'EKR'
CREATE     PROCEDURE dbo.BK_REPORT_MANYGRAPH_CARD 
	@dDateSTART datetime	/* Начало расч. периода */,
	@dDateEND datetime	/* Конец расч. периода */,
	@nSel_Spr1 int		/* Счет */,
	@nPRN_REST	INT	/* -- Выводить остатки по счету -- */,
	@strCODE_AP	VARCHAR (60) = 'ACCOUNT',
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@cVal_KAU char(1) = '', @nOtborLinkKAU int = 0	-- Отбор КАУ
AS 
BEGIN
	DECLARE
		@cCROSS_TABLE_DB	VARCHAR (100),
		@cCROSS_TABLE_KT	VARCHAR (100),
		@intCOUNTER		INT,
		@cCOUNTER		VARCHAR (10),
		@intMAX_REC		INT,
		@cSQL_STR		VARCHAR (1000),
		@DEP_NAME		VARCHAR (254),
		@DEP_OKPO		VARCHAR (20),
		@DEP_LINK		INT,
		@GLBUH_NAME		VARCHAR (100),
		@intCOUNT_COLROW	INT,
		@REST_BEGIN		NUMERIC (28,4),
		@REST_END		NUMERIC (28,4),
		@dDATE_REST_E		DATETIME,
		@cDATE_REST_E		VARCHAR (10)		

	SET @intMAX_REC = 10

	SELECT @DEP_LINK = LINK, @DEP_OKPO = OKPO, @DEP_NAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())

	SELECT @GLBUH_NAME = SHORT_NAME
	FROM dbo.GetOtvFaceData (@DEP_LINK, 'Главный бухгалтер')

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР КАУ --- 
	DECLARE @TAB_KAU TABLE (LINK INT)
	IF LEN (@cVal_KAU) > 0
		INSERT INTO @TAB_KAU
		SELECT
			AP.LINK
		FROM dbo.KAU AP 
		INNER JOIN dbo.OBJECT_VAR_KAU OVR ON (OVR.RECORD = AP.LINK)
		WHERE
			OVR.LINK_UP = @nOtborLinkKAU
	ELSE
		SET @nOtborLinkKAU = -1

	-- Входящий остаток по счету -- 
	SELECT
		@REST_BEGIN = CASE 
						WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
						WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END
	FROM dbo.ARestTableByDate (@dDateSTART, @nSel_Spr1) R
	INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
	INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
	WHERE
		R.DEP_LINK = @DEP_LINK
		AND (@nOtborLinkKAU = -1
				OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @TAB_KAU TTT
													WHERE TTT.LINK = R.KAU)
				)									
	GROUP BY
		S_ACTIVE, S_PASSIVE

	/* -- Исходящий остаток по счету -- */
	SET @dDATE_REST_E = DATEADD (DAY, 1, @dDateEND)
	SET @cDATE_REST_E = CONVERT (VARCHAR (10), @dDATE_REST_E, 104)
	SELECT
		@REST_END = CASE 
						WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
						WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END
	FROM dbo.ARestTableByDate (@dDATE_REST_E, @nSel_Spr1) R
	INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
	INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
	WHERE
		R.DEP_LINK = @DEP_LINK
		AND (@nOtborLinkKAU = -1
				OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @TAB_KAU TTT
													WHERE TTT.LINK = R.KAU)
				)									
	GROUP BY S_ACTIVE, S_PASSIVE

	SELECT @REST_BEGIN = ISNULL (@REST_BEGIN, 0), @REST_END = ISNULL (@REST_END, 0)

	--- БЕРЕМ ВСЕ ДЕБЕТОВЫЕ ОБОРОТЫ ЗА ПЕРИОД ПО СЧЕТУ (КРЕДИТОВАЯ КОРРЕСПОНДЕНЦИЯ) --- 
	CREATE TABLE #ACCT_IN_DB
			(DATE_OP		[DATETIME],
				JO_NUM		[VARCHAR] (10),
				NAME_OPER	[VARCHAR] (254),
				AC		[VARCHAR] (60),
				SS		[NUMERIC] (28,4),
				RB		[NUMERIC] (28,4),
				RE		[NUMERIC] (28,4),
				REST_B		[NUMERIC] (28,4),
				REST_E		[NUMERIC] (28,4),
				DATE_E		[VARCHAR] (10))

	INSERT INTO #ACCT_IN_DB
	SELECT OB.DATE_PROV,
		ISNULL (OP.JOUR_CODE, ''),
		OB.NAME_OPER,
		CASE
			WHEN @strCODE_AP = 'ACCOUNT'
				THEN ISNULL (dbo.BK_GetAcctFullCode1 (G_KT.ACCOUNT,
									G_KT.KBK,
									G_KT.SGU,
									DEFAULT, DEFAULT,
									@dDateEND), '')
			ELSE AP.AP_CODE
		END,
		OB.SUMMA,
		0, 0,
		@REST_BEGIN,
		@REST_END,
		@cDATE_REST_E
	FROM dbo.BK_GetTableOborotByDate1 (@dDateSTART, @dDateEND, 0, @nSel_Spr1, @DEP_LINK) OB
	INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = OB.KBK)
	LEFT JOIN dbo.G_PROV_AP G_KT ON (G_KT.LINK_UP = OB.LINK_G2
		AND G_KT.DB_KR = 1)
	LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON (AP.LINK_AP = CASE
									WHEN @strCODE_AP = 'EKR' THEN OB.EKR
									WHEN @strCODE_AP = 'KAU' THEN OB.KAU
								END)
	LEFT OUTER JOIN dbo.BK_TYPE_ECONOM_OPER OP ON (OP.LINK = OB.XOZ_OPER)
	WHERE 
		(@strCODE_AP = 'ACCOUNT' 
			OR (@strCODE_AP = 'EKR' AND AP.LINK_AP IS NOT NULL)
			OR (@strCODE_AP = 'KAU' AND AP.LINK_AP IS NOT NULL)
		)
		AND (@nOtborLinkKAU = -1
				OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @TAB_KAU TTT
													WHERE TTT.LINK = OB.KAU)
				)									

	--- БЕРЕМ ВСЕ КРЕДИТОВЫЕ ОБОРОТЫ ЗА ПЕРИОД ПО СЧЕТУ (ДЕБЕТОВАЯ КОРРЕСПОНДЕНЦИЯ) --- 
	CREATE TABLE #ACCT_IN_KT (DATE_OP		[DATETIME],
				JO_NUM		[VARCHAR] (10),
				NAME_OPER	[VARCHAR] (254),
				AC		[VARCHAR] (60),
				SS		[NUMERIC] (28,4),
				RB		[NUMERIC] (28,4),
				RE		[NUMERIC] (28,4),
				REST_B		[NUMERIC] (28,4),
				REST_E		[NUMERIC] (28,4),
				DATE_E		[VARCHAR] (10))

	INSERT INTO #ACCT_IN_KT
	SELECT OB.DATE_PROV,
		ISNULL (OP.JOUR_CODE, ''),
		OB.NAME_OPER,
		CASE
			WHEN @strCODE_AP = 'ACCOUNT'
				THEN ISNULL (dbo.BK_GetAcctFullCode1 (G_DB.ACCOUNT,
									G_DB.KBK,
									G_DB.SGU,
									DEFAULT,
									DEFAULT,
									@dDateEND), '')
			ELSE AP.AP_CODE
		END,
		OB.SUMMA,
		0, 0,
		@REST_BEGIN,
		@REST_END,
		@cDATE_REST_E
	FROM dbo.BK_GetTableOborotByDate1 (@dDateSTART, @dDateEND, 1, @nSel_Spr1, @DEP_LINK) OB
	INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = OB.KBK)
	LEFT JOIN dbo.G_PROV_AP G_DB ON (G_DB.LINK_UP = OB.LINK_G2
		AND G_DB.DB_KR = 0)
	LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON (AP.LINK_AP = CASE
									WHEN @strCODE_AP = 'EKR' THEN OB.EKR
									WHEN @strCODE_AP = 'KAU' THEN OB.KAU
								END)
	LEFT OUTER JOIN dbo.BK_TYPE_ECONOM_OPER OP ON (OP.LINK = OB.XOZ_OPER)
	WHERE 
		(@strCODE_AP = 'ACCOUNT' 
			OR (@strCODE_AP = 'EKR' AND AP.LINK_AP IS NOT NULL)
			OR (@strCODE_AP = 'KAU' AND AP.LINK_AP IS NOT NULL)
			)
		AND (@nOtborLinkKAU = -1
				OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @TAB_KAU TTT
													WHERE TTT.LINK = OB.KAU)
				)				

	--- Остатки по аналитике ---
	IF @strCODE_AP IN ('EKR', 'KAU')
	BEGIN
		-- Входящие ---
		UPDATE T_DB SET RB = ISNULL (R1.R_SUM, 0)
		FROM #ACCT_IN_DB T_DB
		LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON AP.AP_CODE = T_DB.AC
		LEFT JOIN (SELECT CASE 
					WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
					WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END AS R_SUM,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END AS AP
			FROM dbo.ARestTableByDate (@dDateSTART, @nSel_Spr1) R
			INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
			INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
			WHERE R.DEP_LINK = @DEP_LINK
			GROUP BY S_ACTIVE, S_PASSIVE,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END
			) 
				AS R1 ON R1.AP = AP.LINK_AP

		UPDATE T_KT SET RB = R1.R_SUM
		FROM #ACCT_IN_KT T_KT
		LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON AP.AP_CODE = T_KT.AC
		LEFT JOIN (SELECT CASE 
					WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
					WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END AS R_SUM,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END AS AP
			FROM dbo.ARestTableByDate (@dDateSTART, @nSel_Spr1) R
			INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
			INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
			WHERE R.DEP_LINK = @DEP_LINK
			GROUP BY S_ACTIVE, S_PASSIVE,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END
			) 
				AS R1 ON R1.AP = AP.LINK_AP

		-- Исходящие ---
		UPDATE T_DB SET RE = R1.R_SUM
		FROM #ACCT_IN_DB T_DB
		LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON AP.AP_CODE = T_DB.AC
		LEFT JOIN (SELECT CASE 
					WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
					WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END AS R_SUM,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END AS AP
			FROM dbo.ARestTableByDate (@dDATE_REST_E, @nSel_Spr1) R
			INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
			INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
			WHERE R.DEP_LINK = @DEP_LINK
			GROUP BY S_ACTIVE, S_PASSIVE,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END
			) 
				AS R1 ON AP = AP.LINK_AP

		UPDATE T_KT SET RE = R1.R_SUM
		FROM #ACCT_IN_KT T_KT
		LEFT JOIN dbo.BK_GetTableDictionByAP (@strCODE_AP) AP ON AP.AP_CODE = T_KT.AC
		LEFT JOIN (SELECT CASE 
					WHEN S_ACTIVE = 1 THEN SUM (D_SUMMA)
					WHEN S_PASSIVE = 1 THEN SUM (K_SUMMA)
				END AS R_SUM,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END AS AP
			FROM dbo.ARestTableByDate (@dDATE_REST_E, @nSel_Spr1) R
			INNER JOIN @TAB_KBK KBK ON (KBK.LINK_KBK = ISNULL (R.KBK, 0))
			INNER JOIN dbo.S_ACCOUNTS SA ON (R.ACCOUNT = SA.LINK)
			WHERE R.DEP_LINK = @DEP_LINK
			GROUP BY S_ACTIVE, S_PASSIVE,
				CASE
					WHEN @strCODE_AP = 'EKR' THEN ISNULL (R.EKR, 0)
					WHEN @strCODE_AP = 'KAU' THEN ISNULL (R.KAU, 0)
				END
			) 
				AS R1 ON R1.AP = AP.LINK_AP
	END

	EXEC dbo.X_GET_TABLE_NAME @cCROSS_TABLE_DB OUTPUT
	EXEC dbo.X_GET_TABLE_NAME @cCROSS_TABLE_KT OUTPUT

	EXEC dbo.M_CROSS_TABLE 'DATE_OP, JO_NUM, NAME_OPER, REST_B, REST_E, DATE_E', 'AC', 'VARCHAR (60)', 'SS, RB, RE',
			'NUMERIC (28,4)#NUMERIC (28,4)#NUMERIC (28,4)', 'SUM (SS) AS SS, 0 AS RB, 0 AS RE',
			'#ACCT_IN_DB', @cCROSS_TABLE_DB

	EXEC dbo.M_CROSS_TABLE 'DATE_OP, JO_NUM, NAME_OPER, REST_B, REST_E, DATE_E', 'AC', 'VARCHAR (60)', 'SS, RB, RE',
			'NUMERIC (28,4)#NUMERIC (28,4)#NUMERIC (28,4)', 'SUM (SS) AS SS, 0 AS RB, 0 AS RE',
			'#ACCT_IN_KT', @cCROSS_TABLE_KT

	--- Готовим для вывода счет ДБ ---
	SET @intCOUNTER = (SELECT COUNT (DISTINCT AC) FROM #ACCT_IN_DB)
	SET @intCOUNTER = ISNULL (@intCOUNTER, 0)
	SET @intCOUNT_COLROW = @intCOUNTER

	WHILE @intCOUNTER < @intMAX_REC
	BEGIN
		SET @intCOUNTER = @intCOUNTER + 1
		SET @cCOUNTER = LTRIM (STR (@intCOUNTER))
		SET @cSQL_STR = 'ALTER TABLE ' + @cCROSS_TABLE_DB
			+ ' ADD AC_' + @cCOUNTER + ' VARCHAR (60) '
			+ ', SS_' + @cCOUNTER + ' [NUMERIC] (28,4)'
			+ ', RB_' + @cCOUNTER + ' [NUMERIC] (28,4)'
			+ ', RE_' + @cCOUNTER + ' [NUMERIC] (28,4)'
		EXECUTE (@cSQL_STR)
	END 

	SET @intCOUNTER = 0
	WHILE @intCOUNTER < @intCOUNT_COLROW
	BEGIN
		SET @intCOUNTER = @intCOUNTER + 1
		SET @cCOUNTER = LTRIM (STR (@intCOUNTER))
		SET @cSQL_STR = 'DECLARE @SUM_RB NUMERIC (28,4), @SUM_RE NUMERIC (28,4), @KEY_FIELD VARCHAR (20)' + CHAR (10)
			+ 'SET @KEY_FIELD = (SELECT TOP 1 AC_' + @cCOUNTER + ' FROM ' + @cCROSS_TABLE_DB + ')' + CHAR (10) 
			+ 'SET @SUM_RB = (SELECT TOP 1 RB FROM #ACCT_IN_DB WHERE AC =  @KEY_FIELD)' + CHAR (10)
			+ 'SET @SUM_RE = (SELECT TOP 1 RE FROM #ACCT_IN_DB WHERE AC =  @KEY_FIELD)' + CHAR (10)
			+ 'UPDATE ' + @cCROSS_TABLE_DB + ' SET RB_' + @cCOUNTER + ' = ISNULL (@SUM_RB, 0), RE_'
				+ @cCOUNTER + ' = ISNULL (@SUM_RE, 0)'
		EXECUTE (@cSQL_STR)
	END

	IF @intCOUNT_COLROW = 0
		EXEC ('INSERT INTO ' + @cCROSS_TABLE_DB + ' (NAME_OPER) VALUES ('''') ')

	--- Готовим для вывода КТ ---
	SET @intCOUNTER = (SELECT COUNT (DISTINCT AC) FROM #ACCT_IN_KT)
	SET @intCOUNTER = ISNULL (@intCOUNTER, 0)
	SET @intCOUNT_COLROW = @intCOUNTER
	WHILE @intCOUNTER < @intMAX_REC
	BEGIN
		SET @intCOUNTER = @intCOUNTER + 1
		SET @cCOUNTER = LTRIM (STR (@intCOUNTER))
		SET @cSQL_STR = 'ALTER TABLE ' + @cCROSS_TABLE_KT
			+ ' ADD AC_' + @cCOUNTER + ' VARCHAR (60) '
			+ ', SS_' + @cCOUNTER + ' [NUMERIC] (28,4)'
			+ ', RB_' + @cCOUNTER + ' [NUMERIC] (28,4)'
			+ ', RE_' + @cCOUNTER + ' [NUMERIC] (28,4)'
		EXECUTE (@cSQL_STR)
	END 

	SET @intCOUNTER = 0
	WHILE @intCOUNTER < @intCOUNT_COLROW
	BEGIN
		SET @intCOUNTER = @intCOUNTER + 1
		SET @cCOUNTER = LTRIM (STR (@intCOUNTER))
		SET @cSQL_STR = 'DECLARE @SUM_RB NUMERIC (28,4), @SUM_RE NUMERIC (28,4), @KEY_FIELD VARCHAR (20)' + CHAR (10)
			+ 'SET @KEY_FIELD = (SELECT TOP 1 AC_' + @cCOUNTER + ' FROM ' + @cCROSS_TABLE_KT + ')' + CHAR (10) 
			+ 'SET @SUM_RB = (SELECT TOP 1 RB' + ' FROM #ACCT_IN_KT WHERE AC =  @KEY_FIELD)' + CHAR (10)
			+ 'SET @SUM_RE = (SELECT TOP 1 RE' + ' FROM #ACCT_IN_KT WHERE AC =  @KEY_FIELD)' + CHAR (10)
--			+ 'IF @SUM_RB IS NOT NULL OR @SUM_RE IS NOT NULL' + CHAR(10)
			+ 'UPDATE ' + @cCROSS_TABLE_KT + ' SET RB_' + @cCOUNTER + ' = ISNULL (@SUM_RB, 0), RE_'
				+ @cCOUNTER + ' = ISNULL (@SUM_RE, 0)'
--PRINT (@cSQL_STR)
		EXECUTE (@cSQL_STR)
	END

	IF @intCOUNT_COLROW = 0
		EXEC ('INSERT INTO ' + @cCROSS_TABLE_KT + ' (NAME_OPER) VALUES ('''') ')

	SELECT LINK,
		CODE AS ACCT_CODE,
		[NAME] AS ACCT_NAME,
		ISNULL (@DEP_OKPO, '') AS DEP_OKPO,
		ISNULL (@DEP_NAME, '') AS DEP_NAME,
		ISNULL (@GLBUH_NAME, '') AS GLBUH_NAME
	FROM dbo.S_ACCOUNTS
	WHERE LINK = @nSel_Spr1

	EXEC ('SELECT CONVERT (VARCHAR (10), DATE_OP, 104) AS DATE_OP_C, * FROM ' + @cCROSS_TABLE_DB)
	EXEC ('SELECT CONVERT (VARCHAR (10), DATE_OP, 104) AS DATE_OP_C, * FROM ' + @cCROSS_TABLE_KT)

	DROP TABLE #ACCT_IN_DB
	DROP TABLE #ACCT_IN_KT
	EXEC ('DROP TABLE ' + @cCROSS_TABLE_DB)
	EXEC ('DROP TABLE ' + @cCROSS_TABLE_KT)
END







GO


GRANT EXECUTE ON dbo.[BK_REPORT_MANYGRAPH_CARD] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_AO_DEPART1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_AO_DEPART1]

GO



/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_AO_DEPART1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal2 char(1), @varKSnOtborLink2 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSPrnKBK INT				,
	@varKSPrnSGU INT				,

	@varKScOtborAccount	VARCHAR (100)		,
	@varKScOtborAccountAN	VARCHAR (100)		,
	@intTYPE_ORG		INT,
	@intSVOD_ZB		int,		-- Сводный отчет (ЦБ) 
	@intREP_BY_OSNOV	INT = 0		-- Отчет в разрезе договоров
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)	/* -- Сводный отчет по ЦБ -- */
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()
				
	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL		/* -- Сводный отчет по ЦБ (собственные реквизиты организации) -- */
		SET @varKSDEP_LINK = dbo.GetOwnDepLink ()

	SELECT @varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('302', DEFAULT, DEFAULT, DEFAULT) ACCT
		UNION 
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('206', DEFAULT, DEFAULT, DEFAULT) ACCT

	DECLARE @DEP TABLE (LINK_DEP INT, DEP_CODE  VARCHAR(20), DEP_NAME VARCHAR(254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @DEP
		SELECT OVR.RECORD, D.CODE, D.[NAME]
		FROM dbo.OBJECT_VAR_DEPARTMENT OVR, dbo.DICTIONARY_DEPARTMENT D
		WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @DEP
		SELECT D.LINK, D.CODE, D.[NAME]
		FROM dbo.DICTIONARY_DEPARTMENT D
		WHERE (@intTYPE_ORG = 0)
			OR (@intTYPE_ORG <> 0 AND TYPE = @intTYPE_ORG)
		INSERT INTO @DEP VALUES (0, '', 'Не указан')
	END

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	DECLARE @TABLE1 TABLE (DEP INT, ACCOUNT INT, 
			KBK INT, KOSGU INT, AP1 INT,
			D_SUMMA NUMERIC (20,2), D_QTY NUMERIC (20,2),  
			K_SUMMA NUMERIC (20,2), K_QTY NUMERIC (20,2),  
			IN_SUMMA NUMERIC (20,2), IN_QTY NUMERIC (20,2),  	
			OUT_SUMMA NUMERIC (20,2), OUT_QTY NUMERIC (20,2))  	

	INSERT INTO @TABLE1
	SELECT T1.DEP,
		T1.ACCOUNT,
		CASE
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE 
			WHEN @intREP_BY_OSNOV = 1 THEN T1.AP1
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, DEFAULT) T1
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	WHERE (@intSVOD_ZB = 1)
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  T1.DEP,
		T1.ACCOUNT,
		CASE
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE 
			WHEN @intREP_BY_OSNOV = 1 THEN T1.AP1
			ELSE 0
		END

	DECLARE @RESULT TABLE (DEP INT, ACCOUNT INT, 
			DEP_CODE VARCHAR (20), DEP_NAME VARCHAR (254),
			ACCT_GR VARCHAR (30), ACCT_CODE VARCHAR (60),
			
			OSNOV_LINK INT, NUM_OSNOV	VARCHAR (30),
			DATE_OSNOV DATETIME, INF_OSNOV VARCHAR (254),

			D_SUM NUMERIC (20,2), D_QTY NUMERIC (20,2),	
			K_SUM NUMERIC (20,2), K_QTY NUMERIC (20,2),	
			DIN_SUM NUMERIC (20,2), DIN_QTY NUMERIC (20,2),		
			KIN_SUM NUMERIC (20,2), KIN_QTY NUMERIC (20,2),		
			DOUT_SUM NUMERIC (20,2), DOUT_QTY NUMERIC (20,2),	
			KOUT_SUM NUMERIC (20,2), KOUT_QTY NUMERIC (20,2),	
			ORGNAME VARCHAR (254),
			REP_HDR VARCHAR (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		DEP.DEP_CODE,
		DEP.DEP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSPrnKBK, @varKSPrnSGU, @varKSdDate2),

		OSN.LINK, OSN.NUMBER,
		OSN.[DATE], OSN.INFO,

		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_QTY
			ELSE 0
		END,
		@varKSORGNAME AS ORGNAME,
		'ПО РАСЧЕТАМ С ОРГАНИЗАЦИЯМИ' AS REP_HDR
	FROM @TABLE1 OSV
	INNER JOIN @DEP DEP ON (DEP.LINK_DEP = OSV.DEP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT JOIN dbo.BD_OSNOV OSN ON (OSN.LINK = OSV.AP1)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	SELECT *,
		ISNULL (@intREP_BY_OSNOV, 0) AS BY_OSNOV
	FROM @RESULT
	ORDER BY DEP_CODE, DATE_OSNOV, NUM_OSNOV, OSNOV_LINK, ACCT_GR, ACCT_CODE
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_AO_DEPART1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_AO_PERSON1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_AO_PERSON1]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_AO_PERSON1
	@varKSdDate1	DATETIME,
	@varKSdDate2	DATETIME,
	@varKScVal1 char(1), @varKSnOtborLink1 int,
	@varKScVal2 char(1), @varKSnOtborLink2 int,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSPrnKBK INT,
	@varKSPrnSGU INT,
	@intSVOD_ZB	int,	-- Сводный отчет (ЦБ)--
	@intGRP_DOP	INT,
	@cVal_DOP char(1), @nOtbor_DOP int,	-- Отбор Доп.кл-ции --
	@varKScOtborAccount	VARCHAR (100)
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254) 

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)	/* -- Сводный отчет по ЦБ -- */
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()
				
	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL 	/* -- Сводный отчет по ЦБ (собственные реквизиты организации) -- */
		SET @varKSDEP_LINK = dbo.GetOwnDepLink ()

	SELECT @varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
	
	-- Отбор субсчетов --
	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@varKScOtborAccount, DEFAULT) T1 ON (T1.VALUE = ACCT.cSINTH)

	-- Отбор сотрудников --
	DECLARE @EMP TABLE (LINK_EMP INT, EMP_CODE  VARCHAR(20), EMP_NAME VARCHAR(254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @EMP
		SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
		FROM dbo.OBJECT_VAR_EMPL OVR, dbo.KU_EMPL_PLACING D
		WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
		SELECT D.LINK, D.TAB, D.[NAME_EMPL]
		FROM dbo.KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', 'Не указан')
	END

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ДОП. КЛАССИФИКАЦИИ --- 
	DECLARE @TAB_DOP_CLASSIF TABLE (LINK_DOP INT, DOP_CODE VARCHAR (20), DOP_NAME VARCHAR (254))
	IF LEN (@cVal_DOP) > 0 AND @intGRP_DOP = 1
		INSERT INTO @TAB_DOP_CLASSIF
		SELECT AP.LINK,
			AP.CODE,
			AP.NAME
		FROM dbo.DOP_CLASSIF AP 
		INNER JOIN dbo.OBJECT_VAR_DOP_CLASSIF OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtbor_DOP
	ELSE
		INSERT INTO @TAB_DOP_CLASSIF
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('AP2')

	-- ОСВ --
	DECLARE @TABLE1 TABLE (DEP INT, ACCOUNT INT, EMP INT,
			KBK INT, KOSGU INT, DOP INT, 
			D_SUMMA NUMERIC (20,2), D_QTY NUMERIC (20,2),  
			K_SUMMA NUMERIC (20,2), K_QTY NUMERIC (20,2),  
			IN_SUMMA NUMERIC (20,2), IN_QTY NUMERIC (20,2),  	
			OUT_SUMMA NUMERIC (20,2), OUT_QTY NUMERIC (20,2))  	

	INSERT INTO @TABLE1
	SELECT
--		T1.DEP,
		0,
		T1.ACCOUNT,
		T1.EMP,
		CASE 
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE 
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_DOP = 1 THEN T1.AP2
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, DEFAULT) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	INNER JOIN @TAB_DOP_CLASSIF DOP ON (DOP.LINK_DOP = T1.AP2)
	WHERE (@intSVOD_ZB = 1)
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY
--		T1.DEP,
		T1.ACCOUNT,
		T1.EMP,
		CASE 
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE 
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_DOP = 1 THEN T1.AP2
			ELSE 0
		END

	DECLARE @RESULT TABLE (DEP INT, ACCOUNT INT, EMP INT,
			DEP_CODE VARCHAR (20), DEP_NAME VARCHAR (254),
			ACCT_GR VARCHAR (30), ACCT_CODE VARCHAR (60),
			EMP_CODE VARCHAR (20), EMP_NAME VARCHAR (254),
			DOP_CODE VARCHAR (20), DOP_NAME VARCHAR (254),
			D_SUM NUMERIC (20,2), D_QTY NUMERIC (20,2),	
			K_SUM NUMERIC (20,2), K_QTY NUMERIC (20,2),	
			DIN_SUM NUMERIC (20,2), DIN_QTY NUMERIC (20,2),		
			KIN_SUM NUMERIC (20,2), KIN_QTY NUMERIC (20,2),		
			DOUT_SUM NUMERIC (20,2), DOUT_QTY NUMERIC (20,2),	
			KOUT_SUM NUMERIC (20,2), KOUT_QTY NUMERIC (20,2),	
			ORGNAME VARCHAR (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.EMP,
		ISNULL (DEP.CODE, ''),
		ISNULL (DEP.[NAME],'Не указан'),
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSPrnKBK, @varKSPrnSGU, @varKSdDate2),
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		DOP.DOP_CODE,
		DOP.DOP_NAME,
		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_QTY
			ELSE 0
		END,
		@varKSORGNAME AS ORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = OSV.EMP)
	INNER JOIN @TAB_DOP_CLASSIF DOP ON (DOP.LINK_DOP = OSV.DOP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	SELECT *,
		ISNULL (@intGRP_DOP, 0) AS DOP_GR
	FROM @RESULT ORDER BY DEP_CODE, EMP_CODE, DOP_CODE, ACCT_GR, ACCT_CODE

END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_AO_PERSON1] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_DEP_DEBET]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_DEP_DEBET]

GO
/*
© Кейсистемс (Keysystems), 2009
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_DEP_DEBET
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal2 char(1), @varKSnOtborLink2 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSPrnKBK INT				,
	@varKSPrnSGU INT				,

	@varKScOtborAccount	VARCHAR (100)		,
	@varKScOtborAccountAN	VARCHAR (100)		,
	@intTYPE_ORG		INT,
	@intSVOD_ZB		int,	 -- Сводный отчет (ЦБ) --
	@intREP_BY_OSNOV	INT = 0		-- Отчет в разрезе договоров --
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)	/* -- Сводный отчет по ЦБ -- */
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()
				
	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL		/* -- Сводный отчет по ЦБ (собственные реквизиты организации) -- */
		SET @varKSDEP_LINK = dbo.GetOwnDepLink ()

	SELECT @varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('205', DEFAULT, DEFAULT, DEFAULT) ACCT

/*
SELECT SA.CODE, * FROM @ACCT, S_ACCOUNTS SA WHERE LINK_ACCT = SA.LINK
RETURN
*/
	DECLARE @DEP TABLE (LINK_DEP INT, DEP_CODE  VARCHAR(20), DEP_NAME VARCHAR(254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @DEP
		SELECT OVR.RECORD, D.CODE, D.[NAME]
		FROM dbo.OBJECT_VAR_DEPARTMENT OVR, dbo.DICTIONARY_DEPARTMENT D
		WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @DEP
		SELECT D.LINK, D.CODE, D.[NAME]
		FROM dbo.DICTIONARY_DEPARTMENT D
		WHERE (@intTYPE_ORG = 0)
			OR (@intTYPE_ORG <> 0 AND TYPE = @intTYPE_ORG)
		INSERT INTO @DEP VALUES (0, '', 'Не указан')
	END

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	DECLARE @TABLE1 TABLE (DEP INT, ACCOUNT INT, 
			KBK INT, KOSGU INT,
			D_SUMMA NUMERIC (20,2), D_QTY NUMERIC (20,2),  
			K_SUMMA NUMERIC (20,2), K_QTY NUMERIC (20,2),  
			IN_SUMMA NUMERIC (20,2), IN_QTY NUMERIC (20,2),  	
			OUT_SUMMA NUMERIC (20,2), OUT_QTY NUMERIC (20,2))  	

	INSERT INTO @TABLE1
	SELECT T1.DEP,
		T1.ACCOUNT,
		CASE
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, DEFAULT) T1
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	WHERE (@intSVOD_ZB = 1)
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  T1.DEP,
		T1.ACCOUNT,
		CASE
			WHEN @varKSPrnKBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSPrnSGU = 1 THEN T1.SGU
			ELSE 0
		END

	DECLARE @RESULT TABLE (DEP INT, ACCOUNT INT, 
			DEP_CODE VARCHAR (20), DEP_NAME VARCHAR (254),
			ACCT_GR VARCHAR (30), ACCT_CODE VARCHAR (60),

			OSNOV_LINK INT, NUM_OSNOV	VARCHAR (30),
			DATE_OSNOV DATETIME, INF_OSNOV VARCHAR (254),

			D_SUM NUMERIC (20,2), D_QTY NUMERIC (20,2),	
			K_SUM NUMERIC (20,2), K_QTY NUMERIC (20,2),	
			DIN_SUM NUMERIC (20,2), DIN_QTY NUMERIC (20,2),		
			KIN_SUM NUMERIC (20,2), KIN_QTY NUMERIC (20,2),		
			DOUT_SUM NUMERIC (20,2), DOUT_QTY NUMERIC (20,2),	
			KOUT_SUM NUMERIC (20,2), KOUT_QTY NUMERIC (20,2),	
			ORGNAME VARCHAR (254),
			REP_HDR VARCHAR (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		DEP.DEP_CODE,
		DEP.DEP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSPrnKBK, @varKSPrnSGU, @varKSdDate2),

		0, '',
		NULL, '',

		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 1 AND SA.S_PASSIVE = 0 THEN OSV.OUT_QTY
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,
		CASE
			WHEN SA.S_ACTIVE  = 0 AND SA.S_PASSIVE = 1 THEN OSV.OUT_QTY
			ELSE 0
		END,
		@varKSORGNAME AS ORGNAME,
		'ПО РАСЧЕТАМ С ДЕБИТОРАМИ ПО ДОХОДАМ'
	FROM @TABLE1 OSV
	INNER JOIN @DEP DEP ON (DEP.LINK_DEP = OSV.DEP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	SELECT *,
		ISNULL (@intREP_BY_OSNOV, 0) AS BY_OSNOV
	FROM @RESULT
	ORDER BY DEP_CODE, DATE_OSNOV, NUM_OSNOV, OSNOV_LINK, ACCT_GR, ACCT_CODE
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_DEP_DEBET] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RN_ADD_LINKED_SERVER]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RN_ADD_LINKED_SERVER]

GO


/*
	© Кейсистемс (Keysystems), 2006
	Подсоединить сервер, если его нет, и установить соответствие пользователей
*/
CREATE PROCEDURE dbo.RN_ADD_LINKED_SERVER
        @cServer varchar(500),
        @cUser varchar(100),
        @cPassword varchar(100),
        @cBase varchar(100) = null
AS

declare @own_user varchar(100), @cExec VARCHAR(1000)
select @own_user = system_user

BEGIN TRY

if not exists(select * from master.dbo.sysservers where (@cServer is null or srvname = @cServer))
begin
	exec sp_addlinkedserver @cServer
end

exec sp_droplinkedsrvlogin @cServer, null -- вначале удалить, чтоб не было ошибок
exec sp_addlinkedsrvlogin @cServer, 'false', null, @cUser, @cPassword
exec sp_serveroption @cServer, 'data access', 'true' 
END TRY
BEGIN CATCH
     PRINT 'Системная ошибка в х.п. ' + ISNULL(ERROR_PROCEDURE(),'') + ' : ' + ERROR_MESSAGE()
     IF @@TRANCOUNT > 0 
     BEGIN
      RETURN 2
      ROLLBACK TRANSACTION 
     END     
END CATCH


--проверка доступности сервера
IF @cBase IS NOT NULL 
   BEGIN
      BEGIN TRY
         SET @cExec = 'DECLARE @i INT SELECT TOP 1 @i = UID FROM [' + @cServer + '].[' + RTRIM(@cBase) + '].dbo.sysusers'
         --SELECT @cExec
         EXECUTE(@cExec)
      END TRY
      BEGIN CATCH
         PRINT 'Системная ошибка в х.п. ' + ISNULL(ERROR_PROCEDURE(),'') + ' : ' + ERROR_MESSAGE()
         RETURN 3
      END CATCH
   END
   
RETURN 0 
   


GO


GRANT EXECUTE ON dbo.[RN_ADD_LINKED_SERVER] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_DOP_CLASSIF]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_DOP_CLASSIF]

GO


/*
© Кейсистемс (Keysystems), 2006
*/
CREATE PROCEDURE dbo.BK_REPORT_OSV_DOP_CLASSIF
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@nPrintKBK	INT		, -- Код счета с КБК --
	@nPrintSGU	INT		, -- Код счета с КОСГУ --
	@strAP_CODE	VARCHAR (60) = '',	
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal2 char(1), @nOtborLink2 int	, -- Отбор ДОП. КЛАССИФИКАЦИИ --
	@cVal3 char(1), @nOtborLink3 int	, -- Отбор Учреждений --
	@cVal_KBK char(1), @nOtborLinkKBK int	, -- Отбор КБК -- 
	@cVal_Emp char(1), @nOtborLinkEMP int	, -- Отбор Учреждений --
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254),
		@strDIC_TITLE	VARCHAR (20)

	--- ОТБОР СУБСЧЕТОВ --- 
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT

	--- ОТБОР ПОКАЗАТЕЛЕЙ ---
	DECLARE @TABLE_AP0 TABLE (LINK_AP0 [INT], AP0_CODE  [VARCHAR] (20), AP0_NAME [VARCHAR] (254))

		--- Отбор учреждений --- 
	IF @strAP_CODE = 'DEP'
		IF LEN(@cVal3)>0
			INSERT INTO @TABLE_AP0
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_DEPARTMENT OVR, dbo.DICTIONARY_DEPARTMENT D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLink3
		ELSE
			INSERT INTO @TABLE_AP0
			SELECT LINK_AP, AP_CODE, AP_NAME
			FROM dbo.BK_GetTableDictionByAP (@strAP_CODE)	

	--- Отбор сотрудников --- 
	IF @strAP_CODE = 'EMP'
		IF LEN (@cVal_Emp) > 0 
			INSERT INTO @TABLE_AP0
			SELECT OVR.RECORD, D.TAB, D.NAME_EMPL
			FROM dbo.OBJECT_VAR_EMPL OVR, dbo.KU_EMPL_PLACING D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLinkEMP
		ELSE
			INSERT INTO @TABLE_AP0
			SELECT LINK_AP, AP_CODE, AP_NAME
			FROM dbo.BK_GetTableDictionByAP (@strAP_CODE)	

	--- Заглушка, если не выбран показатель --- 
	IF ISNULL (@strAP_CODE, '') NOT IN ('DEP', 'EMP')
		INSERT INTO @TABLE_AP0
		VALUES (0, '', '')

	--- ОТБОР ДОП. КЛАССИФИКАЦИИ --- 
	DECLARE @TABLE_AP2 TABLE (LINK_AP [INT], AP_CODE  [VARCHAR] (20), AP_NAME [VARCHAR] (254))
	IF LEN(@cVal2)>0 BEGIN
		INSERT INTO @TABLE_AP2
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_DOP_CLASSIF OVR, dbo.BD_DOP_CLASSIF D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @TABLE_AP2
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('AP2')	
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (@varKSDEP_LINK)

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	SET @nPrintKBK = ISNULL (@nPrintKBK, 0)
	SET @nPrintSGU = ISNULL (@nPrintSGU, 0)

	--- ОСВ --- 
	DECLARE @TABLE1 TABLE (AP0 [INT], ACCOUNT [INT], AP [INT],
			KBK [INT], KOSGU [INT],
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2),
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT
		CASE
			WHEN @strAP_CODE = 'EMP' THEN T1.EMP
			WHEN @strAP_CODE = 'DEP' THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.AP2,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	GROUP BY
		CASE
			WHEN @strAP_CODE = 'EMP' THEN T1.EMP
			WHEN @strAP_CODE = 'DEP' THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.AP2,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (AP0 [INT], ACCOUNT [INT], AP [INT],
			KBK [INT], KOSGU [INT],
			AP0_CODE [VARCHAR] (20), AP0_NAME [VARCHAR] (254),
			AP_CODE [VARCHAR] (20), AP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			IN_SUM_D [NUMERIC] (20,2), IN_SUM_K [NUMERIC] (20,2),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2),
			OUT_SUM_D [NUMERIC] (20,2), OUT_SUM_K [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.AP0,
		OSV.ACCOUNT,
		OSV.AP,
		OSV.KBK,
		OSV.KOSGU,
		ISNULL (AP0.AP0_CODE, ''),
		ISNULL (AP0.AP0_NAME, 'Не указан'),
		AP.AP_CODE,
		AP.AP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @nPrintKBK, @nPrintSGU, @varKSdDate2),
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		OSV.D_SUMMA,
		OSV.K_SUMMA,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		@varKSORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @TABLE_AP2 AP ON (AP.LINK_AP = OSV.AP)
	INNER JOIN @TABLE_AP0 AP0 ON (AP0.LINK_AP0 = OSV.AP0)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SET @strDIC_TITLE = ISNULL ((SELECT TOP 1 S_TITLE FROM dbo.ANALIT WHERE CODE_AP = @strAP_CODE), '')

	SELECT 
		@strDIC_TITLE AS D_TITLE,
		@strAP_CODE AS D_CODE,
		*
	FROM @RESULT ORDER BY AP0_CODE, AP_CODE, ACCT_GR, ACCT_CODE
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_DOP_CLASSIF] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_EKR1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_EKR1]

GO



/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE [dbo].BK_REPORT_OSV_EKR1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@nPrintKBK	INT,	-- Код счета с КБК --
	@nPrintSGU	INT,	-- Код счета с КОСГУ --
	@nPrintDEP	INT,	-- Отчет в разрезе организаций --
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal2 char(1), @nOtborLink2 int,	-- Отбор ЕКР --
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@cVal_DEP char(1), @nOtborLinkDEP int,	-- Отбор учреждений --
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	--- Отбор субсчетов --- 
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT

	--- Отбор ЭКР --- 
	DECLARE @EKR TABLE (LINK_EKR [INT], EKR_CODE  [VARCHAR] (20), EKR_NAME [VARCHAR] (254))
	IF LEN(@cVal2)>0 BEGIN
		INSERT INTO @EKR
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_KOSGU OVR, dbo.KOSGU D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @EKR
			SELECT D.LINK, D.CODE, D.[NAME] FROM dbo.KOSGU D -- FROM DICTIONARY_ITEM D
		INSERT INTO @EKR VALUES (0, '', 'Не указан')
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- Отбор учреждений --- 
	DECLARE @DEP TABLE (LINK_DEP INT, DEP_CODE  VARCHAR(20), DEP_NAME VARCHAR(254) )
	IF LEN(@cVal_DEP)>0 BEGIN
		INSERT INTO @DEP
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_DEPARTMENT OVR, dbo.DICTIONARY_DEPARTMENT D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLinkDEP
	END
	ELSE
	BEGIN
		INSERT INTO @DEP
			SELECT D.LINK, D.CODE, D.[NAME] FROM dbo.DICTIONARY_DEPARTMENT D
		INSERT INTO @DEP VALUES (0, '', 'Не указан')
	END

	SET @nPrintKBK = ISNULL (@nPrintKBK, 0)
	SET @nPrintSGU = ISNULL (@nPrintSGU, 0)
	SET @nPrintDEP = ISNULL (@nPrintDEP, 0)

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (@varKSDEP_LINK)

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	/* --- ОСВ --- */
	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], EKR [INT],
			KBK [INT], KOSGU [INT],
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2),
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.EKR,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	INNER JOIN @DEP D1 ON (D1.LINK_DEP = T1.DEP)
	GROUP BY
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.EKR,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], EKR [INT],
			KBK [INT], KOSGU [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			EKR_CODE [VARCHAR] (20), EKR_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			IN_SUM_D [NUMERIC] (20,2), IN_SUM_K [NUMERIC] (20,2),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2),
			OUT_SUM_D [NUMERIC] (20,2), OUT_SUM_K [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.EKR,
		OSV.KBK,
		OSV.KOSGU,
		ISNULL (DEP.CODE, ''),
		ISNULL (DEP.[NAME], 'Не указан'),
		EKR.EKR_CODE,
		EKR.EKR_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @nPrintKBK, @nPrintSGU, @varKSdDate2),
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		OSV.D_SUMMA,
		OSV.K_SUMMA,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		@varKSORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @EKR EKR ON (EKR.LINK_EKR = OSV.EKR)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SELECT * FROM @RESULT ORDER BY DEP_CODE, EKR_CODE, ACCT_GR, ACCT_CODE
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_EKR1] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_6NDFL_16_PREPARE_R2]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_6NDFL_16_PREPARE_R2]

GO
CREATE PROCEDURE dbo.SA_6NDFL_16_PREPARE_R2 @LSF INT
AS

DECLARE
	@START_DATE DATETIME, @END_DATE DATETIME, @DEP_LINK INT, @BYearDate DATETIME,
	@nYEAR INT, @nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT

SET DATEFIRST 7

SELECT
	@DEP_LINK = Link_Organization,
	@START_DATE = BEGIN_DATE
FROM
	report_saved_forms
WHERE
	link_saved_form = @LSF
	

SET @BYearDate = dbo.DateBeginOfYear (@START_DATE)


SELECT
	@nYEAR = YEAR(@START_DATE),
	@nMONTH1 = MONTH(@START_DATE)-2,
	@nMONTH2 = MONTH(@START_DATE)-1,
	@nMONTH3 = MONTH(@START_DATE)
DECLARE @BDATE DATETIME , @EDATE DATETIME

SET @BDATE = dbo.ConvertDMY2Date(1,@nMONTH1,@nYEAR)
SET @EDATE = @START_DATE

DECLARE @varKSname VARCHAR(100), @varKSSQL VARCHAR(8000)
SET @varKSname = (SELECT ID FROM BUFFER WHERE LINK = -116 AND SID = SUSER_SID() )




--------------------------------------------
IF OBJECT_ID('tempdb..#FIZ_VID_DOH') IS NOT NULL DROP TABLE #FIZ_VID_DOH
CREATE TABLE #FIZ_VID_DOH(link_FACE INT, PERS_LINK INT, LINK_EMPL INT, INOSTR int, DIS TINYINT , DATE_DIS DATETIME ,link_doc  INT ,OBJ_CODE CHAR(30), OBJ_NAME varchar(254)
							, VID_DOH CHAR(3), mon int,summa_doh NUMERIC(18,2),summa_nal NUMERIC(18,2),DATE_DOH DATETIME,DATE_NAL datetime, DATE_ISCH DATETIME , DED TINYINT, link_ved INT , SUM_DED NUMERIC(18,2) )


EXEC dbo.SA_6NDFL_PREPARE_R2 @BDATE,@EDATE,'REP2NDFL', @DEP_LINK


-- EXEC SA_6NDFL_16_PREPARE_R2        3195 

-- exec dbo.RI_REPORT_FORMULA_ALL_CALCULATE '2016-01-01 00:00:00','2016-03-31 00:00:00',2,1,3195
SELECT 
	  PERS_LINK = LINK_FACE
	  , DGH  = 0
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
INTO #TAB_ZP	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'ZP'
GROUP BY link_FACE,LINK_EMPL,PERS_LINK,DIS, INOSTR, VID_DOH, mon,DATE_DOH, DATE_NAL, DATE_ISCH	  


SELECT 
	  PERS_LINK
	  , DGH  = 1
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
INTO #TAB_DZP	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'DZP'
GROUP BY  link_FACE,LINK_EMPL,PERS_LINK,DIS, INOSTR, VID_DOH, mon,DATE_DOH, DATE_NAL, DATE_ISCH	


SELECT
	  PERS_LINK = LINK_FACE
	  , DGH  = 0
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
INTO #TAB_UV	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'UV'
GROUP BY link_FACE,LINK_EMPL,PERS_LINK,DIS, INOSTR, VID_DOH, mon,DATE_DOH, DATE_NAL, DATE_ISCH	


SELECT
	  PERS_LINK = LINK_FACE
	  , DGH  = 0
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
	  ,DED
INTO #TAB_DR	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'DR'
GROUP BY link_FACE,DIS, INOSTR, VID_DOH, mon, DATE_DOH, DATE_NAL, DATE_ISCH,DED


/*

-- EXEC SA_6NDFL_16_PREPARE_R2        3195

*/CREATE TABLE #PAYS_TMP (VID_DOH CHAR(3), SUMMA_DOH NUMERIC(18,2), SUMMA_NAL NUMERIC(18,2), MON tinyint, DATE_DOH datetime, DATE_NAL datetime, DATE_ISCH DATETIME)
INSERT INTO #PAYS_TMP(VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH)

--SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
--FROM #TAB_DR TDR

SELECT TB.VID_DOH, SUMMA_DOH = SUM(TB.SUMMA_DOH), SUMMA_NAL = SUM(TB.SUMMA_NAL),MON,TB.DATE_DOH,TB.DATE_NAL, TB.DATE_ISCH
FROM 
(SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_ZP TZP
UNION ALL
SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_DZP TDZP
UNION ALL
SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_UV TUV
UNION ALL
SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_DR TDR) TB
GROUP BY TB.VID_DOH,MON, TB.DATE_DOH, TB.DATE_NAL, TB.DATE_ISCH--, TB.SUMMA_DOH, TB.SUMMA_NAL



-- EXEC SA_6NDFL_16_PREPARE_R2    2539


CREATE TABLE #RAZD2 (LINK INT IDENTITY (1,1), COL2 VARCHAR(10),COL3 VARCHAR(10), COL4 VARCHAR(10), COL5 NUMERIC(18,2), COL6 NUMERIC(18,2))
INSERT INTO #RAZD2 ( COL2, COL3, COL4, COL5, COL6)
SELECT
	CONVERT (VARCHAR (10), A.DATE_DOH,104),
	CONVERT(VARCHAR (10), A.DATE_NAL,104),
	CONVERT(VARCHAR (10), A.DATE_ISCH,104),
	sum(A.SUMMA_DOH),
	SUM(A.SUMMA_NAL)
FROM 
	#PAYS_TMP  A
GROUP BY A.[mon],A.DATE_DOH, A.DATE_NAL,A.DATE_ISCH /*, B.PERIOD_ndfl*/
ORDER BY
	A.DATE_DOH, A.DATE_NAL,A.DATE_ISCH
	

SELECT
	CODE = REPLICATE( '0', 3-len(CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)) ))+CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)) ,
	COL1 = CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)),
	COL2,
	COL3,
	COL4,
	COL5,
	COL6
FROM
	#RAZD2 E
ORDER BY
	month(convert(datetime,COL2,104))

DROP TABLE #FIZ_VID_DOH
DROP TABLE #RAZD2


	

RETURN 0




GO


GRANT EXECUTE ON dbo.[SA_6NDFL_16_PREPARE_R2] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RB_PRINT_0503128G_2016]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RB_PRINT_0503128G_2016]

GO

/*
© Кейсистемс (Keysystems), 2009
*/

CREATE PROCEDURE dbo.[RB_PRINT_0503128G_2016]
	@LSF	bigint,
	@bDeleteEmptyRows BIT = NULL,  --  NULL - данные выбираются не для печати, 1 - удаление пустых строк (поле DEL = 1), 0 - не удалять.
    @data int=1, -- c_nastr не будет создаваться!
	@notNullCol tinyint = 0,
	@AtrInOnePage tinyint = 0,
	@WEB_excel tinyint = 0 -- 1 - вызывается для печати из WEB для excel-генератора
AS

if isnull(@WEB_excel, 0) <> 1
	select '' as col1

declare @varKSiParam int, @iLF int, @iLT INT -- 0 - без подитогов, 1 бит - подитоги по ЭКР, 2 бит - подитоги по ВР, 3 бит - подитоги по ЦСР, 4 бит - подитоги по подразделу, 5 бит - подитоги по раздеру, 6 бит - подитоги по администратору
DECLARE @varKSiNoItog INT, @dBeginDate DATETIME

select @iLF = Link_Form, @dBeginDate = Begin_Date from report_saved_forms where link_saved_form = @LSF

set @varKSiParam = 0

if object_id('tempdb..#Param_Print') is NOT NULL
BEGIN
	select @varKSiParam = convert(int, Value) from #Param_Print where Param = 'Poditog'
	select @varKSiNoItog = convert(int, Value) from #Param_Print where Param = 'NoPoditog'
END   

	create table #all (OrderTable tinyint, CODE varchar(50), COL1 varchar(8000), COL2 varchar(10), COL3 varchar(50), COL4 float, COL5 float, COL6 float, COL7 float, COL8 float, COL9 float, COL10 float, COL11 float, COL12 float, orders int IDENTITY(1,1))
	declare @table varchar(100), @RunStr varchar(8000)


------------------------------------------------------------------------------------------------
--- ТАБЛИЦА РАСХОДЫ С ПОДИТОГАМИ
	create table #rash (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(50), Col1 varchar(2000), Col2 varchar(1000), Col3 varchar(1000), Col4 varchar(1000), Col5 varchar(1000), Col6 float, Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float, Col13 float, Col14 float, Col15 varchar(50))

	insert #rash (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	exec dbo.rn_get_all_adm_table 	@LSF, 1, @bDeleteEmptyRows, @AtrInOnePage, 1


	select * into #rash_itog from #rash where 0 > 1

	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	SELECT 1, '00096000000000000000', '1. Бюджетные обязательства по расходам, всего:', '200', '00096000000000000000', sum(COL6), sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12), sum(COL13), sum(COL14)
	from #rash 
	where right(rtrim(CODE),17) = '96000000000000000'



---------------------------------------------
/*col1 - наименование показателя
col2 - код строки
col3 - РЗПР
col4 - ЦСР
col5 - ВР
col6 - ЭКР -- ОТСУТСТВУЕТ 
col15 - Код = АДМ(3) + РЗПР(4) + ЦСР(10) + ВР(3)    -- отсутствует + ЭКР(3)
*/
select @iLT = Link_Table from report_tables where Link_Form = @iLF and orders = 2
-- добавляем подитоги
if @varKSiParam & 2 = 2 -- подитоги по целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,14) + '000000', '', max(Col2),max(Col3), max(Col4), '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,14) + '000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,14) + '000000', left(Col15,14) + '000000'
end

if @varKSiParam & 4 = 4 -- подитоги по подразделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,7) + '0000000000000', '', max(Col2),max(Col3), '0000000', '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,7) + '0000000000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,7) + '0000000000000', left(col15,7) + '0000000000000'
end

if @varKSiParam & 8 = 8 -- подитоги по разделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,5) + '000000000000000', '', max(Col2),left(col3,2) + '00', '0000000', '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,5) + '000000000000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,5) + '000000000000000', left(Col15,5) + '000000000000000',left(col3,2) + '00'
end

if @varKSiParam & 16 = 16 -- подитоги по администратору
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,3) + '00000000000000000', '', max(Col2),'000', '0000000', '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,3) + '00000000000000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,3) + '00000000000000000', left(Col15,3) + '00000000000000000'
end

if @varKSiParam & 32 = 32 -- обнуляем подпрограмму в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,12) + '00000000', '', max(Col2),max(Col3), max(Col4), '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14),  left(Col15,12) + '00000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,12) + '00000000', left(Col15,12) + '00000000'
end

if @varKSiParam & 64 = 64 -- обнуляем программу в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,10) + '0000000000', '', max(Col2),max(Col3), max(Col4), '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), left(Col15,10) + '0000000000'
	from #rash
	where  col5 <> '000'
	group by left(Code,10) + '0000000000', left(Col15,10) + '0000000000'
end

select @iLT = Link_Table from report_tables where Link_Form = @iLF and orders = 1

exec ro_get_name_spr @iLT, 'COL5=SUBSTRING(CODE,15,3)=000#COL4=SUBSTRING(CODE,5,10)=0000000#COL3=SUBSTRING(CODE,1,4)=0000#RN_VIEW_KBK_ADM_M=LEFT(CODE,3)=000', '#rash_itog', @varKScNameCode = 'CODE', @varKScNameName = 'COL1', @varKSiLSF = @LSF



-----------------------------------------------------------------
-----------------------------------------------------------------
------------------------------------------------------------------------------------------------
--- ТАБЛИЦА 3 РАСХОДЫ следующего года С ПОДИТОГАМИ
/*	create table #rash3 (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(50), Col1 varchar(2000), Col2 varchar(1000), Col3 varchar(1000), Col4 varchar(1000), Col5 varchar(1000), Col6 varchar(1000), Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float, Col13 float, Col14 float, Col15 float, Col16 varchar(50))

	insert #rash3 (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	exec dbo.rn_get_all_adm_table 	@LSF, 3, @bDeleteEmptyRows, @AtrInOnePage, 1


	INSERT into #rash_itog 
	select checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16 
	from #rash3 where 0 > 1

	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	SELECT 3, '00097000000000000000', '3. Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом, всего:', '900', '00097000000000000000', sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12), sum(COL13), sum(COL14), sum(COL15)
	from #rash3 
	where right(rtrim(CODE),17) = '97000000000000000'

---------------------------------------------
/*col1 - наименование показателя
col2 - код строки
col3 - РЗПР
col4 - ЦСР
col5 - ВР
col6 - ЭКР
col15 - Код = АДМ(3) + РЗПР(4) + ЦСР(7) + ВР(3) + ЭКР(3)
*/
select @iLT = Link_Table from report_tables where Link_Form = @iLF and orders = 3
-- добавляем подитоги
if @varKSiParam & 2 = 2 -- подитоги по целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,14) + '000000', '', max(Col2),max(Col3), max(Col4), '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(Col16,14) + '000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,14) + '000000', left(Col16,14) + '000000'
end

if @varKSiParam & 4 = 4 -- подитоги по подразделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,7) + '0000000000000', '', max(Col2),max(Col3), '0000000', '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(col16,7) + '0000000000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,7) + '0000000000000', left(col16,7) + '0000000000000'
end

if @varKSiParam & 8 = 8 -- подитоги по разделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,5) + '000000000000000', '', max(Col2),left(col3,2) + '00', '0000000', '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(col16,5) + '000000000000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,5) + '000000000000000', left(Col16,5) + '000000000000000',left(col3,2) + '00'
end

if @varKSiParam & 16 = 16 -- подитоги по администратору
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,3) + '00000000000000000', '', max(Col2),'000', '0000000', '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(col16,3) + '00000000000000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,3) + '00000000000000000', left(Col16,3) + '00000000000000000'
end

if @varKSiParam & 32 = 32 -- обнуляем подпрограмму в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,12) + '00000000', '', max(Col2),max(Col3), max(Col4), '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(Col16,12) + '00000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,12) + '00000000', left(Col16,12) + '00000000'
end

if @varKSiParam & 64 = 64 -- обнуляем программу в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,10) + '0000000000', '', max(Col2),max(Col3), max(Col4), '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), sum(Col15), left(Col16,10) + '0000000000'
	from #rash3
	where col6 = '000' and col5 <> '000'
	group by left(Code,10) + '0000000000', left(Col16,10) + '0000000000'
end

select @iLT = Link_Table from report_tables where Link_Form = @iLF and orders = 3

exec ro_get_name_spr @iLT, 'COL5=SUBSTRING(CODE,15,3)=000#COL4=SUBSTRING(CODE,8,7)=0000000#COL3=SUBSTRING(CODE,4,4)=0000#RN_VIEW_KBK_ADM_M=LEFT(CODE,3)=000', '#rash_itog', @varKScNameCode = 'CODE', @varKScNameName = 'COL1', @varKSiLSF = @LSF
*/
-----------------------------------------------------------------
-----------------------------------------------------------------
----------------------------------------------
IF isnull(@varKSiNoItog, 0) = 1
BEGIN
   insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
   select 1, R.CODE, COL1, COL2, CODE, COL6,COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14
   from #rash R
   where right(rtrim(R.CODE),17) <> '96000000000000000' AND right(rtrim(R.CODE),3) NOT IN ('200','000','210','220','230','240','250','260','300','500','600') 
   order by R.Code

/*   insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
   select 3, R3.CODE, COL1, COL2, CODE, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, COL15
   from #rash3 R3
   where right(rtrim(R3.CODE),17) <> '97000000000000000' AND right(rtrim(R3.CODE),3) NOT IN ('200','000','210','220','230','240','250','260','300','500','600') 
   order by R3.Code
 */  
   
END
ELSE BEGIN     
-- убираем целевые которых нет в справочнике
   insert #rash
   select distinct checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15
   from #rash_itog A
   WHERE 
   EXISTS (SELECT * FROM R_SPR_CSR_USER_2011 B WHERE ISNULL(begin_date,'20000101') <= @dBeginDate AND isnull(end_date,'20200101') >= @dBeginDate
        AND SUBSTRING(A.CODE,8,7) = B.code)
-- убираем целевые которых нет в справочнике
  /* insert #rash3
   select distinct checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16
   from #rash_itog A
   WHERE 
   EXISTS (SELECT * FROM R_SPR_CSR_USER_2011 B WHERE ISNULL(begin_date,'20000101') <= @dBeginDate AND isnull(end_date,'20200101') >= @dBeginDate
        AND SUBSTRING(A.CODE,8,7) = B.code)
*/

   insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
   select 1, R.CODE, COL1, COL2, CODE, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14
   from #rash R
   where right(rtrim(R.CODE),17) <> '96000000000000000'
   order by R.Code

 /*  insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
   select 3, R3.CODE, COL1, '910', CODE, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, COL15
   from #rash3 R3
   where right(rtrim(R3.CODE),17) <> '97000000000000000'
   order by R3.Code	
*/END 

drop table #rash_itog
drop table #rash
--drop table #rash3



-------------------------------------------------------------------------------------------------
-- ИСТОЧНИКИ
	create table #ist (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(1000), Col1 varchar(1000), Col2 varchar(1000), Col3 varchar(1000), Col4 float, Col5 float, Col6 float, Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float, Col13 varchar(1000))

	insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13)
	exec dbo.rn_get_all_adm_table 	@LSF, 2, @bDeleteEmptyRows, @AtrInOnePage, 1


	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	SELECT 2, '00090000000000000000', '2. Бюджетные обязательства по выплатам источников финансирования дефицита бюджета, всего:', '510', '00090000000000000000', sum(COL4), sum(COL5), sum(COL6), sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12)
	from #ist 
	where right(rtrim(COL3),17) = '90000000000000000'

-------------------------------------------------------------------------------------------------
-- ОБЯЗАТЕЛЬСТВА финансовых годов


	create table #all1 (OrderTable tinyint, CODE varchar(50), COL1 varchar(8000), COL2 varchar(10), COL3 varchar(1000), COL4 float, COL5 float, COL6 float, COL7 float, COL8 float, COL9 float, COL10 float, COL11 float, COL12 float, orders int IDENTITY(1,1))
	--declare @table varchar(100), @RunStr varchar(8000)

	create table #ist3(checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(1000), Col1 varchar(1000), Col2 varchar(1000), Col3 varchar(1000), Col4 float, Col5 float, Col6 float, Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float, Col13 varchar(1000))

	insert #ist3(checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13 )
	exec dbo.rn_get_all_adm_table 	@LSF, 3, @bDeleteEmptyRows, @AtrInOnePage, 1


	insert #all1 (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	SELECT 3, '00091000000000000000', '3.Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом, всего:', '900',  '00091000000000000000', sum(COL4), sum(COL5), sum(COL6), sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12)
	from #ist3 
	where right(rtrim(COL2),3) = '900'


-----------------------------------------------------------------------------------------


IF isnull(@varKSiNoItog, 0) = 1
BEGIN
	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 2, CODE, COL1, COL2, RIGHT(CODE,3) + COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #ist
	where RIGHT(RTRIM(CODE),17) not in (select RIGHT(RTRIM(CD), 17) from dbo.RO_SELECT_FORM_TOTALS_IST_20(0,@iLF ,1) where link_table=@iLT )
	     or code like '%510%01000000000000000%' or code like '%520%01000000000000000%' or code like '%620%02000000000000000%' or code like '%520%02000000000000000%' or code like '%700%01000000000000000%' or code like '%710%01050000000000500%' or code like '%720%01050000000000600%' or code like '%82%000000000000000%'
	
	insert #all1 (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 3, CODE, COL1, RIGHT(COL2,3), RIGHT(CODE,3) + COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #ist3
	where RIGHT(RTRIM(CODE),3) not in (select RIGHT(RTRIM(CD), 3) from dbo.RO_SELECT_FORM_TOTALS_IST_20(0,@iLF ,1) where link_table=@iLT )
	     or code like '%910%' or code like '%920%' 

END
ELSE BEGIN
	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 2, CODE, COL1, COL2, LEFT(CODE,3) + COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #ist
	where right(rtrim(COL3),17) <> '90000000000000000'
	
	insert #all1 (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 3, CODE, COL1, RIGHT(COL2,3), RIGHT(CODE,3) + COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #ist3
	where right(rtrim(CODE),3) <> '900'

END           

	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 3, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12
	from #all1



	create table #itog (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(50), Col1 varchar(1000), Col2 varchar(1000), Col3 varchar(1000), Col4 float, Col5 float, Col6 float, Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float)

	insert #itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12)
	exec dbo.rn_get_all_adm_table 	@LSF, 4, @bDeleteEmptyRows, @AtrInOnePage, 1

	insert #all (OrderTable, CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12)
	select 4,max(CODE), max(COL1), max(COL2), '              Х', sum(COL4), sum(COL5), sum(COL6), sum(COL7), sum(COL8), sum(COL9), sum(COL10), sum(COL11), sum(COL12)
	from #itog

	drop table #ist
	drop table #itog

	select * from #all order by OrderTable, left(code,3), orders
	drop table #all

	if isnull(@WEB_excel, 0) <> 1
		select cells as style,style as value from report_print_style where link_form=@iLF order by cells





GO


GRANT EXECUTE ON dbo.[RB_PRINT_0503128G_2016] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_6NDFL_EXPORT_v5_01]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_6NDFL_EXPORT_v5_01]

GO

/*EXEC dbo.BK_SELECT_EXPORT_FORMAT 2486*/
/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]       42251*/
CREATE      PROCEDURE [dbo].SA_6NDFL_EXPORT_v5_01 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT  ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))


INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------

DECLARE @FILTER_SUBDIV_NAME VARCHAR(254) , @FILTER_SUBDIV_LINK INT
SET @FILTER_SUBDIV_NAME = (SELECT DBO.RN_GET_ATR_VALUE(@Link, 'REPORTS_FILTER_SUBDIV'))

IF @FILTER_SUBDIV_NAME IS NOT NULL
	SET @FILTER_SUBDIV_LINK = 
		( SELECT TOP 1 LINK FROM DBO.REPORT_KBK 
		  WHERE 
		   ('№' + CONVERT(VARCHAR(3),PROPERTY) + ' - ' +  NAME ) =  @FILTER_SUBDIV_NAME
			AND 
			CODE_FORM='FILTER_NABOR' AND CODE='REPORTS_FILTER_SUBDIV')

DECLARE @BUFFER_SUBDIV VARCHAR(20) 
DECLARE @SUBDIV TABLE (LINK INT)

IF @FILTER_SUBDIV_LINK IS NOT NULL 
BEGIN

	EXEC DBO.GETRANDSTR 20, @BUFFER_SUBDIV OUT

	INSERT INTO @SUBDIV (LINK) 
	SELECT LINK FROM DBO.RN_VIEW_FILTER WHERE LINK_SELF = @FILTER_SUBDIV_LINK

END


DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT,
		@Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,Period_Number*3,YEAR(Begin_Date))),
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS
WHERE LINK_SAVED_FORM = @link


DECLARE
	@first_month_of_quarter TINYINT,
	@second_month_of_quarter TINYINT,
	@third_month_of_quarter TINYINT

IF @Period_Number = 1
	SELECT @first_month_of_quarter = 1, @second_month_of_quarter = 2, @third_month_of_quarter = 3
IF @Period_Number = 2
	SELECT @first_month_of_quarter = 4, @second_month_of_quarter = 5, @third_month_of_quarter = 6
IF @Period_Number = 3
	SELECT @first_month_of_quarter = 7, @second_month_of_quarter = 8, @third_month_of_quarter = 9
IF @Period_Number = 4
	SELECT @first_month_of_quarter = 10, @second_month_of_quarter = 11, @third_month_of_quarter = 12

SELECT  @first_month_of_quarter = ISNULL(@first_month_of_quarter,1), @second_month_of_quarter = ISNULL(@second_month_of_quarter,2), @third_month_of_quarter = ISNULL(@third_month_of_quarter,3)


SELECT top 1
	DD1.OKPO AS OKPO1,
	DD1.INN AS INN1, 
    KPP1 =  CASE WHEN EXISTS(SELECT * FROM @SUBDIV) 
				 then (SELECT TOP 1 O_KPP FROM  subdiv WHERE LINK_up = (SELECT TOP 1 link FROM @SUBDIV) AND  @End_Date BETWEEN DATE_BEGIN AND DATE_END )
				 else DD1.KPP END ,
	FULL_NAME = UPPER(DD1.FULL_NAME),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	DD1.OGRN AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	CHIEF.FM as CHIEF_FM,
	CHIEF.IM as CHIEF_IM,
	CHIEF.OT as CHIEF_OT,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	DD1.OGRN,
	DD1.OKATO,
	OKTMO = CASE WHEN EXISTS(SELECT * FROM @SUBDIV) 
				 then (SELECT TOP 1 O_OKATO FROM  subdiv WHERE LINK_up = (SELECT TOP 1 link FROM @SUBDIV) AND  @End_Date BETWEEN DATE_BEGIN AND DATE_END)
				 else DD1.OKTMO END ,
	DD1.OKVED,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TaxType = DD1.FSS_KP_PC1,
	TaxType2 = DD1.FSS_KP_PC2,
	TaxType3 = DD1.FSS_KP_PC3
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP

/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]        553*/



DECLARE @NumDotC VARCHAR(2), @NumDot INT
SELECT @NumDotC = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_NOM_OBR'),'00')
SET @NumDot = CASE WHEN ISNUMERIC(@NumDotC) =1 THEN CONVERT(INT,@NumDotC) ELSE 0 END

DECLARE @LIKV VARCHAR(3), @nLIKV INT
SELECT @LIKV = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'REPORTS_ATR_LIKVID'),'00')
SET @nLIKV = CASE WHEN LTRIM(RTRIM(@LIKV)) = 'Да' THEN 1 ELSE 0 END

DECLARE @Cur0 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @Cur CURSOR, @Cur1 CURSOR, @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254)

DECLARE @lcFNAME varchar(254),
		@lcFidNAME VARCHAR(254)

SELECT @lcFNAME ='NO_NDFL6_'+ IMNS_SONO + '_'+ SONO + '_'+ LTRIM(rtrim(INN1))+LTRIM(rtrim(KPP1))+ '_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_0.XML' FROM #DEP_DATA
SELECT @lcFidNAME ='NO_NDFL6_'+ IMNS_SONO + '_'+ SONO + '_'+ LTRIM(rtrim(INN1))+LTRIM(rtrim(KPP1))+ '_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_0' FROM #DEP_DATA
/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]       2060*/
--SELECT convert(varchar(10),@modify_date,104)

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'OEM' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="windows-1251"?>'
--UNION ALL SELECT @lcFNAME, SPACE(0) + '<?F4FORM version="0.7"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<Файл ИдФайл="'+LTRIM(RTRIM(@lcFidNAME))+'" ВерсПрог="'+@NAME_PROG+ ':'+ @VERS_PROG+'" ВерсФорм="5.01">'

/** Титул **/

	UNION ALL SELECT @lcFNAME, SPACE(1) + '<Документ'
		+ ' КНД="1151099"'
		+ ' ДатаДок="' + convert(varchar(10),@modify_date,104) + '"'
		--+ ' DOP_NUM="' + ISNULL(LTRIM(RTRIM(FSS_KOD_DOP)),'') + '"'
		+ ' Период="' + (CASE @Period_Number WHEN 1 THEN '21' WHEN 2 THEN '31' WHEN 3 THEN '33' ELSE '34' END) + '"'
		+ ' ОтчетГод="' + CONVERT(VARCHAR(4),@YEAR) + '"'
		+ ' КодНО="' + LTRIM(RTRIM(IMNS_SONO)) + '"'
		+ ' НомКорр="' + LTRIM(RTRIM(CONVERT(VARCHAR(3),@Version))) + '"' --Номер корректировки
		+ ' ПоМесту="212">'
	FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<СвНП'	
			+ ' ОКТМО="' + LTRIM(RTRIM(OKTMO)) + '"'
			+ CASE WHEN ISNULL((SELECT LTRIM(RTRIM(phone)) FROM DICTIONARY_OTV_FACE  WHERE Dep_LINK=dbo.GetOwnDepLink() and name = 'Руководитель'),'') = '' 
				THEN '' ELSE 
				' Тлф="' +(SELECT LTRIM(RTRIM(phone)) FROM DICTIONARY_OTV_FACE  WHERE Dep_LINK=dbo.GetOwnDepLink() and name = 'Руководитель') + '"'
				END 
				+ '>'
		FROM #DEP_DATA	
				UNION ALL SELECT @lcFNAME, SPACE(3) + '<НПЮЛ'	
					+ ' НаимОрг="' + LTRIM(RTRIM(REPLACE(FULL_NAME,'"',''))) + '"'
					+ ' ИННЮЛ="' +LTRIM(RTRIM(INN1)) + '"'
					+ ' КПП="' + LTRIM(RTRIM(KPP1)) + '"/>'
				FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '</СвНП>'	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '<Подписант ПрПодп="1">'
				UNION ALL SELECT @lcFNAME, SPACE(3) + '<ФИО'	+ ' Фамилия="' + LTRIM(RTRIM(CHIEF_FM)) + '"'
					+ ' Имя="' +LTRIM(RTRIM(CHIEF_IM)) + '"'
					+ ' Отчество="' + LTRIM(RTRIM(CHIEF_OT)) + '"/>'
				FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, SPACE(2) + '</Подписант>'

--  /** Раздел I **/

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<НДФЛ6>'

		UNION ALL SELECT TOP 1 @lcFNAME, SPACE(3) + '<ОбобщПоказ' 
					 +' КолФЛДоход="' + isnull((select ltrim(rtrim(SUMMA)) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3060' ),0) + '"'  
					 +' УдержНалИт="' + + isnull((select LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3070' ),0) + '"'
					 +' НеУдержНалИт="' + + isnull((select LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3080'),0) + '"'
					 +' ВозврНалИт="' + + isnull((select LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) from DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND t.ROW_CODE = '3090' ),0) + '">'
  
	IF		(SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='020')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='025')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='030')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='040')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='045')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='050')>0
	BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(4) + '<СумСтавка Ставка="' + (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='010')  +'" '
							+ 'НачислДох="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='020') +'" '
							+ 'НачислДохДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='025') +'" '
							+ 'ВычетНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='030') +'" '
							+ 'ИсчислНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='040') +'" '	
							+ 'ИсчислНалДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='045') +'" '
							+ 'АвансПлат="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='050') +'"/>'	
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE IN ('010')  ORDER BY T.COL
	END		
	IF		(SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1020')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1025')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1030')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1040')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1045')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1050')>0
	BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(4) + '<СумСтавка Ставка="' + (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1010')  +'" '
							+ 'НачислДох="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1020') +'" '
							+ 'НачислДохДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1025') +'" '
							+ 'ВычетНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1030') +'" '
							+ 'ИсчислНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1040') +'" '	
							+ 'ИсчислНалДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1045') +'" '
							+ 'АвансПлат="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='1050') +'"/>'	
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE IN ('1010')  ORDER BY T.COL
	END		
	IF		(SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2020')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2025')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2030')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2040')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2045')>0
		or (SELECT ISNULL(SUMMA2,0) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2050')>0
	BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(4) + '<СумСтавка Ставка="' + (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2010')  +'" '
							+ 'НачислДох="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2020') +'" '
							+ 'НачислДохДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2025') +'" '
							+ 'ВычетНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2030') +'" '
							+ 'ИсчислНал="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2040') +'" '	
							+ 'ИсчислНалДив="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2045') +'" '
							+ 'АвансПлат="'+ (SELECT LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE ='2050') +'"/>'	
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, default, DEFAULT) T WHERE T.COL IN (3) AND t.ROW_CODE IN ('2010')  ORDER BY T.COL
			
	END		
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</ОбобщПоказ>'



--  /** Раздел II **/

		CREATE TABLE #TAB_R2 (
			LINK INT identity(1,1), DATE_F_INC VARCHAR(10), DATE_U_NAL VARCHAR(10), DATE_PER VARCHAR(10), SUM_FAKT_INC NUMERIC(18,2), SUM_U_NAL NUMERIC(18,2))

		CREATE TABLE #TEMP_R2 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(10))
		INSERT INTO #TEMP_R2  (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, DEFAULT) T ORDER BY T.COL

		INSERT INTO #TAB_R2 (DATE_F_INC, DATE_U_NAL, DATE_PER, SUM_FAKT_INC,SUM_U_NAL)
		SELECT DISTINCT
			DATE_F_INC = (SELECT TOP 1 STR_VAL FROM #TEMP_R2 T WHERE T.COL = 2 AND T.ROW_CODE = T2.ROW_CODE),
			DATE_U_NAL = (SELECT TOP 1 STR_VAL FROM #TEMP_R2 T WHERE T.COL = 3 AND T.ROW_CODE = T2.ROW_CODE),
			DATE_PER = (SELECT TOP 1 STR_VAL FROM #TEMP_R2 T WHERE T.COL = 4 AND T.ROW_CODE = T2.ROW_CODE),
			SUM_FAKT_INC = (SELECT TOP 1 SUMMA FROM #TEMP_R2 T WHERE T.COL = 5 AND T.ROW_CODE = T2.ROW_CODE),
			SUM_U_NAL = (SELECT TOP 1 SUMMA FROM #TEMP_R2 T WHERE T.COL = 6 AND T.ROW_CODE = T2.ROW_CODE)
		FROM
			#TEMP_R2 T2 


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(3) + '<ДохНал>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(4) + '<СумДата ДатаФактДох="' + LTRIM(RTRIM(ISNULL(DATE_F_INC,''))) +'" '
					 + 'ДатаУдержНал="'+ LTRIM(RTRIM(ISNULL(DATE_U_NAL,'')))  +'" '
					 + 'СрокПрчслНал="'+ LTRIM(RTRIM(ISNULL(DATE_PER,'')))  +'" '
					 + 'ФактДоход="'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),SUM_FAKT_INC),'')))   +'" '
					 + 'УдержНал="'+ LTRIM(RTRIM(ISNULL(CONVERT(int,SUM_U_NAL),'')))   +'"/>'
	FROM #TAB_R2  ORDER BY convert(datetime,DATE_F_INC,104)

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</ДохНал>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '</НДФЛ6>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(1) + '</Документ>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(0) + '</Файл>'
/*exec [dbo].[SA_6NDFL_EXPORT_v5_01]         2833*/


SET NOCOUNT OFF


select * from #OUTPUT order by [ID]











GO


GRANT EXECUTE ON dbo.[SA_6NDFL_EXPORT_v5_01] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_EMPL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_EMPL]

GO





/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_EMPL
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal3 char(1), @varKSnOtborLink3 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSnPRN_KBK INT				,
	@varKSnPRN_SGU INT				,
	@intREPORT_EMPL INT				,
	@varKScOtborAccount	VARCHAR (100),
        @intSVOD_ZB     int     , -- Сводный отчет (ЦБ) --
	@intSORT_FIO	INT = 0,	-- Сортировать по ФИО -- 
	@intSORT_INV_NAME	INT = 0,		-- Сортировать по Наименованию  -- 
	@GRP_DOP_CL	INT = 0,
	@cVal_DOP_CL char(1), @nOtbor_DOP_CL int,	-- Отбор по доп. классификации --
	@intOBOROT_ONLY INT = 0,
	@cVal_KAU CHAR(1), @nOtbor_KAU INT,	-- Отбор КАУ --
	@intGRP_KAU INT,	-- Группировать по КАУ --
	@intGRP_SUB	INT,	-- Группировать по подразделениям --
	@cVal_SUB CHAR(1), @nOtbor_SUB INT	-- Отбор подразделений --
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSDIC_EMP	INT,
		@varKSORGNAME	VARCHAR(254),
		@strDATE_NEXT	VARCHAR (10),
		@strREP_NAME	VARCHAR (254)

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT  @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (LINK)
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	SET @strDATE_NEXT = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSdDate2), 104)
	SET @intREPORT_EMPL = ISNULL (@intREPORT_EMPL, 0)

	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	

	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@varKScOtborAccount, DEFAULT) T1 ON (T1.VALUE = ACCT.cSINTH)
		UNION ALL
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('201', '05', DEFAULT, DEFAULT) ACCT
		UNION ALL
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('201', '35', DEFAULT, DEFAULT) ACCT

	DECLARE @EMP  TABLE (LINK_EMP [INT], EMP_CODE  [VARCHAR] (20), EMP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal3)>0 BEGIN
		INSERT INTO @EMP
		SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
		FROM dbo.OBJECT_VAR_EMPL OVR, dbo.KU_EMPL_PLACING D
		WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink3
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
		SELECT D.LINK, D.TAB, D.[NAME_EMPL]
		FROM dbo.KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', '')
	END
	
	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ДОП. КЛАССИФИКАЦИИ --- 
	DECLARE @TAB_DOP_CLASSIF TABLE (LINK_DOP INT, DOP_CODE VARCHAR (20), DOP_NAME VARCHAR (254))
	IF LEN (@cVal_DOP_CL) > 0
		INSERT INTO @TAB_DOP_CLASSIF
		SELECT AP.LINK,
			AP.CODE,
			AP.[NAME]
		FROM dbo.DOP_CLASSIF AP 
		INNER JOIN dbo.OBJECT_VAR_DOP_CLASSIF OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtbor_DOP_CL
	ELSE
		INSERT INTO @TAB_DOP_CLASSIF
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('AP2')

	--- ОТБОР КАУ --- 
	DECLARE @TAB_KAU TABLE (LINK_KAU INT, KAU_CODE VARCHAR (20), KAU_NAME VARCHAR (254))
	IF LEN (@cVal_KAU) > 0
		INSERT INTO @TAB_KAU
		SELECT AP.LINK,
			AP.CODE,
			AP.[NAME]
		FROM dbo.KAU AP 
		INNER JOIN dbo.OBJECT_VAR_KAU OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtbor_KAU
	ELSE
		INSERT INTO @TAB_KAU
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('KAU')

	--- ОТБОР ПОДРАЗДЕЛЕНИЙ --- 
	DECLARE @TAB_SUB TABLE (LINK INT, CODE VARCHAR (20), [NAME] VARCHAR (254))
	IF LEN (@cVal_SUB) > 0
		INSERT INTO @TAB_SUB
		SELECT AP.LINK,
			AP.CODE,
			AP.[NAME]
		FROM dbo.OBJECT_VAR_SUBDIV_HEAD OVR 
		INNER JOIN dbo.SUBDIVISION (@varKSdDate2) AP ON (AP.LINK = OVR.RECORD)
		WHERE OVR.LINK_UP = @nOtbor_SUB
	ELSE
		INSERT INTO @TAB_SUB
		SELECT LINK_AP, AP_CODE, AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('SUB')

--SELECT * FROM @TAB_SUB

	SET @intGRP_SUB = ISNULL (@intGRP_SUB, 0)

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], INV [INT], NOMEN [INT], EMP [INT], 
			KBK [INT], KOSGU [INT], AP2 INT, KAU INT, 
			SUBDIV	INT, 
			D_SUMMA [NUMERIC] (20,3), D_QTY [NUMERIC] (20,4),  
			K_SUMMA [NUMERIC] (20,3), K_QTY [NUMERIC] (20,4),  
			IN_SUMMA [NUMERIC] (20,3), IN_QTY [NUMERIC] (20,4),  	
			OUT_SUMMA [NUMERIC] (20,3), OUT_QTY [NUMERIC] (20,4),
			PRICE [NUMERIC] (28,6), PRICE_TYPE [TINYINT])

	INSERT INTO @TABLE1
	SELECT T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.NOMEN,
		CASE
			WHEN @intREPORT_EMPL = 1 THEN T1.EMP
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE 
			WHEN @GRP_DOP_CL = 1 THEN ISNULL (T1.AP2, 0)
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_KAU = 1 THEN ISNULL (T1.KAU, 0)
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_SUB = 1 THEN ISNULL (T1.SUB, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY),
		T1.PRICE,
		T1.PRICE_TYPE
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK K1 ON (K1.LINK_KBK = T1.KBK)
	INNER JOIN @TAB_DOP_CLASSIF DOP ON (DOP.LINK_DOP = T1.AP2)
	INNER JOIN @TAB_KAU KAU ON (KAU.LINK_KAU = T1.KAU)
	GROUP BY  T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.NOMEN,
		CASE
			WHEN @intREPORT_EMPL = 1 THEN T1.EMP
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE 
			WHEN @GRP_DOP_CL = 1 THEN ISNULL (T1.AP2, 0)
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_KAU = 1 THEN ISNULL (T1.KAU, 0)
			ELSE 0
		END,
		CASE 
			WHEN @intGRP_SUB = 1 THEN ISNULL (T1.SUB, 0)
			ELSE 0
		END,
		T1.PRICE,
		T1.PRICE_TYPE
	HAVING @intOBOROT_ONLY = 0
		OR @intOBOROT_ONLY = 1
				AND (SUM (T1.D_SUMMA) <> 0 OR SUM (T1.D_QTY) <> 0
					OR SUM (T1.K_SUMMA) <> 0 OR SUM (T1.K_QTY) <> 0)

-- SELECT * FROM @TABLE1

	SET @strREP_NAME = ''
	IF EXISTS (SELECT * FROM S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '101')
		SET @strREP_NAME = 'ОСНОВНЫХ СРЕДСТВ'

	IF EXISTS (SELECT * FROM S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '105')
		SET @strREP_NAME = @strREP_NAME + CASE
							WHEN @strREP_NAME = '' THEN ''
							ELSE ', '
						END 
			+ 'МАТЕРИАЛЬНЫХ ЗАПАСОВ'
	
	IF EXISTS (SELECT * FROM S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '201')
		SET @strREP_NAME = @strREP_NAME + CASE
							WHEN @strREP_NAME = '' THEN ''
							ELSE ', '
						END 
			+ 'ДЕНЕЖНЫХ ДОКУМЕНТОВ'

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], INV [INT],
			EMP [INT], DOP_LINK INT, KAU INT,
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			KBK_CODE [VARCHAR] (30), KOSGU_CODE [VARCHAR] (5),
			INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
			UM_CODE [VARCHAR] (20), UM_NAME [VARCHAR] (254),
			INV_COST [NUMERIC] (20,4),		
			EMP_CODE [VARCHAR] (20), EMP_NAME [VARCHAR](254),
			DOP_CODE [VARCHAR] (20), DOP_NAME [VARCHAR](254),
			KAU_CODE [VARCHAR] (20), KAU_NAME [VARCHAR](254),

			SUB INT, SUB_CODE VARCHAR (20), SUB_NAME VARCHAR (254),

			D_SUM [NUMERIC] (20,3), D_QTY [NUMERIC] (20,4),	
			K_SUM [NUMERIC] (20,3), K_QTY [NUMERIC] (20,4),	
			IN_SUM [NUMERIC] (20,3), IN_QTY [NUMERIC] (20,4),		
			OUT_SUM [NUMERIC] (20,3), OUT_QTY [NUMERIC] (20,4),	

			ORGNAME [VARCHAR] (254), DATE_NEXT VARCHAR (10),
			REP_NAME [VARCHAR] (254),
			PRICE_TYPE [TINYINT])

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.INV,
		OSV.EMP,
		OSV.AP2,
		OSV.KAU,
		DEP.CODE,
		DEP.[NAME],
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		ISNULL (KL_KBK.CODE, ''),
		ISNULL (KOSGU.CODE, ''),
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, '')),	
		ISNULL (INV.[NAME], ISNULL (NOMEN.NAME, '')),
		ISNULL (INV.CODE_UM, ISNULL (NOMEN.CODE_UM, '')),
		ISNULL (INV.NAME_UM, ISNULL (NOMEN.NAME_UM, '')), 
		OSV.PRICE,
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		DOP.DOP_CODE,
		DOP.DOP_NAME,
		KAU.KAU_CODE,
		KAU.KAU_NAME,

		OSV.SUBDIV,
		SUB.CODE,
		SUB.[NAME], 

		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		OSV.IN_SUMMA, OSV.IN_QTY,
		OSV.OUT_SUMMA,
		OSV.OUT_QTY,
		@varKSORGNAME,
		@strDATE_NEXT,
		@strREP_NAME,
		OSV.PRICE_TYPE
	FROM @TABLE1 OSV
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = OSV.EMP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN @TAB_DOP_CLASSIF DOP ON (DOP.LINK_DOP = OSV.AP2)
	LEFT OUTER JOIN @TAB_KAU KAU ON (KAU.LINK_KAU = OSV.KAU)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	LEFT OUTER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = OSV.INV)
	LEFT OUTER JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = OSV.NOMEN)
	LEFT OUTER JOIN dbo.KL_KBK ON (KL_KBK.LINK = OSV.KBK)
	LEFT OUTER JOIN dbo.KOSGU ON (KOSGU.LINK = OSV.KOSGU)
	INNER JOIN @TAB_SUB SUB ON (SUB.LINK = OSV.SUBDIV)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	UPDATE @RESULT SET INV_COST = OUT_SUM / OUT_QTY
	WHERE PRICE_TYPE = 0 AND OUT_QTY <> 0

	IF @intSORT_FIO = 1
		IF @intSORT_INV_NAME = 1
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, SUB_CODE, EMP_NAME, EMP_CODE, EMP, ACCT_GR, KAU_CODE, DOP_CODE, KBK_CODE, 
				INV_NAME, RIGHT ('00000000000000000000' + INV_CODE, 20), KOSGU_CODE
		ELSE
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, SUB_CODE, EMP_NAME, EMP_CODE, EMP, ACCT_GR, KAU_CODE, DOP_CODE, KBK_CODE, 
				RIGHT ('00000000000000000000' + INV_CODE, 20), KOSGU_CODE

	ELSE
		IF @intSORT_INV_NAME = 1
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, SUB_CODE, EMP_CODE, EMP, ACCT_GR, KAU_CODE, DOP_CODE, KBK_CODE, 
				INV_NAME, RIGHT ('00000000000000000000' + INV_CODE, 20), KOSGU_CODE
		ELSE
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, SUB_CODE, EMP_CODE, EMP, ACCT_GR, KAU_CODE, DOP_CODE, KBK_CODE, 
				RIGHT ('00000000000000000000' + INV_CODE, 20), KOSGU_CODE
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_EMPL] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_EMPL_Z]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_EMPL_Z]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_EMPL_Z
	@varKSdDate1	DATETIME,
	@varKSdDate2	DATETIME,
	@varKScVal1 char(1), @varKSnOtborLink1 int,
	@varKScVal3 char(1), @varKSnOtborLink3 int,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSnPRN_KBK INT,
	@varKSnPRN_SGU INT,
	@intREPORT_EMPL INT,
        @intSVOD_ZB     int,     -- Сводный отчет (ЦБ) --	
	@intSORT_FIO	INT = 0,	-- Сортировать по ФИО -- 
	@intSORT_INV_NAME	INT = 0,		-- Сортировать по Наименованию  -- 
	@intGRP_DOP	INT = 0		-- Группировать по доп. класс-ции --
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSDIC_EMP	INT,
		@varKSORGNAME	VARCHAR(254),
		@strDATE_NEXT	VARCHAR (10)

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSDEP_LINK = LINK,
		@varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

	SET @strDATE_NEXT = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSdDate2), 104)

	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	

	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, 1) ACCT
	
	DECLARE @EMP  TABLE (LINK_EMP [INT], EMP_CODE  [VARCHAR] (20), EMP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal3)>0 BEGIN
		INSERT INTO @EMP
			SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
			FROM OBJECT_VAR_EMPL OVR, KU_EMPL_PLACING D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink3
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
			SELECT D.LINK, D.TAB, D.[NAME_EMPL] FROM KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', '')
	END

		--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], INV [INT], NOMEN [INT], TMC [INT], EMP [INT], 
			KBK [INT], KOSGU [INT],
			D_SUMMA [NUMERIC] (20,2), D_QTY [NUMERIC] (20,2),  
			K_SUMMA [NUMERIC] (20,2), K_QTY [NUMERIC] (20,2),  
			IN_SUMMA [NUMERIC] (20,2), IN_QTY [NUMERIC] (20,2),  	
			OUT_SUMMA [NUMERIC] (20,2), OUT_QTY [NUMERIC] (20,2))  	

	INSERT INTO @TABLE1
	SELECT T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.NOMEN,
		T1.TMC,
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QTY),
		SUM (T1.K_SUMMA), SUM (T1.K_QTY),
		SUM (T1.IN_SUMMA), SUM (T1.IN_QTY),
		SUM (T1.OUT_SUMMA), SUM (T1.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, DEFAULT) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	WHERE @intSVOD_ZB = 1
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.NOMEN,
		T1.TMC,
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], INV [INT], EMP [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
			UM_CODE [VARCHAR] (20), UM_NAME [VARCHAR] (254),
			INV_COST [NUMERIC] (20,3),		
			EMP_CODE [VARCHAR] (20), EMP_NAME [VARCHAR](254),
			DOP_CODE [VARCHAR] (20), DOP_NAME [VARCHAR](254),
			KAU_CODE [VARCHAR] (20), KAU_NAME [VARCHAR](254),
			SUB INT, SUB_CODE VARCHAR (20), SUB_NAME VARCHAR (254),
			D_SUM [NUMERIC] (20,2), D_QTY [NUMERIC] (20,2),	
			K_SUM [NUMERIC] (20,2), K_QTY [NUMERIC] (20,2),	
			IN_SUM [NUMERIC] (20,2), IN_QTY [NUMERIC] (20,2),		
			OUT_SUM [NUMERIC] (20,2), OUT_QTY [NUMERIC] (20,2),	
			ORGNAME [VARCHAR] (254), DATE_NEXT VARCHAR (10),
			REP_NAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.INV,
		OSV.EMP,
		DEP.CODE,
		DEP.[NAME],
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, ISNULL (TMC.CODE,''))),
		ISNULL (INV.[NAME], ISNULL (NOMEN.[NAME], ISNULL (TMC.[NAME], ''))),
		COALESCE (INV.CODE_UM, INV.CODE_UM, TMC.REF_CODE_D, ''),
		COALESCE (INV.NAME_UM, INV.NAME_UM, TMC.REF_NAME_D, ''), 
		0,
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		'', '',
		'', '',		-- КАУ --
		0, '', '',	-- Подразделение --
		OSV.D_SUMMA, OSV.D_QTY,
		OSV.K_SUMMA, OSV.K_QTY,
		OSV.IN_SUMMA, OSV.IN_QTY,
		OSV.OUT_SUMMA,
		OSV.OUT_QTY,
		@varKSORGNAME,
		@strDATE_NEXT,
		'МАТЕРИАЛЬНЫХ ЦЕННОСТЕЙ НА ЗАБАЛАНСОВЫХ СЧЕТАХ'
	FROM @TABLE1 OSV
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = OSV.EMP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	LEFT OUTER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = OSV.INV)
	LEFT OUTER JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = OSV.NOMEN)
	LEFT OUTER JOIN dbo.DICTIONARY_TMC TMC ON (TMC.LINK = OSV.TMC)
	WHERE (OSV.D_SUMMA <> 0) OR (OSV.D_QTY<> 0)
		OR (OSV.K_SUMMA <> 0) OR (OSV.K_QTY <> 0)
		OR (OSV.IN_SUMMA <> 0) OR (OSV.IN_QTY <> 0)
		OR (OSV.OUT_SUMMA <> 0) OR (OSV.OUT_QTY <> 0)

	UPDATE @RESULT SET INV_COST = OUT_SUM / OUT_QTY
	WHERE OUT_QTY <> 0

	IF @intSORT_FIO = 1
		IF @intSORT_INV_NAME = 1
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, EMP_NAME, EMP_CODE, EMP, ACCT_GR,
				INV_NAME, RIGHT ('00000000000000000000' + INV_CODE, 20)
		ELSE
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, EMP_NAME, EMP_CODE, EMP, ACCT_GR, 
				RIGHT ('00000000000000000000' + INV_CODE, 20)

	ELSE
		IF @intSORT_INV_NAME = 1
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, EMP_CODE, EMP, ACCT_GR,
				INV_NAME, RIGHT ('00000000000000000000' + INV_CODE, 20)
		ELSE
			SELECT * FROM @RESULT
			ORDER BY DEP_CODE, EMP_CODE, EMP, ACCT_GR, 
				RIGHT ('00000000000000000000' + INV_CODE, 20)

END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_EMPL_Z] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_U_NDFL_FILL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_U_NDFL_FILL]

GO

CREATE PROCEDURE [dbo].[SD_U_NDFL_FILL]
	@varKSlinkEmpl	 int,  
	@varKSRef_Pay  int, 	 
	@varKSDate datetime, 	 
	@varKSLinkVKR int,
	@varKSLinkEKR int,	
	@varKSfl int = 0

AS 
SET NOCOUNT ON
DECLARE @varKSMonth int, 
	  @varKSYear int, 
	  @varKSLINK_FACE int, 
	  @varKSPred_Mesto_Rab numeric(15,2), 
	  @varKSFlagD int,
	  @Status int	-->>NEW

IF @varKSfl>0
	SET @varKSfl = 1

DECLARE @NDFL_OPT8 TINYINT --Разрешить отрицательные суммы налога
SET @NDFL_OPT8 = dbo.sa_get_option_by_code('NDFL_OPT8')

SET @varKSMonth= month(@varKSDate)
SET @varKSYear = year(@varKSDate)

declare @DEP_LINK int
SELECT @DEP_LINK = DEP_LINK, @varKSLINK_FACE = PERS_LINK FROM DBO.EMPL WHERE LINK = @varKSlinkEmpl

DECLARE @Link211EKR int
Set @Link211EKR = ISNULL((SELECT TOP 1 LINK FROM KOSGU WHERE CODE = '211'),0)

if @varKSfl = 1
	Select [Организация] = [NAME] from dbo.DEPARTMENTS where link = @DEP_LINK

Select @Status= [STATUS] from dbo.ITEM_MOVE where ACTIVE = 1 and EMPL_LINK = @varKSlinkEmpl	-->>NEW

SET @varKSFlagD = 0

DECLARE @DIS_DATE DATETIME
SET @DIS_DATE = COALESCE((SELECT TOP 1 IDF.DIS_DATE FROM DBO.ITEM_DIS_FACE IDF with (nolock) WHERE IDF.EMPL_LINK = @varKSlinkEmpl AND IDF.ACTIVE=1),'29990101')

SET @varKSPred_Mesto_Rab = 0
IF YEAR(dbo.kd_DateBeginWork(@varKSlinkEmpl,@varKSDate)) = @varKSYear
BEGIN

	SET @varKSPred_Mesto_Rab =(SELECT ISNULL(SUM(SUMMA_TYP_INCOMS),0) FROM dbo.SD_EMPL_PREV_DOHOD WHERE LINK_EMPL = @varKSlinkEmpl)
			- (SELECT ISNULL(SUM(SUMMA_DED),0) FROM dbo.SD_EMPL_PREV_DED WHERE LINK_EMPL = @varKSlinkEmpl and 
					LINK_DED IN (SELECT distinct REF_DEDUCT FROM DICTIONARY_TYP_INCOMS where REF_DEDUCT is not null) )
	IF @varKSPred_Mesto_Rab IS null or @varKSPred_Mesto_Rab < 0
		SET @varKSPred_Mesto_Rab = 0
	SET @varKSFlagD = 1
END


IF @varKSfl = 1 
	SELECT Case @Status when 1 then 'Основной сотрудник' when 2 then 'Внутренний совместитель' else 'Внешний совместитель' end + 
	': '+rtrim(TAB)+ ' ' +rtrim(dbo.sd_GetEmplName(LINK))+  ', месяц ' + rtrim(convert(varchar(100),@varKSMonth))+ 
			 ', год ' +rtrim( convert(varchar(100),@varKSYear )) as 'Исходные данные'  FROM dbo.EMPL WHERE LINK = @varKSlinkEmpl   
IF  @varKSfl = 1 
	SELECT 'Совокупный доход: '+ rtrim(isnull(convert(varchar(100),(select sum(summa_TYP_INCOMS) from dbo.SD_EMPL_PREV_DOHOD where link_empl =@varKSlinkEmpl)),'0')) + ' , предоставленные вычеты: '+
	 rtrim( isnull( convert(varchar(100),(select sum(summa_ded) from dbo.SD_EMPL_PREV_DED where link_empl =@varKSlinkEmpl and LINK_DED NOT IN (SELECT distinct REF_DEDUCT FROM DICTIONARY_TYP_INCOMS where REF_DEDUCT is not null) )),'0'))
	+ ' , предоставлены скидки: '+
	 rtrim( isnull( convert(varchar(100),(select sum(summa_ded) from dbo.SD_EMPL_PREV_DED where link_empl =@varKSlinkEmpl and LINK_DED IN (SELECT distinct REF_DEDUCT FROM DICTIONARY_TYP_INCOMS where REF_DEDUCT is not null) )),'0'))  as 'Данные с предыдущего места работы'


/*Доходы*/
Declare @isPrevPreiod tinyint
--Суммы начислений включать в базу расчета в том месяце, в котором он был начислен.                   
Set @isPrevPreiod = dbo.sa_get_option_by_code('NDFL_OPT6')
Set @isPrevPreiod = 1 - ISNULL(@isPrevPreiod,0)

Declare @SJC table (link_empl int, link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), period_begin datetime, date1 datetime)

Insert into @SJC (link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, period_begin, date1)
Select 
	JC.LINK_EMPL, P.LINK, link_vkr, S.LINK, P.TYP_PER, P.[OBJECT], summa, 
	period_begin = (case when @isPrevPreiod = 0 then JC.period_begin 
			else (Case 
					when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code <> 'DOCUMENTS_ADD_PREMIUM' and d.code <> 'DOCUMENTS_ADD_PERCENT'
					then JC.DATE_BEGIN else JC.period_begin 
				end) 
			end),
	JC.DATE_BEGIN
from 
	dbo.CALCULATE_JURNAL JC 
	INNER JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
	INNER JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
	CROSS APPLY (SELECT LINK FROM dbo.KOSGU T WHERE T.CODE = 'R211') R211
	CROSS APPLY (SELECT LINK FROM dbo.KOSGU T WHERE T.CODE = '211') T211
	INNER JOIN dbo.KOSGU S ON S.LINK = (CASE WHEN R211.LINK = ISNULL(JC.LINK_EKR,P.LINK_EKR) THEN T211.LINK ELSE ISNULL(JC.LINK_EKR,P.LINK_EKR) END)	
	LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
where
	P.OBJECT = 1
	AND
	P.LINK in (Select TAX_LINK from dbo.group_tax(@varKSRef_Pay)) 
	AND (
			@isPrevPreiod = 0 and @varKSMonth >= month(JC.PERIOD_BEGIN) and @varKSYear = year(JC.PERIOD_BEGIN)
		or 
			@isPrevPreiod = 1 
			and (@varKSMonth >= month(JC.DATE_BEGIN) or @varKSMonth >= month(JC.PERIOD_BEGIN) )
			and (@varKSYear = year(JC.DATE_BEGIN) or @varKSYear = year(JC.PERIOD_BEGIN) )
		)
	AND  
		(	-->>NEW
		@Status <> 1 AND JC.LINK_EMPL = @varKSlinkEmpl /*Если не основной сотрудник, то доход по своему табельному номеру*/
		or
		@Status = 1 AND E.PERS_LINK = @varKSLINK_FACE /*Если основной сотрудник, то доход по всем табельным номерам*/
		)	
	AND JC.LINK_DEP = @DEP_LINK 
	

DECLARE @varKSVal TABLE 
([MONTH] 		[int],
 [EMPL_SUMMA] 		[numeric](19, 2),
 [SUMMA] 		[numeric](19, 2),
 [EMPL_SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_VKR]		[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_211]  [numeric](19, 2), --для расчёта коэффициента при предоставлении вычета только по 211 ЭКР
 [SUMMA_M_VKR]		[numeric](19, 2)
 --[SUMMA_M_VKR1]		[numeric](19, 2)
)

INSERT INTO @varKSVal([MONTH],[SUMMA],[EMPL_SUMMA], [SUMMA_VKR], [EMPL_SUMMA_VKR],[SUMMA_M],[SUMMA_M_211],[SUMMA_M_VKR])--,[SUMMA_M_VKR1])
SELECT T.NUM AS [MONTH],  
		[SUMMA] = SUM(SJ.SUMMA), 
		[EMPL_SUMMA] = SUM(CASE WHEN SJ.LINK_EMPL = @varKSlinkEmpl THEN SJ.SUMMA ELSE 0 END),
		[SUMMA_VKR] = SUM(CASE WHEN SJ.LINK_VKR = @varKSLinkVKR   AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END), 
		[EMPL_SUMMA_VKR] = SUM(CASE WHEN SJ.LINK_VKR = @varKSLinkVKR AND SJ.LINK_EMPL = @varKSlinkEmpl AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END), 
		[SUMMA_M] = SUM(CASE WHEN Month(sj.period_begin) = T.NUM AND SJ.LINK_EMPL = @varKSlinkEmpl THEN SJ.SUMMA ELSE 0 END), 
		[SUMMA_M_211] = SUM(CASE WHEN Month(sj.period_begin) = T.NUM AND SJ.LINK_EMPL = @varKSlinkEmpl AND SJ.LINK_EKR = @Link211EKR THEN SJ.SUMMA ELSE 0 END), 
		[SUMMA_M_VKR] = SUM(CASE WHEN Month(sj.period_begin) =T.NUM AND SJ.LINK_VKR = @varKSLinkVKR AND SJ.LINK_EMPL = @varKSlinkEmpl AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END)
--		[SUMMA_M_VKR1] = SUM(CASE WHEN Month(sj.period_begin) =T.NUM AND SJ.LINK_VKR = @varKSLinkVKR AND SJ.LINK_EMPL = @varKSlinkEmpl THEN SJ.SUMMA ELSE 0 END)
FROM dbo.MONTHS T, @SJC SJ
WHERE SJ.TYP_OPER = 1 AND T.NUM <= @varKSMonth
		AND T.NUM >= Month(sj.period_begin)
		AND  @varKSYear = Year(sj.period_begin)
GROUP BY  T.NUM

if @varKSfl = 1 
	select [month] as [Месяц], [summa] as [Сумма ФЛ с нач года ],summa_vkr as [Сумма ФЛ с нач года по ВКР], summa_m as [Сумма сотр за месяц], 
	summa_m_vkr as [Сумма сотр за месяц по ВКР]  from @varKSVal

/*Доходы для вычетов*/
DECLARE @varKSVal2 TABLE 
([MONTH] 		[int],
 [SUMMA] 		[numeric](19, 2),
 [EMPL_SUMMA] 		[numeric](19, 2),
 [SUMMA_VKR]		[numeric](19, 2),
 [EMPL_SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_VKR]		[numeric](19, 2))


INSERT INTO @varKSVal2([MONTH],[SUMMA],[EMPL_SUMMA], [SUMMA_VKR], [EMPL_SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
SELECT T.NUM AS [MONTH],
		[SUMMA] = SUM(SJ.SUMMA),
		[EMPL_SUMMA] = SUM(CASE WHEN SJ.LINK_EMPL = @varKSlinkEmpl THEN SJ.SUMMA ELSE 0 END),
		[SUMMA_VKR] = SUM(CASE WHEN SJ.LINK_VKR = @varKSLinkVKR AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END),
		[EMPL_SUMMA_VKR] = SUM(CASE WHEN SJ.LINK_VKR = @varKSLinkVKR AND (SJ.LINK_EMPL = @varKSlinkEmpl) AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END), 
		[SUMMA_M] = SUM(CASE WHEN (CASE WHEN SJ.TYP_PER=1 THEN Month(sj.period_begin) ELSE MONTH(sj.DATE1) END)=T.num AND SJ.LINK_EMPL = @varKSlinkEmpl then sj.summa else 0 end),
		[SUMMA_M_VKR] = SUM(CASE WHEN ((CASE WHEN SJ.TYP_PER=1 THEN Month(sj.period_begin) ELSE MONTH(sj.DATE1) END)=T.num)
							AND sj.link_vkr = @varKSLinkVKR AND SJ.LINK_EMPL = @varKSlinkEmpl AND SJ.LINK_EKR = @varKSLinkEKR THEN SJ.SUMMA ELSE 0 END)
FROM dbo.MONTHS T, @SJC SJ
WHERE SJ.TYP_OPER = 1 
		AND T.NUM <= @varKSMonth AND
		T.NUM >=(CASE WHEN SJ.TYP_PER=1 THEN Month(sj.period_begin) ELSE MONTH(SJ.DATE1) END)
		AND @varKSYear =(case WHEN SJ.TYP_PER=1 THEN Year(sj.period_begin) ELSE YEAR(sj.DATE1) END)
GROUP BY  T.NUM

insert into @varKSVal2 ([MONTH],[SUMMA],[EMPL_SUMMA], [SUMMA_VKR], [EMPL_SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
select T.NUM, 0, 0, 0, 0, 0, 0  from dbo.MONTHS T where T.NUM < (Select min([month]) from @varKSVal2)

if @varKSfl = 1 
	select [month] as [Месяц], [summa] as [Сумма ФЛ с нач года], @varKSPred_Mesto_Rab as [Сумма ФЛ с предыдущего места работы], summa_vkr as [Сумма ФЛ с нач года по ВКР ], summa_m as [Сумма сотр за месяц], 
	summa_m_vkr as [Сумма сотр за месяц по ВКР]  from @varKSVal2 order by [month]

/*Какие бывают скидки*/
if @varKSfl=1 
   select code as [Код вычета], name as [Наименование вычета], SUMMA as [Сумма] from dbo.Salary_deductions(@varKSDate) WHERE TYPE = 5

/*
Если это не внешний совместитель, то Скидки и вычеты предоставляем только по основному табельному номеру
Если это внешний совместитель, предоставляем скидки
*/

/*Какие скидки у физ.лица*/
DECLARE @varKSTemp1 TABLE 
([NUM] 			[int],
 [REF_PAY]		[int],	
 [MP]		 	[numeric](19, 2),
 [MP_M]			[numeric](19, 2),
 [MP_M_VKR]		[numeric](19, 2),
 [PREDEL]		[numeric](19, 2))

--Расчет скидок
INSERT INTO @varKSTemp1 ([NUM],[REF_PAY],[MP],[MP_M],[MP_M_VKR],[PREDEL])
SELECT m.num,T1.REF_PAY,
	/*Годовая сумма дохода со скидкой по физ.лицу*/
	[mp] = SUM(case when Month(sj.period_begin)<=m.num then SJ.summa else 0 end), 
	/*Месячная сумма дохода со скидкой по физ.лицу*/
	[mp_m] = sum(case when Month(sj.period_begin)=m.num then (case when Month(sj.period_begin)<=m.num then SJ.summa else 0 end) else 0 end),
	/*Месячная сумма дохода со скидкой по физ. лицу  в разрезе КБК*/
	[mp_m_vkr] = sum(case when Month(sj.period_begin) = m.num AND sj.link_vkr = @varKSLinkVKR AND SJ.LINK_EKR = @varKSLinkEKR then (case when Month(sj.period_begin)<=m.num then SJ.summa else 0 end) else 0 end),
	[PREDEL] = T1.SUMMA -(case when @varKSFlagD = 1 then isnull((select sum(summa_ded) from dbo.SD_EMPL_PREV_DED where LINK_DED = T1.REF_PAY and  link_empl=@varKSlinkEmpl),0)  else 0 end) 
FROM 
	dbo.MONTHS M, @SJC SJ, dbo.Salary_deductions(@varKSDate) T1
WHERE  
	Year(sj.period_begin) = @varKSYear and m.num<=@varKSMonth AND T1.TYPE = 6 --Тип вычета "Скидка на материальную помощь"
	AND T1.REF_PAY = (select ref_deduct  from dbo.DICTIONARY_TYP_INCOMS where link = (select LINK_INC from dbo.PAYS where LINK = SJ.LINK_PAYS)) 
	AND @Status in (1 /*Основной*/, 3 /*Внешний совместитель*/) AND SJ.LINK_EMPL = @varKSlinkEmpl
GROUP BY m.num, T1.REF_PAY, T1.SUMMA

IF @varKSfl=1 
	select [num] as [Месяц], [Вычет] = (select name from diction where link = ref_pay), [mp] as [Сумма ФЛ с нач года], mp_m as [Сумма ФЛ за месяц], 
	mp_m_vkr as [Сумма ФЛ за месяц по ВКР], predel as [Предел]  from @varKSTemp1

DECLARE @varKSTemp2 TABLE 
([NUM] 			[int],
 [REF_PAY]		[int],	
 [MP]		 	[numeric](19, 2),
 [MP_M]			[numeric](19, 2),
 [MP_M_VKR]		[numeric](19, 2), [PREDEL]		[numeric](19, 2),
 [SALDO]		[numeric](19, 2),
 [KOEF] 		[numeric](19, 10))

INSERT INTO @varKSTemp2 ([NUM],[REF_PAY],[MP],[MP_M],[MP_M_VKR],[PREDEL],[SALDO],[KOEF])
SELECT T1.NUM,T1.REF_PAY,T1.MP,T1.MP_M,T1.MP_M_VKR,T1.PREDEL, 
	[SALDO] = (CASE WHEN PREDEL < 0 THEN 0 ELSE PREDEL END) - ISNULL((select sum(mp_m) from @varKSTemp1 T2 where T2.num < T1.num and T2.REF_PAY = T1.REF_PAY),0),
	[KOEF] =  (CASE WHEN MP_M = 0 THEN 0 ELSE MP_M_VKR/MP_M END)
FROM @varKSTemp1 T1

DECLARE @varKSTemp3 TABLE 
([NUM] 			[int],
 [REF_PAY]		[int],	
 [MP_M]			[numeric](19, 2),
 [MP_M_VKR]		[numeric](19, 2),
 [KOEF] 		[numeric](19, 10),
 [DED]			[numeric](19, 2)
  )

INSERT INTO @varKSTemp3 ([NUM],[REF_PAY],[MP_M],[MP_M_VKR],[KOEF],[DED])
SELECT [NUM],[REF_PAY],[MP_M],[MP_M_VKR],[KOEF], 
	   [DED] = 	case when SALDO < 0 then 
				- case when (CASE WHEN PREDEL < 0 THEN 0 ELSE PREDEL END) - ISNULL(MP,0) > 0	then
					(CASE WHEN PREDEL < 0 THEN 0 ELSE PREDEL END) - ISNULL(MP,0) 
					else 0
				end
			else
				(CASE WHEN MP_M > SALDO THEN SALDO ELSE MP_M END)
			end
FROM @varKSTemp2 

/*Очитстка от мусора: были рассчитаны вычеты и скидки с КБК, которые теперь в этом году больше не используются.
Врезультате эти суммы вычетов не очищаются при расчете и вылазят в 2НДФЛ*/
DELETE
FROM 
	dbo.SAL_DED_MONTH
WHERE
	YEAR(dbo.SAL_DED_MONTH.DATE_DED) = YEAR(@varKSDate)
	and
	not exists (
		SELECT j.LINK 
		FROM dbo.calculate_jurnal j
		WHERE 
			YEAR(j.PERIOD_BEGIN) = YEAR(@varKSDate)
			and j.link_empl = dbo.SAL_DED_MONTH.link_empl 
			and j.LINK_VKR = dbo.SAL_DED_MONTH.LINK_VKR
			and j.LINK_EKR = dbo.SAL_DED_MONTH.LINK_EKR
			AND EXISTS (SELECT LINK_PAYS FROM dbo.PAYS P 
						INNER JOIN dbo.TAX_REF R ON R.LINK_TAX = P.LINK 
						WHERE P.OBJECT = 2 AND P.WAY_CALC = 4 AND R.LINK_PAYS = j.link_pays)
	)
	

/*Удалить все вычеты и скидки по сотруднику, чтобы затем вновь рассчитать их*/
DELETE FROM dbo.SAL_DED_MONTH
WHERE 
	LINK_EMPL = @varKSlinkEmpl 
	AND LINK_VKR = @varKSLinkVKR 
	AND ISNULL(LINK_EKR,@varKSLinkEKR) = @varKSLinkEKR 
	AND YEAR(DATE_DED) = YEAR(@varKSDate) 
	AND MONTH(DATE_DED) <= MONTH(@varKSDate) 

/*Заново рассчитать годовые скидки*/
INSERT INTO dbo.SAL_DED_MONTH (LINK_EMPL,REF_DED,SUMMA,DATE_DED,LINK_VKR,LINK_EKR,TYPE)
SELECT [LINK_EMPL] = @varKSlinkEmpl,
		 [REF_DED]   = T.REF_PAY,
		 [SUMMA] 	 = ISNULL(T.DED,0) * ISNULL(T.KOEF,1),
		 [DATE_DED]  = dbo.ConvertDMY2Date(1,t.num,year(@varKSDate)),
		 [LINK_VKR]	 = @varKSLinkVKR,
		 [LINK_EKR]	 = @varKSLinkEKR,
		 [TYPE] = 2
FROM @varKSTemp3 T WHERE T.MP_M_VKR <> 0 AND T.DED <> 0 

/* Скидки */

DECLARE @varKSTotTab TABLE
([MONTH] 		[int],
 [EMPL_SUMMA]		[numeric](19, 2), --
 [EMPL_SUMMA_VKR]	[numeric](19, 2), --
 [SUMMA_VKR]		[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_211]  [numeric](19, 2), --для расчёта коэффициента при предоставлении вычета только по 211 ЭКР
 [SUMMA_M_VKR]		[numeric](19, 2), --для каждого ЭКР, ВКР
 [DED_M_ALL] 		[numeric](19, 2),
 --[DED_M_ALL_211] 	[numeric](19, 2), --для расчёта коэффициента при предоставлении вычета только по 211 ЭКР
 [DED]			[numeric](19, 2),
 [DED_M]		[numeric](19, 2),
 [DED0]			[numeric](19, 2)
 ) 

/* Вычеты делятся между КБК пропорционально с помощью коэффициентов пропорциональности */
INSERT INTO @varKSTotTab([MONTH], [EMPL_SUMMA], [EMPL_SUMMA_VKR], [SUMMA_VKR],[SUMMA_M],[SUMMA_M_211],[SUMMA_M_VKR],[DED_M_ALL],[DED],[DED_M],DED0)
SELECT 	
		M.[NUM], 
		ISNULL(T1.EMPL_SUMMA,0), 
		ISNULL(T1.[EMPL_SUMMA_VKR],0), 
		ISNULL(T1.[SUMMA_VKR],0), 
		ISNULL(T1.[SUMMA_M],0),
		ISNULL(T1.[SUMMA_M_211],0),	 
		ISNULL(T1.[SUMMA_M_VKR],0),
	 	[DED_M_ALL] = ISNULL((SELECT SUM(T2.DED) FROM @varKSTemp3 T2 WHERE T2.NUM=M.[NUM]),0),
		[DED] 		= ISNULL((SELECT SUM(T2.DED * T2.KOEF) FROM @varKSTemp3 T2 WHERE T2.NUM <= M.[NUM]),0),
		[DED_M] 	= ISNULL((SELECT SUM(T2.DED * T2.KOEF) FROM @varKSTemp3 T2 WHERE T2.NUM = M.[NUM]),0),
		[DED0] 		= ISNULL((SELECT SUM(T2.DED) FROM @varKSTemp3 T2 WHERE T2.NUM <= M.[NUM]),0)
FROM  dbo.months M LEFT JOIN @varKSVal T1 on M.num = T1.[MONTH] 
WHERE M.NUM <= @varKSMonth
GROUP BY M.[NUM], T1.[EMPL_SUMMA], T1.[EMPL_SUMMA_VKR], T1.SUMMA_VKR, T1.SUMMA_M_VKR, T1.SUMMA_M, T1.SUMMA_M_211

IF @varKSfl=1 
select [month] as [Месяц],summa_vkr as [Сумма ФЛ с нач года по ВКР], summa_m as [Сумма сотр за месяц], 
	summa_m_vkr as [Сумма за месяц по ВКР], ded_m_all as [Скидки всего], ded as [Скидки всего по ВКР], ded_m as [Скидки за месяц по ВКР]  from @varKSTotTab

DECLARE @varKSTT TABLE
([REF_PAY] 	[int],
 [PREDEL]	[numeric](19, 2),
 [SUMMA]		[numeric](19, 2),
 [MONTHEND]	[int])

--- Вычеты и скидки: Определение достижения предела
INSERT INTO @varKSTT ([REF_PAY],[PREDEL],[SUMMA],[MONTHEND])
SELECT TD.REF_PAY,TD.PREDEL,TD.SUMMA, 
		[MonthEnd] =  (SELECT TOP 1 T1.[MONTH] FROM  @varKSVal2 T1 
 							WHERE (SUMMA+ISNULL(@varKSPred_Mesto_Rab,0) - ISNULL((select sum(ded) from @varKSTemp3 where num<=T1.[MONTH]),0))
							<(CASE WHEN TD.PREDEL = 0 THEN 999999999999 ELSE TD.PREDEL END)
							ORDER BY T1.[MONTH] DESC)
FROM 
	dbo.Salary_deductions(@varKSDate ) as TD where TYPE = 1

DECLARE @varKSTotal TABLE
( link int not null IDENTITY(1,1),
 [REF_PAY] 	[int],
 [MONTH_BEGIN]	[int],
 [MONTH_END]	[int],		
 [SUMMA]	[numeric](19, 2),
[SUMMA_V] numeric(18,2), [SUMMA_D] numeric(18,2), [Ostatok_V] numeric(18,2)-- Для определения факт вычетов
)

--Предоставление стандартных вычетов
--'Всегда,При наличии любого дохода за месяц,При наличии только положительного дохода за месяц'
declare @NDFL_OPT5 tinyint
SET @NDFL_OPT5 =  ISNULL((SELECT top 1 CONVERT(INT,VALUE) FROM S_OPTIONS WHERE OBJECT = (SELECT LINK FROM S_OBJECTS WHERE CODE = 'NDFL_OPT5')),1)

INSERT INTO @varKSTotal ([REF_PAY],[MONTH_BEGIN],[MONTH_END],[SUMMA],[SUMMA_V],[SUMMA_D])
SELECT 		
	[REF_PAY] 		= TT.REF_PAY, 
	[MONTH_BEGIN]	= M.[NUM],--SDE.MONTH_BEGIN,
	[MONTH_END] 	= M.[NUM],--(CASE WHEN TT.MonthEnd> SDE.MONTH_END THEN SDE.MONTH_END ELSE TT.MonthEnd END),
	[SUMMA] 		= TT.SUMMA,
	[SUMMA_V]		= TT.SUMMA,	-- Для определения факт вычетов
	[SUMMA_D]		= ISNULL(D.[summa_m],0)	-- Для определения факт вычетов
				- ISNULL((select sum(ded) from @varKSTemp3 where num = M.[NUM]),0)
FROM 
	@varKSTT TT
	INNER JOIN (SELECT link_ded, month_begin,month_end FROM DBO.salary_ded_empl(@varKSlinkEmpl,@varKSMonth, @varKSYear)T1 WHERE t1.month_begin<=t1.month_end) SDE
		ON SDE.LINK_DED =TT.REF_PAY
	INNER JOIN dbo.Months M ON TT.MonthEnd >= M.[NUM] AND M.[NUM] between SDE.MONTH_BEGIN and SDE.MONTH_END
	LEFT JOIN @varKSVal2 D ON M.NUM = D.[month] -- Для определения факт вычетов
WHERE 
	@Status in (1 /*Основной*/, 3 /*Внешний совместитель*/)	-->>NEW
	AND 
		(@NDFL_OPT5 = 1 or @NDFL_OPT5 = 2 and D.SUMMA_M <> 0 or @NDFL_OPT5 = 3 and D.SUMMA_M > 0)
	AND --Вычет дается, если сотрудник в этом месяце не уволен или есть положительный доход.
		(D.SUMMA_M <> 0 OR dbo.DateEndOfMonth(@DIS_DATE) >= dbo.DateEndOfMonth( dbo.ConvertDMY2Date(1,M.[NUM],@varKSYear)))
ORDER BY
	M.NUM

---Вычеты от взносов в пенсионый фонд
INSERT INTO @varKSTotal ([REF_PAY],[MONTH_BEGIN],[MONTH_END],[SUMMA],[SUMMA_V],[SUMMA_D])
select 
	TA.LINK_DED, MONTH(cj.PERIOD_BEGIN), MONTH(cj.PERIOD_BEGIN), SUM(SUMMA),SUM(SUMMA), (SELECT MAX(A.SUMMA_D) FROM @varKSTotal A WHERE A.MONTH_BEGIN = MONTH(cj.PERIOD_BEGIN))
from 
	dbo.EMPL E inner join dbo.calculate_jurnal cj on e.link = cj.link_empl
	inner join dbo.TAX2_APP TA on TA.LINK_UP = CJ.LINK_PAYS
where 
	year(period_begin) = @varKSYear
	and
	E.LINK = @varKSlinkEmpl	
	and
	@Status in (1 /*Основной*/, 3 /*Внешний совместитель*/) and MONTH(cj.PERIOD_BEGIN) <= Month(@varKSDate) 
	and
	ISNULL(TA.LINK_DED,0) > 0
GROUP BY 
	TA.LINK_DED, MONTH(cj.PERIOD_BEGIN)


/*
Раздение на части сумм вычетов, на которые человек имеет право: фактически предоставленные и остаток непредоставленных вычетов
*/
declare @VychOpt1 int -- ограничивать месячный вычет месячным доходом
declare	@VychOpt2 int  -- месячный вычет давать с нарастающим итогом (компенсировать не предоставленный вычет, если в определенном месяце сотрудник не получал дохода)

if @NDFL_OPT5 > 1 begin
	Set @VychOpt1 = ISNULL((SELECT top 1 CONVERT(INT,VALUE) FROM S_OPTIONS WHERE OBJECT = (SELECT LINK FROM S_OBJECTS WHERE CODE = 'NDFL_OPT1')),0)
	Set @VychOpt2 = ISNULL((SELECT top 1 CONVERT(INT,VALUE) FROM S_OPTIONS WHERE OBJECT = (SELECT LINK FROM S_OBJECTS WHERE CODE = 'NDFL_OPT2')),0)
end
else
	Select @VychOpt1 = 0, @VychOpt2 = 0

IF @VychOpt1 = 1 --Если ограничивать месячный вычет месячным доходом
BEGIN

	DECLARE @Cur1 CURSOR, @MES tinyint, @REF_V int, @SUMMA_V numeric(18,2), @SUMMA_D numeric(18,2), @Ostatok_V numeric(18,2), @Ostatok numeric(18,2), @Ostatok_m numeric(18,2), @link int
	Declare @SumVPred numeric(18,2) --Сумма уже предоставленных вычетов в отчетном месяце
	SET @Cur1 = CURSOR FORWARD_ONLY

	FOR select link, MONTH_BEGIN, REF_PAY, SUMMA_V, SUMMA_D, Ostatok_V from @varKSTotal order by link
	
	OPEN @Cur1
	FETCH NEXT FROM @Cur1 INTO @link, @MES, @REF_V, @SUMMA_V, @SUMMA_D, @Ostatok_V
	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
			Set @Ostatok = ISNULL((Select Sum(Ostatok_V)  from @varKSTotal 
				where ((@VychOpt2 = 1 and MONTH_BEGIN <= @MES) -- ограниченный месячным доходом вычет давать с нарастающим итогом (компенсировать не предоставленный вычет)
					or (@VychOpt2 = 0 and MONTH_BEGIN = @MES)) -- ограниченный месячным доходом вычет давать без нарастающего итога
					and link < @link and REF_PAY = @REF_V) ,0)
				
			Set @Ostatok_m = ISNULL((Select Sum(Ostatok_V)  from @varKSTotal where Ostatok_V > 0 and MONTH_BEGIN = @MES and link < @link),0)
			Set @SUMMA_V = ISNULL((Select Sum(SUMMA_V)  from @varKSTotal where MONTH_BEGIN = @MES and link <= @link),0)
			Set @SumVPred = ISNULL((Select Sum(SUMMA_V)  from @varKSTotal where MONTH_BEGIN = @MES and link < @link),0)
	
			update @varKSTotal
			Set 	SUMMA_V = (case when ISNULL(@SUMMA_V,0) + @Ostatok > ISNULL(SUMMA_D,0) 
					then ISNULL(SUMMA_D,0) - @SumVPred
					else (case when @Ostatok_m = 0 then ISNULL(@SUMMA_V,0) + @Ostatok - @SumVPred else 0 end) 
				end),
				Ostatok_V = (case when ISNULL(@SUMMA_V,0) + @Ostatok > ISNULL(SUMMA_D,0)
							then ISNULL(@SUMMA_V,0) - ISNULL(SUMMA_D,0)
							else  - @Ostatok
						end)
			where link = @link

		END
	
		FETCH NEXT FROM @Cur1 INTO @link, @MES, @REF_V, @SUMMA_V, @SUMMA_D, @Ostatok_V
	END
	
	CLOSE @Cur1
	DEALLOCATE @Cur1

	IF @varKSfl=1 
	select [Вычет] = (select  rtrim(sname) + ' ' + LEFT(rtrim(name),100) from dbo.DICTIONARY_TYP_DEDUCTION where link = REF_PAY),
		month_begin as [Месяц начала], month_end as [Месяц окончания], summa as [Сумма вычета по НК], summa_v as [Сумма вычета факт], Ostatok_V as [Изменение остатка вычетов] from @varKSTotal order by month_begin,  REF_PAY
	
	update @varKSTotal 
	Set summa = summa_v
END
/**/

/* ^^^^^^ Имущественные вычеты - Начало расчета ^^^^^^^^*/

declare @VychOpt9 int -- имущественный вычет предоставлять с даты регистрации уведомсления
Set @VychOpt9 = ISNULL((SELECT top 1 CONVERT(INT,VALUE) FROM dbo.S_OPTIONS WHERE OBJECT = (SELECT LINK FROM S_OBJECTS WHERE CODE = 'NDFL_OPT9')),0)

declare @SprOtherDed table(LINK_DICTION int, MONTH1 TINYINT, Summa numeric(18,2))

insert into @SprOtherDed
Select LINK_DICTION, MONTH1, SUM(SUM_DED) 
from 
	EMPL E 
	inner join TAX_DEDUCTIONS TD on E.PERS_LINK = TD.LINK_PERSON AND E.DEP_LINK = TD.LINK_DEP
where 
	E.LINK = @varKSlinkEmpl 
	and [YEAR] = @varKSYear 
	AND @Status in (1 /*Основной*/, 3 /*Внешний совместитель*/) 
	and MONTH1 <= Month(@varKSDate) --DATE_REF <= dbo.DateEndOfMonth(@varKSDate)
	AND E.DEP_LINK = @DEP_LINK
Group by 
	LINK_DICTION, MONTH1

IF @varKSfl=1 
	select [Код]= rtrim(SNAME), [Имущественный вычет] = rtrim(name), [Сумма вычета] = ISNULL(OD.summa,0) from @SprOtherDed OD inner join dbo.DICTIONARY_TYP_DEDUCTION  D on D.link = OD.LINK_DICTION

declare @TMP Table ([REF_PAY] int, [MONTH_BEGIN] int, [MONTH_END] int, [SUMMA] numeric(18,2))
Insert into @TMP
Select [REF_PAY], M.NUM, M.NUM, SUM([SUMMA]) 
from dbo.Months M, @varKSTotal T1 
 where M.[NUM] between [MONTH_BEGIN] and [MONTH_END] and [REF_PAY] not in (select LINK_DICTION from @SprOtherDed) 
group by [REF_PAY], M.NUM

DECLARE @REF_PAY int, @MONTH_BEGIN int, @SUMMA numeric(18,2), @Saldo numeric(18,2), @STD_VYCH NUMERIC(18,2), @MONTH1 TINYINT

DECLARE @Cur CURSOR
SET @Cur = CURSOR FORWARD_ONLY
FOR 
	Select M.NUM, LINK_DICTION, [SUMMA], MONTH1 = (CASE WHEN @VychOpt9 = 1 THEN OD.MONTH1 ELSE 1 END) 
	from @SprOtherDed OD, dbo.Months M 
	WHERE M.NUM BETWEEN (CASE WHEN @VychOpt9 = 1 THEN OD.MONTH1 ELSE 1 END) AND @varKSMonth

OPEN @Cur
FETCH NEXT FROM @Cur INTO @MONTH_BEGIN, @REF_PAY, @SUMMA, @MONTH1
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN
		Set @Saldo = ISNULL(@SUMMA,0) - ISNULL((Select Sum(Summa) from @tmp T where T.REF_PAY = @REF_PAY),0)

		SET @STD_VYCH = ISNULL((SELECT SUM(SUMMA) FROM @varKSTotal WHERE [MONTH_BEGIN] < @MONTH1),0)

		INSERT INTO @TMP ([REF_PAY],[MONTH_BEGIN],[MONTH_END],[SUMMA])
		Select --
			@REF_PAY, @MONTH_BEGIN, @MONTH_BEGIN, 
			(Case When @Saldo > (ISNULL(DS.EMPL_SUMMA,0) - ISNULL(DS.DED0,0) 
								- (ISNULL(DS2.EMPL_SUMMA,0) - ISNULL(DS2.DED0,0) - @STD_VYCH)
								- ISNULL((Select SUM(summa) from @TMP where MONTH_BEGIN <=  @MONTH_BEGIN ),0))
				then (ISNULL(DS.EMPL_SUMMA,0) - ISNULL(DS.DED0,0) 
						- (ISNULL(DS2.EMPL_SUMMA,0) - ISNULL(DS2.DED0,0) - @STD_VYCH)
						- ISNULL((Select SUM(summa) from @TMP where MONTH_BEGIN <=  @MONTH_BEGIN ),0))
			else
				@Saldo
			end)
		from
			@varKSTotTab DS
			LEFT JOIN @varKSTotTab DS2 ON DS2.[Month] = @MONTH1-1 
		where
			DS.[Month] = @MONTH_BEGIN
			and
			(ISNULL(DS.EMPL_SUMMA,0) - ISNULL(DS.DED0,0)
				- (ISNULL(DS2.EMPL_SUMMA,0) - ISNULL(DS2.DED0,0) - @STD_VYCH) 
				- ISNULL((Select SUM(summa) from @TMP where MONTH_BEGIN <=  @MONTH_BEGIN ),0)) > 0
			and 
			@Saldo > 0

	END
	FETCH NEXT FROM @Cur INTO @MONTH_BEGIN, @REF_PAY, @SUMMA, @MONTH1
END

CLOSE @Cur
DEALLOCATE @Cur

INSERT INTO @varKSTotal ( [REF_PAY], [MONTH_BEGIN], [MONTH_END], [SUMMA])
Select * from @TMP where [REF_PAY] in (select LINK_DICTION from @SprOtherDed)

/* vvvvvv Имущественные вычеты - Конец расчета vvvvvvv */

IF @varKSfl=1 
select [Вычет] = (select  rtrim(sname) + ' ' + LEFT(rtrim(name),50) from dbo.DICTIONARY_TYP_DEDUCTION where link = REF_PAY),
	month_begin as [Месяц начала], month_end as [Месяц окончания], summa as [Сумма вычета]  from @varKSTotal T1  order by month_begin, REF_PAY


DECLARE @varKSTotal1 TABLE
([KOL]			[int],
 [REF_PAY] 		[int],
 [MONTH_BEGIN]		[int],
 [MONTH_END]		[int],		
 [SUMMA]		[numeric](19, 2))

INSERT INTO @varKSTotal1 ([KOL],[REF_PAY],[MONTH_BEGIN],[MONTH_END],[SUMMA])
SELECT COUNT(*) AS [KOL],REF_PAY,MONTH_BEGIN,MONTH_END,SUMMA
FROM @varKSTotal 
GROUP BY REF_PAY,MONTH_BEGIN,MONTH_END,SUMMA

DECLARE @varKSvych TABLE
([MONTH] 	[int],
 [REF_PAY] 	[int],
 [DEDUCT]	[numeric] (19, 2),
 [COMMENT]  [varchar] (254),
 [KOEF_VKR] [numeric] (18,10),
 [kol] [numeric] (18,2),
 [SPR_SUM]  NUMERIC(18,2)	
)

DECLARE @NDFL_OPT7 int
SET @NDFL_OPT7 = dbo.sa_get_option_by_code('NDFL_OPT7')

DECLARE @Koef table (Mon int, koef NUMERIC(18,10), doh tinyint, koef2 NUMERIC(18,10))
insert into @Koef (Mon, Koef, doh, koef2)
Select 	T2.[Month], 
	CASE WHEN @NDFL_OPT7 = 1 --Вычеты применять только к доходу по 211 ЭКР
	THEN 
		CASE WHEN @varKSLinkEKR = @Link211EKR 
		THEN --Начислять пропорционально КБК
			--CONVERT(NUMERIC(18,10), case when (t2.summa_m_211- t2.ded_m_all) <> 0 then ((v.summa_m_vkr-T2.ded_m)/(t2.summa_m_211- t2.ded_m_all)) else 0 end )
			CONVERT(NUMERIC(18,10), case when t2.summa_m_211 <> 0 then (v.summa_m_vkr/t2.summa_m_211) else 0 end )
		ELSE 
			0 
		END
	ELSE --Начислять пропорционально КБК и ЭКР
		--CONVERT(NUMERIC(18,10), case when (t2.summa_m- t2.ded_m_all) <> 0 then ((t2.summa_m_vkr-T2.ded_m)/(t2.summa_m- t2.ded_m_all)) else 0 end )
		CONVERT(NUMERIC(18,10), case when t2.summa_m <> 0 then (t2.summa_m_vkr/t2.summa_m) else 0 end )
	END,
	(Case when t2.summa_m <> 0 then 1 else 0 end),
	1--CONVERT(NUMERIC(18,10), case when t2.summa_m <> 0 then (t2.summa_m_vkr/t2.summa_m) else 0 end )	
from 
	@varKSTotTab T2 
	inner join @varKSVal V on T2.[month] = V.[month]

--СПРАВОЧНИК ВИДОВ ИМУЩЕСТВЕННЫХ ВЫЧЕТОВ
DECLARE @DICT_TAX_DEDUCTIONS TABLE (LINK INT)
INSERT INTO @DICT_TAX_DEDUCTIONS (LINK)
SELECT LINK FROM dbo.DICTIONARY_TYP_DEDUCTION WHERE NUMBER = 4

/*Расстановка коэффициентов на вычеты. Если нет дохода, то вычета по коэф. будующего месяца, в котором доход есть*/
INSERT INTO @varKSvych ([MONTH],[REF_PAY],[DEDUCT],[COMMENT],[KOEF_VKR],[KOL], [SPR_SUM])
SELECT [MONTH] = T1.MONTH_BEGIN, T1.REF_PAY,
	[DEDUCT] = 
				CONVERT(NUMERIC(18,10), T1.KOL*T1.SUMMA * 
				case when D.summa_m = 0 then ISNULL((Select top 1 K.Koef from @Koef K where K.Mon >= T1.MONTH_BEGIN and doh <> 0 order by Mon),0)
					else ISNULL((Select top 1 K.Koef from @Koef K where K.Mon = T1.MONTH_BEGIN and K.Koef <> 0 order by Mon),0) end)
	,[COMMENT] = 
				'('+RTRIM(LTRIM(STR(T1.KOL)))+'*'+RTRIM(LTRIM(CONVERT(VARCHAR(100),T1.SUMMA)))+ 
				'*'+ rtrim(ltrim(convert(varchar(100), CONVERT(NUMERIC(18,2), case when D.summa_m = 0 then ISNULL((Select top 1 K.Koef from @Koef K where K.Mon >= T1.MONTH_BEGIN and K.Koef <> 0 order by Mon),0)
					else ISNULL((Select top 1 K.Koef from @Koef K where K.Mon = T1.MONTH_BEGIN and doh <> 0 order by Mon),0) end)) )) +')'
	,[KOEF_VKR] =
				 CONVERT(NUMERIC(18,10), case when D.summa_m = 0 then ISNULL((Select top 1 K.Koef from @Koef K where K.Mon >= T1.MONTH_BEGIN and K.Koef <> 0 order by Mon),0)
					else ISNULL((Select top 1 K.Koef from @Koef K where K.Mon = T1.MONTH_BEGIN and doh <> 0 order by Mon),0) end )
	,T1.KOL,
	T1.KOL*T1.SUMMA
FROM @varKSTotal1 t1 left join @varKSTotTab D on T1.MONTH_BEGIN = D.[Month]--, @varKSTotTab T2 WHERE T2.[MONTH] BETWEEN T1.MONTH_BEGIN AND T1.MONTH_END 
WHERE
	NOT EXISTS (SELECT * FROM @DICT_TAX_DEDUCTIONS IM WHERE IM.LINK = T1.REF_PAY)
ORDER BY 1

---Имущественные вычеты
INSERT INTO @varKSvych ([MONTH],[REF_PAY],[DEDUCT],[COMMENT],[KOEF_VKR],[KOL], [SPR_SUM])
SELECT [MONTH] = T1.MONTH_BEGIN, T1.REF_PAY,
	[DEDUCT] = 
				D.SUMMA_M_VKR - (SELECT SUM(DEDUCT) FROM @varKSvych WHERE [MONTH] = T1.MONTH_BEGIN)
	,[COMMENT] = 
				'('+RTRIM(LTRIM(STR(T1.KOL)))+'*'+RTRIM(LTRIM(CONVERT(VARCHAR(100),T1.SUMMA)))+ 
				'*'+ rtrim(ltrim(convert(varchar(100), CONVERT(NUMERIC(18,2), (D.SUMMA_M_VKR - (SELECT SUM(DEDUCT) FROM @varKSvych WHERE [MONTH] = T1.MONTH_BEGIN)) / T1.SUMMA)) )) +')'
	,[KOEF_VKR] =
				 CONVERT(NUMERIC(18,10),  (D.SUMMA_M_VKR - (SELECT SUM(DEDUCT) FROM @varKSvych WHERE [MONTH] = T1.MONTH_BEGIN)) / T1.SUMMA)				
	,T1.KOL
	,T1.KOL*T1.SUMMA
FROM
	@DICT_TAX_DEDUCTIONS IM 
	INNER JOIN @varKSTotal1 t1 ON IM.LINK = T1.REF_PAY
	left join @varKSTotTab D on T1.MONTH_BEGIN = D.[Month]--, @varKSTotTab T2 WHERE T2.[MONTH] BETWEEN T1.MONTH_BEGIN AND T1.MONTH_END 
WHERE
	T1.SUMMA > 0	
ORDER BY 1

INSERT INTO dbo.SAL_DED_MONTH (LINK_EMPL,REF_DED,SUMMA,DATE_DED,LINK_VKR,LINK_EKR,TYPE, KOEF_VKR, KOL )
SELECT 	[LINK_EMPL] = @varKSlinkEmpl,
			[REF_DED] 	= T.REF_PAY,
			[SUMMA] 	= T.DEDUCT,
			[DATE_DED] 	= dbo.ConvertDMY2Date(1,t.[month],year(@varKSDate)),
			[LINK_VKR]	= @varKSLinkVKR,
			[LINK_EKR]	= @varKSLinkEKR,
			[TYPE] 		= 1, --convert(NUMERIC(3,0),B.VALUE)
			[KOEF_VKR],
			[KOL]
FROM @varKSvych T WHERE T.DEDUCT <> 0 

--========================================================================================
--Блок проверки и коррестировки ошибки, связанной с погрешностья округления разбитых по источникам вычетов
SELECT S.REF_DED, MONTH(DATE_DED) AS MN, V.SPR_SUM - SUM(SUMMA) AS SUMMA
INTO #CORRECT
FROM dbo.SAL_DED_MONTH S INNER JOIN @varKSvych V ON V.[MONTH] = MONTH(S.DATE_DED) AND S.REF_DED = V.REF_PAY
WHERE YEAR(DATE_DED) = year(@varKSDate) AND LINK_EMPL = @varKSlinkEmpl
GROUP BY S.REF_DED, MONTH(DATE_DED), V.SPR_SUM
HAVING ABS(V.SPR_SUM - SUM(SUMMA)) BETWEEN 0.01 AND 0.02

IF EXISTS(SELECT * FROM #CORRECT) BEGIN

	UPDATE V
	SET V.DEDUCT = ISNULL(V.DEDUCT,0) + ISNULL(C.SUMMA,0)
	FROM @varKSvych V INNER JOIN #CORRECT C ON V.[MONTH] = C.MN AND C.REF_DED = V.REF_PAY

	DELETE FROM dbo.SAL_DED_MONTH 
	WHERE YEAR(DATE_DED) = year(@varKSDate) AND LINK_EMPL = @varKSlinkEmpl AND [LINK_VKR] = @varKSLinkVKR AND [LINK_EKR] = @varKSLinkEKR
		AND REF_DED IN (SELECT REF_PAY FROM @varKSvych)

	INSERT INTO dbo.SAL_DED_MONTH (LINK_EMPL,REF_DED,SUMMA,DATE_DED,LINK_VKR,LINK_EKR,TYPE, KOEF_VKR, KOL )
	SELECT 	[LINK_EMPL] = @varKSlinkEmpl,
				[REF_DED] 	= T.REF_PAY,
				[SUMMA] 	= T.DEDUCT,
				[DATE_DED] 	= dbo.ConvertDMY2Date(1,t.[month],year(@varKSDate)),
				[LINK_VKR]	= @varKSLinkVKR,
				[LINK_EKR]	= @varKSLinkEKR,
				[TYPE] 		= 1, --convert(NUMERIC(3,0),B.VALUE)
				[KOEF_VKR],
				[KOL]
	FROM @varKSvych T WHERE T.DEDUCT <> 0 

END
-----------------------------------------------------------------------------------------

DECLARE @varKSTota TABLE
([MONTH] 		[int],
 [PERS_SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_VKR]	[numeric](19, 2),
 [DED_M_ALL] 	[numeric](19, 2),
 [DED]			[numeric](19, 2),
 [DED_M]			[numeric](19, 2),
 [VYCH]			[numeric](19, 2),
 [VYCH_M]		[numeric](19, 2),
 [DOHOD_ALL]	[numeric](19, 2),
 [VICHET_ALL]	[numeric](19, 2)
 ) 

INSERT INTO @varKSTota([MONTH], [PERS_SUMMA_VKR], [SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[DED_M_ALL],[DED],[DED_M],[VYCH],[VYCH_M],[DOHOD_ALL],[VICHET_ALL])
SELECT T1.[MONTH],T1. [SUMMA_VKR], T1.[EMPL_SUMMA_VKR],T1.[SUMMA_M],T1.[SUMMA_M_VKR],T1.[DED_M_ALL],T1.[DED],T1.[DED_M],
		[VYCH]	=ISNULL((SELECT SUM(V.DEDUCT) FROM @varKSvych v WHERE V.[MONTH]<= T1.[MONTH]),0),
		[VYCH_M] =ISNULL((SELECT SUM(V.DEDUCT) FROM @varKSvych v WHERE V.[MONTH] = T1.[MONTH]),0),
		[DOHOD_ALL] = T1.[EMPL_SUMMA],
		[VICHET_ALL] = ISNULL((SELECT SUM(V.SPR_SUM) FROM @varKSvych v WHERE V.[MONTH]<= T1.[MONTH]),0)
FROM @varKSTotTab T1

IF @varKSfl=1 
	select [month] as [Месяц],pers_summa_vkr as [Сумма ФЛ с нач года по ВКР], summa_vkr as [Сумма сотр с нач года по ВКР], summa_m as [Сумма сотр за месяц], 
	summa_m_vkr as [Сумма сотр за месяц по ВКР], ded_m_all as [Скидки всего], ded as [Скидки всего по ВКР], ded_m as [Скидки за месяц по ВКР], 
	vych as [Вычеты всего], vych_m  as [Вычеты за месяц] from @varKSTota

----
declare @varKSSumDed numeric(15,2), @varKSRange  numeric(15,2), @varKSResid int, @varKSStrCom varchar(1000)

SET @varKSSumDed = ISNULL(
	(SELECT sum(summa) 
	FROM
		dbo.PAYS P INNER JOIN dbo.CALCULATE_JURNAL SJ ON P.LINK = SJ.LINK_PAYS
	WHERE
		SJ.LINK_PAYS = @varKSRef_Pay
		AND YEAR(SJ.PERIOD_BEGIN) = @varKSYear
		AND MONTH(SJ.PERIOD_BEGIN) <=@varKSMonth 
		AND SJ.LINK_EMPL = @varKSlinkEmpl 
		AND SJ.LINK_VKR = @varKSLinkVKR
		AND SJ.LINK_DEP = @DEP_LINK 
		AND ISNULL(SJ.LINK_EKR,P.LINK_EKR) = @varKSLinkEKR)
	,0)	
	
SET @varKSSumDed = @varKSSumDed + ISNULL( (SELECT SUM(SR.NDFL) FROM dbo.SAL_REMAIN SR WHERE SR.LINK_EMPL = @varKSlinkEmpl AND SR.YEAR_SAL = @varKSYear AND SR.LINK_VKR = @varKSLinkVKR AND SR.LINK_EKR = @varKSLinkEKR), 0)

set @varKSRange =  dbo.SalaryGetNDFLRange (@varKSlinkEmpl,@varKSDate)
set @varKSResid = dbo.GetEmplResident(@varKSlinkEmpl)

IF @varKSfl=1 
	select [Удержано с нач года] = @varKSSumDed, [Ставка налога] = @varKSRange, [Статус] = (case when @varKSResid = 1  then 'Резидент' else 'Не резидент' end)


set @varKSStrCom = ''
DECLARE @varKSCurs CURSOR,
		  @varKSCurCOMMENT varchar(255)

SET @varKSCurs = CURSOR FORWARD_ONLY
FOR SELECT COMMENT FROM @varKSvych WHERE DEDUCT <> 0 and [month]=@varKSMonth
OPEN @varKSCurs
FETCH NEXT FROM @varKSCurs INTO @varKSCurCOMMENT
WHILE @@FETCH_STATUS = 0
BEGIN
	SET @varKSStrCom = @varKSStrCom + ' ' + isnull(@varKSCurCOMMENT,'0')+ ' +'
	FETCH NEXT FROM @varKSCurs INTO @varKSCurCOMMENT
END 
CLOSE @varKSCurs
DEALLOCATE @varKSCurs
IF LEN(@varKSStrCom) > 2
	SET @varKSStrCom = LEFT(@varKSStrCom,LEN(@varKSStrCom)-2) 


IF @varKSfl=1 
BEGIN	
	PRINT 'Расчет налога с общего дохода по КБК'
	
	SELECT T.*,
	[sum_ded]=  isnull(@varKSSumDed,0),
	[summa] = 	case when DOHOD_ALL > VICHET_ALL THEN
					convert(numeric(18,2),(summa_vkr -ded - (case when @varKSResid = 1 then vych else 0 end))*@varKSRange/100)
				ELSE
					0
				END,
	[comment] = @varKSStrCom
	FROM @varKSTota T
	WHERE [MONTH] = @varKSMonth
	
END

/*Вычеты, скидки и налог пропорционально доли больничных за счет ФСС/зарплате в общем доходе работника*/
IF @varKSfl<>1 
SELECT 
	[MONTH],
	PERS_SUMMA_VKR= convert(numeric(18,2), [PERS_SUMMA_VKR]),
	SUMMA_VKR= convert(numeric(18,2), [SUMMA_VKR]),
	SUMMA_M= convert(numeric(18,2), [SUMMA_M]),
	SUMMA_M_VKR= convert(numeric(18,2), [SUMMA_M_VKR]),
	DED_M_ALL= convert(numeric(18,2), [DED_M_ALL]),
	DED= convert(numeric(18,2),[DED]),
	DED_M= convert(numeric(18,2),[DED_M]),
	VYCH= convert(numeric(18,2), [VYCH]),
	VYCH_M= convert(numeric(18,2), [VYCH_M]),
	[sum_ded]=  convert(numeric(18,0), isnull(@varKSSumDed,0)), 
	[summa] = 	case when convert(numeric(18,0),(summa_vkr -ded - (case when @varKSResid = 1 then vych else 0 end))*@varKSRange/100) > 0
			then 
				case when DOHOD_ALL > VICHET_ALL THEN
					convert(numeric(18,0),(summa_vkr -ded - (case when @varKSResid = 1 then vych else 0 end))*@varKSRange/100)
				ELSE
					0
				END					
			else 
				CASE WHEN @NDFL_OPT8 = 0 
				THEN 
					0
				ELSE
					convert(numeric(18,0),(summa_vkr -ded - (case when @varKSResid = 1 then vych else 0 end))*@varKSRange/100)
				END
			end,
	[comment] = Case when len(rtrim(ltrim(@varKSStrCom))) > 0 then '{' + RTRIM(LTRIM(@varKSStrCom)) + '}' else '' end,
	[RANGE] = @varKSRange/100
FROM @varKSTota T
WHERE [MONTH] = @varKSMonth

GO


GRANT EXECUTE ON dbo.[SD_U_NDFL_FILL] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_KAU1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_KAU1]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.BK_REPORT_OSV_KAU1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@nPrintKBK	INT	/* Код счета с КБК */,
	@nPrintSGU	INT	/* Код счета с КОСГУ */,
	@nPrintDEP	INT	/* Отчет в разрезе организаций */,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal2 char(1), @nOtborLink2 int	/* Отбор КАУ */,
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT,
	@cVal_DOP_CL char(1), @nOtborLinkDOP_CL int,	-- Отбор Доп. кл-ции --
	@intPRN_DOP_CL int = 0	-- Отчет в разрезе доп. кл-ции
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	/* --- ОТБОР СУБСЧЕТОВ С КАУ --- */
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT LINK
		FROM dbo.S_ACCOUNTS 
		WHERE AP_KAU = 1
			AND LINK IN (SELECT LINK FROM dbo.AccountsTableWithNoChild())
	
	--- ОТБОР КАУ --- 
	DECLARE @KAU TABLE (LINK_KAU [INT], KAU_CODE  [VARCHAR] (20), KAU_NAME [VARCHAR] (254))
	IF LEN(@cVal2)>0 BEGIN
		INSERT INTO @KAU
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_KAU OVR, dbo.DICTIONARY_ANALYTICAL_CODES D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@nOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @KAU
			SELECT D.LINK, D.CODE, D.[NAME] FROM DICTIONARY_ANALYTICAL_CODES D
		INSERT INTO @KAU VALUES (0, '', 'Не указан')
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ПО ДОП. КЛ-ЦИИ --- 
	DECLARE @TAB_DOP_CL TABLE (LINK_DOP INT, DOP_CODE VARCHAR (20))
	
	IF @intPRN_DOP_CL = 1
		IF LEN (@cVal_DOP_CL) > 0
			INSERT INTO @TAB_DOP_CL
			SELECT AP.LINK,
				AP.CODE
			FROM dbo.DOP_CLASSIF AP 
			INNER JOIN dbo.OBJECT_VAR_DOP_CLASSIF OVR ON (OVR.RECORD = AP.LINK)
			WHERE OVR.LINK_UP = @nOtborLinkDOP_CL
		ELSE
			INSERT INTO @TAB_DOP_CL
			SELECT LINK_AP, AP_CODE
			FROM dbo.BK_GetTableDictionByAP ('AP2')
	ELSE
		INSERT INTO @TAB_DOP_CL (LINK_DOP, DOP_CODE)
		VALUES (0, '')

--SELECT * FROM @TAB_DOP_CL

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SET @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (@varKSDEP_LINK)

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	SET @nPrintKBK = ISNULL (@nPrintKBK, 0)
	SET @nPrintSGU = ISNULL (@nPrintSGU, 0)

	/* --- ОСВ --- */
	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], KAU [INT],
			KBK [INT], KOSGU [INT], DOP INT,
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2),
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.KAU,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE
			WHEN @intPRN_DOP_CL = 1 THEN ISNULL (T1.AP2, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	GROUP BY
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.KAU,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE
			WHEN @intPRN_DOP_CL = 1 THEN ISNULL (T1.AP2, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], KAU [INT],
			KBK [INT], KOSGU [INT], DOP INT, DOP_CODE VARCHAR (20),
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			KAU_CODE [VARCHAR] (20), KAU_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			IN_SUM_D [NUMERIC] (20,2), IN_SUM_K [NUMERIC] (20,2),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2),
			OUT_SUM_D [NUMERIC] (20,2), OUT_SUM_K [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.KAU,
		OSV.KBK,
		OSV.KOSGU,
		OSV.DOP,
		DOP.DOP_CODE,
		ISNULL (DEP.CODE, ''),
		ISNULL (DEP.[NAME], 'Не указан'),
		KAU.KAU_CODE,
		KAU.KAU_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @nPrintKBK, @nPrintSGU, @varKSdDate2),
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		OSV.D_SUMMA,
		OSV.K_SUMMA,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		@varKSORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @KAU KAU ON (KAU.LINK_KAU = OSV.KAU)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	INNER JOIN @TAB_DOP_CL DOP ON (DOP.LINK_DOP = OSV.DOP)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SELECT * FROM @RESULT ORDER BY DEP_CODE, KAU_CODE, ACCT_GR, ACCT_CODE, DOP_CODE
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_KAU1] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_SUBDIV1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_SUBDIV1]

GO


/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE [dbo].BK_REPORT_OSV_SUBDIV1
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@nPrintKBK	INT	/* Код счета с КБК */,
	@nPrintSGU	INT	/* Код счета с КОСГУ */,
	@nPrintDEP	INT	/* Отчет в разрезе организаций */,
	@intPrintNULL	INT	/* Включить с пустыми подразделения */,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal2 char(1), @nOtborLink2 int	/* Отбор подразделений */,
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254)

	/* --- ОТБОР СУБСЧЕТОВ --- */
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT

	/* --- ОТБОР ПОДРАЗДЕЛЕНИЙ --- */
	DECLARE @AP_TABLE TABLE (LINK_AP [INT], AP_CODE  [VARCHAR] (20), AP_NAME [VARCHAR] (254))
	IF LEN(@cVal2)>0 BEGIN
		INSERT INTO @AP_TABLE
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM dbo.OBJECT_VAR_SUBDIV_HEAD OVR, dbo.SUBDIVISION (@varKSdDate2) D
			WHERE D.LINK =OVR.RECORD AND OVR.LINK_UP=@nOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @AP_TABLE
			SELECT D.LINK, D.CODE, D.[NAME] FROM dbo.SUBDIVISION (@varKSdDate2) D 
		IF ISNULL (@intPrintNULL, 0) = 1
			INSERT INTO @AP_TABLE VALUES (0, '', 'Не указан')
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SET @varKSORGNAME = dbo.BK_GET_PRINT_DEP_NAME (@varKSDEP_LINK)

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'
		SET @varKSDEP_LINK = NULL
	END

	SET @nPrintKBK = ISNULL (@nPrintKBK, 0)
	SET @nPrintSGU = ISNULL (@nPrintSGU, 0)
	SET @nPrintDEP = ISNULL (@nPrintDEP, 0)

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], AP [INT],
			KBK [INT], KOSGU [INT],
			D_SUMMA [NUMERIC] (20,2), K_SUMMA [NUMERIC] (20,2),
			IN_SUMMA [NUMERIC] (20,2), OUT_SUMMA [NUMERIC] (20,2))

	INSERT INTO @TABLE1
	SELECT
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.SUB,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSDEP_LINK) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
	GROUP BY
		CASE
			WHEN @nPrintDEP = 1 THEN T1.DEP
			ELSE 0
		END,
		T1.ACCOUNT,
		T1.SUB,
		CASE 
			WHEN @nPrintKBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE 
			WHEN @nPrintSGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE  (DEP [INT], ACCOUNT [INT], AP [INT],
			KBK [INT], KOSGU [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			AP_CODE [VARCHAR] (20), AP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (30), ACCT_CODE [VARCHAR] (60),
			IN_SUM_D [NUMERIC] (20,2), IN_SUM_K [NUMERIC] (20,2),
			D_SUM [NUMERIC] (20,2),	K_SUM [NUMERIC] (20,2),
			OUT_SUM_D [NUMERIC] (20,2), OUT_SUM_K [NUMERIC] (20,2),
			ORGNAME [VARCHAR] (254))

	INSERT INTO @RESULT
	SELECT OSV.DEP,
		OSV.ACCOUNT,
		OSV.AP,
		OSV.KBK,
		OSV.KOSGU,
		ISNULL (DEP.CODE, ''),
		ISNULL (DEP.[NAME], 'Не указан'),
		AP.AP_CODE,
		AP.AP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @nPrintKBK, @nPrintSGU, @varKSdDate2),
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0	
		END,
		OSV.D_SUMMA,
		OSV.K_SUMMA,
		CASE 
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		CASE 
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0	
		END,
		@varKSORGNAME
	FROM @TABLE1 OSV
	INNER JOIN @AP_TABLE AP ON (AP.LINK_AP = OSV.AP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT DEP ON (DEP.LINK = OSV.DEP)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SELECT *
	FROM @RESULT
	ORDER BY DEP_CODE, RIGHT ('00000000000000000000' + AP_CODE, 20), 
		ACCT_GR, ACCT_CODE

END

GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_SUBDIV1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SAL_CHANGE_KBK]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SAL_CHANGE_KBK]

GO

CREATE    PROC [dbo].SAL_CHANGE_KBK
	@OLD_KBK_LINK	INT,
	@NEW_KBK_LINK	INT,
	@DATE		DATETIME,
	@OPT1		TINYINT = 0,
	@OPT1_1		TINYINT = 0,
	@OPT2		TINYINT = 0,
	@OPT3		TINYINT = 0,
	@OPT4		TINYINT = 0,
	@LINK_EMPL	INT = NULL,
	@OPT5		TINYINT = 0 --Замена у договорников
AS

IF COALESCE(is_member('db_owner'),0) = 0
BEGIN
	RAISERROR('Данная функция работает только для пользователя роли "DB_OWNER" !!!',11,1)
	RETURN 1
END


IF @LINK_EMPL IS NOT NULL
	SET @OPT5 = 0

---
IF @OLD_KBK_LINK IS NULL
OR @OLD_KBK_LINK = 0
OR @NEW_KBK_LINK IS NULL
OR @NEW_KBK_LINK = 0
OR @DATE IS NULL
	RETURN 1


declare @varKSparSFIN varchar(30),  @varKSparSFIN_OLD varchar(30) , @cStr VARCHAR (256)

SELECT 
	@varKSparSFIN_OLD = CODE,
	@varKSparSFIN = (SELECT B.CODE FROM dbo.SAL_SFIN B WHERE B.LINK = A.LINK_CH_SFIN)
FROM dbo.SAL_SFIN A WHERE A.LINK = @OLD_KBK_LINK AND A.LINK_CH_SFIN IS NOT NULL AND A.LINK_CH_SFIN <> @NEW_KBK_LINK

IF @varKSparSFIN IS NOT NULL
BEGIN

		SET @cStr = 'В спраочнике "Источники финансирования" для источника "'+LTRIM(RTRIM(@varKSparSFIN_OLD)) +'" указан новый источник "'+ltrim(rtrim(@varKSparSFIN))+'"!'
		RAISERROR(@cStr, 11, 1)
		RETURN 1
END	



declare @DEP_LINK int
exec dbo.xd_whats_zb @DEP_LINK output

DECLARE @LINK_EMPL1 INT
SET @LINK_EMPL1 = (CASE WHEN @LINK_EMPL IS NULL THEN -1 ELSE @LINK_EMPL END)

SET @OPT1 = COALESCE(@OPT1,0)
SET @OPT2 = COALESCE(@OPT2,0)
SET @OPT3 = COALESCE(@OPT3,0)
SET @OPT4 = COALESCE(@OPT4,0)
SET @OPT5 = COALESCE(@OPT5,0)

---Расширить период редактирования
SELECT * INTO #TMP_DATES FROM dbo.ADMIN_INFO

DECLARE @KASSA INT, @BB DATETIME, @BE DATETIME
SELECT @KASSA = LINK FROM DBO.S_OBJECTS WHERE CODE = 'KASSA'
SELECT @BB = CONVERT(DATETIME, '19000101', 112), @BE = CONVERT(DATETIME, '20990101', 112)
EXECUTE DBO.I_SET_ADMIN_DATE @KASSA, @BB, @BB, @BE

IF @OPT1 = 1 BEGIN

	IF @OPT1_1 = 1 BEGIN

		/*ПОСТОЯННЫЕ НАЧИСЛЕНИЯ*/
		INSERT INTO dbo.PAYS_EMPL (LINK_EMPL, LINK_SOVM, LINK_PAYS, DATE, SUMMA, LINK_MP, LINK_KBK, NO_CALC)
		SELECT 
			PE.LINK_EMPL, PE.LINK_SOVM, PE.LINK_PAYS, [DATE] = @DATE, PE.SUMMA, PE.LINK_MP, LINK_KBK = @NEW_KBK_LINK, PE.NO_CALC
		FROM dbo.sa_dict_pays_empl0(@LINK_EMPL1,DEFAULT,DEFAULT) PE INNER JOIN dbo.EMPL E ON E.LINK = PE.LINK_EMPL
		WHERE
			E.DEP_LINK = @DEP_LINK
			AND PE.LINK_KBK = @OLD_KBK_LINK
			AND @DATE BETWEEN PE.DATE_BEG AND ISNULL(PE.DATE_END,@DATE)
			AND @DATE > PE.[DATE_BEG]
			AND PE.SUMMA > 0
			AND NOT EXISTS (SELECT * FROM dbo.PAYS_EMPL PE2 WHERE PE.LINK_EMPL = PE2.LINK_EMPL 
								AND ISNULL(PE.LINK_SOVM,0) = ISNULL(PE2.LINK_SOVM,0)
								AND PE.[LINK_PAYS] = PE2.[LINK_PAYS]						
								AND @DATE = PE2.[DATE]
								)
		ORDER BY
				PE.LINK_EMPL, PE.LINK_SOVM					

		UPDATE PE
			SET PE.LINK_KBK = @NEW_KBK_LINK
		FROM dbo.PAYS_EMPL PE INNER JOIN dbo.EMPL E ON E.LINK = PE.LINK_EMPL
		WHERE	
			E.DEP_LINK = @DEP_LINK
			AND PE.LINK_KBK = @OLD_KBK_LINK
			AND PE.[DATE] >= @DATE
			AND PE.SUMMA > 0
			AND	(@LINK_EMPL IS NULL OR @LINK_EMPL = E.LINK)	
		
		----Часы нагрузки
		if object_id('tempdb..#STO_WEEK_HOURS') is not null
			DROP TABLE #STO_WEEK_HOURS

		SELECT 
			PE.link, PE.link_up, PE.link_tar_empl, PE.link_pay, PE.link_paral, PE.link_clas, PE.link_les, PE.week_hours, PE.[percent], PE.t, 
			DATE1 = @DATE, PE.DATE2, LINK_KBK = @NEW_KBK_LINK, PE.link_empl, PE.NO_CALC, PE.M_STAVKA	
		INTO #STO_WEEK_HOURS	
		FROM dbo.EMPL E INNER JOIN dbo.STO_WEEK_HOURS PE ON PE.LINK_EMPL = E.LINK
		WHERE	
			LINK_KBK = @OLD_KBK_LINK
			AND @DATE BETWEEN PE.DATE1 AND ISNULL(PE.DATE2,@DATE)
			AND @DATE > PE.DATE1
			AND E.dep_link = @DEP_LINK
			AND	(@LINK_EMPL IS NULL OR @LINK_EMPL = E.LINK)	
		---
		INSERT INTO dbo.STO_WEEK_HOURS (link_up, link_tar_empl, link_pay, link_paral, link_clas, link_les, week_hours,[percent], t, DATE1, DATE2, LINK_KBK, link_empl, NO_CALC, M_STAVKA)
		SELECT link_up, link_tar_empl, link_pay, link_paral, link_clas, link_les, week_hours,[percent], t, DATE1, DATE2, LINK_KBK, link_empl, NO_CALC, M_STAVKA
		FROM
			#STO_WEEK_HOURS PE
		WHERE
			(@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)	
			AND
			NOT EXISTS (SELECT * FROM dbo.STO_WEEK_HOURS PE2 WHERE PE.LINK_EMPL = PE2.LINK_EMPL 
								AND ISNULL(PE.link_tar_empl,0) = ISNULL(PE2.link_tar_empl,0)
								AND PE.[link_pay] = PE2.[link_pay]						
								AND @DATE = PE2.[DATE1] )				
		---
		UPDATE PE
		SET PE.DATE2 = DATEADD(DAY,-1,@DATE)
		FROM dbo.STO_WEEK_HOURS PE INNER JOIN #STO_WEEK_HOURS PE2 ON PE.LINK = PE2.LINK
		WHERE (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)

		-----
		UPDATE PE
			SET PE.LINK_KBK = @NEW_KBK_LINK
		FROM dbo.EMPL E INNER JOIN dbo.STO_WEEK_HOURS PE ON PE.LINK_EMPL = E.LINK
		WHERE	
			LINK_KBK = @OLD_KBK_LINK
			AND PE.DATE1 >= @DATE
			AND E.dep_link = @DEP_LINK
			AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)

		----Надбавки по тарификации
		if object_id('tempdb..#STO_ADD_PAYMENT') is not null
			DROP TABLE #STO_ADD_PAYMENT

		SELECT 
			PE.LINK, PE.link_tar_empl, PE.link_pay, date_begin = @DATE, PE.date_end, PE.[percent], PE.comment, PE.ets_only, PE.mode, 
			PE.summa, LINK_KBK = @NEW_KBK_LINK, PE.link_expir, PE.link_empl, PE.NO_CALC
		INTO #STO_ADD_PAYMENT	
		FROM dbo.EMPL E INNER JOIN dbo.STO_ADD_PAYMENT PE ON PE.LINK_EMPL = E.LINK
		WHERE	
			LINK_KBK = @OLD_KBK_LINK
			AND @DATE BETWEEN PE.DATE_BEGIN AND ISNULL(PE.DATE_END,@DATE)
			AND @DATE > PE.DATE_BEGIN
			AND E.dep_link = @DEP_LINK
			AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)
		---
		INSERT INTO dbo.STO_ADD_PAYMENT (link_tar_empl, link_pay, date_begin, date_end, [percent], comment, ets_only, mode, 
			summa, LINK_KBK, link_expir, link_empl, NO_CALC)
		SELECT link_tar_empl, link_pay, date_begin, date_end, [percent], comment, ets_only, mode, 
			summa, LINK_KBK, link_expir, link_empl, NO_CALC
		FROM
			#STO_ADD_PAYMENT PE
		WHERE
			(@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)
			AND
			NOT EXISTS (SELECT * FROM dbo.STO_ADD_PAYMENT PE2 WHERE PE.LINK_EMPL = PE2.LINK_EMPL 
								AND ISNULL(PE.link_tar_empl,0) = ISNULL(PE2.link_tar_empl,0)
								AND PE.[link_pay] = PE2.[link_pay]						
								AND @DATE = PE2.[DATE_BEGIN]
								)				
		---
		UPDATE PE
		SET PE.DATE_END = DATEADD(DAY,-1,@DATE)
		FROM dbo.STO_ADD_PAYMENT PE INNER JOIN #STO_ADD_PAYMENT PE2 ON PE.LINK = PE2.LINK
		WHERE (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)

		-----
		UPDATE PE
			SET PE.LINK_KBK = @NEW_KBK_LINK
		FROM dbo.EMPL E INNER JOIN dbo.STO_ADD_PAYMENT PE ON PE.LINK_EMPL = E.LINK
		WHERE	
			LINK_KBK = @OLD_KBK_LINK
			AND PE.DATE_BEGIN >= @DATE
			AND E.dep_link = @DEP_LINK			
			AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)

	END
	ELSE
		BEGIN

			/*ПОСТОЯННЫЕ НАЧИСЛЕНИЯ*/
			UPDATE PE
				SET PE.LINK_KBK = @NEW_KBK_LINK
			FROM dbo.PAYS_EMPL PE INNER JOIN dbo.EMPL E ON E.LINK = PE.LINK_EMPL
				INNER JOIN dbo.sa_dict_pays_empl0(@LINK_EMPL1,DEFAULT,DEFAULT) T ON T.LINK = PE.LINK
			WHERE	
				E.DEP_LINK = @DEP_LINK
				AND PE.LINK_KBK = @OLD_KBK_LINK
				AND (
					@DATE BETWEEN T.DATE_BEG AND ISNULL(T.DATE_END,@DATE)
					OR PE.[DATE] >= @DATE
					)
				AND PE.SUMMA > 0
				AND	(@LINK_EMPL IS NULL OR @LINK_EMPL = E.LINK)	
			
			/*ЧАСЫ НАГРУЗКИ*/
			UPDATE PE
				SET PE.LINK_KBK = @NEW_KBK_LINK
			FROM dbo.EMPL E INNER JOIN dbo.STO_WEEK_HOURS PE ON PE.LINK_EMPL = E.LINK
			WHERE	
				LINK_KBK = @OLD_KBK_LINK
				AND (
					@DATE BETWEEN PE.DATE1 AND ISNULL(PE.DATE2,@DATE)
					OR PE.DATE1 >= @DATE
					)
				AND E.dep_link = @DEP_LINK
				AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)
			
			/*НАДБАВКИ ПО ТАРИФИКАЦИИ*/
			UPDATE PE
				SET PE.LINK_KBK = @NEW_KBK_LINK
			FROM dbo.EMPL E INNER JOIN dbo.STO_ADD_PAYMENT PE ON PE.LINK_EMPL = E.LINK
			WHERE	
				LINK_KBK = @OLD_KBK_LINK
				AND (
					@DATE BETWEEN PE.DATE_BEGIN AND ISNULL(PE.DATE_END,@DATE)
					OR PE.DATE_BEGIN >= @DATE
					)
				AND E.dep_link = @DEP_LINK			
				AND (@LINK_EMPL IS NULL OR @LINK_EMPL = PE.LINK_EMPL)
		
		END

	/*НАДБАВКИ ЗА ПРЕДМЕТ*/
	UPDATE	dbo.STO_LESSON_PAYS
	SET	LINK_KBK = @NEW_KBK_LINK
	WHERE	
		ISNULL(LINK_KBK,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE >= [date_begin]
		AND dep_link = @DEP_LINK
		AND @LINK_EMPL IS NULL
		
	/* ПОСТОЯННЫЕ УДЕРЖАНИЯ */
	UPDATE dbo.EMPL_TAX
	SET	LINK_VKR = @NEW_KBK_LINK
	FROM dbo.EMPL E INNER JOIN dbo.EMPL_TAX ET ON ET.LINK_EMPL = E.LINK
	WHERE ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND (
			@DATE BETWEEN ET.DATE1 AND ISNULL(ET.DATE2,@DATE)
			OR ISNULL(DATE1,@DATE) >= @DATE
			)
		AND E.DEP_LINK = @DEP_LINK
		AND (@LINK_EMPL IS NULL OR @LINK_EMPL = ET.LINK_EMPL)		
	
	/* ШТАТНОЕ РАСПИСАНИЕ */
	SELECT 
		--T.LINK_UP, T.SUBDIV_LINK, T.POST_LINK, T.OKLAD, T.NUM_STAKE,
		--T.DEY_LINK, T.KAT_LINK, T.GOSSL, T.FIN, T.FIN_FOND, T.KAT_GOS_LINK, 
		--DATE_BEGIN = @DATE, T.DATE_END, T.GR_GOS_LINK, T.ETS_RAZR, LINK_KBK = @NEW_KBK_LINK

		T.LINK_UP, 
		T.SUBDIV_LINK, 
		T.POST_LINK, 
		T.OKLAD, 
		T.NUM_STAKE, 
		T.DEY_LINK, 
		T.KAT_LINK, 
		T.GOSSL, 
		T.FIN, 
		T.FIN_FOND, 
		T.KAT_GOS_LINK, 
		DATE_BEGIN = @DATE,
		T.DATE_END, 
		T.GR_GOS_LINK, 
		T.ETS_RAZR, 
		LINK_KBK = @NEW_KBK_LINK,
		T.ETS_RAZR2, 
		T.TERR_USL_TRUD, 
		T.TERR_RK, 
		T.OSOB_USL_TRUD, 
		T.COD_POS_SPISOK, 
		T.USL_DOSROCH_PENS, 
		T.STAVKA_PED_MED, 
		T.COD_POS_SPISOK2, 
		T.COD_PROF, 
		T.OSNOVANIE, 
		T.CAT_NZP_LINK, 
		T.SPHERE_LINK, 
		T.COD_SPO_USL_TRUD
		
	INTO	#TMP
	FROM	dbo.STAFF_HEAD H INNER JOIN STAFF T ON H.LINK = T.LINK_UP
	WHERE	@DATE BETWEEN T.DATE_BEGIN AND T.DATE_END
		AND H.DEP_LINK = @DEP_LINK
		AND ISNULL(T.LINK_KBK,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE > T.DATE_BEGIN
		AND (@LINK_EMPL IS NULL OR @LINK_EMPL IS NOT NULL AND EXISTS (SELECT * FROM dbo.ITEM_MOVE IM WHERE IM.EMPL_LINK = @LINK_EMPL AND IM.STAFF_LINK = H.LINK))
		
	---
	ALTER TABLE dbo.STAFF DISABLE TRIGGER ALL

		UPDATE	dbo.STAFF
		SET	DATE_END = DATEADD(DAY,-1,@DATE)
		FROM	dbo.STAFF_HEAD H INNER JOIN dbo.STAFF T ON H.LINK = T.LINK_UP
		WHERE	@DATE BETWEEN T.DATE_BEGIN AND T.DATE_END 
			AND H.DEP_LINK = @DEP_LINK
			AND @DATE > T.DATE_BEGIN
			AND ISNULL(T.LINK_KBK,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND (@LINK_EMPL IS NULL OR @LINK_EMPL IS NOT NULL AND EXISTS (SELECT * FROM dbo.ITEM_MOVE IM WHERE IM.EMPL_LINK = @LINK_EMPL AND IM.STAFF_LINK = H.LINK))

	ALTER TABLE [dbo].[STAFF] ENABLE  TRIGGER ALL

	---

	ALTER TABLE dbo.STAFF DISABLE TRIGGER ALL

		INSERT INTO dbo.STAFF
		(
			LINK_UP, SUBDIV_LINK, POST_LINK, OKLAD, NUM_STAKE, 
			DEY_LINK, KAT_LINK, GOSSL, FIN, FIN_FOND, KAT_GOS_LINK, 
			DATE_BEGIN, DATE_END, GR_GOS_LINK, ETS_RAZR, LINK_KBK,
			ETS_RAZR2, TERR_USL_TRUD, TERR_RK, OSOB_USL_TRUD, 
			COD_POS_SPISOK, USL_DOSROCH_PENS, STAVKA_PED_MED, 
			COD_POS_SPISOK2, COD_PROF, OSNOVANIE, 
			CAT_NZP_LINK, SPHERE_LINK, COD_SPO_USL_TRUD
		)
		SELECT 
			LINK_UP, SUBDIV_LINK, POST_LINK, OKLAD, NUM_STAKE, 
			DEY_LINK, KAT_LINK, GOSSL, FIN, FIN_FOND, KAT_GOS_LINK, 
			DATE_BEGIN, DATE_END, GR_GOS_LINK, ETS_RAZR, LINK_KBK,
			ETS_RAZR2, TERR_USL_TRUD, TERR_RK, OSOB_USL_TRUD, 
			COD_POS_SPISOK, USL_DOSROCH_PENS, STAVKA_PED_MED, 
			COD_POS_SPISOK2, COD_PROF, OSNOVANIE, 
			CAT_NZP_LINK, SPHERE_LINK, COD_SPO_USL_TRUD
		from #TMP

	ALTER TABLE [dbo].[STAFF] ENABLE  TRIGGER ALL
	
	---
	ALTER TABLE dbo.STAFF DISABLE TRIGGER ALL

		UPDATE	dbo.STAFF
		SET	LINK_KBK = @NEW_KBK_LINK
		FROM	dbo.STAFF_HEAD H INNER JOIN dbo.STAFF T ON H.LINK = T.LINK_UP
		WHERE	H.DEP_LINK = @DEP_LINK
			AND T.DATE_BEGIN = @DATE
			AND ISNULL(T.LINK_KBK,@OLD_KBK_LINK) = @OLD_KBK_LINK
			AND (@LINK_EMPL IS NULL OR @LINK_EMPL IS NOT NULL AND EXISTS (SELECT * FROM dbo.ITEM_MOVE IM WHERE IM.EMPL_LINK = @LINK_EMPL AND IM.STAFF_LINK = H.LINK))

	ALTER TABLE [dbo].[STAFF] ENABLE  TRIGGER ALL

	--- Замена в расчетах отчислений ЕСН
	ALTER TABLE dbo.SDOC_ESN_TABLE DISABLE TRIGGER ALL

	UPDATE GT
	SET	
		GT.LINK_VKR = @NEW_KBK_LINK
	FROM 
		dbo.SDOC S 
		INNER JOIN dbo.SDOC_ESN SD on S.LINK = SD.LINK_UP
		INNER JOIN dbo.SDOC_ESN_TABLE GT on S.LINK = GT.LINK_UP
	WHERE
		@DATE <= S.DATE_CALC
		AND
		S.LINK_DEP = @DEP_LINK
		AND
		ISNULL(GT.LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND 
		(@LINK_EMPL IS NULL OR @LINK_EMPL = GT.LINK_EMPL)

	ALTER TABLE [dbo].SDOC_ESN_TABLE ENABLE  TRIGGER ALL

END

 --Замена в журнале операций
IF @OPT2 = 1 BEGIN

	ALTER TABLE [dbo].[CALCULATE_JURNAL]
		DISABLE TRIGGER ALL
	
	UPDATE dbo.CALCULATE_JURNAL 
	SET LINK_VKR = @NEW_KBK_LINK 
	WHERE ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE <= PERIOD_BEGIN -- Сформированные после смены КБК
		AND LINK_DEP = @DEP_LINK
		AND (@LINK_EMPL IS NULL OR LINK_EMPL = @LINK_EMPL)

	ALTER TABLE [dbo].[CALCULATE_JURNAL]
		ENABLE  TRIGGER ALL


	--Замена в предоставленных вычетах
	ALTER TABLE [dbo].[SAL_DED_MONTH]
		DISABLE TRIGGER ALL
	
	UPDATE dbo.SAL_DED_MONTH 
	SET LINK_VKR = @NEW_KBK_LINK 
	FROM SAL_DED_MONTH CJ INNER JOIN dbo.EMPL E ON CJ.LINK_EMPL = E.LINK
	WHERE ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE <= DATE_DED -- Сформированные после смены КБК
		AND E.DEP_LINK = @DEP_LINK
		AND (@LINK_EMPL IS NULL OR CJ.LINK_EMPL = @LINK_EMPL)
	
	ALTER TABLE [dbo].[SAL_DED_MONTH]
		ENABLE  TRIGGER ALL

END

 --Замена в остатках
IF @OPT3 = 1 BEGIN

	ALTER TABLE [dbo].[SAL_REMAIN]
		DISABLE TRIGGER ALL
	
	UPDATE dbo.SAL_REMAIN 
	SET LINK_VKR = @NEW_KBK_LINK 
	FROM dbo.SAL_REMAIN R INNER JOIN dbo.EMPL E ON R.LINK_EMPL = E.LINK
	WHERE ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND year(@DATE) <= YEAR_SAL
		AND E.DEP_LINK = @DEP_LINK
		AND (@LINK_EMPL IS NULL OR R.LINK_EMPL = @LINK_EMPL)
	
	ALTER TABLE [dbo].[SAL_REMAIN]
		ENABLE  TRIGGER ALL
END

IF @OPT4 = 1 BEGIN
	--Замена в исполнительных листах
	ALTER TABLE dbo.SDOC_WRIT DISABLE TRIGGER ALL
	
		UPDATE dbo.SDOC_WRIT
		SET	LINK_VKR = @NEW_KBK_LINK
		FROM dbo.SDOC S INNER JOIN dbo.SDOC_WRIT SD ON S.LINK = SD.LINK_UP 
		WHERE ISNULL(LINK_VKR,0) = @OLD_KBK_LINK
			AND (@DATE <= DATE1 OR @DATE BETWEEN DATE1 AND DATE2)
			AND S.LINK_DEP = @DEP_LINK
			AND (@LINK_EMPL IS NULL OR SD.LINK_EMPL = @LINK_EMPL)
	
	ALTER TABLE [dbo].[SDOC_WRIT] ENABLE  TRIGGER ALL
END

IF @OPT5 = 1 BEGIN

	--Замена в договорах
	CREATE TABLE #REESTR_DGH (NEW_LINK int NOT NULL, OLD_LINK int NOT NULL)

	INSERT INTO dbo.REESTR_DGH 
		(NUMBER, [DATE], DATE1, DATE2, [TYPE], PAYMENT, SUMMA, COMMENT, VZNOS, LINK_PAYS, FLAG_NALOG, DEP_LINK, PERS_LINK, FLAG_ESN, FLAG_TRAVMA, LINK_KBK, AVANCE)
	OUTPUT inserted.LINK, inserted.SUMMA INTO #REESTR_DGH (NEW_LINK, OLD_LINK) --временно вместо суммы копирую страрый линк для истории, сумму потом верну из старой записи
	SELECT
		NUMBER, [DATE], @DATE, DATE2, [TYPE], PAYMENT, LINK, COMMENT, VZNOS, LINK_PAYS, FLAG_NALOG, DEP_LINK, PERS_LINK, FLAG_ESN, FLAG_TRAVMA, @NEW_KBK_LINK, AVANCE
	FROM 
		dbo.REESTR_DGH R
	WHERE
		R.DEP_LINK = @DEP_LINK
		AND
		R.LINK_KBK = @OLD_KBK_LINK
		AND
		@DATE <= ISNULL(DATE2,@DATE)
		AND
		@DATE > ISNULL(DATE1,@DATE)
	
	--	
	UPDATE dbo.REESTR_DGH SET LINK_KBK = @NEW_KBK_LINK WHERE LINK_KBK = @OLD_KBK_LINK AND @DATE <= ISNULL(DATE1,@DATE)		

	UPDATE B SET B.DATE2 = @DATE - 1
	FROM #REESTR_DGH A INNER JOIN dbo.REESTR_DGH B ON B.LINK = A.OLD_LINK

	--в новых копиях возвращаю на место сумму из копий
	UPDATE C
		SET C.SUMMA = B.SUMMA 
	FROM
		#REESTR_DGH A 
		INNER JOIN dbo.REESTR_DGH B ON B.LINK = A.OLD_LINK		
		INNER JOIN dbo.REESTR_DGH C ON C.LINK = A.NEW_LINK

	--Копирую хвост с вычетами
	INSERT INTO dbo.EMPL_DED (DED_LINK, DATE1, DATE2, LINK_DGH)
	SELECT 
		DED_LINK, DATE1, DATE2, A.NEW_LINK
	FROM 
		#REESTR_DGH A INNER JOIN dbo.EMPL_DED B ON B.LINK_DGH = A.OLD_LINK

	--в постоянных удержаниях тоже замена КБК
	--новые строки со старыми линками
	SELECT 
		B.LINK, LINK_TAX, @DATE AS DATE1, DATE2, SUMMA, @NEW_KBK_LINK AS LINK_VKR, B.LINK_DGH
	INTO
		#TMP_EMPL_TAX	
	FROM 
		#REESTR_DGH A INNER JOIN dbo.EMPL_TAX B ON B.LINK_DGH = A.OLD_LINK
	WHERE
		B.LINK_VKR = @OLD_KBK_LINK
		AND
		@DATE <= ISNULL(DATE2,@DATE)
		AND
		@DATE > ISNULL(DATE1,@DATE)
		
	---	
	UPDATE B SET B.LINK_VKR = @NEW_KBK_LINK
	FROM dbo.EMPL_TAX B
	WHERE B.LINK_VKR = @OLD_KBK_LINK AND @DATE <= ISNULL(B.DATE1,@DATE)	
	
	--вставляю новые строки
	INSERT INTO dbo.EMPL_TAX (LINK_TAX, DATE1, DATE2, SUMMA, LINK_VKR, LINK_DGH)
	SELECT LINK_TAX, DATE1, DATE2, SUMMA, LINK_VKR, LINK_DGH FROM #TMP_EMPL_TAX

	--в тех строках, с которых сделал копию закрываю дату
	UPDATE B SET DATE2 = @DATE - 1
	FROM #TMP_EMPL_TAX A INNER JOIN dbo.EMPL_TAX B ON B.LINK = A.LINK

	--Копирую хвост с постоянными удержаниями
	INSERT INTO dbo.EMPL_TAX (LINK_TAX, DATE1, DATE2, SUMMA, LINK_VKR, LINK_DGH)
	SELECT 
		LINK_TAX, DATE1, DATE2, SUMMA, LINK_VKR, A.NEW_LINK
	FROM 
		#REESTR_DGH A INNER JOIN dbo.EMPL_TAX B ON B.LINK_DGH = A.OLD_LINK

	--Замена в журнале операций по договорникам

	ALTER TABLE [dbo].[CALCULATE_JURNAL]
		DISABLE TRIGGER ALL
	
	UPDATE dbo.CALCULATE_JURNAL SET LINK_VKR = @NEW_KBK_LINK 
	WHERE 
		ISNULL(LINK_VKR,@OLD_KBK_LINK) = @OLD_KBK_LINK
		AND @DATE <= PERIOD_BEGIN -- Сформированные после смены КБК
		AND LINK_DEP = @DEP_LINK
		AND PERS_LINK IS NOT NULL

	ALTER TABLE [dbo].[CALCULATE_JURNAL]
		ENABLE  TRIGGER ALL		

END

--
UPDATE dbo.SAL_SFIN SET LINK_CH_SFIN = @NEW_KBK_LINK, DATE_CHANGE = @DATE, USED = 0 WHERE LINK = @OLD_KBK_LINK 

--ВЕРНУТЬ ПРЕЖНИЙ ПЕРИОД РЕДАКТИРОВАНИЯ

SELECT @BB = BEGINDATE, @BE = ENDDATE FROM #TMP_DATES
EXECUTE DBO.I_SET_ADMIN_DATE @KASSA, @BB, @BB, @BE


RETURN 0





GO


GRANT EXECUTE ON dbo.[SAL_CHANGE_KBK] TO PUBLIC

GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZV4_PACHKA_CALC_Buffer_2015_6]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZV4_PACHKA_CALC_Buffer_2015_6]

GO

CREATE   PROCEDURE [dbo].SA_SZV4_PACHKA_CALC_Buffer_2015_6 (@BufferCode varchar(10), @link int, @Year int, @Month tinyint) 
AS
/*
Список изменений по отношению к SA_SZV4_PACHKA_CALC_Buffer4
1. строку с кодом «АДМИНИСТР» исключить
ПОСТАНОВЛЕНИЕ 04 июня 2015 г № 194 п О внесении изменений в постановление Правления Пенсионного фонда Российской Федерации  от 16 января 2014 года  № 2п
п.п б) п. 2.10.5. В разделе «Исчисление страхового стажа: дополнительные сведения» ПРАВЛЕНИЕ ПЕНСИОННОГО ФОНДА РОССИЙСКОЙ ФЕДЕРАЦИИ 
*/
DECLARE @SQL VARCHAR(1000)

SET @SQL = '
delete from dbo.Buffer
where RTRIM(LTRIM(ID)) = RTRIM(LTRIM( ''' + @BufferCode + ''' ))
	and link IN (select S.link_pers from dbo.SZV4_SVEDENIA S where S.link_up = ' + CONVERT(VARCHAR(20),@LINK) + ')'
--EXEC (@SQL)	--!!


CREATE TABLE #PERSON (LINK INT)	

SET @SQL = '
INSERT INTO #PERSON (LINK)
SELECT DISTINCT LINK FROM dbo.Buffer WHERE RTRIM(LTRIM(ID)) = RTRIM(LTRIM(''' + @BufferCode + '''))'
EXEC (@SQL)	

declare @DEP_LINK int
exec dbo.xd_whats_zb @DEP_LINK output

DECLARE @PER TINYINT, @MONTH_END TINYINT, @MONTH_BEG TINYINT, @VID_KOR TINYINT 

SELECT @VID_KOR = VID_KOR
FROM dbo.SZV4_PACHKA WHERE LINK = @link

IF @VID_KOR = 2
begin  
	SELECT @Year = @Year, @PER = PER_EDT, @MONTH_END = @Month
	FROM dbo.SZV4_PACHKA WHERE LINK = @link
end 
else 
begin
	SELECT @Year = YEAR_BEGIN, @PER = PER, @MONTH_END = MONTH_END
	FROM dbo.SZV4_PACHKA WHERE LINK = @link
end 
DECLARE @PeriodBegin datetime, @PeriodEnd datetime

SET @MONTH_BEG = (CASE @PER WHEN 1 THEN 1 WHEN 2 THEN 4 WHEN 3 THEN 7 WHEN 4 THEN 10 END)
SET @MONTH_END = (CASE WHEN @MONTH_END < (@MONTH_BEG+3-1) THEN @MONTH_END ELSE (@MONTH_BEG+3-1) END)

SELECT @PeriodBegin = dbo.ConvertDMY2Date(1,@MONTH_BEG,@Year), @PeriodEnd = dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH_END,@Year))

--ВЫДЕЛЕНИЕ КАТЕГОРИЙ ФИЗ.ЛИЦ
--ИНВАЛИДЫ
DECLARE @LINK_OZOI INT
SET @LINK_OZOI = ISNULL((SELECT TOP 1 LINK FROM dbo.SA_PFR_KATEG WHERE LINK2 = 3 AND @Year BETWEEN YBEG AND YEND),1)

------	у кого была инвалидность в заданном периоде
CREATE TABLE #PERS_INV (PERS_LINK INT, DATE_BEGIN DATETIME, DATE_END DATETIME)

INSERT INTO #PERS_INV (PERS_LINK, DATE_BEGIN, DATE_END) 
SELECT PERS_LINK, DATE_BEGIN = MIN(ISNULL(I.DATE_BEGIN,@PeriodBegin)), DATE_END = MAX(ISNULL(I.DATE_END,@PeriodEnd))
FROM dbo.PERS_INVALID I
WHERE ISNULL(I.DATE_BEGIN,@PeriodBegin) <= @PeriodEnd AND ISNULL(I.DATE_END,@PeriodEnd) >= @PeriodBegin
GROUP BY PERS_LINK

--forma в отчётности за 2013 год содержит тип договора (1 трудовой, 2 ГПХ)
insert into dbo.SZV4_SVEDENIA (link_up, orders, forma, link_pers, sum_doh, sum_str, sum_nak, sum_dop, dper_vn_m, dper_vn_d,dper_oz_m, dper_oz_d, isum_str, isum_nak, LINK_KATEG, DATE_BEG, DATE_END) 
Select distinct @link, 0, DOG, B.link, 0, 0, 0, 0, 
	DIS_M = 0,
	DIS_D = 0,
	VAC_M = 0,
	VAC_D = 0,
	0,0,
	@LINK_OZOI,
	CASE WHEN ISNULL(I.DATE_BEGIN,@PeriodBegin) < @PeriodBegin THEN @PeriodBegin ELSE ISNULL(I.DATE_BEGIN,@PeriodBegin) END,
	CASE WHEN ISNULL(I.DATE_END,@PeriodEnd) > @PeriodEnd THEN @PeriodEnd ELSE ISNULL(I.DATE_END,@PeriodEnd) END
from 
	(	SELECT B.LINK, DOG = 1 
		FROM 
			#PERSON B
			INNER JOIN dbo.EMPL E ON E.pers_link = B.LINK AND E.DEP_LINK = @DEP_LINK
		UNION 
		SELECT B.LINK, DOG = 2 
		FROM 
			#PERSON B
			INNER JOIN dbo.SALARY_REESTR_DGH DGH ON DGH.PERS_LINK = B.LINK AND DGH.DEP_LINK = @DEP_LINK
	) B
	INNER JOIN #PERS_INV I ON I.PERS_LINK = B.LINK AND ISNULL(I.DATE_BEGIN,@PeriodBegin) <= @PeriodEnd AND ISNULL(I.DATE_END,@PeriodEnd) >= @PeriodBegin		

----ОБЩИЕ
DECLARE @LINK_NR INT
SET @LINK_NR = ISNULL((SELECT TOP 1 LINK FROM dbo.SA_PFR_KATEG WHERE LINK2 = 1 AND @Year BETWEEN YBEG AND YEND),1)

--forma в отчётности за 2013 год содержит тип договора (1 трудовой, 2 ГПХ)	
insert into dbo.SZV4_SVEDENIA (link_up, orders, forma, link_pers, sum_doh, sum_str, sum_nak, sum_dop, dper_vn_m, dper_vn_d,dper_oz_m, dper_oz_d, isum_str, isum_nak, LINK_KATEG, DATE_BEG, DATE_END) 
Select distinct @link, 0, DOG, B.link, 0, 0, 0, 0, 
	DIS_M = 0,
	DIS_D = 0,
	VAC_M = 0,
	VAC_D = 0,
	0,0,
	@LINK_NR,
	CASE WHEN I.PERS_LINK IS NULL OR @PeriodBegin < CASE WHEN ISNULL(I.DATE_BEGIN,@PeriodBegin) < @PeriodBegin THEN @PeriodBegin ELSE ISNULL(I.DATE_BEGIN,@PeriodBegin) END
		THEN @PeriodBegin 
		ELSE CASE WHEN ISNULL(I.DATE_END,@PeriodEnd) > @PeriodEnd THEN @PeriodEnd ELSE ISNULL(I.DATE_END,@PeriodEnd) END + 1
	END,
	CASE WHEN I.PERS_LINK IS NULL OR @PeriodEnd > CASE WHEN ISNULL(I.DATE_END,@PeriodEnd) > @PeriodEnd THEN @PeriodEnd ELSE ISNULL(I.DATE_END,@PeriodEnd) END
		THEN @PeriodEnd
		ELSE CASE WHEN ISNULL(I.DATE_BEGIN,@PeriodBegin) < @PeriodBegin THEN @PeriodBegin ELSE ISNULL(I.DATE_BEGIN,@PeriodBegin) END - 1
	END
from 
	(	
		SELECT B.LINK, DOG = 1 
		FROM 
			#PERSON B
			INNER JOIN dbo.EMPL E ON E.pers_link = B.LINK AND E.DEP_LINK = @DEP_LINK
		UNION 
		SELECT B.LINK, DOG = 2
		FROM 
			#PERSON B
			INNER JOIN dbo.SALARY_REESTR_DGH DGH ON DGH.PERS_LINK = B.LINK AND DGH.DEP_LINK = @DEP_LINK
	) B
	LEFT JOIN #PERS_INV I ON I.PERS_LINK = B.LINK AND ISNULL(I.DATE_BEGIN,@PeriodBegin) <= @PeriodEnd AND ISNULL(I.DATE_END,@PeriodEnd) >= @PeriodBegin		
WHERE --Добавляем если не было инвалидов или инвалидность была не весь период
	I.PERS_LINK IS NULL --не было инвалидов
	OR --инвалидность была не весь период
	CASE WHEN ISNULL(I.DATE_BEGIN,@PeriodBegin) < @PeriodBegin THEN @PeriodBegin ELSE ISNULL(I.DATE_BEGIN,@PeriodBegin) END
		BETWEEN @PeriodBegin+1 AND @PeriodEnd-1
	OR --инвалидность была не весь период
	CASE WHEN ISNULL(I.DATE_END,@PeriodEnd) > @PeriodEnd THEN @PeriodEnd ELSE ISNULL(I.DATE_END,@PeriodEnd) END
		BETWEEN @PeriodBegin+1 AND @PeriodEnd-1	

----ЕНВД
DECLARE @LINK_USEN INT
SET @LINK_USEN = ISNULL((SELECT TOP 1 LINK FROM dbo.SA_PFR_KATEG WHERE LINK2 = 2 AND @Year BETWEEN YBEG AND YEND),1)		
	
insert into dbo.SZV4_SVEDENIA 
	(link_up, orders, forma, link_pers, sum_doh, sum_str, sum_nak, sum_dop, dper_vn_m, dper_vn_d,dper_oz_m, dper_oz_d, isum_str, isum_nak, LINK_KATEG, DATE_BEG, DATE_END) 
SELECT 	
	link_up, orders, forma, link_pers, ISNULL(sum_doh,0), ISNULL(sum_str,0), ISNULL(sum_nak,0), ISNULL(sum_dop,0), ISNULL(dper_vn_m,0), ISNULL(dper_vn_d,0), ISNULL(dper_oz_m,0), ISNULL(dper_oz_d,0), ISNULL(isum_str,0), ISNULL(isum_nak,0), @LINK_USEN, DATE_BEG, DATE_END
FROM
	#PERSON B INNER JOIN dbo.SZV4_SVEDENIA S ON B.LINK = S.link_pers 
WHERE
	link_up = @link
	AND
	LINK_KATEG = @LINK_NR	
	

----СУММЫ ВЗНОСОВ В ЗАВИСИМОСТИ ОТ КАТЕГОРИИ ПО ЖУРНАЛУ ОПЕРАЦИЙ
CREATE TABLE #PERS_SUM_J (LINK_PERS INT, LINK_KATEG INT, DOG TINYINT, MON INT, INCOME NUMERIC(18,2), SUMMA_BASE NUMERIC(18,2), SUMMA_I NUMERIC(18,2), SUMMA_G NUMERIC(18,2))
INSERT INTO #PERS_SUM_J (LINK_PERS, LINK_KATEG, DOG, MON, INCOME, SUMMA_BASE, SUMMA_I, SUMMA_G)
SELECT LINK_PERS, LINK_KATEG, DOG, MON,
	SUM(CASE WHEN [OBJECT] = 1 THEN SUMMA ELSE 0 END), --ВСЕГО ДОХОД (INCOME)
	SUM(CASE WHEN [OBJECT] = 3 AND WAY_CALC = 6 THEN SUMMA_BASE ELSE 0 END),
	SUM(CASE WHEN [OBJECT] = 3 AND WAY_CALC = 6 THEN SUMMA ELSE 0 END),
	SUM(CASE WHEN [OBJECT] = 3 AND WAY_CALC = 7 THEN SUMMA ELSE 0 END)	
FROM
(
	SELECT 
		S.LINK_PERS, P.[WAY_CALC], S.LINK_KATEG, DOG = S.FORMA, P.[OBJECT], MON = MONTH(J.PERIOD_BEGIN), SUMMA_BASE = SUM(SUMMA_BASE), SUMMA = SUM(SUMMA)
	FROM 
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.link_pers = B.LINK
		INNER JOIN dbo.EMPL E ON E.PERS_LINK = S.LINK_PERS
		INNER JOIN dbo.CALCULATE_JURNAL J ON J.LINK_EMPL = E.LINK 
			AND YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) BETWEEN MONTH(S.DATE_BEG) AND MONTH(S.DATE_END)
		INNER JOIN dbo.PAYS P ON P.LINK = J.LINK_PAYS
		INNER JOIN dbo.SAL_SFIN F ON F.LINK = J.LINK_VKR
	WHERE
		S.LINK_UP = @link
		AND 
		(
			P.[OBJECT] = 3 AND P.[WAY_CALC] IN (6, 7)
			OR
			P.[OBJECT] = 1
		)
		AND J.LINK_DEP = @DEP_LINK
		AND S.FORMA = 1 --ВИД ДОГОВОРА (ТРУДОВОЙ)
		AND (LINK_KATEG = @LINK_OZOI OR (LINK_KATEG = @LINK_USEN AND F.ENVD = 1) OR (LINK_KATEG = @LINK_NR AND F.ENVD = 0))
	GROUP BY
		S.LINK_PERS, P.[WAY_CALC], S.LINK_KATEG, S.FORMA, P.[OBJECT], J.PERIOD_BEGIN
	UNION ALL	
	SELECT 
		S.LINK_PERS, P.[WAY_CALC], S.LINK_KATEG, DOG = S.FORMA, P.[OBJECT], MON = MONTH(J.PERIOD_BEGIN), SUMMA_BASE = SUM(SUMMA_BASE), SUMMA = SUM(SUMMA)
	FROM 
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		INNER JOIN dbo.CALCULATE_JURNAL J ON J.PERS_LINK = S.LINK_PERS 
			AND YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) BETWEEN MONTH(S.DATE_BEG) AND MONTH(S.DATE_END)
		INNER JOIN dbo.PAYS P ON P.LINK = J.LINK_PAYS
		INNER JOIN dbo.SAL_SFIN F ON F.LINK = J.LINK_VKR
	WHERE
		S.LINK_UP = @link
		AND 
		(
			P.[OBJECT] = 3 AND P.[WAY_CALC] IN (6, 7)
			OR
			P.[OBJECT] = 1
		)
		AND J.LINK_DEP = @DEP_LINK
		AND S.FORMA = 2 --ВИД ДОГОВОРА (ГПХ)
		AND (LINK_KATEG = @LINK_OZOI OR (LINK_KATEG = @LINK_USEN AND F.ENVD = 1) OR (LINK_KATEG = @LINK_NR AND F.ENVD = 0))
	GROUP BY
		S.LINK_PERS, P.[WAY_CALC], S.LINK_KATEG, S.FORMA, P.[OBJECT], J.PERIOD_BEGIN
) T
GROUP BY LINK_PERS, LINK_KATEG, DOG, MON

--
CREATE INDEX #TMP_IDX_#PERS_SUM_J ON #PERS_SUM_J (LINK_PERS, LINK_KATEG)

--рАСЧЁТ ОБЛАГАЕМОЙ СУММЫ ДОХОДА ЗА ПЕРИОД
--в РАСЧЁТ НЕ ДОЛЖНА ПОПАСТЬ СУММА С ПРЕВЫШЕНИЯ СУММЫ ДОХОДА 512 ТЫС С УЧЁТОМ СКИДОК
create table #SPR_ESN ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0, KATEG TINYINT, DOG TINYINT)

Insert InTo #SPR_ESN ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, KATEG, DOG)
SELECT [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, KATEG, DOG = 1
FROM 
	dbo.SA_ESN_VIEW(@Year, @Month, @DEP_LINK, 0) S
WHERE 
	WAY_CALC IN (6,7,10,11)
	AND EXISTS (SELECT * FROM #PERSON B WHERE B.LINK = S.REF_PHYS_PERS)

--Суммы по договорникам
INSERT INTO #SPR_ESN 
	([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, KATEG, DOG)
SELECT 
	MONTH(G.[DATE]) AS MONTH_BASE, 
	GT.SUMMA_BASE, 0, 0, GT.SUMMA, GT.WAY_CALC, GT.PERS_LINK, 
	CASE WHEN dbo.is_invalid(GT.PERS_LINK,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,G.[MONTH],@Year))) = 2
		THEN 3
		ELSE
		CASE WHEN F.ENVD = 1 THEN 2 ELSE 1 END
	END, 
	DOG = 2
FROM 
	dbo.DOCUMENTS_DGH G 
	INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
	inner join dbo.PERSON P on GT.PERS_LINK = P.link
	INNER JOIN #PERSON B ON B.LINK = P.LINK
	inner join dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
WHERE 
	FLAG_JC = 1
	AND GT.WAY_CALC  IN (6,7,10,11)
	AND YEAR(G.[DATE]) = @Year
	AND MONTH(G.[DATE]) <= @Month
	AND LINK_DEP = @DEP_LINK

--
CREATE INDEX #TMP_IDX_SPR_ESN ON #SPR_ESN (REF_PHYS_PERS, KATEG, DOG)


--
DELETE FROM #SPR_ESN
WHERE  EXISTS (SELECT * FROM dbo.KJ_PERS_PENSION K WHERE K.PERS_LINK = REF_PHYS_PERS  and K.CHECK_SZV = 0)

--Информация о ставках
DECLARE @STAVKI TABLE ( LINK_PERS INT, TARIF TINYINT, PREDEL NUMERIC(15,2), [PERCENT] NUMERIC(8,2), WAY_CALC TINYINT)

INSERT INTO @STAVKI (LINK_PERS, TARIF, PREDEL, [PERCENT], WAY_CALC)
SELECT 
	LINK_PERS, TARIF, PREDEL, [PERCENT], WAY_CALC 
FROM 
	dbo.SA_ESN_TARIF(DEFAULT, @PeriodEnd, DEFAULT) S
WHERE 
	WAY_CALC IN (6,7)
	AND EXISTS (SELECT * FROM #PERSON P WHERE P.LINK = S.LINK_PERS)

--	
DECLARE @LIMIT NUMERIC(18,2)
SET @LIMIT = ISNULL((SELECT MIN(PREDEL) FROM @STAVKI WHERE TARIF = 1 AND WAY_CALC = 6),0)

------СУММЫ В ЗАВИСИМОСТИ ОТ КАТЕГОРИИ ПО РАСЧЁТАМ ЕСН С УЧЁТОМ ПРЕВЫШЕНИЯ 512Т.
CREATE TABLE #SUM_PERSON (LINK_PERSON INT, KATEG TINYINT, DOG TINYINT, WAY_CALC TINYINT, [PERCENT] NUMERIC(18,2), MON TINYINT, 
				BAZA NUMERIC(18,2), SUM_LIM NUMERIC(18,2), SUM_KOR NUMERIC(18,2),BAZA2 NUMERIC(18,2),  NALOG NUMERIC(20,6), M BIT)

INSERT INTO #SUM_PERSON (LINK_PERSON, KATEG, DOG, WAY_CALC, [PERCENT], MON, BAZA, NALOG, M)
SELECT
	E.REF_PHYS_PERS, E.KATEG, E.DOG, S.WAY_CALC, S.[PERCENT], E.MONTH_BASE,
	SUM(ISNULL(SUMMA_BASE,0) - ISNULL(DED_M,0) - ISNULL(INV_M,0)) AS BAZA,
	SUM(SUMMA),
	0
FROM 
	#SPR_ESN E
	INNER JOIN @STAVKI S ON S.LINK_PERS = E.REF_PHYS_PERS AND S.WAY_CALC = E.WAY_CALC AND S.TARIF = E.KATEG
WHERE 
	S.PREDEL = @LIMIT
GROUP BY
	E.REF_PHYS_PERS, E.KATEG, E.DOG, S.WAY_CALC, S.[PERCENT], E.MONTH_BASE

--ТОЛЬКО ТЕ, У КОГО ДОХОД ПРЕВЫСИЛ ЛИМИТ
CREATE TABLE #PERS_AFTER (LINK_PERSON INT, KATEG TINYINT, DOG TINYINT)

INSERT INTO #PERS_AFTER (LINK_PERSON, KATEG, DOG)
SELECT LINK_PERSON, KATEG, DOG
FROM #SUM_PERSON 
WHERE WAY_CALC = 6
GROUP BY LINK_PERSON, KATEG, DOG
HAVING SUM(BAZA) > @LIMIT
DECLARE @Cur2 CURSOR, @MON TINYINT, @KATEG TINYINT, @DOG TINYINT

SET @Cur2 = CURSOR FORWARD_ONLY
FOR SELECT DISTINCT MON, KATEG, DOG FROM #SUM_PERSON SP
	ORDER BY MON, KATEG ASC, DOG DESC
OPEN @Cur2
FETCH NEXT FROM @Cur2 INTO @MON, @KATEG, @DOG
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN

		UPDATE SP --ДОХОД С НАКОПЛЕНИЕМ С НАЧАЛА ГОДА
		SET 
			M = 1,
			SUM_LIM = (SELECT SUM(BAZA) FROM #SUM_PERSON SP1 WHERE SP1.LINK_PERSON = SP.LINK_PERSON AND SP1.WAY_CALC = SP.WAY_CALC AND (M=1 OR SP1.MON = SP.MON AND SP1.KATEG = SP.KATEG AND SP1.DOG = SP.DOG))
		FROM #SUM_PERSON SP
		WHERE MON = @MON AND KATEG = @KATEG AND DOG = @DOG
		
		UPDATE #SUM_PERSON --ПРЕВЫШЕНИЕ ЛИМИТА
		SET SUM_KOR = CASE WHEN ISNULL(SUM_LIM,0) > @LIMIT THEN ISNULL(SUM_LIM,0) - @LIMIT ELSE 0 END

		UPDATE #SUM_PERSON
		SET BAZA2 = CASE WHEN (ISNULL(BAZA,0) > ISNULL(SUM_KOR,0) OR ISNULL(BAZA,0) < 0)
							THEN ISNULL(BAZA,0) - ISNULL(SUM_KOR,0) ELSE 0 END
		
		UPDATE SP
		SET NALOG = 
					CASE WHEN BAZA <> BAZA2 
						THEN 
							
							CONVERT(NUMERIC(18,2),
							ISNULL((SELECT SUM(SP1.BAZA2) FROM #SUM_PERSON SP1 WHERE SP1.LINK_PERSON = SP.LINK_PERSON AND SP1.KATEG = SP.KATEG AND SP1.DOG = SP.DOG  AND SP1.WAY_CALC = SP.WAY_CALC AND SP1.MON <= SP.MON),0)
							* ISNULL([PERCENT],0) / 100)
							-
							CONVERT(NUMERIC(18,2),
							ISNULL((SELECT SUM(SP1.BAZA2) FROM #SUM_PERSON SP1 WHERE SP1.LINK_PERSON = SP.LINK_PERSON AND SP1.KATEG = SP.KATEG AND SP1.DOG = SP.DOG  AND SP1.WAY_CALC = SP.WAY_CALC AND SP1.MON < SP.MON),0)
							* ISNULL([PERCENT],0) / 100)

						ELSE 
							(SELECT CASE WHEN SP.WAY_CALC = 6 THEN SUM(SUMMA_I) ELSE SUM(SUMMA_G) END FROM #PERS_SUM_J PS WHERE PS.LINK_PERS = SP.LINK_PERSON AND SP.KATEG = PS.LINK_KATEG AND SP.DOG = PS.DOG AND PS.MON = SP.MON)
					END
					
					--CASE WHEN BAZA <> BAZA2 
					--	THEN ISNULL(BAZA2,0) * ISNULL([PERCENT],0) / 100
					--	ELSE (SELECT CASE WHEN SP.WAY_CALC = 6 THEN SUM(SUMMA_I) ELSE SUM(SUMMA_G) END FROM #PERS_SUM_J PS WHERE PS.LINK_PERS = SP.LINK_PERSON AND SP.KATEG = PS.LINK_KATEG AND PS.MON = SP.MON)
					--END	
		FROM
			#SUM_PERSON SP
		WHERE --ТОЛЬКО У ТЕХ, У КОГО ПРЕВЫШЕНИЕ ЛИМИТА
			EXISTS (SELECT * FROM #PERS_AFTER PA WHERE PA.LINK_PERSON = SP.LINK_PERSON AND PA.KATEG = SP.KATEG AND PA.DOG = SP.DOG)

	END
	FETCH NEXT FROM @Cur2 INTO @MON, @KATEG, @DOG
END

CLOSE @Cur2
DEALLOCATE @Cur2

--СУММЫ В ЗАВИСИМОСТИ ОТ КАТЕГОРИИ
CREATE TABLE #PERS_SUM (LINK_PERS INT, LINK_KATEG INT, DOG TINYINT, SUMMA_BASE NUMERIC(18,2), SUMMA_I NUMERIC(18,2), SUMMA_G NUMERIC(18,2))
INSERT INTO #PERS_SUM (LINK_PERS, LINK_KATEG, DOG, SUMMA_BASE, SUMMA_I, SUMMA_G)
SELECT LINK_PERS, LINK_KATEG, DOG,
	SUM(CASE WHEN WAY_CALC = 6 THEN SUMMA_BASE ELSE 0 END),
	SUM(CASE WHEN WAY_CALC = 6 THEN SUMMA ELSE 0 END),
	SUM(CASE WHEN WAY_CALC = 7 THEN SUMMA ELSE 0 END)	
FROM
(
	SELECT 
		S.LINK_PERS, SP.[WAY_CALC], S.LINK_KATEG, DOG = S.FORMA, SUMMA_BASE = SUM(BAZA2), SUMMA = SUM(NALOG)
	FROM 
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.link_pers = B.LINK
		INNER JOIN dbo.SA_PFR_KATEG K ON K.LINK = S.LINK_KATEG
		INNER JOIN #SUM_PERSON SP ON SP.LINK_PERSON = S.LINK_PERS AND SP.KATEG = K.LINK2 AND S.FORMA = SP.DOG AND SP.MON BETWEEN MONTH(S.DATE_BEG) AND MONTH(S.DATE_END)
	WHERE
		S.LINK_UP = @link
		AND
		@Year BETWEEN K.YBEG AND K.YEND
	GROUP BY
		S.LINK_PERS, SP.[WAY_CALC], S.LINK_KATEG, S.FORMA
) T
GROUP BY LINK_PERS, LINK_KATEG, DOG

--
UPDATE S SET
	sum_doh = ISNULL(SUMMA_I,0), --После 10 года содержит начисленную страховую часть
	sum_str = 0, --После 10 года должен содержать перечисленную страховую часть, но т.к. ее не знаем - то 0, потом определим
	sum_nak = ISNULL(SUMMA_G,0), --Для все периодов содержит начисленную накопительную часть
	sum_dop = 0 -- После 10 года должен содержать перечисленную накопительную часть, но т.к. ее не знаем - то 0, потом определим
FROM
	dbo.SZV4_SVEDENIA S 
	INNER JOIN #PERS_SUM P ON P.LINK_PERS = S.LINK_PERS AND P.LINK_KATEG = S.LINK_KATEG AND P.DOG = S.FORMA
WHERE
	link_up = @link


---Заполняются суммы по доптарифам
CREATE TABLE #INCOME_T1T2 (
	LINK_PERS INT, 
	KATEG TINYINT,
	DOG TINYINT, 
	INCOME_T1_M1 NUMERIC(18,2),
	INCOME_T2_M1 NUMERIC(18,2),
	INCOME_T1_M2 NUMERIC(18,2),
	INCOME_T2_M2 NUMERIC(18,2),
	INCOME_T1_M3 NUMERIC(18,2),
	INCOME_T2_M3 NUMERIC(18,2)
	)

INSERT INTO #INCOME_T1T2 (LINK_PERS, KATEG, DOG, INCOME_T1_M1, INCOME_T2_M1, INCOME_T1_M2, INCOME_T2_M2, INCOME_T1_M3, INCOME_T2_M3)
SELECT REF_PHYS_PERS, KATEG, E.DOG, 
	INCOME_T1_M1 = SUM(CASE WHEN WAY_CALC = 10 AND MONTH_BASE = (@Month - 2) THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END), 
	INCOME_T2_M1 = SUM(CASE WHEN WAY_CALC = 11 AND MONTH_BASE = (@Month - 2) THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END),
	INCOME_T1_M2 = SUM(CASE WHEN WAY_CALC = 10 AND MONTH_BASE = (@Month - 1) THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END),
	INCOME_T2_M2 = SUM(CASE WHEN WAY_CALC = 11 AND MONTH_BASE = (@Month - 1) THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END),
	INCOME_T1_M3 = SUM(CASE WHEN WAY_CALC = 10 AND MONTH_BASE = @Month THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END),
	INCOME_T2_M3 = SUM(CASE WHEN WAY_CALC = 11 AND MONTH_BASE = @Month THEN SUMMA_BASE - DED_M - INV_M ELSE 0 END)
FROM #SPR_ESN E
WHERE WAY_CALC IN (10,11)	
GROUP BY REF_PHYS_PERS, KATEG, E.DOG

UPDATE S SET
	S.INCOME_T1_M1 = P.INCOME_T1_M1,
	S.INCOME_T2_M1 = P.INCOME_T2_M1,
	S.INCOME_T1_M2 = P.INCOME_T1_M2,
	S.INCOME_T2_M2 = P.INCOME_T2_M2,
	S.INCOME_T1_M3 = P.INCOME_T1_M3,
	S.INCOME_T2_M3 = P.INCOME_T2_M3
FROM
	dbo.SZV4_SVEDENIA S 
	INNER JOIN #INCOME_T1T2 P ON P.LINK_PERS = S.LINK_PERS AND P.KATEG = S.LINK_KATEG AND P.DOG = S.FORMA
WHERE
	link_up = @link

--Всего начислено по физлицам дохода
CREATE TABLE #INCOME(
	LINK_PERS INT, 
	KATEG TINYINT,
	DOG TINYINT, 
	INCOME_M1 NUMERIC(18,2),
	INCOME_M2 NUMERIC(18,2),
	INCOME_M3 NUMERIC(18,2)
	)

INSERT INTO #INCOME (LINK_PERS, KATEG, DOG, INCOME_M1, INCOME_M2, INCOME_M3)
SELECT 
	LINK_PERS, LINK_KATEG, DOG,
	INCOME_M1 = SUM(CASE WHEN MON = (@Month - 2) THEN INCOME ELSE 0 END),
	INCOME_M2 = SUM(CASE WHEN MON = (@Month - 1) THEN INCOME ELSE 0 END),
	INCOME_M3 = SUM(CASE WHEN MON = @Month THEN INCOME ELSE 0 END)
FROM #PERS_SUM_J
GROUP BY 
	LINK_PERS, LINK_KATEG, DOG

UPDATE S SET
	S.INCOME_M1 = P.INCOME_M1,
	S.INCOME_M2 = P.INCOME_M2,
	S.INCOME_M3 = P.INCOME_M3
FROM
	dbo.SZV4_SVEDENIA S 
	INNER JOIN #INCOME P ON P.LINK_PERS = S.LINK_PERS AND P.KATEG = S.LINK_KATEG AND P.DOG = S.FORMA
WHERE
	link_up = @link	


--База для страховых взносов
CREATE TABLE #BASE(
	LINK_PERS INT, 
	KATEG TINYINT,
	DOG TINYINT, 
	BASE_BEFORE_M1 NUMERIC(18,2),
	BASE_AFTER_M1 NUMERIC(18,2),
	BASE_BEFORE_M2 NUMERIC(18,2),
	BASE_AFTER_M2 NUMERIC(18,2),
	BASE_BEFORE_M3 NUMERIC(18,2),
	BASE_AFTER_M3 NUMERIC(18,2)	
	)

INSERT INTO #BASE (LINK_PERS, KATEG, DOG, BASE_BEFORE_M1, BASE_AFTER_M1, BASE_BEFORE_M2, BASE_AFTER_M2, BASE_BEFORE_M3, BASE_AFTER_M3 )
SELECT LINK_PERSON, KATEG, DOG,
	BASE_BEFORE_M1	= SUM(CASE WHEN MON = (@Month - 2) THEN BAZA2 ELSE 0 END),
	BASE_AFTER_M1	= SUM(CASE WHEN MON = (@Month - 2) THEN BAZA - BAZA2 ELSE 0 END),
	BASE_BEFORE_M2	= SUM(CASE WHEN MON = (@Month - 1) THEN BAZA2 ELSE 0 END),
	BASE_AFTER_M2	= SUM(CASE WHEN MON = (@Month - 1) THEN BAZA - BAZA2 ELSE 0 END),
	BASE_BEFORE_M3	= SUM(CASE WHEN MON = @Month THEN BAZA2 ELSE 0 END),
	BASE_AFTER_M3	= SUM(CASE WHEN MON = @Month THEN BAZA - BAZA2 ELSE 0 END)		
FROM #SUM_PERSON 
WHERE 
	WAY_CALC = 6
GROUP BY
	LINK_PERSON, KATEG, DOG
	
UPDATE S SET
	S.BASE_BEFORE_M1 = P.BASE_BEFORE_M1,
	S.BASE_AFTER_M1 = P.BASE_AFTER_M1,
	S.BASE_BEFORE_M2 = P.BASE_BEFORE_M2,
	S.BASE_AFTER_M2 = P.BASE_AFTER_M2,
	S.BASE_BEFORE_M3 = P.BASE_BEFORE_M3,
	S.BASE_AFTER_M3 = P.BASE_AFTER_M3	
FROM
	dbo.SZV4_SVEDENIA S 
	INNER JOIN #BASE P ON P.LINK_PERS = S.LINK_PERS AND P.KATEG = S.LINK_KATEG AND P.DOG = S.FORMA
WHERE
	link_up = @link	

--У кого нет дохода, но есть стаж
SELECT LINK_PERS, FORMA, LINK_KATEG INTO #TAB FROM dbo.SZV4_SVEDENIA WHERE LINK_UP = @link GROUP BY LINK_PERS, FORMA, LINK_KATEG HAVING SUM(sum_doh) = 0 AND SUM(sum_nak) = 0 AND SUM(INCOME_M1) = 0
--	

DELETE FROM dbo.SZV4_SVEDENIA 
WHERE link_up = @link AND sum_doh = 0 AND sum_nak = 0 AND INCOME_M1 = 0 AND INCOME_M2 = 0 AND INCOME_M3 = 0 AND LINK_KATEG NOT IN( @LINK_NR, @LINK_OZOI)

DELETE FROM dbo.SZV4_SVEDENIA
WHERE link_up = @link AND sum_doh = 0 AND sum_nak = 0 AND INCOME_M1 = 0 AND INCOME_M2 = 0 AND INCOME_M3 = 0 
	AND NOT EXISTS (SELECT LINK_PERS FROM #TAB T WHERE T.LINK_PERS = dbo.SZV4_SVEDENIA.LINK_PERS AND T.FORMA = dbo.SZV4_SVEDENIA.FORMA AND T.LINK_KATEG = dbo.SZV4_SVEDENIA.LINK_KATEG)

--ЗАМЕНА КАТЕГОРИИ ИНВАЛИДОВ
UPDATE dbo.SZV4_SVEDENIA SET LINK_KATEG = @LINK_NR WHERE link_up = @link AND LINK_KATEG = @LINK_OZOI

---- РАСПРЕДЕЛЕНИЕ ПЕРЕЧИСЛЕННОЙ СУММЫ ПО ФИЗЛИЦАМ
EXEC [dbo].SA_SZV4_PACHKA_RASPIL @link

IF @VID_KOR != 3
	begin  
	---СВЕДЕНИЯ О СТАЖЕ

	----------------------------------------------------------------------------
	CREATE TABLE #PERIODY (link int identity(1,1), link_face int, LINK_KATEG INT, date1 datetime, date2 datetime, [type] int, NUM_STAKE NUMERIC(5,2), [IS_DOP] VARCHAR(20),	[NOT_LGOT_EXPIR] INT NULL)

	--/*Стаж сотрудников*/
	INSERT INTO 
		#PERIODY (link_face, LINK_KATEG, date1, date2, type)
	SELECT 	DISTINCT
		PERS_LINK, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when P.DATE_BEGIN >= @PeriodBegin then P.DATE_BEGIN else @PeriodBegin end)
			THEN (case when P.DATE_BEGIN >= @PeriodBegin then P.DATE_BEGIN else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
			THEN (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
			ELSE S.DATE_END
		END,	
		0
	FROM
		#PERSON B
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		INNER JOIN dbo.EMPL E ON S.LINK_PERS = E.PERS_LINK AND E.DEP_LINK = @DEP_LINK
		INNER JOIN dbo.ITEM_MOVE P on E.link = P.empl_link and P.NEW_FACE = 1 AND P.ACTIVE=1
		LEFT JOIN dbo.ITEM_DIS_FACE U on E.link = U.empl_link AND U.ACTIVE=1
	WHERE
		S.LINK_UP = @link
		AND
		P.DATE_BEGIN <= @PeriodEnd
		AND
		coalesce(U.DIS_DATE,'20990101') >= @PeriodBegin

	/*Стаж договорников*/
	Select DISTINCT
		link_face = DGH.PERS_LINK, LINK_KATEG,
		date1 = CASE WHEN S.DATE_BEG < (case when DGH.DATE1 >= @PeriodBegin then DGH.DATE1 else @PeriodBegin end)
				THEN (case when DGH.DATE1 >= @PeriodBegin then DGH.DATE1 else @PeriodBegin end)
				ELSE S.DATE_BEG
			END,
		date2 = CASE WHEN S.DATE_END > (case when coalesce(DGH.DATE2,@PeriodEnd) <= @PeriodEnd then coalesce(DGH.DATE2,@PeriodEnd) else @PeriodEnd end)
				THEN (case when coalesce(DGH.DATE2,@PeriodEnd) <= @PeriodEnd then coalesce(DGH.DATE2,@PeriodEnd) else @PeriodEnd end)
				ELSE S.DATE_END
			END,
		[type] = 0
	INTO #DGH	
	FROM
		#PERSON B
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		INNER JOIN dbo.SALARY_REESTR_DGH DGH ON S.LINK_PERS = DGH.PERS_LINK
	WHERE 
		S.LINK_UP = @link
		AND
		DGH.DEP_LINK = @DEP_LINK
		and
		DGH.DATE1 <= @PeriodEnd
		and
		coalesce(DGH.DATE2,'20990101') >= @PeriodBegin

	-- Периоды в сведениях впишем в периоды работы
	SELECT LINK_FACE, DB = MIN(DATE1), DE = MAX(DATE2)
	INTO #WORK
	FROM #PERIODY
	GROUP BY LINK_FACE

	UPDATE S SET 
		S.DATE_BEG = CASE WHEN W.DB < S.DATE_BEG THEN S.DATE_BEG ELSE W.DB END,
		S.DATE_END = CASE WHEN W.DE > S.DATE_END THEN S.DATE_END ELSE W.DE END
	FROM 
		dbo.SZV4_SVEDENIA S INNER JOIN #WORK W ON S.LINK_PERS = W.LINK_FACE
	WHERE 
		S.LINK_UP = @link

	--
	CREATE TABLE #ADD_TYPE (
		[type] INT IDENTITY(1,1),
		[TERR_USL_TRUD] int NULL ,
		[TERR_RK] numeric(3, 2) NULL ,
		[OSOB_USL_TRUD] int NULL ,
		[COD_POS_SPISOK] int NULL ,
		[COD_POS_SPISOK2] int NULL ,
		[USL_DOSROCH_PENS] int NULL ,
		[STAVKA_PED_MED] numeric(3, 2) NULL,
		[VID] VARCHAR(20),
		[IS_DOP] VARCHAR(20),
		[COD_SPO_USL_TRUD] INT NULL
	)	
	INSERT INTO #ADD_TYPE 
		([TERR_USL_TRUD],[TERR_RK],[OSOB_USL_TRUD],[COD_POS_SPISOK],[COD_POS_SPISOK2],[USL_DOSROCH_PENS],[STAVKA_PED_MED],[VID],[IS_DOP],[COD_SPO_USL_TRUD])
	SELECT DISTINCT 
		ISNULL(TERR_USL_TRUD,0), ISNULL(TERR_RK,0), ISNULL(OSOB_USL_TRUD,0), ISNULL(COD_POS_SPISOK,0), ISNULL(COD_POS_SPISOK2,0), ISNULL(USL_DOSROCH_PENS,0), ISNULL(STAVKA_PED_MED,0), VID = 'ADD_TYPE', IS_DOP = '', ISNULL([COD_SPO_USL_TRUD],0)
	FROM dbo.staff
	WHERE ISNULL(TERR_USL_TRUD,0) <> 0 OR ISNULL(TERR_RK,0) <> 0 OR ISNULL(OSOB_USL_TRUD,0) <> 0 OR ISNULL(COD_POS_SPISOK,0) <> 0 OR ISNULL(COD_POS_SPISOK2,0) <> 0 OR ISNULL(USL_DOSROCH_PENS,0) <> 0 OR ISNULL(STAVKA_PED_MED,0) <> 0 OR ISNULL([COD_SPO_USL_TRUD],0) <> 0

	--
	DECLARE @MAX_TYPE INT
	SET @MAX_TYPE = ISNULL((SELECT MAX(type) FROM #ADD_TYPE),0)

	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	VALUES ('TMP_TYPE', '')
	
	/*период коммандировки (нельготный стаж)*/
	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	VALUES ('KOMM_TYPE', '')


	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	VALUES ('PERIOD1', 'ДЕКРЕТ')

	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	SELECT DISTINCT
		'PERIOD2',
		ISNULL(V.IS_DOP,'ДЕТИ')
	FROM
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK 
		inner join item_vacation iv on E.link = iv.EMPL_LINK inner join orders o on iv.order_link=o.link
		INNER JOIN dbo.VACATION_VID V ON V.LINK = IV.TYPE_LINK
		INNER JOIN (SELECT VV.LINK FROM dbo.VACATION_VID VV INNER join dbo.TYP_DAYS D on VV.TYPE_LINK = D.LINK WHERE WORK_D = 7 
					--AND ISNULL(VV.NOT_LGOT_EXPIR,0) = 0
					) VV ON VV.LINK = IV.TYPE_LINK
		left join dbo.item_vacation_break ivb on ivb.vac_link = iv.link and coalesce(ivb.active,0) = 1
	where 
		S.LINK_UP = @link
		AND		
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		coalesce(coalesce(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin

	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	VALUES ('PERIOD3', 'ВРНЕТРУД')
/*
	INSERT INTO #ADD_TYPE (VID, IS_DOP)
	Select DISTINCT
		'PERIOD4',
		ISNULL(VV.IS_DOP,'АДМИНИСТР')
	FROM
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK  
		inner join item_vacation iv on E.link = iv.EMPL_LINK inner join orders o on iv.order_link=o.link
		INNER JOIN dbo.VACATION_VID VV ON VV.LINK = IV.type_link AND VV.NO_SAL = 1
		left join dbo.item_vacation_break ivb on ivb.vac_link = iv.link and coalesce(ivb.active,0) = 1
	where
		S.LINK_UP = @link
		AND		 	
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		coalesce(coalesce(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin
*/
	--ПРОЧИЕ КОДЫ ДЛЯ ВИДОВ ОТПУСКОВ
	INSERT INTO #ADD_TYPE (VID, IS_DOP) 	
	SELECT LEFT('P_' + LTRIM(RTRIM(CODE)),20), IS_DOP
	FROM dbo.VACATION_VID 
	WHERE	IS_DOP IS NOT NULL
			AND 
			NOT EXISTS (SELECT * FROM #ADD_TYPE WHERE VID = LEFT('P_' + LTRIM(RTRIM(CODE)),20))

	--Периоды работы на должности c параметрами для персучета
	INSERT INTO 
		#PERIODY (link_face, LINK_KATEG, date1, date2, [type], NUM_STAKE)
	SELECT DISTINCT 
		link_face = E.PERS_LINK, S.LINK_KATEG,
		date1 = CASE WHEN S.DATE_BEG < (case when st.DATE_BEGIN >= @PeriodBegin then st.DATE_BEGIN else @PeriodBegin end)
					THEN (case when st.DATE_BEGIN >= @PeriodBegin then st.DATE_BEGIN else @PeriodBegin end)
					ELSE S.DATE_BEG
				END,
		date2 = CASE WHEN 
						(CASE WHEN S.DATE_END > (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
							THEN (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
							ELSE S.DATE_END
						END)
							> (case when st.DATE_END <= @PeriodEnd then st.DATE_END else @PeriodEnd end)
					THEN 
						(case when st.DATE_END <= @PeriodEnd then st.DATE_END else @PeriodEnd end)
					ELSE 
						(CASE WHEN S.DATE_END > (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
							THEN (case when coalesce(U.DIS_DATE,@PeriodEnd) <= @PeriodEnd then coalesce(U.DIS_DATE,@PeriodEnd) else @PeriodEnd end)
							ELSE S.DATE_END
						END)
				END,	
		ISNULL(T.[type],0),
		ISNULL(im.NUM_STAKE,0)--, ST.*
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK	
		INNER JOIN dbo.sa_item_move im ON im.EMPL_LINK = e.link
		inner join dbo.staff_head sh on sh.link = STAFF_LINK
		inner join dbo.staff st on st.link_up = sh.link
		LEFT JOIN dbo.ITEM_DIS_FACE U on E.link = U.empl_link AND U.ACTIVE=1	
		left join #ADD_TYPE T on 
				ISNULL(st.TERR_USL_TRUD,0) = ISNULL(T.TERR_USL_TRUD,0) 
				AND ISNULL(st.TERR_RK,0) = ISNULL(T.TERR_RK,0) 
				AND ISNULL(st.OSOB_USL_TRUD,0) = ISNULL(T.OSOB_USL_TRUD,0) 
				AND ISNULL(st.COD_POS_SPISOK,0) = ISNULL(T.COD_POS_SPISOK,0) 
				AND ISNULL(st.COD_POS_SPISOK2,0) = ISNULL(T.COD_POS_SPISOK2,0) 
				AND ISNULL(st.USL_DOSROCH_PENS,0) = ISNULL(T.USL_DOSROCH_PENS,0) 
				AND ISNULL(st.STAVKA_PED_MED,0) = ISNULL(T.STAVKA_PED_MED,0) 
				AND ISNULL(st.[COD_SPO_USL_TRUD],0) = ISNULL(T.[COD_SPO_USL_TRUD],0)
	where 
		S.LINK_UP = @link
		AND
		IM.NUM_STAKE >= 1 
		AND
		IM.[STATUS] <> 2 --Совместителям доп. тариф не считаем
		AND
		im.DATE_BEGIN <= @PeriodEnd and im.DATE_END3 >= @PeriodBegin
		and 
		st.DATE_BEGIN <= @PeriodEnd and st.DATE_END >= @PeriodBegin
		AND 
		im.DATE_end3 > st.DATE_BEGIN -- AND st.DATE_END	 -- для случаев если был приказ о переводе на другую должность  
		AND
		T.[TYPE] IS NOT NULL AND T.VID = 'ADD_TYPE'
		AND
		COALESCE(U.DIS_DATE,'20990101') >= @PeriodBegin
	order by
		E.PERS_LINK


	---**************************************

	DECLARE @TMP_TYPE INT
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'TMP_TYPE')

	/*Перерыв - отпуска без кодов (для корр. льготных периодов)*/
	INSERT INTO 
		#PERIODY (link_face, LINK_KATEG, date1, date2, [type],[NOT_LGOT_EXPIR])
	Select DISTINCT 
		E.pers_link, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			THEN (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when ISNULL(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then ISNULL(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			THEN (case when ISNULL(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then ISNULL(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		ISNULL( (SELECT TOP 1 TYPE FROM #ADD_TYPE AT WHERE AT.VID = LEFT('P_' + LTRIM(RTRIM(VV.CODE)),20) AND AT.IS_DOP = VV.IS_DOP ), @TMP_TYPE),
		[NOT_LGOT_EXPIR]
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK	
		inner join dbo.item_vacation iv on E.link = iv.EMPL_LINK 
		inner join dbo.orders o on iv.order_link=o.link
		-- Только отпуск, помеченный как "Не включать в льготный стаж", 
		--Не административный (Для него свой код)
		INNER JOIN dbo.VACATION_VID VV ON VV.LINK = IV.type_link /*AND NO_SAL <> 1*/
		INNER JOIN dbo.TYP_DAYS D on VV.TYPE_LINK = D.LINK AND WORK_D <> 7 -- Не по уходу за ребенком (Для него свой код)
		left join dbo.item_vacation_break ivb on ivb.vac_link = iv.link and ISNULL(ivb.active,0) = 1
	where
		S.LINK_UP = @link
		AND 	
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		ISNULL(ISNULL(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin


	/*Перерыв - командировки без кодов (для корр. льготных периодов)*/	
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'KOMM_TYPE')
	
	INSERT INTO 
		#PERIODY (link_face, LINK_KATEG, date1, date2, [type],[NOT_LGOT_EXPIR])
	SELECT DISTINCT
		E.pers_link, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when T.date_begin >= @PeriodBegin then T.date_begin else @PeriodBegin end)
			THEN (case when T.date_begin >= @PeriodBegin then T.date_begin else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when ISNULL(ITL.NEW_DATE_END,T.date_end) <= @PeriodEnd then ISNULL(ITL.NEW_DATE_END,T.date_end) else @PeriodEnd end)
			THEN (case when ISNULL(ITL.NEW_DATE_END,T.date_end) <= @PeriodEnd then ISNULL(ITL.NEW_DATE_END,T.date_end) else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		@TMP_TYPE,
		1
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK	
		inner join dbo.item_travel T on E.link = T.EMPL_LINK
		left join dbo.ITEM_TRAVEL_LONG ITL on ITL.TRAVEL_LINK = T.LINK and ISNULL(ITL.ACTIVE,0) = 1	
	WHERE
		S.LINK_UP = @link
		AND 	
		E.DEP_LINK = @DEP_LINK
		AND 
		T.ACTIVE = 1 
		AND 
		T.DATE_BEGIN <= @PeriodEnd
		AND 
		ISNULL(ISNULL(ITL.NEW_DATE_END,T.date_end),'20990101') >= @PeriodBegin

	/*Перерыв - Больничный по Беременности и родам ДЕКРЕТ*/
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'PERIOD1')

	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, type)
	SELECT DISTINCT
		E.PERS_LINK, LINK_KATEG, 
		CASE WHEN S.DATE_BEG < (case when D.date1 >= @PeriodBegin then D.date1 else @PeriodBegin end)
			THEN (case when D.date1 >= @PeriodBegin then D.date1 else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when D.date2 <= @PeriodEnd then D.date2 else @PeriodEnd end)
			THEN (case when D.date2 <= @PeriodEnd then D.date2 else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		@TMP_TYPE
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK
		inner join dbo.SDOC_DIS D on E.LINK = D.LINK_EMPL
		INNER JOIN dbo.NETRUD N ON N.LINK = [TYPE] AND N.DEKRET = 1
	WHERE 
		S.LINK_UP = @link
		AND	
		E.DEP_LINK = @DEP_LINK
		and
		D.date1 <= @PeriodEnd
		and
		coalesce(D.date2,'20990101') >= @PeriodBegin

	/*Перерыв - Больничный ВРНЕТРУД*/
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'PERIOD3')

	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, type)
	SELECT DISTINCT
		E.PERS_LINK, LINK_KATEG, 
		CASE WHEN S.DATE_BEG < (case when D.date1 >= @PeriodBegin then D.date1 else @PeriodBegin end)
			THEN (case when D.date1 >= @PeriodBegin then D.date1 else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when D.date2 <= @PeriodEnd then D.date2 else @PeriodEnd end)
			THEN (case when D.date2 <= @PeriodEnd then D.date2 else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		@TMP_TYPE
	FROM 
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK
		inner join dbo.SDOC_DIS D on E.LINK = D.LINK_EMPL
	WHERE
		S.LINK_UP = @link
		AND	 
		E.DEP_LINK = @DEP_LINK
		and
		D.date1 <= @PeriodEnd
		and
		coalesce(D.date2,'20990101') >= @PeriodBegin
		and
		[TYPE] not in (select LINK from dbo.NETRUD where DEKRET = 1)

	/*Перерыв - Уход за ребенком до 1,5 и до 3 лет*/
	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, type,[NOT_LGOT_EXPIR])
	SELECT DISTINCT
		E.pers_link, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			THEN (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when coalesce(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then coalesce(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			THEN (case when coalesce(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then coalesce(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		(SELECT TOP 1 TYPE FROM #ADD_TYPE AT WHERE AT.VID = 'PERIOD2' AND AT.IS_DOP = LTRIM(RTRIM(ISNULL(V.IS_DOP,'ДЕТИ')))),
		[NOT_LGOT_EXPIR]
	FROM
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK 
		inner join item_vacation iv on E.link = iv.EMPL_LINK inner join orders o on iv.order_link=o.link
		INNER JOIN dbo.VACATION_VID V ON V.LINK = IV.TYPE_LINK
		INNER join dbo.TYP_DAYS D on V.TYPE_LINK = D.LINK AND  WORK_D = 7 
		--INNER JOIN (SELECT VV.LINK FROM dbo.VACATION_VID VV INNER join dbo.TYP_DAYS D on VV.TYPE_LINK = D.LINK WHERE WORK_D = 7 
			----AND ISNULL(VV.NOT_LGOT_EXPIR,0) = 0
		--	) VV ON VV.LINK = IV.TYPE_LINK
		LEFT JOIN DBO.ITEM_VACATION_BREAK IVB ON IVB.VAC_LINK = IV.LINK AND COALESCE(IVB.ACTIVE,0) = 1
	WHERE 
		S.LINK_UP = @link
		AND		
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		coalesce(coalesce(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin

/*
	/*Перерыв - Отпуск без сохранения содержания АДМИНИСТР*/
	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, type,[NOT_LGOT_EXPIR])
	Select DISTINCT
		E.pers_link, LINK_KATEG,
		CASE WHEN S.DATE_BEG < (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			THEN (case when iv.date_begin >= @PeriodBegin then iv.date_begin else @PeriodBegin end)
			ELSE S.DATE_BEG
		END,
		CASE WHEN S.DATE_END > (case when coalesce(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then coalesce(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			THEN (case when coalesce(ivb.DATE_BREAK,iv.date_end) <= @PeriodEnd then coalesce(ivb.DATE_BREAK,iv.date_end) else @PeriodEnd end)
			ELSE S.DATE_END
		END,
		(SELECT TOP 1 TYPE FROM #ADD_TYPE AT WHERE AT.VID = 'PERIOD4' AND AT.IS_DOP = LTRIM(RTRIM(ISNULL(VV.IS_DOP,'АДМИНИСТР')))),
		[NOT_LGOT_EXPIR]
	FROM
		#PERSON P
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = P.LINK
		INNER JOIN dbo.empl e on S.LINK_PERS = E.PERS_LINK  
		inner join item_vacation iv on E.link = iv.EMPL_LINK inner join orders o on iv.order_link=o.link
		INNER JOIN dbo.VACATION_VID VV ON VV.LINK = IV.type_link AND VV.NO_SAL = 1
		left join dbo.item_vacation_break ivb on ivb.vac_link = iv.link and coalesce(ivb.active,0) = 1
	WHERE
		S.LINK_UP = @link
		AND		 	
		E.DEP_LINK = @DEP_LINK
		and
		iv.active = 1 
		and
		iv.date_begin <= @PeriodEnd
		and
		coalesce(coalesce(ivb.DATE_BREAK,iv.date_end),'20990101') >= @PeriodBegin
*/


	--------------------------------------------------------------------------
	-- 2. Выстроим последовательность периодов с учетом их пересечений и приоритетов по полю type.
	--- Предполагается, что на первом шаге однотипные периоды уже нормализованы, т.е. следующие подряд и вложенные объединены
	CREATE TABLE #PERIODY3 (link int identity(1,1), link_face int, LINK_KATEG INT, date1 datetime, date2 datetime, [type] INT, orders int, i int, NUM_STAKE NUMERIC(5,2), TYPE_ADD INT)

	--Все промежутки заполняются типом -1  т.е. несуществующими днями
	INSERT INTO #PERIODY (link_face, LINK_KATEG, date1, date2, [type])
	SELECT DISTINCT link_face, LINK_KATEG, @PeriodBegin, @PeriodEnd, [type] = -1  FROM #PERIODY



	CREATE TABLE #DAYS (ID INT IDENTITY(1,1), LINK_FACE INT, LINK_KATEG INT, [DATE] DATETIME, [TYPE] INT, NUM INT, NUM_STAKE NUMERIC(5,2), [TYPE_ADD] INT)

	INSERT INTO #DAYS (LINK_FACE, LINK_KATEG, [DATE], [TYPE], NUM, NUM_STAKE, [TYPE_ADD])
	SELECT P.LINK_FACE, P.LINK_KATEG, [DATE], [TYPE] = MAX([TYPE]), 0, 
		NUM_STAKE = MAX(ISNULL(NUM_STAKE,0)), 
		[TYPE_ADD] = MAX(CASE WHEN [TYPE] <= @MAX_TYPE THEN [TYPE] ELSE 0 END)
	FROM 
		#PERIODY P
		INNER JOIN dbo.days_ex(@PeriodBegin, @PeriodEnd) D ON 1=1
	WHERE
		D.[DATE] BETWEEN P.DATE1 AND P.DATE2
	GROUP BY
		P.LINK_FACE, P.LINK_KATEG, [date]
	ORDER BY	
		P.LINK_FACE, P.LINK_KATEG, [date]


	--Убрать льготы для периодов, в которых не сохраняются льготы
	UPDATE #DAYS SET [TYPE_ADD] = 0 
	WHERE 
		EXISTS (SELECT * FROM #PERIODY WHERE 
			#PERIODY.[NOT_LGOT_EXPIR] = 1
			AND #PERIODY.link_face = #DAYS.link_face
			AND #DAYS.[DATE] BETWEEN #PERIODY.DATE1 AND #PERIODY.DATE2)


	--Пронумеровать группы
	DECLARE 
		@ID INT, @ID1 INT, @ID2 INT, @LINK_FACE INT, @DATE datetime, @LINK_KATEG INT, @TYPE INT, @NUM INT, @TYPE_ADD INT,
		@LINK_FACE1 INT, @LINK_KATEG1 INT, @TYPE1 INT,@TYPE_ADD1 INT,@DATE1 datetime

	--Убрать временные периоды, которые заводились для корректировки льготных периодов

------------------  если у сотрудника отпук а сотрудник все это время с дополнительными льготами
-------- период стажевый разделяется на несколько частей (работа - отпуск ежегодный -работа ) , включая отпуск  ... отпуск включать не нужно  
-------- расстановка типов #ADD_TYPE для временных периодов 

----
	SET @TMP_TYPE = (SELECT TOP 1 TYPE FROM #ADD_TYPE WHERE VID = 'TMP_TYPE')
----


	CREATE table #TDays(link_face int, id int,  date DATETIME ,LINK_KATEG int , [TYPE] INT, [TYPE_ADD] INT)
	INSERT INTO #TDays (link_face , id ,   date,LINK_KATEG, [TYPE], [TYPE_ADD])
	SELECT d.link_face,
		   d.id,
		   d.date,
		   d.LINK_KATEG,
		   d.[TYPE],
		   d.[TYPE_ADD]
	FROM #DAYS  d	WHERE d.[type] = @TMP_TYPE AND d.[TYPE_ADD] <> 0
	ORDER BY d.link_face, d.ID ,d.[date], d.[TYPE] ,d.[TYPE_ADD]	 


	DECLARE @Cur0 CURSOR , @F_TYPE int, @F_TYPE_ADD int
	SET @Cur0 = CURSOR FORWARD_ONLY
	FOR SELECT ID, LINK_FACE,[date],LINK_KATEG, [TYPE],  TYPE_ADD from  #TDays order by ID, LINK_FACE, [DATE]
	OPEN @Cur0
	FETCH NEXT FROM @Cur0 INTO @ID, @LINK_FACE,@DATE, @LINK_KATEG, @TYPE, @type_add 
	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
				

			SELECT DISTINCT @F_TYPE =[TYPE], @F_TYPE_ADD = [type_add]  
			FROM #DAYS WHERE LINK_FACE = @LINK_FACE AND LINK_KATEG = @LINK_KATEG AND [DATE] = @DATE-1 
			

			UPDATE d
			SET [TYPE] = @F_TYPE ,[type_add] = @F_TYPE_ADD 
			FROM #DAYS d
			WHERE d.ID = @ID AND d.LINK_FACE = @LINK_FACE AND d.[DATE] = @DATE  and d.LINK_KATEG=@LINK_KATEG AND d.[TYPE] = @TMP_TYPE
			
			
			UPDATE td
			SET [TYPE] = @F_TYPE ,[type_add] = @F_TYPE_ADD 
			FROM #TDays td
			WHERE ID = @ID AND LINK_FACE = @LINK_FACE AND [date] = @DATE and LINK_KATEG = @LINK_KATEG AND [TYPE]= @TYPE and type_add = @type_add 
			

		END

		FETCH NEXT FROM @Cur0 INTO @ID, @LINK_FACE,@DATE, @LINK_KATEG, @TYPE, @type_add 
	END

	CLOSE @Cur0
	DEALLOCATE @Cur0
	--
	/*		---------
				UPDATE #DAYS SET [type] = 0 WHERE [type] = @TMP_TYPE
			---------*/


		DROP TABLE #TDays 
-------------

---------------------------------------------------------------------------------
	--	
	SELECT TOP 1 @ID1 = 0, @ID2 = 0, @NUM = 0, @LINK_FACE1 = LINK_FACE, @LINK_KATEG1 =LINK_KATEG, @TYPE1 = [TYPE]
	FROM #DAYS
	order by ID
	--
	DECLARE @Cur1 CURSOR
	SET @Cur1 = CURSOR FORWARD_ONLY
	FOR SELECT ID, LINK_FACE, LINK_KATEG, [TYPE] from #DAYS order by ID
	OPEN @Cur1
	FETCH NEXT FROM @Cur1 INTO @ID, @LINK_FACE, @LINK_KATEG, @TYPE
	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN

			IF NOT (@LINK_FACE = @LINK_FACE1 AND @LINK_KATEG = @LINK_KATEG1 AND @TYPE = @TYPE1)
			BEGIN
				
				SELECT @NUM = @NUM + 1, @LINK_FACE1 = @LINK_FACE, @LINK_KATEG1 = @LINK_KATEG, @TYPE1 = @TYPE
				UPDATE #DAYS SET NUM = @NUM WHERE ID BETWEEN @ID1 AND @ID-1
				SELECT @ID1 = @ID 

			END

		END

		FETCH NEXT FROM @Cur1 INTO @ID, @LINK_FACE, @LINK_KATEG, @TYPE
	END

	CLOSE @Cur1
	DEALLOCATE @Cur1
	--
	UPDATE #DAYS SET NUM = @NUM+1 WHERE ID >= @ID1

	--


	INSERT INTO #PERIODY3 (link_face, LINK_KATEG, date1, date2, [type], orders, i, NUM_STAKE, TYPE_ADD)
	SELECT LINK_FACE, LINK_KATEG, DATE_BEG =  MIN([DATE]), DATE_END = MAX([DATE]), [TYPE], 0, 0, NUM_STAKE = MAX(ISNULL(NUM_STAKE,0)), TYPE_ADD
	FROM #DAYS	
	GROUP BY LINK_FACE, LINK_KATEG, NUM, [TYPE], TYPE_ADD
	ORDER BY LINK_FACE, LINK_KATEG, DATE_BEG, DATE_END

	--Удаляем временные промежутки
	DELETE FROM #PERIODY3 WHERE [TYPE] = -1

	/*пронумеруем периоды*/
	DECLARE @uslovie INT
	set @uslovie = 1
	while @uslovie > 0
	begin
		update #PERIODY3 set orders = @uslovie 
		from #PERIODY3 as tt
		where 	coalesce(orders,0) = 0
			and date1 = (select min(t.date1) from #PERIODY3 t where coalesce(orders,0) = 0 and t.link_face = tt.link_face AND T.LINK_KATEG = TT.LINK_KATEG)

		if @@rowcount > 0
			set @uslovie = @uslovie + 1
		else
			set @uslovie = 0
	END

	--СТАЖ ПО ТРУДОВОМУ ДОГОВРУ
	insert into dbo.SZV4_STAZH (link_up, orders, date1, date2, ter_usl, ter_koef, osob_usl, osob_k1, osob_k2, osob_k3, is_osnov, is_dop, is_dop_m, is_dop_d, ud_osnov, ud_dop_m, ud_dop_d, ud_dop_k, osob_spo)
	Select S.link, P.orders, P.date1, P.date2, 
		ter_usl = ISNULL(spr1.CODE,spr1A.CODE),
		ter_koef = ISNULL(T.TERR_RK,TA.TERR_RK),
		osob_usl = ISNULL(spr2.CODE,spr2A.CODE),
		osob_k1 = ISNULL(spr6.CODE,spr6A.CODE),
		osob_k2 = ISNULL(spr7.CODE,spr7A.CODE),
		osob_k3 = NULL,
		is_osnov = NULL, 
		is_dop = LTRIM(RTRIM(ISNULL(T.IS_DOP,TA.IS_DOP))),
		is_dop_m = NULL, 
		is_dop_d = NULL, 
		ud_osnov = ISNULL(spr5.CODE,spr5A.CODE), 
		ud_dop_m = NULL, 
		ud_dop_d = NULL, 
		ud_dop_k = ISNULL(T.STAVKA_PED_MED,TA.STAVKA_PED_MED) * P.NUM_STAKE,
		osob_spo = ISNULL(spr9.CODE,spr9A.CODE)
	from
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		inner join #PERIODY3 P on S.link_pers = P.link_face AND S.LINK_KATEG = P.LINK_KATEG
		
		LEFT JOIN #ADD_TYPE T ON P.[TYPE] = T.[TYPE]
		LEFT JOIN dbo.szv4_spr spr1 on spr1.spr_code = 'TERR_USL' and spr1.LINK = T.TERR_USL_TRUD
		LEFT JOIN dbo.szv4_spr spr2 on spr2.spr_code = 'OSOB_USL_TRUDA' and spr2.LINK = T.OSOB_USL_TRUD
		--left join dbo.szv4_spr spr3 on spr3.spr_code = 'ISCHISL_STAZH_OSNOV' and spr3.code = T.is_osnov
		--left join dbo.szv4_spr spr4 on spr4.spr_code = 'ISCHISL_STAZH_DOP_SV' and spr4.code = T.is_dop
		left join dbo.szv4_spr spr5 on spr5.spr_code = 'DOSR_NAZN_PEN_OSNOV' and spr5.LINK = T.USL_DOSROCH_PENS
		left join dbo.szv4_spr spr6 on spr6.SPR_CODE LIKE 'SPISOK%' and spr6.LINK = T.COD_POS_SPISOK
		left join dbo.szv4_spr spr7 on spr7.SPR_CODE LIKE 'SPISOK%' and spr7.LINK = T.COD_POS_SPISOK2
		--left join dbo.szv4_spr spr8 on spr8.spr_code = 'LGOT_PROFES' and spr8.code = T.osob_k3
		left join dbo.szv4_spr spr9 on spr9.SPR_CODE LIKE 'SPO_USL_TRUDA' and spr9.LINK = T.[COD_SPO_USL_TRUD]

		LEFT JOIN #ADD_TYPE TA ON P.[TYPE_ADD] = TA.[TYPE] AND P.[TYPE_ADD] <> P.[TYPE]
		LEFT JOIN dbo.szv4_spr spr1A on spr1A.spr_code = 'TERR_USL' and spr1A.LINK = TA.TERR_USL_TRUD
		LEFT JOIN dbo.szv4_spr spr2A on spr2A.spr_code = 'OSOB_USL_TRUDA' and spr2A.LINK = TA.OSOB_USL_TRUD
		--left join dbo.szv4_spr spr3 on spr3.spr_code = 'ISCHISL_STAZH_OSNOV' and spr3.code = T.is_osnov
		--left join dbo.szv4_spr spr4 on spr4.spr_code = 'ISCHISL_STAZH_DOP_SV' and spr4.code = T.is_dop
		left join dbo.szv4_spr spr5A on spr5A.spr_code = 'DOSR_NAZN_PEN_OSNOV' and spr5A.LINK = TA.USL_DOSROCH_PENS
		left join dbo.szv4_spr spr6A on spr6A.SPR_CODE LIKE 'SPISOK%' and spr6A.LINK = TA.COD_POS_SPISOK
		left join dbo.szv4_spr spr7A on spr7A.SPR_CODE LIKE 'SPISOK%' and spr7A.LINK = TA.COD_POS_SPISOK2
		--left join dbo.szv4_spr spr8 on spr8.spr_code = 'LGOT_PROFES' and spr8.code = T.osob_k3	
		left join dbo.szv4_spr spr9A on spr9A.SPR_CODE LIKE 'SPO_USL_TRUDA' and spr9A.LINK = TA.[COD_SPO_USL_TRUD]
	where
		S.link_up = @link
		AND
		S.FORMA = 1
	order by
		S.link, P.orders


	--СТАХ ПО ГПХ
	CREATE TABLE #STAGE_DOG (
		LINK_PERS INT, 
		KATEG TINYINT,
		BERIOD_BEG DATETIME,
		BERIOD_END DATETIME
		)

	INSERT INTO #STAGE_DOG (LINK_PERS, KATEG, BERIOD_BEG, BERIOD_END)
	SELECT LINK_FACE, LINK_KATEG, MIN(date1), MAX(date2) 
	FROM #DGH A
	GROUP BY LINK_FACE, LINK_KATEG

	insert into dbo.SZV4_STAZH (link_up, orders, date1, date2)
	Select S.link, 1, P.BERIOD_BEG, P.BERIOD_END
	from
		#PERSON B 
		INNER JOIN dbo.SZV4_SVEDENIA S ON S.LINK_PERS = B.LINK
		INNER JOIN #STAGE_DOG P on S.link_pers = P.LINK_PERS AND S.LINK_KATEG = P.KATEG
	where
		S.link_up = @link
		AND
		S.FORMA = 2
	order by
		S.link
		
	END


--------------------------------------------------------------------------
/* не должно быть физлиц, по которым в данном периоде нет сумм и сведений о стаже 
C 14 ГОДА распределять уплату не нужно
*/	
DELETE FROM dbo.SZV4_SVEDENIA
WHERE 
LINK_UP = @link
AND
EXISTS (		
	Select  1
	from dbo.sa_szv4_svedenia S inner join  dbo.szv4_pachka p on p.link = s.link
	WHERE 
		S.LINK1 = dbo.SZV4_SVEDENIA.LINK
		AND s.sum_doh = 0 AND s.INSUR = 0 AND s.GAIN = 0 AND s.DOP = 0 and s.sum_uplata_dolga_str = 0 and s.sum_uplata_dolga_nak = 0
				 AND S.INCOME_M1 = 0 AND S.INCOME_M2 = 0 AND S.INCOME_M3 = 0 
		and p.vid_kor != 3
		AND NOT EXISTS (SELECT * FROM dbo.SZV4_STAZH ST WHERE ST.LINK_UP = S.LINK1)
)



--------------------------------------------------------------------------
exec dbo.SZV4_NUMERATOR @link



GO


GRANT EXECUTE ON dbo.[SA_SZV4_PACHKA_CALC_Buffer_2015_6] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SS_PROV_EXPORT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SS_PROV_EXPORT]

GO

CREATE PROCEDURE [dbo].SS_PROV_EXPORT(
@buffer varchar(20) /*Ссылка на расчет*/
) AS


CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT ON

CREATE TABLE #DOC(LINK INT)


INSERT INTO #DOC (LINK)
SELECT LINK FROM dbo.BUFFER WITH (NOLOCK) WHERE ID = @BUFFER AND SID = SUSER_SID()


--ЗАПИСИ по проводкам

CREATE TABLE #PROV_DOC (	
GP_LINK INT ,
GP_GUID UNIQUEIDENTIFIER,
GP_NUMBER VARCHAR (25),
GP_DATE DATETIME,
GP_OBJ INT,
GP_OBJ_CODE CHAR(30), 
GP_OBJ_NAME VARCHAR(254),
GP_DATE_PROV DATETIME,
GP_SUMMA NUMERIC(19,2),
GP_COMMENT VARCHAR(254),
GP_GET_STORE TINYINT,
GP_DEP INT,
GP_ACC INT,
GP_ACC_CODE VARCHAR(20),
GP_ACC_TYPE TINYINT, 

GP1_LINK INT,
GP1_LINK_UP INT,
GP1_OPER INT,
GP1_NAME_OPER VARCHAR(250),
GP1_ORDERS INT,

GP2_LINK INT,
GP2_LINK_UP INT,
GP2_SUMMA NUMERIC (19,2) ,
GP2_QUANTITY NUMERIC (19,4) ,
GP2_STORNO TINYINT,
GP2_LINK_SELF INT,
GP2_NAME VARCHAR(254),
GP2_ORDERS SMALLINT,
GP2_EC_OPER INT,
GP2_EC_OPER_CODE CHAR(5),
GP2_EC_OPER_NAME VARCHAR(254),


GPAP_D_LINK_UP INT,
GPAP_D_DB_KR TINYINT,
GPAP_D_ACC INT,
GPAP_D_KBK INT,
GPAP_D_EKR INT,
GPAP_D_DEP INT,
GPAP_D_SUB INT,
GPAP_D_EMP INT,
GPAP_D_NOMEN INT,
GPAP_D_INV INT,
GPAP_D_KAU INT,
GPAP_D_DEP_ACC INT,
GPAP_D_TMC INT,
GPAP_D_INDATE DATETIME,
GPAP_D_SGU INT,
GPAP_D_DOP INT,
GPAP_D_AP1 INT,
GPAP_D_AP2 INT,
GPAP_D_AP3 INT,


GPAP_K_LINK_UP INT,
GPAP_K_DB_KR INT,
GPAP_K_ACC INT,
GPAP_K_KBK INT,
GPAP_K_EKR INT,
GPAP_K_DEP INT, 
GPAP_K_SUB INT,
GPAP_K_EMP INT,
GPAP_K_NOMEN INT,
GPAP_K_INV INT,
GPAP_K_KAU INT,
GPAP_K_DEP_ACC INT,
GPAP_K_TMC INT,
GPAP_K_INDATE DATETIME,
GPAP_K_SGU INT,
GPAP_K_DOP INT,
GPAP_K_AP1 INT,
GPAP_K_AP2 INT,
GPAP_K_AP3 INT)





CREATE TABLE #DEP_INFO (
	DEP_LINK INT,
	DEP_CODE VARCHAR(10),
	DEP_NAME varchar(256),
	DEP_FNAME varchar(256),
	INN VARCHAR(12),
	KPP VARCHAR(9))


CREATE TABLE #G_PROV_AP_FULL	( GP_LINK INT,
	GPAP_D_LINK_UP INT,
	GPAP_D_DB_KR TINYINT,
	GPAP_D_ACC INT,
	GPAP_D_name VARCHAR(150),
	GPAP_D_CODE VARCHAR(13),
	GPAP_D_cSource VARCHAR(1),
	GPAP_D_cSinth VARCHAR(3),
	GPAP_D_cAnalit VARCHAR(2),
	
	GPAP_D_KBK INT,
	GPAP_D_KBK_type TINYINT,GPAP_D_KBK_code CHAR(30),GPAP_D_KBK_NAME VARCHAR(250),
	
	GPAP_D_EKR INT,
	GPAP_D_EKR_code CHAR(3),	GPAP_D_EKR_NAME VARCHAR(250), GPAP_D_EKR_ls_ekr TINYINT,

	GPAP_D_DEP INT,
	GPAP_D_DEP_CODE VARCHAR(10),
	GPAP_D_DEP_NAME varchar(256),
	GPAP_D_DEP_FNAME varchar(256),
	GPAP_D_DEP_INN VARCHAR(12),
	GPAP_D_DEP_KPP VARCHAR(9),
	
	GPAP_D_SUB INT,
	GPAP_D_SUB_code VARCHAR(5), 
	GPAP_D_SUB_NAME VARCHAR(254), 
	GPAP_D_SUB_lim int , 
	GPAP_D_SUB_obosob TINYINT, 
	GPAP_D_SUB_okato VARCHAR(14), 
	GPAP_D_SUB_okpp VARCHAR(9), 
	GPAP_D_SUB_oktmo  VARCHAR(11),
	
	GPAP_D_EMP INT,
	GPAP_D_EMP_tab VARCHAR(10), 
	GPAP_D_EMP_fm VARCHAR(100), 
	GPAP_D_EMP_im VARCHAR(100), 
	GPAP_D_EMP_ot VARCHAR(100), 
	GPAP_D_EMP_FIO VARCHAR(105), 
	GPAP_D_EMP_INSUR_NUM VARCHAR(14), 
	GPAP_D_EMP_INN VARCHAR(12), 
	GPAP_D_EMP_date_begin datetime, 
	GPAP_D_EMP_date_end DATETIME, 
	
	GPAP_D_NOMEN INT,
	GPAP_D_NOMEN_CODE VARCHAR(20),GPAP_D_NOMEN_NAME VARCHAR(254),
	
	GPAP_D_INV INT,
	GPAP_D_INV_code VARCHAR(20),	GPAP_D_INV_NAME VARCHAR(254),
	
	GPAP_D_KAU INT,
	GPAP_D_KAU_code VARCHAR(20), GPAP_D_KAU_name VARCHAR(100), GPAP_D_KAU_thema VARCHAR(50),
	
	GPAP_D_DEP_ACC INT,
	GPAP_D_DEP_ACC_code VARCHAR(20), GPAP_D_DEP_ACC_TYPE TINYINT,
	
	GPAP_D_TMC INT,
	GPAP_D_TMC_NAME VARCHAR(254),GPAP_D_TMC_code VARCHAR(20) ,
	
	GPAP_D_INDATE DATETIME,
	GPAP_D_SGU INT,
	GPAP_D_SGU_code CHAR(3) , GPAP_D_SGU_NAME VARCHAR(250), GPAP_D_SGU_ls_ekr tinyint , 
	
	GPAP_D_AP1 INT,
	GPAP_D_AP1_TYPE_LINK int , GPAP_D_AP1_doc_link  INT , GPAP_D_AP1_NUMBER VARCHAR (25), GPAP_D_AP1_DATE DATETIME, GPAP_D_AP1_CODE CHAR(30), GPAP_D_AP1_NAME VARCHAR(254),
					GPAP_D_AP1_DATE_PROV DATETIME, GPAP_D_AP1_SUMMA NUMERIC(19,2),
	
	GPAP_D_AP2 INT,
	GPAP_D_AP2_code VARCHAR(20), GPAP_D_AP2_NAME VARCHAR(150),
	GPAP_D_AP3 INT,


	GPAP_K_LINK_UP INT,
	GPAP_K_DB_KR TINYINT,
	GPAP_K_ACC INT,
	GPAP_K_name VARCHAR(150),
	GPAP_K_CODE VARCHAR(13),
	GPAP_K_cSource VARCHAR(1),
	GPAP_K_cSinth VARCHAR(3),
	GPAP_K_cAnalit VARCHAR(2),
	
	GPAP_K_KBK INT,
	GPAP_K_KBK_type TINYINT,GPAP_K_KBK_code CHAR(30),GPAP_K_KBK_NAME VARCHAR(250),
	
	GPAP_K_EKR INT,
	GPAP_K_EKR_code CHAR(3),	GPAP_K_EKR_NAME VARCHAR(250), GPAP_K_EKR_ls_ekr TINYINT,

	GPAP_K_DEP INT,
	GPAP_K_DEP_CODE VARCHAR(10),
	GPAP_K_DEP_NAME varchar(256),
	GPAP_K_DEP_FNAME varchar(256),
	GPAP_K_DEP_INN VARCHAR(12),
	GPAP_K_DEP_KPP VARCHAR(9),
	
	GPAP_K_SUB INT,
	GPAP_K_SUB_code VARCHAR(5), 
	GPAP_K_SUB_NAME VARCHAR(254), 
	GPAP_K_SUB_lim int , 
	GPAP_K_SUB_obosob TINYINT, 
	GPAP_K_SUB_okato VARCHAR(14), 
	GPAP_K_SUB_okpp VARCHAR(9), 
	GPAP_K_SUB_oktmo  VARCHAR(11),
	
	GPAP_K_EMP INT,
	GPAP_K_EMP_tab VARCHAR(10), 
	GPAP_K_EMP_fm VARCHAR(100), 
	GPAP_K_EMP_im VARCHAR(100), 
	GPAP_K_EMP_ot VARCHAR(100), 
	GPAP_K_EMP_FIO VARCHAR(105), 
	GPAP_K_EMP_INSUR_NUM VARCHAR(14), 
	GPAP_K_EMP_INN VARCHAR(12), 
	GPAP_K_EMP_date_begin datetime, 
	GPAP_K_EMP_date_end DATETIME, 
	
	GPAP_K_NOMEN INT,
	GPAP_K_NOMEN_CODE VARCHAR(20),GPAP_K_NOMEN_NAME VARCHAR(254),
	
	GPAP_K_INV INT,
	GPAP_K_INV_code VARCHAR(20),	GPAP_K_INV_NAME VARCHAR(254),
	
	GPAP_K_KAU INT,
	GPAP_K_KAU_code VARCHAR(20), GPAP_K_KAU_name VARCHAR(100), GPAP_K_KAU_thema VARCHAR(50),
	
	GPAP_K_DEP_ACC INT,
	GPAP_K_DEP_ACC_code VARCHAR(20), GPAP_K_DEP_ACC_TYPE TINYINT,
	
	GPAP_K_TMC INT,
	GPAP_K_TMC_NAME VARCHAR(254), GPAP_K_TMC_code VARCHAR(20) ,
	
	GPAP_K_INDATE DATETIME,
	GPAP_K_SGU INT,
	GPAP_K_SGU_code CHAR(3) , GPAP_K_SGU_NAME VARCHAR(250), GPAP_K_SGU_ls_ekr tinyint , 
	
	GPAP_K_AP1 INT,
	GPAP_K_AP1_TYPE_LINK int , GPAP_K_AP1_doc_link int  , GPAP_K_AP1_NUMBER VARCHAR (25), GPAP_K_AP1_DATE DATETIME, GPAP_K_AP1_CODE CHAR(30), GPAP_K_AP1_NAME VARCHAR(254),
	GPAP_K_AP1_DATE_PROV DATETIME, GPAP_K_AP1_SUMMA NUMERIC(19,2),
	
	GPAP_K_AP2 INT,
	GPAP_K_AP2_code VARCHAR(20), GPAP_K_AP2_NAME VARCHAR(150),
	GPAP_K_AP3 INT) 



	
INSERT into #PROV_DOC ( GP_LINK,GP_GUID,GP_NUMBER,GP_DATE,GP_OBJ,
								GP_OBJ_CODE,GP_OBJ_NAME,
						GP_DATE_PROV,GP_SUMMA,
						GP_COMMENT,GP_GET_STORE,GP_DEP,GP_ACC,
						GP_ACC_CODE, GP_ACC_TYPE,
						GP1_LINK,GP1_LINK_UP,GP1_OPER,GP1_NAME_OPER,GP1_ORDERS,
						GP2_LINK,GP2_LINK_UP,GP2_SUMMA,GP2_QUANTITY,GP2_STORNO,GP2_LINK_SELF,GP2_NAME,GP2_ORDERS,GP2_EC_OPER,
								GP2_EC_OPER_CODE,GP2_EC_OPER_NAME,
						GPAP_D_LINK_UP,GPAP_D_DB_KR,GPAP_D_ACC,GPAP_D_KBK,GPAP_D_EKR,GPAP_D_DEP,GPAP_D_SUB,GPAP_D_EMP,GPAP_D_NOMEN,
						GPAP_D_INV,GPAP_D_KAU,GPAP_D_DEP_ACC, GPAP_D_TMC,GPAP_D_INDATE,GPAP_D_SGU,GPAP_D_AP1,GPAP_D_AP2,GPAP_D_AP3,
						GPAP_K_LINK_UP,GPAP_K_DB_KR,GPAP_K_ACC,GPAP_K_KBK,GPAP_K_EKR,GPAP_K_DEP,GPAP_K_SUB,GPAP_K_EMP,GPAP_K_NOMEN,
						GPAP_K_INV,GPAP_K_KAU,GPAP_K_DEP_ACC,GPAP_K_TMC,GPAP_K_INDATE,GPAP_K_SGU,GPAP_K_AP1,GPAP_K_AP2,GPAP_K_AP3)

SELECT  G.LINK,G.[GUID],G.NUMBER,G.[DATE],G.[OBJECT],
		G.S_OBJECTS_CODE,G.S_OBJECTS_NAME,
	    G.DATE_PROV,G.SUMMA,G.COMMENT,G.GET_STORE,G.DEP,G.ACC,
		G.department_accounts_CODE,G.DEPARTMENT_ACCOUNTS_TYPE,
		G1.LINK,G1.LINK_UP,G1.OPER,G1.NAME_OPER,G1.ORDERS,
		G2.LINK,G2.LINK_UP,G2.SUMMA,G2.QUANTITY,G2.STORNO,
		G2.LINK_SELF,G2.NAME,G2.ORDERS,
		G2.ECON_OPER,G2.XOZ_OPER_CODE,G2.XOZ_OPER_NAME,
		GAP1.LINK_UP,GAP1.DB_KR,GAP1.ACCOUNT,GAP1.KBK,GAP1.EKR,GAP1.DEP,GAP1.SUB,GAP1.EMP,GAP1.NOMEN,
		GAP1.INV,GAP1.KAU,GAP1.DEP_ACC, GAP1.TMC,GAP1.INDATE,GAP1.SGU/*,GAP1.DOP*/,GAP1.AP1,GAP1.AP2,GAP1.AP3,
		GAP2.LINK_UP,GAP2.DB_KR,GAP2.ACCOUNT,GAP2.KBK,GAP2.EKR,GAP2.DEP,GAP2.SUB,GAP2.EMP,GAP2.NOMEN,
		GAP2.INV,GAP2.KAU,GAP2.DEP_ACC,GAP2.TMC,GAP2.INDATE,GAP2.SGU/*,GAP2.DOP*/,GAP2.AP1,GAP2.AP2,GAP2.AP3
FROM
	(select GG.LINK, gg.[GUID],GG.NUMBER,GG.[DATE],GG.[OBJECT],
			S_OBJECTS_CODE = S.CODE,S_OBJECTS_NAME = S.NAME, 
			GG.DATE_PROV,GG.SUMMA, GG.COMMENT,
			GG.GET_STORE,GG.DEP,GG.ACC,	
			department_accounts_CODE = da.CODE, 
			DEPARTMENT_ACCOUNTS_TYPE = DA.[TYPE] 
	from dbo.G_PROV GG 
	INNER JOIN  s_objects s ON s.LINK = GG.[OBJECT] AND s.CODE = 'DOCUMENTS_SALARY'     
	LEFT JOIN DEPARTMENT_ACCOUNTS da ON da.LINK = GG.ACC) G
INNER JOIN (SELECT GG1.LINK,GG1.LINK_UP,GG1.OPER,
					   G_PROV1_NAME_OPER = GGG1.NAME_OPER,
					   GG1.NAME_OPER,GG1.ORDERS 
				from dbo.G_PROV1 gg1 
				LEFT JOIN dbo.G_PROV1 ggg1 ON ggg1.LINK = gg1.OPER ) G1  ON G1.LINK_UP = G.LINK
INNER JOIN (SELECT 	GG2.LINK,GG2.LINK_UP,
					GG2.SUMMA,GG2.QUANTITY,
					GG2.STORNO,GG2.LINK_SELF,
					G_PROV2_NAME = GGG2.NAME, 
					GG2.NAME,GG2.ORDERS,GG2.ECON_OPER,
					XOZ_OPER_CODE = xog.CODE+'.'+ xo.CODE ,XOZ_OPER_NAME = XO.NAME
	            from dbo.G_PROV2 GG2 
	            INNER JOIN XOZ_OPER xo ON xo.LINK = GG2.ECON_OPER
	            INNER JOIN xoz_oper_group xog ON xog.LINK = xo.GROUP_LINK
				LEFT JOIN dbo.G_PROV2 GGG2 ON GGG2.LINK = GG2.LINK_SELF ) G2 ON G2.LINK_UP = G1.LINK
INNER JOIN dbo.G_PROV_AP GAP1 ON GAP1.LINK_UP = G2.LINK
INNER JOIN dbo.G_PROV_AP GAP2 ON GAP2.LINK_UP = G2.LINK
WHERE
	GAP1.DB_KR = 0
	AND
	GAP2.DB_KR = 1
	AND
	G2.LINK IN ( SELECT link FROM #DOC )




INSERT #DEP_INFO ( DEP_LINK, DEP_CODE, DEP_NAME, DEP_FNAME, INN, KPP)
SELECT DISTINCT link , code , NAME , FULL_name , inn , kpp
FROM  #PROV_DOC g  
	INNER JOIN departments d ON g.GP_DEP = d.link
	


INSERT INTO #G_PROV_AP_FULL	(  GP_LINK,
	GPAP_D_LINK_UP,
	GPAP_D_DB_KR,
	GPAP_D_ACC,
	GPAP_D_name,
	GPAP_D_CODE,
	GPAP_D_cSource,
	GPAP_D_cSinth,
	GPAP_D_cAnalit,
	
	GPAP_D_KBK,
	GPAP_D_KBK_type,GPAP_D_KBK_code,GPAP_D_KBK_NAME,
	
	GPAP_D_EKR, 
	GPAP_D_EKR_code,GPAP_D_EKR_NAME, GPAP_D_EKR_ls_ekr,

	GPAP_D_DEP,
	GPAP_D_DEP_CODE,
	GPAP_D_DEP_NAME,
	GPAP_D_DEP_FNAME,
	GPAP_D_DEP_INN,
	GPAP_D_DEP_KPP,
	
	GPAP_D_SUB,
	GPAP_D_SUB_code, 
	GPAP_D_SUB_NAME, 
	GPAP_D_SUB_lim, 
	GPAP_D_SUB_obosob, 
	GPAP_D_SUB_okato, 
	GPAP_D_SUB_okpp, 
	GPAP_D_SUB_oktmo,
	
	GPAP_D_EMP,
	GPAP_D_EMP_tab, 
	GPAP_D_EMP_fm, 
	GPAP_D_EMP_im, 
	GPAP_D_EMP_ot, 
	GPAP_D_EMP_FIO, 
	GPAP_D_EMP_INSUR_NUM, 
	GPAP_D_EMP_INN, 
	GPAP_D_EMP_date_begin, 
	GPAP_D_EMP_date_end, 
	
	GPAP_D_NOMEN,
	GPAP_D_NOMEN_CODE,GPAP_D_NOMEN_NAME,
	
	GPAP_D_INV,
	GPAP_D_INV_code,	GPAP_D_INV_NAME,
	
	GPAP_D_KAU,
	GPAP_D_KAU_code, GPAP_D_KAU_name, GPAP_D_KAU_thema,
	
	GPAP_D_DEP_ACC,
	GPAP_D_DEP_ACC_code, GPAP_D_DEP_ACC_TYPE,
	
	GPAP_D_TMC,
	GPAP_D_TMC_NAME, GPAP_D_TMC_code,
	
	GPAP_D_INDATE,
	GPAP_D_SGU,
	GPAP_D_SGU_code, GPAP_D_SGU_NAME, GPAP_D_SGU_ls_ekr, 
	
	GPAP_D_AP1,
	GPAP_D_AP1_TYPE_LINK, GPAP_D_AP1_doc_link, GPAP_D_AP1_NUMBER, GPAP_D_AP1_DATE, GPAP_D_AP1_CODE, GPAP_D_AP1_NAME,
					GPAP_D_AP1_DATE_PROV, GPAP_D_AP1_SUMMA, 
	
	GPAP_D_AP2,
	GPAP_D_AP2_code, GPAP_D_AP2_NAME,
	GPAP_D_AP3,


	GPAP_K_LINK_UP,
	GPAP_K_DB_KR,
	GPAP_K_ACC,
	GPAP_K_name,
	GPAP_K_CODE,
	GPAP_K_cSource,
	GPAP_K_cSinth,
	GPAP_K_cAnalit,
	
	GPAP_K_KBK,
	GPAP_K_KBK_type,GPAP_K_KBK_code,GPAP_K_KBK_NAME,

	GPAP_K_EKR,
	GPAP_K_EKR_code,	GPAP_K_EKR_NAME, GPAP_K_EKR_ls_ekr,


	GPAP_K_DEP ,
	GPAP_K_DEP_CODE,
	GPAP_K_DEP_NAME,
	GPAP_K_DEP_FNAME,
	GPAP_K_DEP_INN,
	GPAP_K_DEP_KPP,


	GPAP_K_SUB,
	GPAP_K_SUB_code, 
	GPAP_K_SUB_NAME, 
	GPAP_K_SUB_lim, 
	GPAP_K_SUB_obosob, 
	GPAP_K_SUB_okato, 
	GPAP_K_SUB_okpp, 
	GPAP_K_SUB_oktmo,
	

	GPAP_K_EMP ,
	GPAP_K_EMP_tab, 
	GPAP_K_EMP_fm, 
	GPAP_K_EMP_im, 
	GPAP_K_EMP_ot, 
	GPAP_K_EMP_FIO, 
	GPAP_K_EMP_INSUR_NUM, 
	GPAP_K_EMP_INN, 
	GPAP_K_EMP_date_begin, 
	GPAP_K_EMP_date_end, 
	
	GPAP_K_NOMEN,
	GPAP_K_NOMEN_CODE,GPAP_K_NOMEN_NAME,
	
	GPAP_K_INV,
	GPAP_K_INV_code,GPAP_K_INV_NAME,
	
	GPAP_K_KAU,
	GPAP_K_KAU_code, GPAP_K_KAU_name, GPAP_K_KAU_thema,
	
	GPAP_K_DEP_ACC,
	GPAP_K_DEP_ACC_code, GPAP_K_DEP_ACC_TYPE,
	
	GPAP_K_TMC,
	GPAP_K_TMC_NAME, GPAP_K_TMC_code,
	
	GPAP_K_INDATE,
	GPAP_K_SGU,
	GPAP_K_SGU_code, GPAP_K_SGU_NAME, GPAP_K_SGU_ls_ekr, 
	
	GPAP_K_AP1,
	GPAP_K_AP1_TYPE_LINK, GPAP_K_AP1_doc_link, GPAP_K_AP1_NUMBER, GPAP_K_AP1_DATE, GPAP_K_AP1_CODE, GPAP_K_AP1_NAME,
	GPAP_K_AP1_DATE_PROV, GPAP_K_AP1_SUMMA,
	
	GPAP_K_AP2,
	GPAP_K_AP2_code, GPAP_K_AP2_NAME,
	GPAP_K_AP3)

SELECT G.GP_LINK,
	   G.GPAP_D_LINK_UP,
	   G.GPAP_D_DB_KR,
	   /*GPAP_D_ACCOUNT*/
	   G.GPAP_D_ACC, GPAP_D_name = s.NAME, GPAP_D_CODE = s.CODE, GPAP_D_cSource = s.cSource, GPAP_D_cSinth = s.cSinth, GPAP_D_cAnalit = s.cAnalit,
	   /*GPAP_D_KBK*/
	   G.GPAP_D_KBK, GPAP_D_KBK_type = K.[TYPE], GPAP_D_KBK_code = K.CODE,GPAP_D_KBK_NAME = k.NAME,
	   /*GPAP_D_EKR*/
	   G.GPAP_D_EKR, GP_AP_D_EKR_code = ko.CODE, GP_AP_D_EKR_NAME = ko.NAME, GP_AP_D_EKR_ls_ekr = ko.Is_Ekr,
	   /*GPAP_D_DEP*/
	   G.GPAP_D_DEP, GPAP_D_DEP_CODE = d.CODE, GPAP_D_DEP_NAME = d.NAME, GPAP_D_DEP_FNAME = d.FULL_NAME, GPAP_D_DEP_INN = d.INN, GPAP_D_DEP_KPP = d.KPP,
	   /*GPAP_D_SUB*/
	   G.GPAP_D_SUB, GPAP_D_SUB_code = su.CODE, GPAP_D_SUB_NAME = su.NAME, GPAP_D_SUB_lim = su.LIM, GPAP_D_SUB_obosob = su.OBOSOB, GPAP_D_SUB_okato = su.O_OKATO, GPAP_D_SUB_okpp = su.O_KPP, GPAP_D_SUB_oktmo = su.O_OKTMO,
	   /*GPAP_D_EMP*/
	   G.GPAP_D_EMP,  GPAP_D_EMP_tab = sd.TAB, GPAP_D_EMP_fm = sd.FM, GPAP_D_EMP_im = sd.IM, GPAP_D_EMP_ot = sd.OT, GPAP_D_EMP_FIO = sd.FIO, GPAP_D_EMP_INSUR_NUM = sd.INSUR_NUM, GPAP_D_EMP_INN = sd.INN, GPAP_D_EMP_date_begin = sd.DATE_BEGIN, GPAP_D_EMP_date_end = sd.DATE_END, 
	   /*GPAP_D_NOMEN*/
	   G.GPAP_D_NOMEN, GPAP_D_NOMEN_CODE = n.CODE, GPAP_D_NOMEN_NAME = n.NAME,
	   /*GPAP_D_INV*/
	   G.GPAP_D_INV, GPAP_D_INV_code = i.CODE, GPAP_D_INV_NAME = i.NAME,
	   /*GPAP_D_KAU*/
	   G.GPAP_D_KAU, GPAP_D_KAU_code = ka.CODE, GPAP_D_KAU_name = ka.NAME, GPAP_D_KAU_thema = KA.THEMA,
	   /*GPAP_D_DEP_ACC*/
	   G.GPAP_D_DEP_ACC, GPAP_D_DEP_ACC_code = da.CODE, GPAP_D_DEP_ACC_TYPE = da.[TYPE], 
	   /*GPAP_D_TMC*/
	   G.GPAP_D_TMC, GPAP_D_TMC_NAME = di.NAME, GPAP_D_TMC_code = di.CODE,
	   G.GPAP_D_INDATE, 
	   /*GPAP_D_SGU*/
	   G.GPAP_D_SGU, GPAP_D_SGU_code = KOO.CODE, GPAP_D_SGU_NAME = KOO.NAME, GPAP_D_SGU_ls_ekr = KOO.Is_Ekr, 
	   /*GPAP_D_AP1*/
	   G.GPAP_D_AP1, O.OSNOV_AP1_D_TYPE_LINK, O.OSNOV_AP1_D_doc_link, O.G_PROV_AP1_D_NUMBER, O.G_PROV_AP1_D_DATE, O.S_OBJECTS_AP1_D_CODE, O.S_OBJECTS_AP1_D_NAME,
							O.G_PROV_AP1_D_DATE_PROV, O.G_PROV_AP1_D_SUMMA,
	   /*GPAP_D_AP2*/
	   G.GPAP_D_AP2, GPAP_D_AP2_code = do.CODE, GPAP_D_AP2_NAME = do.NAME,
	   G.GPAP_D_AP3,
	
	   G.GPAP_K_LINK_UP,
	   G.GPAP_K_DB_KR,
	   /*GPAP_K_ACC*/
	   G.GPAP_K_ACC, GPAP_K_name = s1.NAME, GPAP_K_CODE = s1.CODE, GPAP_K_cSource = s1.cSource, GPAP_K_cSinth = s1.cSinth, GPAP_K_cAnalit = s1.cAnalit,
	   /*GPAP_K_KBK*/
	   G.GPAP_K_KBK, GPAP_K_KBK_type = K1.[TYPE], GPAP_K_KBK_code = K1.CODE,GPAP_K_KBK_NAME = k1.NAME,
	   /*GPAP_K_EKR*/
	   G.GPAP_K_EKR, GPAP_K_EKR_code = ko1.CODE, GPAP_K_EKR_NAME = ko1.NAME, GPAP_K_EKR_ls_ekr = ko1.Is_Ekr,
	   /*GPAP_K_DEP*/
	   G.GPAP_K_DEP, GPAP_K_DEP_CODE = d1.CODE, GPAP_K_DEP_NAME = d1.NAME, GPAP_K_DEP_FNAME = d1.FULL_NAME, GPAP_K_DEP_INN = d1.INN, GPAP_K_DEP_KPP = d1.KPP,
	   /*GPAP_K_SUB*/
	   G.GPAP_K_SUB, GPAP_K_SUB_code = su1.CODE, GPAP_K_SUB_NAME = su1.NAME, GPAP_K_SUB_lim = su1.LIM, GPAP_K_SUB_obosob = su1.OBOSOB, GPAP_K_SUB_okato = su1.O_OKATO, GPAP_K_SUB_okpp = su1.O_KPP, GPAP_K_SUB_oktmo = su1.O_OKTMO,
	   /*GPAP_K_EMP*/
	   G.GPAP_K_EMP,  GPAP_K_EMP_tab = sd1.TAB, GPAP_K_EMP_fm = sd1.FM, GPAP_K_EMP_im = sd1.IM, GPAP_K_EMP_ot = sd1.OT, GPAP_K_EMP_FIO = sd1.FIO, GPAP_K_EMP_INSUR_NUM = sd1.INSUR_NUM, GPAP_K_EMP_INN = sd1.INN, GPAP_K_EMP_date_begin = sd1.DATE_BEGIN, GPAP_K_EMP_date_end = sd1.DATE_END, 
	   /*GPAP_K_NOMEN*/
	   G.GPAP_K_NOMEN, GPAP_K_NOMEN_CODE = n1.CODE, GPAP_K_NOMEN_NAME = n1.NAME,
	   /*GPAP_K_INV*/
	   G.GPAP_K_INV, GPAP_K_INV_code = i1.CODE, GPAP_K_INV_NAME = i1.NAME,
	   /*GPAP_K_KAU*/
	   G.GPAP_K_KAU, GPAP_K_KAU_code = ka1.CODE, GPAP_K_KAU_name = ka1.NAME, GPAP_K_KAU_thema = KA1.THEMA,
	   /*GPAP_K_DEP_ACC*/
	   G.GPAP_K_DEP_ACC, GPAP_K_DEP_ACC_code = da1.CODE, GPAP_K_DEP_ACC_TYPE = da1.[TYPE], 
	   /*GPAP_K_TMC*/
	   G.GPAP_K_TMC, GPAP_K_TMC_NAME = di1.NAME, GPAP_K_TMC_code = di1.CODE,
	   G.GPAP_K_INDATE, 
	   /*GPAP_K_SGU*/
	   G.GPAP_K_SGU, GPAP_K_SGU_code = KOO1.CODE, GPAP_K_SGU_NAME = KOO1.NAME, GPAP_K_SGU_ls_ekr = KOO1.Is_Ekr, 
	   /*GPAP_K_AP1*/
	   G.GPAP_K_AP1, O1.OSNOV_AP1_K_TYPE_LINK, O1.OSNOV_AP1_K_doc_link, O1.G_PROV_AP1_K_NUMBER, O1.G_PROV_AP1_K_DATE, O1.S_OBJECTS_AP1_K_CODE, O1.S_OBJECTS_AP1_K_NAME,
							O1.G_PROV_AP1_K_DATE_PROV, O1.G_PROV_AP1_K_SUMMA , 
	   G.GPAP_K_AP2, GPAP_K_AP2_code = do1.CODE, GPAP_K_AP2_NAME = do1.NAME,
	   G.GPAP_K_AP3
FROM
	#PROV_DOC G
	LEFT JOIN dbo.S_ACCOUNTS		  S ON S.LINK = G.GPAP_D_ACC
	LEFT JOIN dbo.KL_KBK			  K ON  k.link = G.GPAP_D_KBK
	LEFT JOIN dbo.KOSGU				  KO ON KO.LINK = G.GPAP_D_EKR
	LEFT JOIN dbo.departments		  d ON d.link = G.GPAP_D_DEP
	LEFT JOIN dbo.SUBDIV			  su ON su.link =  G.GPAP_D_SUB
	LEFT JOIN dbo.SD_EMPL			  sd ON sd.link =  G.GPAP_D_EMP
	LEFT JOIN dbo.NOMENCLATURE		  N ON n.LINK = G.GPAP_D_NOMEN
	LEFT JOIN dbo.INVENTORY			  I ON   I.link =  G.GPAP_D_INV
	LEFT JOIN dbo.KAU				  KA ON ka.link = G.GPAP_D_KAU
	LEFT JOIN dbo.DEPARTMENT_ACCOUNTS da ON da.link = G.GPAP_D_DEP_ACC
	LEFT JOIN dbo.DICTION			  di ON di.link = G.GPAP_D_TMC
	LEFT JOIN dbo.KOSGU				  KOO ON  KOO.LINK = G.GPAP_D_SGU	
	LEFT JOIN (SELECT oo.link,
					  OSNOV_AP1_D_TYPE_LINK = oo.TYPE_LINK ,
					  OSNOV_AP1_D_doc_link = oo.DOC_LINK,
					  G_PROV_AP1_D_NUMBER = GP.NUMBER ,
					  G_PROV_AP1_D_DATE = GP.[DATE],
					  S_OBJECTS_AP1_D_CODE = s.CODE,
					  S_OBJECTS_AP1_D_NAME = S.NAME,
					  G_PROV_AP1_D_DATE_PROV = GP.DATE_PROV,
					  G_PROV_AP1_D_SUMMA = GP.SUMMA,
					  G_PROV_AP1_D_COMMENT = GP.COMMENT,
					  G_PROV_AP1_D_GET_STORE = GP.GET_STORE,
					  department_accounts_AP1_D_CODE = d_ACc.CODE
			   from dbo.OSNOV oo 
			   LEFT JOIN dbo.G_PROV GP ON GP.LINK = oo.DOC_LINK
			   LEFT JOIN dbo.S_OBJECTS S ON s.link = GP.[OBJECT]	
			   LEFT JOIN department_accounts d_ACc ON d_acc.LINK = GP.ACC  )o ON o.LINK = G.GPAP_D_AP1
	LEFT JOIN dbo.DOP_CLASSIF		  do ON do.LINK = G.GPAP_D_AP2
	
	LEFT JOIN dbo.S_ACCOUNTS		  S1 ON S1.LINK = G.GPAP_K_ACC
	LEFT JOIN dbo.KL_KBK			  K1 ON  k1.link = G.GPAP_K_KBK
	LEFT JOIN dbo.KOSGU				  KO1 ON KO1.LINK = G.GPAP_K_EKR
	LEFT JOIN dbo.departments		  d1 ON d1.link = G.GPAP_K_DEP
	LEFT JOIN dbo.SUBDIV			  su1 ON su1.link =  G.GPAP_K_SUB
	LEFT JOIN dbo.SD_EMPL			  sd1 ON sd1.link =  G.GPAP_K_EMP
	LEFT JOIN dbo.NOMENCLATURE		  N1 ON n1.LINK = G.GPAP_K_NOMEN
	LEFT JOIN dbo.INVENTORY			  I1 ON   I1.link =  G.GPAP_K_INV
	LEFT JOIN dbo.KAU				  KA1 ON ka1.link = G.GPAP_K_KAU
	LEFT JOIN dbo.DEPARTMENT_ACCOUNTS da1 ON da1.link = G.GPAP_K_DEP_ACC
	LEFT JOIN dbo.DICTION			  di1 ON di1.link = G.GPAP_K_TMC
	LEFT JOIN dbo.KOSGU				  KOO1 ON  KOO1.LINK = G.GPAP_K_SGU	
	LEFT JOIN (SELECT oo.link,
					  OSNOV_AP1_K_TYPE_LINK = oo.TYPE_LINK ,
					  OSNOV_AP1_K_doc_link = oo.DOC_LINK,
					  G_PROV_AP1_K_NUMBER = GP.NUMBER ,
					  G_PROV_AP1_K_DATE = GP.[DATE],
					  S_OBJECTS_AP1_K_CODE = s.CODE,
					  S_OBJECTS_AP1_K_NAME = S.NAME,
					  G_PROV_AP1_K_DATE_PROV = GP.DATE_PROV,
					  G_PROV_AP1_K_SUMMA = GP.SUMMA,
					  G_PROV_AP1_K_COMMENT = GP.COMMENT,
					  G_PROV_AP1_K_GET_STORE = GP.GET_STORE,
					  department_accounts_AP1_K_CODE = d_ACc.CODE
			   from dbo.OSNOV oo 
			   LEFT JOIN dbo.G_PROV GP ON GP.LINK = oo.DOC_LINK
			   LEFT JOIN dbo.S_OBJECTS S ON s.link = GP.[OBJECT]	
			   LEFT JOIN department_accounts d_ACc ON d_acc.LINK = GP.ACC  )  o1 ON o1.LINK = G.GPAP_K_AP1
	LEFT JOIN dbo.DOP_CLASSIF		  do1 ON do1.LINK = G.GPAP_K_AP2

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))

INSERT INTO #TASK_PROP (VAL) 	
	SELECT   TOP 1  LTRIM(RTRIM(OV.Value)) 
	FROM object_values OV
	WITH (NOLOCK)
	WHERE Object = (SELECT link FROM s_objects WHERE code = 'PROJECT') AND property =  (SELECT link	FROM S_PROPERTY WHERE CODE ='VERSION_MAJOR')
INSERT INTO #TASK_PROP (VAL) 
	SELECT   TOP 1  LTRIM(RTRIM(OV.Value)) 
	FROM object_values OV
	WITH (NOLOCK)
	WHERE Object = (SELECT link FROM s_objects WHERE code = 'PROJECT') AND property =  (SELECT link	FROM S_PROPERTY WHERE CODE ='VERSION_MINOR')
INSERT INTO #TASK_PROP (VAL) 
	SELECT   TOP 1  LTRIM(RTRIM(OV.Value)) 
	FROM object_values OV
	WITH (NOLOCK)
	WHERE Object = (SELECT link FROM s_objects WHERE code = 'PROJECT') AND property =  (SELECT link	FROM S_PROPERTY WHERE CODE ='VERSION_FIX')

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))), 
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------

declare @DEP_LINK int, @lcFNAME VARCHAR(254)/*, @ID INT, @EGRUL varchar(13)*/

--exec dbo.xd_whats_zb @DEP_LINK output
--select @EGRUL = LTRIM(RTRIM(EGRUL)) from DICTIONARY_DEPARTMENT where link = @DEP_LINK 
	
DECLARE @Cur1 CURSOR, @NGROUP int /*Номер пачки*/ , @GPROV_LINK int
set @NGROUP = 0
DECLARE @Cur2 CURSOR , @N_STR int /*Номер строки*/
DECLARE @Cur3 CURSOR , @gp1_link INT
DECLARE @Cur4 CURSOR , @gp2_link int
DECLARE @Cur5 CURSOR , @d_link int, @k_link int

-- ШАПОЧНАЯ ЧАСТЬ ФАЙЛА
-----

--
SET @Cur1 = CURSOR FORWARD_ONLY
FOR select DEP_LINK from #DEP_INFO ORDER BY DEP_LINK
	
OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @DEP_LINK

WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN	
		
	SET @lcFNAME = (SELECT 'ZARPLATA_KS-PROV-C-'+LTRIM(RTRIM(DEP_CODE))+'-INN-'+(CASE when LTRIM(RTRIM(INN)) ='' THEN '000000000000' ELSE LTRIM(RTRIM(INN)) END )+'-KPP-'+(CASE when LTRIM(RTRIM(KPP)) ='' THEN '000000000' ELSE LTRIM(RTRIM(KPP)) END )+'.XML' FROM #DEP_INFO di WHERE DEP_LINK = @DEP_LINK  )


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, 'OEM' --Имя файла 
		UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="Windows-1251" ?>' 
		UNION ALL SELECT @lcFNAME, SPACE(0) + '<Exchange version ="1.0">' 
		--UNION ALL SELECT @lcFNAME, SPACE(0) + '<File>' 
 		UNION ALL SELECT @lcFNAME, SPACE(1) + '<FileName>' + RTRIM(LTRIM(@lcFNAME)) + '</FileName>'
		 
	
		
		
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)			 
		 SELECT @lcFNAME, SPACE(1) + '<Org>'
		 UNION ALL SELECT @lcFNAME, SPACE(2) + '<INN>'+RTRIM(LTRIM(COALESCE(INN,'')))+'</INN>'
		 FROM #DEP_INFO WHERE dep_link = @DEP_LINK	
		 UNION ALL SELECT @lcFNAME, SPACE(2) + '<KPP>'+RTRIM(LTRIM(COALESCE(KPP,'')))+'</KPP>'
		 FROM #DEP_INFO WHERE dep_link = @DEP_LINK	
		 UNION ALL SELECT @lcFNAME, SPACE(2) + '<CODE>'+RTRIM(LTRIM(COALESCE(DEP_CODE,'')))+'</CODE>'
		 FROM #DEP_INFO WHERE dep_link = @DEP_LINK	
		 UNION ALL SELECT @lcFNAME, SPACE(2) + '<Name>'+RTRIM(LTRIM(COALESCE(DEP_FNAME,'')))+'</Name>'
		 FROM #DEP_INFO WHERE dep_link = @DEP_LINK	
	
	--
	-- ПЕРЕЧИСЛЕНИЕ ПРОВОДОК
	---
		
		SET @N_STR = 0 
		SET @Cur2 = CURSOR FORWARD_ONLY
		FOR select GP_LINK from #PROV_DOC WHERE GP_DEP = @DEP_LINK GROUP BY GP_LINK 
		
		OPEN @Cur2
		FETCH NEXT FROM @Cur2 INTO @GPROV_LINK

		WHILE (@@fetch_status <> -1)
		BEGIN
			IF (@@fetch_status <> -2)
			BEGIN


				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME,					
					/*таблица G_PROV*/
					+ SPACE(3) + '<G_PROV>' + CHAR(10)
					 + SPACE(4) + '<GUID>'+ ltrim(rtrim(P.GP_GUID)) +'</GUID>' + CHAR(10)
					 + SPACE(4) + '<NUMBER>'+ ltrim(rtrim(P.GP_NUMBER)) +'</NUMBER>' + CHAR(10)
					 + SPACE(4) + '<DATE>'+ convert(varchar(10),P.GP_DATE,104) +'</DATE>' + CHAR(10)
					 /*поле OBJECT - линк таблицы S_OBJECTS */
					 + SPACE(4) + '<OBJ_CODE>' + ltrim(rtrim(P.GP_OBJ_CODE)) + '</OBJ_CODE>' + CHAR(10) 
					 + SPACE(4) + '<DATE_PROV>'+ convert(varchar(10),P.GP_DATE_PROV,104) +'</DATE_PROV>' + CHAR(10)
					 + SPACE(4) + '<SUMMA>'+ RTRIM(LTRIM(STR(COALESCE(P.GP_SUMMA,0),18,2))) +'</SUMMA>' + CHAR(10)
					 + SPACE(4) + '<COMMENT>'+ RTRIM(LTRIM(COALESCE(P.GP_COMMENT,''))) +'</COMMENT>' + CHAR(10)
					 + SPACE(4) +  (case when RTRIM(LTRIM(STR(COALESCE(P.GP_GET_STORE,0)))) = 0 then ('<GET_STORE/>' + CHAR(10)) else  ('<GET_STORE>'+   RTRIM(LTRIM(STR(COALESCE(P.GP_GET_STORE,0)))) +'</GET_STORE>' + CHAR(10) ) END)
					 /*Поле DEP - линк таблицы #DEP_INFO*/
					 + SPACE(4) + '<DEP_CODE>' + (select RTRIM(LTRIM(COALESCE(DEP_CODE,''))) FROM #DEP_INFO WHERE DEP_LINK = P.GP_DEP ) + '</DEP_CODE>' + CHAR(10)
					 + SPACE(4) + '<DEP_INN>' + (select RTRIM(LTRIM(COALESCE(INN,''))) FROM #DEP_INFO WHERE DEP_LINK = P.GP_DEP ) + '</DEP_INN>' + CHAR(10)
					 + SPACE(4) + '<DEP_KPP>' + (select RTRIM(LTRIM(COALESCE(KPP,''))) FROM #DEP_INFO WHERE DEP_LINK = P.GP_DEP ) + '</DEP_KPP>' + CHAR(10)
					 /*поле ACC - линк таблицы department_accounts*/
					 + SPACE(4) + '<ACC_CODE>' + ltrim(rtrim(iSnULL(P.GP_ACC_CODE,''))) + '</ACC_CODE>' 
					FROM
						#PROV_DOC P
						--INNER JOIN #G_PROV_AP_FULL GP ON GP.GP_LINK = P.GP_LINK 
					WHERE 
						P.GP_LINK = @GPROV_LINK
					GROUP BY  GP_LINK,GP_GUID, GP_DATE, GP_NUMBER,GP_OBJ_CODE, GP_DATE_PROV , GP_SUMMA , GP_COMMENT , GP_GET_STORE , GP_DEP ,GP_ACC_CODE
					 
					
					
					SET @Cur3 = CURSOR FORWARD_ONLY
					FOR select gp1_link from #PROV_DOC WHERE GP_LINK = @GPROV_LINK  GROUP BY gp1_link
					
					OPEN @Cur3
					FETCH NEXT FROM @Cur3 INTO @GP1_LINK

					WHILE (@@fetch_status <> -1)
					BEGIN
						 INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
								SELECT @lcFNAME,				
								/*Таблица G_PROV1*/
								+ SPACE(4) + '<G_PROV1>' + CHAR(10)						
												
						IF (@@fetch_status <> -2)
						BEGIN
							

						    INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
							SELECT @lcFNAME,				
							--/*Таблица G_PROV1*/
							--+ SPACE(4) + '<G_PROV1>' + CHAR(10)
							/*Поле OPER - линк таблицы G_PROV1*/
									+ SPACE(5) + (case when RTRIM(LTRIM(isnull(P.GP1_NAME_OPER,''))) = '' then ('<OPER/>' + CHAR(10)) else  ('<OPER>' +   RTRIM(LTRIM(isnull(P.GP1_NAME_OPER,''))) + '</OPER>' + CHAR(10) ) END)
									+ SPACE(5) + '<ORDERS>' + RTRIM(LTRIM(ISNULL(P.GP1_ORDERS, 0))) + '</ORDERS>'  + CHAR(10)
									FROM
										#PROV_DOC P
										INNER JOIN #G_PROV_AP_FULL GP ON GP.GP_LINK = P.GP_LINK
									WHERE 
										P.GP1_LINK = @GP1_LINK
									group by p.GP1_ORDERS	, P.GP1_NAME_OPER ,isnull(P.GP1_OPER,0)
								

									SET @Cur4 = CURSOR FORWARD_ONLY
									FOR select gp2_link from #PROV_DOC WHERE GP1_LINK = @GP1_LINK  GROUP BY gp1_link, gp2_link
									
									OPEN @Cur4
									FETCH NEXT FROM @Cur4 INTO @GP2_LINK

									WHILE (@@fetch_status <> -1)
									BEGIN
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,	
									
									
											/*Таблица G_PROV2*/
											+ SPACE(5) + '<G_PROV2>' + CHAR(10)
			
											IF (@@fetch_status <> -2)
											BEGIN
												INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
												SELECT @lcFNAME,	
									
									
															/*Таблица G_PROV2*/
															---+ SPACE(5) + '<G_PROV2>' + CHAR(10)
																	+ SPACE(6) + '<SUMMA>' + RTRIM(LTRIM(STR(COALESCE(P.[GP2_SUMMA],0),18,2))) + '</SUMMA>'  + CHAR(10)
																	+ SPACE(6) + (case when RTRIM(LTRIM(STR(COALESCE(P.[GP2_QUANTITY],0),18,4))) = '0.0000' then ('<QUANTITY/>' + CHAR(10)) else  ('<QUANTITY>'+   RTRIM(LTRIM(STR(COALESCE(P.[GP2_QUANTITY],0),18,4))) +'</QUANTITY>' + CHAR(10) ) END)
																	+ SPACE(6) + (case when RTRIM(LTRIM(STR(COALESCE(P.GP2_STORNO,'')))) = 0 then ('<STORNO/>' + CHAR(10)) else  ('<STORNO>'+   RTRIM(LTRIM(STR(COALESCE(P.GP2_STORNO,'')))) +'</STORNO>' + CHAR(10) ) END)
															/* ПОЛЕ LINK_SELF - link таблицы G_PROV2*/
																	+ SPACE(6) + '<ORDERS>' + RTRIM(LTRIM(STR(COALESCE(P.GP2_ORDERS,''))))+ '</ORDERS>'  + CHAR(10)
																/*поле ECON_OPER - линк таблицы XOZ_OPER*/
																	+ SPACE(6) + '<EC_OPER_CODE>' + RTRIM(LTRIM(ISNULL(P.GP2_EC_OPER_CODE, ''))) + '</EC_OPER_CODE>'  + CHAR(10)
																	FROM
																		#PROV_DOC P
																		INNER JOIN #G_PROV_AP_FULL GP ON GP.GP_LINK = P.GP_LINK AND GP.GPAP_D_LINK_UP = P.GP2_LINK
																	WHERE 
																		GP.GPAP_D_LINK_UP = @GP2_LINK
																	GROUP BY 	P.GP2_LINK , P.[GP2_SUMMA], P.[GP2_QUANTITY], P.GP2_STORNO, P.GP2_ORDERS , P.GP2_EC_OPER_CODE
																	
																	
																	/*Дебет , кредит*/
																	SET @Cur5 = CURSOR FORWARD_ONLY
																	FOR select GPAP_D_LINK_UP from #G_PROV_AP_FULL where GP_LINK = @GPROV_LINK AND GPAP_D_LINK_UP = @GP2_LINK

																	OPEN @Cur5
																	FETCH NEXT FROM @Cur5 INTO @d_LINK

																	WHILE (@@fetch_status <> -1)
																	BEGIN
																												
																			IF (@@fetch_status <> -2)
																			BEGIN
																				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
																				SELECT @lcFNAME,	

																				/*Дебет*/
																				
				 																+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_DB_KR,'')))) = 0 then ('<D_DB_KR/>' + CHAR(10)) else  ('<D_DB_KR>'+   RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_DB_KR,'')))) +'/<D_DB_KR>'+ CHAR(10) ) END)
																				/*поле ACCOUNT - линк таблицы s_accounts*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_D_CODE, ''))) = '' then ('<D_ACC/>' + CHAR(10)) else  ('<D_ACC>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_CODE, ''))) +'</D_ACC>'+ CHAR(10) ) END)
																				/*поле KBK - линк таблицы KL_KBK*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_D_KBK_code, ''))) = '' then ('<D_KBK/>' + CHAR(10)) else  ('<D_KBK>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_KBK_code, ''))) +'</D_KBK>'+ CHAR(10) ) END)
																				/*поле EKR - линк таблицы KOSGU*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_D_EKR_code, ''))) = '' then ('<D_EKR/>' + CHAR(10)) else  ('<D_EKR>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_EKR_code, ''))) +'</D_EKR>'+ CHAR(10) ) END)
																				/*поле DEP - линк таблицы DEPARTMENTS*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_d_DEP_CODE, ''))) = '' then ('<D_DEP_CODE/>' + CHAR(10)) else  ('<D_DEP_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_CODE, ''))) +'</D_DEP_CODE>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_d_DEP_INN, ''))) = ''  then ('<D_DEP_INN/>' + CHAR(10)) else  ('<D_DEP_INN>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_INN, ''))) +'</D_DEP_INN>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_d_DEP_KPP, ''))) = '' then ('<D_DEP_KPP/>' + CHAR(10)) else  ('<D_DEP_KPP>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_KPP, ''))) +'</D_DEP_KPP>'+ CHAR(10) ) END)
																				 /*поле SUB - линк таблицы SUBDIV*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_code, '')))= '' then ('<D_SUB_code/>' + CHAR(10)) else  ('<D_SUB_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_code, ''))) +'</D_SUB_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_SUB_lim,0),18,2)))= '0.00' then ('<D_SUB_lim/>' + CHAR(10)) else  ('<D_SUB_lim>'+  RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_SUB_lim,0),18,2))) +'</D_SUB_lim>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_SUB_obosob,''))))= 0 then ('<D_SUB_obosob/>' + CHAR(10)) else  ('<D_SUB_obosob>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_SUB_obosob,'')))) +'</D_SUB_obosob>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_okato, '')))= '' then ('<D_SUB_okato/>' + CHAR(10)) else ('<D_SUB_okato>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_okato, ''))) +'</D_SUB_okato>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_okpp, '')))= '' then ('<D_SUB_okpp/>' + CHAR(10)) else  ('<D_SUB_okpp>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_okpp, ''))) +'</D_SUB_okpp>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_oktmo, '')))= '' then ('<D_SUB_oktmo/>' + CHAR(10)) else  ('<D_SUB_oktmo>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SUB_oktmo, ''))) +'</D_SUB_oktmo>'+ CHAR(10) ) END)
																				/*поле EMP - линк таблицы SD_EMPL*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_EMP_tab, '')))= '' then ('<D_EMPL_tab/>' + CHAR(10)) else  ('<D_EMPL_tab>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_EMP_tab, ''))) +'</D_EMPL_tab>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_EMP_INSUR_NUM,'')))= '' then ('<D_EMPL_INSUR_NUM/>' + CHAR(10)) else  ('<D_EMPL_INSUR_NUM>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_EMP_INSUR_NUM, ''))) +'</D_EMPL_INSUR_NUM>'+ CHAR(10) ) END)
																				/*поле NOMEN - линк таблицы NOMENCLATURE*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_NOMEN_CODE, '')))= '' then ('<D_NOMEN_CODE/>' + CHAR(10)) else  ('<D_NOMEN_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_NOMEN_CODE, ''))) +'</D_NOMEN_CODE>'+ CHAR(10) ) END)
																				/*поле INV - линк таблицы INVENTORY*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_INV_code, '')))= '' then ('<D_INVENT_code/>' + CHAR(10)) else  ('<D_INVENT_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_INV_code, ''))) +'</D_INVENT_code>'+ CHAR(10) ) END)
																				/*поле KAU - линк таблицы KAU*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_KAU_code, '')))= '' then ('<D_KAU_code/>' + CHAR(10)) else  ('<D_KAU_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_KAU_code, ''))) +'</D_KAU_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_KAU_thema, '')))= '' then ('<D_KAU_thema/>' + CHAR(10)) else  ('<D_KAU_thema>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_KAU_thema, ''))) +'</D_KAU_thema>'+ CHAR(10) ) END)
																				/*поле DEP_ACC - линк таблицы DEPARTMENT_ACCOUNTS*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_ACC_code, '')))= '' then ('<D_DEP_ACC_code/>' + CHAR(10)) else  ('<D_DEP_ACC_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_DEP_ACC_code, ''))) +'</D_DEP_ACC_code>'+ CHAR(10) ) END)
																				/*поле TMC - линк таблицы DICTION*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_TMC_code,'')))) = 0 then ('<D_TMC_code/>' + CHAR(10)) else  ('<D_TMC_code>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_TMC_code,'')))) +'</D_TMC_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when convert(varchar(10),ISNULL(GP.GPAP_D_INDATE,''),104) = '01.01.1900' then ('<D_INDATE/>' + CHAR(10)) else  ('<D_INDATE>'+ convert(varchar(10),ISNULL(GP.GPAP_D_INDATE,''),104) +'</D_INDATE>'+ CHAR(10) ) END)
																				 /*поле SGU - линк таблицы KOSGU*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_SGU_code, ''))) = 0 then ('<D_SGU_code/>' + CHAR(10)) else  ('<D_SGU_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_SGU_code, ''))) +'</D_SGU_code>'+ CHAR(10) ) END)
																				/*поле AP1 - линк таблицы OSNOV*/
																				/*таблица OSNOV*/
																				--+ SPACE(4) + '<D_AP1_TYPE_LINK>' + case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_TYPE_LINK,'')))) = 0 THEN '' ELSE RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_TYPE_LINK,'')))) end  + '</D_AP1_TYPE_LINK>'  + CHAR(10)
																				--+ SPACE(4) + '<D_AP1_doc_link>' +  RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_doc_link,'')))) + '</D_AP1_doc_link>'  + CHAR(10)
																				/*поле LINK_G_PROV - линк таблицы G_PROV*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP1_NUMBER, '')))= '' then ('<D_AP1_NUMBER/>' + CHAR(10)) else  ('<D_AP1_NUMBER>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP1_NUMBER, ''))) +'</D_AP1_NUMBER>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when convert(varchar(10),ISNULL(GP.GPAP_D_AP1_DATE,''),104) = '01.01.1900'then ('<D_AP1_DATE/>' + CHAR(10)) else  ('<D_AP1_DATE>'+ convert(varchar(10),ISNULL(GP.GPAP_D_AP1_DATE,''),104) +'</D_AP1_DATE>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP1_CODE, ''))) = '' then ('<D_AP1_CODE/>' + CHAR(10)) else  ('<D_AP1_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP1_CODE, ''))) +'</D_AP1_CODE>'+ CHAR(10) ) END)
																				+ SPACE(7) +  (case when convert(varchar(10),ISNULL(GP.GPAP_D_AP1_DATE_PROV,''),104) = '01.01.1900'then ('<D_AP1_DATE_PROV/>' + CHAR(10)) else  ('<D_AP1_DATE_PROV>'+ convert(varchar(10),ISNULL(GP.GPAP_D_AP1_DATE_PROV,''),104) +'</D_AP1_DATE_PROV>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_SUMMA,0),18,4))) = '0.0000' then ('<D_AP1_SUMMA/>' + CHAR(10)) else  ('<D_AP1_SUMMA>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_D_AP1_SUMMA,0),18,4))) +'</D_AP1_SUMMA>'+ CHAR(10) ) END)
																				 /*поле AP2 - линк таблицы DOP_CLASSIF*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP2_code, ''))) = '' then ('<D_AP2_code/>' + CHAR(10)) else  ('<D_AP2_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP2_code, ''))) +'</D_AP2_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP3, ''))) = 0 then ('<D_AP3/>' + CHAR(10)) else  ('<D_AP3>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_D_AP3, ''))) +'</D_AP3>'+ CHAR(10) ) END)

	
																			/*Кредит*/

				 																+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_DB_KR, ''))) = '' then ('<K_DB_KR/>' + CHAR(10)) else  ('<K_DB_KR>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DB_KR, ''))) +'</K_DB_KR>'+ CHAR(10) ) END)
																				/*поле ACCOUNT - линк таблицы s_accounts*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_CODE, ''))) = '' then ('<K_ACC/>' + CHAR(10)) else  ('<K_ACC>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_CODE, ''))) +'</K_ACC>'+ CHAR(10) ) END)
																				/*поле KBK - линк таблицы KL_KBK*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_KBK_code, ''))) = '' then ('<K_KBK/>' + CHAR(10)) else  ('<K_KBK>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_KBK_code, ''))) +'</K_KBK>'+ CHAR(10) ) END)
																				/*поле EKR - линк таблицы KOSGU*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_EKR_code, ''))) = '' then ('<K_EKR/>' + CHAR(10)) else  ('<K_EKR>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_EKR_code, ''))) +'</K_EKR>'+ CHAR(10) ) END)
																				 /*поле DEP - линк таблицы DEPARTMENTS*/
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_CODE, ''))) = '' then ('<K_DEP_CODE/>' + CHAR(10)) else  ('<K_DEP_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_CODE, ''))) +'</K_DEP_CODE>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_INN, ''))) = ''  then ('<K_DEP_INN/>' + CHAR(10)) else  ('<K_DEP_INN>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_INN, ''))) +'</K_DEP_INN>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_KPP, ''))) = '' then ('<K_DEP_KPP/>' + CHAR(10)) else  ('<K_DEP_KPP>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_KPP, ''))) +'</K_DEP_KPP>'+ CHAR(10) ) END)
																				 /*поле SUB - линк таблицы SUBDIV*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_code, '')))= '' then ('<K_SUB_code/>' + CHAR(10)) else  ('<K_SUB_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_code, ''))) +'</K_SUB_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when  RTRIM(LTRIM(STR(COALESCE(GP.GPAP_k_SUB_lim,0),18,2))) = '0.00' then ('<K_SUB_lim/>' + CHAR(10)) else  ('<K_SUB_lim>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_k_SUB_lim,0),18,2))) +'</K_SUB_lim>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_SUB_obosob,'')))) = 0 then ('<K_SUB_obosob/>' + CHAR(10)) else  ('<K_SUB_obosob>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_SUB_obosob,'')))) +'</K_SUB_obosob>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_okato, '')))= '' then ('<K_SUB_okato/>' + CHAR(10)) else  ('<K_SUB_okato>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_okato, ''))) +'</K_SUB_okato>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_okpp, '')))= '' then ('<K_SUB_okpp/>' + CHAR(10)) else  ('<K_SUB_okpp>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_okpp, ''))) +'</K_SUB_okpp>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_oktmo, '')))= '' then ('<K_SUB_oktmo/>' + CHAR(10)) else  ('<K_SUB_oktmo>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SUB_oktmo, ''))) +'</K_SUB_oktmo>'+ CHAR(10) ) END)
																				/*поле EMP - линк таблицы SD_EMPL*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_EMP_tab, '')))= '' then ('<K_EMPL_tab/>' + CHAR(10)) else  ('<K_EMPL_tab>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_EMP_tab, ''))) +'</K_EMPL_tab>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_EMP_INSUR_NUM,'')))= '' then ('<K_EMPL_INSUR_NUM/>' + CHAR(10)) else  ('<K_EMPL_INSUR_NUM>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_EMP_INSUR_NUM, ''))) +'</K_EMPL_INSUR_NUM>'+ CHAR(10) ) END)
																				/*поле NOMEN - линк таблицы NOMENCLATURE*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_NOMEN_CODE, '')))= '' then ('<K_NOMEN_CODE/>' + CHAR(10)) else  ('<K_NOMEN_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_NOMEN_CODE, ''))) +'</K_NOMEN_CODE>'+ CHAR(10) ) END)
																				/*поле INV - линк таблицы INVENTORY*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_INV_code, '')))= '' then ('<K_INVENT_code/>' + CHAR(10)) else  ('<K_INVENT_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_INV_code, ''))) +'</K_INVENT_code>'+ CHAR(10) ) END)
																				/*поле KAU - линк таблицы KAU*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_KAU_code, '')))= '' then ('<K_KAU_code/>' + CHAR(10)) else  ('<K_KAU_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_KAU_code, ''))) +'</K_KAU_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_KAU_thema, '')))= '' then ('<K_KAU_thema/>' + CHAR(10)) else  ('<K_KAU_thema>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_KAU_thema, ''))) +'</K_KAU_thema>'+ CHAR(10) ) END)
																				/*поле DEP_ACC - линк таблицы DEPARTMENT_ACCOUNTS*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_ACC_code, '')))= '' then ('<K_DEP_ACC_code/>' + CHAR(10)) else  ('<K_DEP_ACC_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_DEP_ACC_code, ''))) +'</K_DEP_ACC_code>'+ CHAR(10) ) END)						/*поле TMC - линк таблицы DICTION*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_TMC_code,'')))) = 0 then ('<K_TMC_code/>' + CHAR(10)) else  ('<K_TMC_code>'+  RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_TMC_code,'')))) +'</K_TMC_code>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when convert(varchar(10),ISNULL(GP.GPAP_K_INDATE,''),104) = '01.01.1900' then ('<K_INDATE/>' + CHAR(10)) else  ('<K_INDATE>'+ convert(varchar(10),ISNULL(GP.GPAP_K_INDATE,''),104) +'</K_INDATE>'+ CHAR(10) ) END)
																				 /*поле SGU - линк таблицы KOSGU*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_SGU_code, ''))) = 0 then ('<K_SGU_code/>' + CHAR(10)) else  ('<K_SGU_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_SGU_code, ''))) +'</K_SGU_code>'+ CHAR(10) ) END)
																				/*поле AP1 - линк таблицы OSNOV*/
																				/*таблица OSNOV*/
																				/*поле LINK_G_PROV - линк таблицы G_PROV*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP1_NUMBER, '')))= '' then ('<K_AP1_NUMBER/>' + CHAR(10)) else  ('<K_AP1_NUMBER>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP1_NUMBER, ''))) +'</K_AP1_NUMBER>'+ CHAR(10) ) END)	
																				+ SPACE(7) + (case when convert(varchar(10),ISNULL(GP.GPAP_K_AP1_DATE,''),104) = '01.01.1900' then ('<K_AP1_DATE/>' + CHAR(10)) else  ('<K_AP1_DATE>'+ convert(varchar(10),ISNULL(GP.GPAP_K_AP1_DATE,''),104) +'</K_AP1_DATE>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP1_CODE, ''))) = '' then ('<K_AP1_CODE/>' + CHAR(10)) else  ('<K_AP1_CODE>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP1_CODE, ''))) +'</K_AP1_CODE>'+ CHAR(10) ) END)
																				+ SPACE(7) +  (case when convert(varchar(10),ISNULL(GP.GPAP_K_AP1_DATE_PROV,''),104) = '01.01.1900'then ('<K_AP1_DATE_PROV/>' + CHAR(10)) else  ('<K_AP1_DATE_PROV>'+ convert(varchar(10),ISNULL(GP.GPAP_K_AP1_DATE_PROV,''),104) +'</K_AP1_DATE_PROV>'+ CHAR(10) ) END)
																				+ SPACE(7) + (case when RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_AP1_SUMMA,0),18,4))) = '0.0000' then ('<K_AP1_SUMMA/>' + CHAR(10)) else  ('<K_AP1_SUMMA>'+ RTRIM(LTRIM(STR(COALESCE(GP.GPAP_K_AP1_SUMMA,0),18,4))) +'</K_AP1_SUMMA>'+ CHAR(10) ) END)
																				/*поле AP2 - линк таблицы DOP_CLASSIF*/
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP2_code, ''))) = '' then ('<K_AP2_code/>' + CHAR(10)) else  ('<K_AP2_code>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP2_code, ''))) +'</K_AP2_code>'+ CHAR(10) ) END)
																				
																				+ SPACE(7) + (case when RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP3, ''))) = 0 then ('<K_AP3/>' + CHAR(10)) else  ('<K_AP3>'+ RTRIM(LTRIM(ISNULL(GP.GPAP_K_AP3, ''))) +'</K_AP3>'+ CHAR(10) ) END)
																				FROM
																				#PROV_DOC P
																				INNER JOIN #G_PROV_AP_FULL GP ON GP.GP_LINK = P.GP_LINK AND GP.GPAP_D_LINK_UP = P.GP2_LINK
																			WHERE 
																				GP.GPAP_D_LINK_UP = @d_LINK
																		
																							
															--+ SPACE(5) + '</G_PROV2>' + CHAR(10)

																		END
																		
																		FETCH NEXT FROM @Cur5 INTO @d_LINK
																
																	END
																	CLOSE @Cur5
																	DEALLOCATE @Cur5									
								
													

															
										END
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME,
											+ SPACE(5) + '</G_PROV2>' + CHAR(10)
										FETCH NEXT FROM @Cur4 INTO @GP2_LINK
									
									END
									CLOSE @Cur4
									DEALLOCATE @Cur4									
							
								
						END
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
						SELECT @lcFNAME,
							+ SPACE(4) + '</G_PROV1>' + CHAR(10)

						FETCH NEXT FROM @Cur3 INTO @GP1_LINK
					
					END
					CLOSE @Cur3
					DEALLOCATE @Cur3
						
					

			END
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME,	
					+ SPACE(3) + '</G_PROV>' + CHAR(10)

			
			set @N_STR = @N_STR + 1 
			FETCH NEXT FROM @Cur2 INTO @GPROV_LINK				
		END

		CLOSE @Cur2
		DEALLOCATE @Cur2
		
		FETCH NEXT FROM @Cur1 INTO @DEP_LINK
	END							

	
	
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '</Org>'	
	
	
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, '</Exchange>'

	
END

CLOSE @Cur1
DEALLOCATE @Cur1



SET NOCOUNT OFF


select * from #OUTPUT order by [ID]
--select OUT_TEXT from #OUTPUT order by [ID]







GO


GRANT EXECUTE ON dbo.[SS_PROV_EXPORT] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OSV_SYNT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OSV_SYNT]

GO

/* 
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_OSV_SYNT
	@varKSdDate1	DATETIME	,
	@varKSdDate2	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@cVal_Dop char(1), @nOtborLinkDOP int,	-- Доп. кл-ция --
	@varKSnPRN_KBK	INT				,
	@varKSnPRN_SGU	INT	,
	@intTYPE_ACCT INT	,
	@intSVOD_ZB INT		,
	@intPRN_DOP	INT
AS
BEGIN
	SET @intTYPE_ACCT = ISNULL (@intTYPE_ACCT, 0)

	DECLARE	@varKSLINK_DEP	INT,
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKScDATE_NEXT	VARCHAR (10)

	SET @varKScDATE_NEXT = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSdDate2), 104)

	DECLARE @ACCT TABLE (LINK_ACCT [INT])

	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		WHERE @intTYPE_ACCT = 0
			OR (@intTYPE_ACCT = 1 AND ACCT.ZABALANS = 0)
			OR (@intTYPE_ACCT = 2 AND ACCT.ZABALANS = 1)

	--- ОТБОР ПО КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- ОТБОР ПО ДОП. КЛ-ЦИИ --- 
	DECLARE @TAB_DOP TABLE (LINK_DOP INT, DOP_CODE VARCHAR (20))
	
	IF @intPRN_DOP = 1
		IF LEN (@cVal_Dop) > 0
			INSERT INTO @TAB_DOP
			SELECT AP.LINK,
				AP.CODE
			FROM dbo.DOP_CLASSIF AP 
			INNER JOIN dbo.OBJECT_VAR_DOP_CLASSIF OVR ON (OVR.RECORD = AP.LINK)
			WHERE OVR.LINK_UP = @nOtborLinkDOP
		ELSE
			INSERT INTO @TAB_DOP
			SELECT LINK_AP, AP_CODE
			FROM dbo.BK_GetTableDictionByAP ('AP2')
	ELSE
		INSERT INTO @TAB_DOP (LINK_DOP, DOP_CODE)
		VALUES (0, '')

	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = dbo.BK_GET_PRINT_DEP_NAME (LINK), 
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'
		SET @varKSLINK_DEP = NULL
	END

	DECLARE @TABLE1 TABLE (ACCOUNT [INT],
			KBK [INT], KOSGU [INT],
			AP2 INT,
			D_SUMMA [NUMERIC] (20,2),		
			K_SUMMA [NUMERIC] (20,2),		
			IN_SUMMA [NUMERIC] (20,2),		
			OUT_SUMMA [NUMERIC] (20,2))		

	INSERT INTO @TABLE1
	SELECT T1.ACCOUNT,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE
			WHEN @intPRN_DOP = 1 THEN T1.AP2
			ELSE 0
		END,
		SUM (T1.D_SUMMA),
		SUM (T1.K_SUMMA),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSdDate1, @varKSdDate2, @varKSLINK_DEP) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = T1.KBK)
/*	WHERE (@intSVOD_ZB = 1
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSLINK_DEP))
*/	GROUP BY T1.ACCOUNT,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN T1.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN T1.SGU
			ELSE 0
		END,
		CASE
			WHEN @intPRN_DOP = 1 THEN T1.AP2
			ELSE 0
		END

	DECLARE @RESULT TABLE (ACCOUNT [INT],
			ACCT_CODE [VARCHAR] (60),
			DOP_CODE	VARCHAR (20),
			D_SUM [NUMERIC] (20,2),			
			K_SUM [NUMERIC] (20,2),			
			DIN_SUM [NUMERIC] (20,2),	KIN_SUM [NUMERIC] (20,2),		
			DOUT_SUM [NUMERIC] (20,2), KOUT_SUM [NUMERIC] (20,2),	
			ORGNAME [VARCHAR](254),
			NEXT_DATE [VARCHAR] (10))

	INSERT INTO @RESULT
	SELECT OSV.ACCOUNT,
		dbo.BK_GetAcctFullCode1 (OSV.ACCOUNT, OSV.KBK, OSV.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		D.DOP_CODE, 
		OSV.D_SUMMA,			
		OSV.K_SUMMA,			
		CASE 				
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,			
		@varKSDEP_NAME,
		@varKScDATE_NEXT
	FROM @TABLE1 OSV
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.ACCOUNT)
	INNER JOIN @TAB_DOP D ON (D.LINK_DOP = OSV.AP2)
	WHERE (OSV.D_SUMMA <> 0)
		OR (OSV.K_SUMMA <> 0)
		OR (OSV.IN_SUMMA <> 0)
		OR (OSV.OUT_SUMMA <> 0)

	SELECT * FROM @RESULT ORDER BY ACCT_CODE, DOP_CODE

END




GO


GRANT EXECUTE ON dbo.[BK_REPORT_OSV_SYNT] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_BOOK_AMORT1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_BOOK_AMORT1]

GO


CREATE      PROCEDURE dbo.BK_REPORT_BOOK_AMORT1
	@varKSnMonth1		INT			,
	@varKScYear1		VARCHAR (4)		,
	@varKScVal1	char(1), @varKSnOtborLink1	int,
	@dDATE_BEGIN		DATETIME	= NULL,
	@dDATE_END		DATETIME	= NULL,
	@intREPORT_BY_PERIOD	TINYINT		= 0,
	@intNO_AMORT	INT,
	@intSVOD_ZB INT,
	@cVal_KBK char(1), @nOtborLinkKBK int,		-- Отбор КБК --
	@intGRP_KBK	INT = 0,
	@intAMORT_ONLY_PER	INT = 0
--
AS
BEGIN

/*
SELECT
	intNO_AMORT = @intNO_AMORT,
	intSVOD_ZB = @intSVOD_ZB,
	intGRP_KBK	= @intGRP_KBK,
	intAMORT_ONLY_PER	= @intAMORT_ONLY_PER

RETURN
*/
--select 'start', convert (varchar (100), getdate (), 121)

	DECLARE
		@varKSDATE_BEGIN	DATETIME,	
		@varKSDATE_END		DATETIME,	
		@varKSDATE_REST		DATETIME,	
		@varKSLINK_DEP		INT		,
		@varKScNEXT_PERIOD	VARCHAR (10),
		@varKScBEGIN_PERIOD	VARCHAR (10),
		@varKScOtborAccount	VARCHAR (100),

		@varKSMonth		VARCHAR (20),
		@varKSP_CODE		VARCHAR (20),
		@varKSDEP_CODE		VARCHAR (20),
		@varKSDEP_NAME		VARCHAR (254),
		@varKSDEP_OKPO		VARCHAR (20),
		@varKSEMP_CODE		VARCHAR (20),
		@strGLBUH		VARCHAR (100),
		@varKSnSel_Spr1		INT,
		@varKSEMP_NAME		VARCHAR (254),
		@strDATE_END_PERIOD	VARCHAR (10),
		@intDEP_LINK	INT

	IF @intREPORT_BY_PERIOD = 0
	BEGIN
		SET @varKSDATE_BEGIN = dbo.DateBeginOfMonth (dbo.ConvertDMY2Date (1, @varKSnMonth1, CONVERT (INT, @varKScYear1)))
		SET @varKSDATE_END = dbo.DateEndOfMonth (@varKSDATE_BEGIN)
	END
	ELSE
	BEGIN
		SET @varKSDATE_BEGIN = @dDATE_BEGIN
		SET @varKSDATE_END = @dDATE_END
	END

	SET @strDATE_END_PERIOD	= CONVERT (VARCHAR (10), @varKSDATE_END, 104)
	SET @intNO_AMORT = ISNULL (@intNO_AMORT, 0)
	SET @intDEP_LINK = dbo.BK_GetDepZB () 

	DECLARE @ACCT_BALANSE TABLE (LINK_ACCT [INT],
					cSOURCE CHAR (1),
					cSINTH CHAR (3),
					cANALIT CHAR (2),
					cUSER VARCHAR (4))

	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT_BALANSE
		SELECT RECORD,
			SA.cSOURCE,
			SA.cSINTH,
			SA.cANALIT,
			SA.cUSER
		FROM dbo.OBJECT_VAR_ACCT OV_AC
		INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OV_AC.RECORD)
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT_BALANSE
		SELECT T1.LINK,
			T1.cSOURCE,
			T1.cSINTH,
			T1.cANALIT,
			T1.cUSER
		FROM dbo.BK_GetAcctTableByCode ('101', DEFAULT, DEFAULT, DEFAULT) T1
		UNION ALL
		SELECT T1.LINK,
			T1.cSOURCE,
			T1.cSINTH,
			T1.cANALIT,
			T1.cUSER
		FROM dbo.BK_GetAcctTableByCode ('102', DEFAULT, DEFAULT, DEFAULT) T1
		UNION ALL
		SELECT T1.LINK,
			T1.cSOURCE,
			T1.cSINTH,
			T1.cANALIT,
			T1.cUSER
		FROM dbo.BK_GetAcctTableByCode ('108', '01,02,03', DEFAULT, DEFAULT) T1
		UNION ALL
		SELECT T1.LINK,
			T1.cSOURCE,
			T1.cSINTH,
			T1.cANALIT,
			T1.cUSER
		FROM dbo.BK_GetAcctTableByCode ('108', '51,52,54', DEFAULT, DEFAULT) T1

	DECLARE @ACCT_AMORT TABLE (LINK_ACCT [INT],
					cSOURCE CHAR (1),
					cSINTH CHAR (3),
					cANALIT CHAR (2),
					cUSER VARCHAR (4))

	INSERT INTO @ACCT_AMORT
	SELECT
		T1.LINK,
		T1.cSOURCE,
		T1.cSINTH,
		T1.cANALIT,
		T1.cUSER
	FROM dbo.BK_GetAcctTableByCode ('104', DEFAULT, DEFAULT, DEFAULT) T1

	--- Отбор КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	--- Параметры организации --- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT
		@varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = [NAME],
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'

	SET @varKSDATE_REST = DATEADD (DAY, 1, @varKSDATE_END)

	DECLARE @BALANSE_OS TABLE (DEP [INT], ACCOUNT [INT], INV [INT], KBK INT,
		IN_QTY [NUMERIC] (28,4), IN_SUMMA [NUMERIC] (28,4),
		OUT_QTY [NUMERIC] (28,4), OUT_SUMMA [NUMERIC] (28,4))

	INSERT INTO @BALANSE_OS
	SELECT T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.KBK,
		SUM (T1.IN_QTY),
		SUM (T1.IN_SUMMA),
		SUM (T1.OUT_QTY),
		SUM (T1.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSDATE_BEGIN, @varKSDATE_END, @intDEP_LINK) T1
	INNER JOIN @ACCT_BALANSE T2 ON (T2.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T3 ON (T3.LINK_KBK = T1.KBK)
	WHERE @intSVOD_ZB = 1 
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSLINK_DEP)
	GROUP BY T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.KBK

--select '@BALANSE_OS', convert (varchar (100), getdate (), 121)


	DECLARE @AMORT_OS TABLE (ACCOUNT [INT], INV [INT], KBK INT, 
		cSOURCE CHAR (1), cSINTH CHAR (3), cANALIT CHAR (2), cUSER VARCHAR (4),
		IN_SUMMA [NUMERIC] (28,4), K_SUMMA [NUMERIC] (28,4),
		OUT_SUMMA [NUMERIC] (28,4))

	INSERT INTO @AMORT_OS
	SELECT T1.ACCOUNT,
		T1.INV,
		T1.KBK,
		T2.cSOURCE,
		T2.cSINTH,
		T2.cANALIT,
		T2.cUSER,
		SUM (ISNULL (T1.IN_SUMMA, 0)),
		SUM (ISNULL (T1.K_SUMMA, 0)),
		SUM (ISNULL (T1.OUT_SUMMA, 0))
	FROM dbo.BK_GetTableOSVByDate (@varKSDATE_BEGIN, @varKSDATE_END, @intDEP_LINK) T1
	INNER JOIN @ACCT_AMORT T2 ON (T2.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T3 ON (T3.LINK_KBK = T1.KBK)
--	WHERE T1.DEP_LINK = @varKSLINK_DEP
	WHERE @intSVOD_ZB = 1 
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSLINK_DEP)
	GROUP BY T1.ACCOUNT,
		T1.INV,
		T1.KBK,
		T2.cSOURCE,
		T2.cSINTH,
		T2.cANALIT,
		T2.cUSER
	HAVING	SUM (ISNULL (T1.IN_SUMMA, 0)) <> 0
		OR SUM (ISNULL (T1.K_SUMMA, 0)) <> 0
		OR SUM (ISNULL (T1.OUT_SUMMA, 0)) <> 0

--select '@AMORT_OS', convert (varchar (100), getdate (), 121)

	DECLARE @TABLE_DATE_OUT_OS TABLE (INV [INT], DATE_OUT [DATETIME])
	INSERT INTO @TABLE_DATE_OUT_OS
	SELECT INV,
		MAX (DATE_OPER)
	FROM dbo.BK_GetDateTableOutOS (DEFAULT , @varKSDATE_END)
	GROUP BY INV

--select '@TABLE_DATE_OUT_OS', convert (varchar (100), getdate (), 121)

	-- ОС, по которым начислялась амортизация за указанный период --
	SET @intAMORT_ONLY_PER = ISNULL (@intAMORT_ONLY_PER, 0)
--SELECT @varKSDATE_END,  * FROM @TABLE_DATE_OUT_OS

	DECLARE
		@TAB_RES TABLE (ACCOUNT [INT], INV [INT],
		ACCT_CODE [VARCHAR] (30),
		INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
		CODE_OKOF [varchar] (11), NAME_OKOF [varchar] (50),
		BEGIN_USED [VARCHAR] (10), 
		QTY [NUMERIC] (28,4), BALANSE [NUMERIC] (28,4),
		ASUM_PB [NUMERIC] (28,4), ASUM_P [NUMERIC] (28,4), ASUM_PE [NUMERIC] (28,4),
		LSUM_BE  [NUMERIC] (28,4), LSUM_PE  [NUMERIC] (28,4),
		PERC_RATE [NUMERIC] (10,2),
		DEP_NAME [VARCHAR] (254),
		GLBUH [VARCHAR] (100),
		MONTH_NAME [VARCHAR] (20),
		YEAR_NAME [INT],
		DATE1 [VARCHAR] (10),
		DATE2 [VARCHAR] (10),
		YPERC_RATE [FLOAT],
		YSUM_RATE  [NUMERIC] (28,4),
		MSUM_RATE  [NUMERIC] (28,4),
		ISPERIOD   [TINYINT],
		PERIOD_END [VARCHAR] (10),
		DATE_OUT [VARCHAR] (10),
		KBK_CODE VARCHAR (30))

	SET @varKSMonth = dbo.DateMonthName (@varKSnMonth1)
	SET @varKSMonth = ISNULL (@varKSMonth, '')

	SELECT @strGLBUH = SHORT_NAME
	FROM dbo.GetOtvFaceData (@varKSLINK_DEP, 'Главный бухгалтер')

	SET @intGRP_KBK = ISNULL (@intGRP_KBK, 0)


	INSERT INTO @TAB_RES
	SELECT
		T1.ACCOUNT,
		T1.INV,
		RTRIM (SA.CODE),
		ISNULL (INV.CODE, ''),
		ISNULL (INV.NAME, ''),
		ISNULL(INV_DOP.CODE_OKOF,''), 
		ISNULL(INV_DOP.NAME_OKOF,''),
		ISNULL (CONVERT (VARCHAR (10), INV_DOP.DATE_BEGIN, 104), ''),
		CASE
			WHEN T1.OUT_QTY > 0 THEN T1.OUT_QTY
			WHEN T1.IN_QTY > 0 THEN T1.IN_QTY
			ELSE 0
		END,
		CASE
			WHEN T1.OUT_SUMMA > 0 THEN T1.OUT_SUMMA
			WHEN T1.IN_SUMMA > 0 THEN T1.IN_SUMMA
			ELSE 0
		END,
		ISNULL (T2.IN_SUMMA, 0),
		ISNULL (T2.K_SUMMA, 0),
		ISNULL (T2.OUT_SUMMA, 0),
		T1.IN_SUMMA - ISNULL (T2.IN_SUMMA, 0),
		T1.OUT_SUMMA - ISNULL (T2.OUT_SUMMA, 0),
		0,
		@varKSDEP_NAME,
		@strGLBUH,
		@varKSMonth,
		YEAR (@varKSDATE_BEGIN),
		CONVERT (VARCHAR (10), @varKSDATE_BEGIN, 104),
		CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSDATE_END), 104),
/*		ISNULL (INV_DOP.DEPRE_RATE, CASE
						WHEN ISNULL (INV_DOP.PERIOD_USED, 0) <> 0
						THEN 100 / INV_DOP.PERIOD_USED
						ELSE 0
					END),
*/		ISNULL (NORM_D.DEPRE_RATE, 0),
		0, 0,
		@intREPORT_BY_PERIOD,
		@strDATE_END_PERIOD,
		ISNULL (CONVERT (VARCHAR (10), DATE_OUT, 104), ''),
		ISNULL (K.CODE, '')
	FROM @BALANSE_OS T1
--	INNER JOIN @AMORT_OS T2 ON (T2.INV = T1.INV)
	INNER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = T1.INV)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT OUTER JOIN @AMORT_OS T2 ON (T2.INV = T1.INV
				 AND T2.cSOURCE = SA.cSOURCE)
	LEFT OUTER JOIN dbo.BV_INVENTORY_CARD_DOP INV_DOP ON (INV_DOP.LINK_UP = T1.INV)
	LEFT OUTER JOIN @TABLE_DATE_OUT_OS OUT_OS ON (OUT_OS.INV = T1.INV)
	LEFT OUTER JOIN dbo.BK_GetNormDepreTableByOS (DEFAULT) NORM_D ON (NORM_D.INV = T1.INV)
	LEFT JOIN dbo.KL_KBK K ON (@intGRP_KBK = 1 AND K.LINK = T1.KBK)
	WHERE 
		(@intAMORT_ONLY_PER = 0 
			OR @intAMORT_ONLY_PER = 1 AND ISNULL (T2.K_SUMMA, 0) <> 0)
		AND (@intNO_AMORT = 0 AND T2.INV = T1.INV
			OR @intNO_AMORT = 1)


	UPDATE @TAB_RES SET PERC_RATE = ASUM_PE / BALANSE * 100
	WHERE BALANSE <> 0
	
	UPDATE @TAB_RES SET YSUM_RATE = BALANSE * YPERC_RATE /100
	UPDATE @TAB_RES SET MSUM_RATE = YSUM_RATE / 12

--select '@TAB_RES', convert (varchar (100), getdate (), 121)				

	SELECT * FROM @TAB_RES ORDER BY KBK_CODE, ACCT_CODE, RIGHT ('00000000000000000000' + INV_CODE, 20)

--select 'end', convert (varchar (100), getdate (), 121)
	
END







GO


GRANT EXECUTE ON dbo.[BK_REPORT_BOOK_AMORT1] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_PRINT_TABEL_421m]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_PRINT_TABEL_421m]

GO

CREATE   PROCEDURE dbo.SA_PRINT_TABEL_421m
	@varKSnLINKDoc INT,
	@varKSnOption1 INT= 1,
	@varKSnCheck1 INT = 0,
	@nSort3 int = 0 /*сортировка 3*/,
	@nCheck3 tinyint = 0 /*Фио полностью*/,
	@nCheck5 tinyint = 0 /* Пустой табель */,
	@varKSSUBDIV VARCHAR(254) OUTPUT, 
	@varKSSUBDIV_CODE VARCHAR(10) OUTPUT,
	@varKSDIV_CODE VARCHAR(10) OUTPUT, 
	@varKSDIV_NAME VARCHAR(254) OUTPUT,
	@varKSTI_CODE VARCHAR(10) OUTPUT, 
	@varKSTI_NAME VARCHAR(254) OUTPUT,
	@varKSEXP_CODE VARCHAR(10) OUTPUT, 
	@varKSEXP_NAME VARCHAR(254) OUTPUT

AS
BEGIN

	declare @varKSdDate1 DATETIME, @varKSdDate2 DATETIME
	SELECT @varKSdDate1 = PERIOD FROM TABELS WHERE LINK_DOC = @varKSnLINKDoc
	SELECT @varKSdDate1 = dbo.DateBeginOfMonth(@varKSdDate1)
	SELECT @varKSdDate2 = dbo.DateEndOfMonth(@varKSdDate1)

	CREATE TABLE #T_RES00 (
		ID VARCHAR(20),
		LINK_FACE INT, 
		LINK_EMPL INT,
		LINK_SOVM INT,
		FIO VARCHAR(254),
		NAME_EMPL VARCHAR(254),
		TN VARCHAR(10) ,
		SUBDIV_LINK INT, 
		CODE_SUB VARCHAR(10),
		SUBDIV VARCHAR(254) ,
		POST_LINK INT,
		CODE_POST VARCHAR(10),
		POST VARCHAR(254) ,
		
		DAY_1 VARCHAR(4),	DAY_2 VARCHAR(4),	DAY_3 VARCHAR(4),	DAY_4 VARCHAR(4),	DAY_5 VARCHAR(4),
		DAY_6 VARCHAR(4),	DAY_7 VARCHAR(4),	DAY_8 VARCHAR(4),	DAY_9 VARCHAR(4),	DAY_10 VARCHAR(4),
		DAY_11 VARCHAR(4),	DAY_12 VARCHAR(4),	DAY_13 VARCHAR(4),	DAY_14 VARCHAR(4),	DAY_15 VARCHAR(4),
		DAY_16 VARCHAR(4),	DAY_17 VARCHAR(4),	DAY_18 VARCHAR(4),	DAY_19 VARCHAR(4),	DAY_20 VARCHAR(4),
		DAY_21 VARCHAR(4),	DAY_22 VARCHAR(4),	DAY_23 VARCHAR(4),	DAY_24 VARCHAR(4),	DAY_25 VARCHAR(4),
		DAY_26 VARCHAR(4),	DAY_27 VARCHAR(4),	DAY_28 VARCHAR(4),	DAY_29 VARCHAR(4),	DAY_30 VARCHAR(4),
		DAY_31 VARCHAR(4),
		
		HALF_D INT, --HALF_H NUMERIC(6,2), 	
		--HALF2_D INT, HALF2_H NUMERIC(6,2), 	
		--ALL_D INT, ALL_H NUMERIC(6,2), 		
		NONE_DAYS INT, 
		--NONE_HOURS NUMERIC(6,2)	,
		
		TYPE_1 INT, 
		--TYPE_1H NUMERIC(6,2),
		--TYPE_2H INT, 
		TYPE_2 NUMERIC(6,2), 
		TYPE_3 INT, TYPE_4 INT, TYPE_5 INT, TYPE_6 INT, TYPE_7 INT, TYPE_8 INT, TYPE_9 INT, 
		--TYPE_10 INT, 
		TYPE_11 INT, 
		--TYPE_12 INT,

		--TYPE_13 INT,	-- ОТРАБОТАНО В МЕСЯЦ СВЕРУХРОЧНЫХ ЧАСОВ
		--TYPE_14 INT,	-- ОТРАБОТАНО В МЕСЯЦ НОЧНЫХ ЧАСОВ
		--TYPE_15 INT,	-- ОТРАБОТАНО В МЕСЯЦ ЧАСОВ В ВЫХОДНЫЕ И ПРАЗДНИЧНЫЕ ДНИ
	) 

	---
	DECLARE @ISMINUTES TINYINT
	SET @ISMINUTES = DBO.SA_GET_OPTION_BY_CODE('TABEL_OPT10') --УЧЕТ ВРЕМЕНИ В ЧАСАХ И МИНУТАХ

	---
	declare @def_tdlink int, @def_tdname varchar(254), @def_tdsymb varchar(4)
	Select @def_tdlink = LINK, @def_tdname = [NAME], @def_tdsymb = SYMB from dbo.TYP_DAYS where WORK_D = 1 AND TYP_YAVKA = 1

	select  LINK_DOC, NUMBER, DATE, LINK_EMPL, PERIOD, [DAY], 
		SUM([HOUR]) as [HOUR], 
		MAX(WORK_D) as WORK_D,
		MAX(TYP_YAV) AS TYP_YAV,
		(CASE when count(TYPE_DAY) = 1 then MAX(TYPE_DAY) else @def_tdlink end) as TYPE_DAY,
		(CASE when count(SYMB) = 1 then MAX(SYMB) else @def_tdsymb end) as SYMB,	
		(CASE when count(SYMB) = 1 then MAX(TYPE_DATY_NAME) else @def_tdname end) as TYPE_DATY_NAME
	into #tabel 
	from TABEL WHERE LINK_DOC = @varKSnLINKDoc
	group by LINK_DOC, NUMBER, DATE, LINK_EMPL, PERIOD, [DAY]
--	having count(SYMB) > 1
--AND TYPE_DAY not in (Select KOD from [dbo].[SA_TYPES_DOP_TAB])

	--- Информация об отработанных днях
	SELECT W.LINK_UP1, W.LINK_SOVM,
	DAYS_H1 = 
		CASE WHEN SUM(W.D1) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D2) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D3) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D4) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D5) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D6) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D7) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D8) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D9) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D10) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D11) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D12) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D13) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D14) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D15) > 0 THEN 1 ELSE 0 END,

	DAYS_H2 = 
		CASE WHEN SUM(W.D16) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D17) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D18) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D19) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D20) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D21) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D22) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D23) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D24) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D25) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D26) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D27) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D28) > 0 THEN 1 ELSE 0 END
	+	CASE WHEN SUM(W.D29) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D30) > 0 THEN 1 ELSE 0 END 
	+	CASE WHEN SUM(W.D31) > 0 THEN 1 ELSE 0 END,
	

	[HOURS] = 
			DBO.MINUTES_TO_NUM( 
			SUM(
			DBO.NUM_TO_MINUTES(W.D1,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D2,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D3,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D4,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D5,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D6,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D7,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D8,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D9,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D10,@ISMINUTES)

		+	DBO.NUM_TO_MINUTES(W.D11,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D12,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D13,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D14,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D15,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D16,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D17,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D18,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D19,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D20,@ISMINUTES)

		+	DBO.NUM_TO_MINUTES(W.D21,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D22,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D23,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D24,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D25,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D26,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D27,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D28,@ISMINUTES)
		+	DBO.NUM_TO_MINUTES(W.D29,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D30,@ISMINUTES) +	DBO.NUM_TO_MINUTES(W.D31,@ISMINUTES)
		)
		,@ISMINUTES)
	INTO 
		#WORK_DAYS
	FROM 
		DBO.SA_TABELS_W W
	WHERE 
		LINK_UP = @varKSnLINKDoc
	GROUP BY 
		W.LINK_UP1, W.LINK_SOVM
		
	--- Информация об отработанных днях
	SELECT W.LINK_UP1, W.LINK_SOVM,
	DAYS_Y7 = 
			CASE WHEN SUM(W.D1) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D2) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D3) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D4) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D5) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D6) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D7) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D8) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D9) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D10) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D11) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D12) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D13) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D14) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D15) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D16) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D17) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D18) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D19) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D20) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D21) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D22) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D23) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D24) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D25) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D26) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D27) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D28) > 0 THEN 1 ELSE 0 END
		+	CASE WHEN SUM(W.D29) > 0 THEN 1 ELSE 0 END +	CASE WHEN SUM(W.D30) > 0 THEN 1 ELSE 0 END 
		+	CASE WHEN SUM(W.D31) > 0 THEN 1 ELSE 0 END
	INTO 
		#WORK_DAYS1
	FROM 
		DBO.SA_TABELS_W W
	WHERE 
		LINK_UP = @varKSnLINKDoc
		AND
		TYP_YAVKA = 7
	GROUP BY 
		W.LINK_UP1, W.LINK_SOVM		

	--- Информация о неявках сотрудников
	SELECT 
		N.LINK_UP1,
		T.WORK_D,
		COUNT_DAYS = 
			CASE WHEN N.D1 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D2 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D3 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D4 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D5 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D6 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D7 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D8 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D9 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D10 = T.LINK THEN 1 ELSE 0 END

			+ CASE WHEN N.D11 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D12 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D13 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D14 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D15 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D16 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D17 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D18 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D19 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D20 = T.LINK THEN 1 ELSE 0 END

			+ CASE WHEN N.D21 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D22 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D23 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D24 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D25 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D26 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D27 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D28 = T.LINK THEN 1 ELSE 0 END
			+ CASE WHEN N.D29 = T.LINK THEN 1 ELSE 0 END + CASE WHEN N.D30 = T.LINK THEN 1 ELSE 0 END 
			+ CASE WHEN N.D31 = T.LINK THEN 1 ELSE 0 END 
	INTO 
		#NOTWORK_DAYS
	FROM
		DBO.SA_TABELS_N N, DBO.TYP_DAYS T
	WHERE
		LINK_UP = @varKSnLINKDoc




	CREATE TABLE #WS (LINK_EMPL INT, LINK_SOVM INT,
		W1 VARCHAR(6), W2 VARCHAR(6), W3 VARCHAR(6), W4 VARCHAR(6), W5 VARCHAR(6), W6 VARCHAR(6), W7 VARCHAR(6), W8 VARCHAR(6), W9 VARCHAR(6), W10 VARCHAR(6),
		W11 VARCHAR(6), W12 VARCHAR(6), W13 VARCHAR(6), W14 VARCHAR(6), W15 VARCHAR(6), W16 VARCHAR(6), W17 VARCHAR(6), W18 VARCHAR(6), W19 VARCHAR(6), W20 VARCHAR(6), 
		W21 VARCHAR(6), W22 VARCHAR(6), W23 VARCHAR(6), W24 VARCHAR(6), W25 VARCHAR(6), W26 VARCHAR(6), W27 VARCHAR(6), W28 VARCHAR(6), W29 VARCHAR(6), W30 VARCHAR(6), W31 VARCHAR(6)
		)
	---
	INSERT INTO #WS
	SELECT 
		WP.LINK_EMPL, WP.LINK_SOVM, 
		W1 = LEFT(MAX(CASE WHEN W.D1 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W2 = LEFT(MAX(CASE WHEN W.D2 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W3 = LEFT(MAX(CASE WHEN W.D3 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W4 = LEFT(MAX(CASE WHEN W.D4 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W5 = LEFT(MAX(CASE WHEN W.D5 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W6 = LEFT(MAX(CASE WHEN W.D6 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W7 = LEFT(MAX(CASE WHEN W.D7 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W8 = LEFT(MAX(CASE WHEN W.D8 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W9 = LEFT(MAX(CASE WHEN W.D9 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W10 = LEFT(MAX(CASE WHEN W.D10 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),

		W11 = LEFT(MAX(CASE WHEN W.D11 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W12 = LEFT(MAX(CASE WHEN W.D12 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W13 = LEFT(MAX(CASE WHEN W.D13 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W14 = LEFT(MAX(CASE WHEN W.D14 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W15 = LEFT(MAX(CASE WHEN W.D15 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W16 = LEFT(MAX(CASE WHEN W.D16 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W17 = LEFT(MAX(CASE WHEN W.D17 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W18 = LEFT(MAX(CASE WHEN W.D18 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W19 = LEFT(MAX(CASE WHEN W.D19 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W20 = LEFT(MAX(CASE WHEN W.D20 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),

		W21 = LEFT(MAX(CASE WHEN W.D21 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W22 = LEFT(MAX(CASE WHEN W.D22 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W23 = LEFT(MAX(CASE WHEN W.D23 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W24 = LEFT(MAX(CASE WHEN W.D24 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W25 = LEFT(MAX(CASE WHEN W.D25 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W26 = LEFT(MAX(CASE WHEN W.D26 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W27 = LEFT(MAX(CASE WHEN W.D27 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W28 = LEFT(MAX(CASE WHEN W.D28 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W29 = LEFT(MAX(CASE WHEN W.D29 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),
		W30 = LEFT(MAX(CASE WHEN W.D30 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6),

		W31 = LEFT(MAX(CASE WHEN W.D31 <> 0 THEN SPACE((ISNULL(DOP_TAB-1,0))*2) + SYMB ELSE '' END),6)
	FROM 
		DBO.TABELS T 
		INNER JOIN DBO.SA_TABELS_EMPLS TE ON T.LINK = TE.LINK
		INNER JOIN DBO.SA_TABELS_EMPLS_WP WP ON TE.LINK = WP.LINK_UP1
		LEFT JOIN DBO.TABELS_W W ON TE.LINK = W.link_up AND WP.LINK_SOVM = COALESCE(W.link_sovm,0)
		LEFT JOIN dbo.TYP_DAYS TD ON TD.LINK = W.LINK_DAY
	WHERE			
		T.LINK_DOC = @varKSnLINKDoc
	GROUP BY 
		WP.LINK_EMPL, WP.LINK_SOVM		
	ORDER BY
		 WP.LINK_EMPL, WP.LINK_SOVM

	---
	CREATE TABLE #S (LINK_EMPL INT, LINK_SOVM INT,
		W1 VARCHAR(4), W2 VARCHAR(4), W3 VARCHAR(4), W4 VARCHAR(4), W5 VARCHAR(4), W6 VARCHAR(4), W7 VARCHAR(4), W8 VARCHAR(4), W9 VARCHAR(4), W10 VARCHAR(4),
		W11 VARCHAR(4), W12 VARCHAR(4), W13 VARCHAR(4), W14 VARCHAR(4), W15 VARCHAR(4), W16 VARCHAR(4), W17 VARCHAR(4), W18 VARCHAR(4), W19 VARCHAR(4), W20 VARCHAR(4), 
		W21 VARCHAR(4), W22 VARCHAR(4), W23 VARCHAR(4), W24 VARCHAR(4), W25 VARCHAR(4), W26 VARCHAR(4), W27 VARCHAR(4), W28 VARCHAR(4), W29 VARCHAR(4), W30 VARCHAR(4), W31 VARCHAR(4)
		 )	

	INSERT INTO #S (LINK_EMPL, LINK_SOVM, W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, W13, W14, W15, W16, W17, W18, W19, W20, W21, W22, W23, W24, W25, W26, W27, W28, W29, W30, W31 )
	SELECT 
		T.LINK_EMPL, T.LINK_SOVM,
		LTRIM(RTRIM(MAX(W1))), LTRIM(RTRIM(MAX(W2))), LTRIM(RTRIM(MAX(W3))), LTRIM(RTRIM(MAX(W4))), LTRIM(RTRIM(MAX(W5))), LTRIM(RTRIM(MAX(W6))), LTRIM(RTRIM(MAX(W7))), LTRIM(RTRIM(MAX(W8))), LTRIM(RTRIM(MAX(W9))), LTRIM(RTRIM(MAX(W10))), 
		LTRIM(RTRIM(MAX(W11))), LTRIM(RTRIM(MAX(W12))), LTRIM(RTRIM(MAX(W13))), LTRIM(RTRIM(MAX(W14))), LTRIM(RTRIM(MAX(W15))), LTRIM(RTRIM(MAX(W16))), LTRIM(RTRIM(MAX(W17))), LTRIM(RTRIM(MAX(W18))), LTRIM(RTRIM(MAX(W19))), LTRIM(RTRIM(MAX(W20))), 
		LTRIM(RTRIM(MAX(W21))), LTRIM(RTRIM(MAX(W22))), LTRIM(RTRIM(MAX(W23))), LTRIM(RTRIM(MAX(W24))), LTRIM(RTRIM(MAX(W25))), LTRIM(RTRIM(MAX(W26))), LTRIM(RTRIM(MAX(W27))), LTRIM(RTRIM(MAX(W28))), LTRIM(RTRIM(MAX(W29))), LTRIM(RTRIM(MAX(W30))), LTRIM(RTRIM(MAX(W31))) 
	FROM
	(	
		SELECT 
			LINK_EMPL, LINK_SOVM, W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, W13, W14, W15, W16, W17, W18, W19, W20, W21, W22, W23, W24, W25, W26, W27, W28, W29, W30, W31 
		FROM #WS
		UNION ALL
		SELECT 
			WP.LINK_EMPL, WP.LINK_SOVM, 
			SPACE(4) + ISNULL(SYMB1,''), SPACE(4) + ISNULL(SYMB2,''), SPACE(4) + ISNULL(SYMB3,''), SPACE(4) + ISNULL(SYMB4,''), SPACE(4) + ISNULL(SYMB5,''), SPACE(4) + ISNULL(SYMB6,''), SPACE(4) + ISNULL(SYMB7,''), SPACE(4) + ISNULL(SYMB8,''), SPACE(4) + ISNULL(SYMB9,''), SPACE(4) + ISNULL(SYMB10,''),
			SPACE(4) + ISNULL(SYMB11,''), SPACE(4) + ISNULL(SYMB12,''), SPACE(4) + ISNULL(SYMB13,''), SPACE(4) + ISNULL(SYMB14,''), SPACE(4) + ISNULL(SYMB15,''), SPACE(4) + ISNULL(SYMB16,''), SPACE(4) + ISNULL(SYMB17,''), SPACE(4) + ISNULL(SYMB18,''), SPACE(4) + ISNULL(SYMB19,''), SPACE(4) + ISNULL(SYMB20,''), 
			SPACE(4) + ISNULL(SYMB21,''), SPACE(4) + ISNULL(SYMB22,''), SPACE(4) + ISNULL(SYMB23,''), SPACE(4) + ISNULL(SYMB24,''), SPACE(4) + ISNULL(SYMB25,''), SPACE(4) + ISNULL(SYMB26,''), SPACE(4) + ISNULL(SYMB27,''), SPACE(4) + ISNULL(SYMB28,''), SPACE(4) + ISNULL(SYMB29,''), SPACE(4) + ISNULL(SYMB30,''), SPACE(4) + ISNULL(SYMB31,'')
		FROM 
			DBO.TABELS T 
			INNER JOIN DBO.SA_TABELS_EMPLS TE ON T.LINK = TE.LINK
			INNER JOIN DBO.SA_TABELS_EMPLS_WP WP ON TE.LINK = WP.LINK_UP1
			LEFT JOIN DBO.SA_TABELS_N N ON TE.LINK = N.LINK_UP1
		WHERE			
			T.LINK_DOC = @varKSnLINKDoc
	) T
	GROUP BY
		T.LINK_EMPL, T.LINK_SOVM
	ORDER BY 1,2

	
	INSERT INTO #T_RES00
		(ID,LINK_FACE, LINK_EMPL, LINK_SOVM, FIO, NAME_EMPL, TN, SUBDIV_LINK, CODE_SUB, SUBDIV, POST_LINK, CODE_POST, POST,

		DAY_1,  DAY_2,  DAY_3,  DAY_4,  DAY_5,  DAY_6,  DAY_7,  DAY_8,  DAY_9,  DAY_10, 
		DAY_11, DAY_12, DAY_13, DAY_14, DAY_15, DAY_16, DAY_17, DAY_18, DAY_19, DAY_20, 
		DAY_21, DAY_22, DAY_23, DAY_24, DAY_25, DAY_26, DAY_27, DAY_28, DAY_29, DAY_30, DAY_31,
		HALF_D,
		NONE_DAYS, 

		TYPE_1, 

		TYPE_2, 

		TYPE_3, TYPE_4, TYPE_5, TYPE_6, TYPE_7, TYPE_8, TYPE_9, 

		TYPE_11 

	)
	SELECT
		ID = RIGHT( REPLACE(SPACE(20),SPACE(1),'0') + CONVERT(VARCHAR(20),WP.LINK_EMPL),10) +RIGHT( REPLACE(SPACE(20),SPACE(1),'0') + CONVERT(VARCHAR(20),WP.LINK_SOVM),10) ,
		[LINK_FACE] = P.LINK,
		WP.LINK_EMPL,
		WP.LINK_SOVM,
		[FIO]  = (case when coalesce(@nCheck3,0) = 1 then  coalesce(LEFT(LTRIM(RTRIM(COALESCE(LTRIM(RTRIM(P.FM)) + ' ' + LTRIM(RTRIM(P.IM)) + ' ' + LTRIM(RTRIM(P.OT)),'Не заполнено'))),100), SPACE(100)) 
					else coalesce(LEFT(LTRIM(RTRIM(COALESCE(LTRIM(RTRIM(FM)) + ' ' + LEFT(LTRIM(RTRIM(IM)),1) + '.' + LEFT(LTRIM(RTRIM(OT)),1) + '.', 'Не заполнено'))),30), SPACE(100)) end),
		[NAME_EMPL] = LEFT(LTRIM(RTRIM(COALESCE(LTRIM(RTRIM(FM)) + ' ' + LEFT(LTRIM(RTRIM(IM)),1) + '.' + LEFT(LTRIM(RTRIM(OT)),1) + '.', 'Не заполнено'))),30),
		[TN] 		= ISNULL(TE.TAB, SPACE(10)),
		[SUBDIV_LINK] = TE.SUBDIV_LINK,
		[CODE_SUB] = ISNULL( TE.SUBDIV_CODE, SPACE(10) ),
		[SUBDIV] = ISNULL( TE.SUBDIV_NAME, SPACE(254) ),
		[POST_LINK] = WP.POST_LINK,
		[CODE_POST] = ISNULL( WP.POST_CODE, SPACE(10) ),
		[POST] 		= ISNULL( WP.POST_NAME, SPACE(120) ),

		W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, 
		W11, W12, W13, W14, W15, W16, W17, W18, W19, W20, 
		W21, W22, W23, W24, W25, W26, W27, W28, W29, W30, W31, 
		[HALF_D] = case when @nCheck5 = 1 then 0 else isnull(WD.DAYS_H1,0) END,
		--
		[NONE_DAYS] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1  AND WORK_D not IN (11,14) ),0) end,
		--Дни явок		
		[TYPE_1] = case when @nCheck5 = 1 then 0 else ISNULL(WD.DAYS_H1,0) + ISNULL(WD.DAYS_H2,0) end,
		----Часы явок
		[TYPE_2] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 2),0) + ISNULL(Y.DAYS_Y7,0) end,		-- командировка (дни)
		[TYPE_3] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 3),0) end,		-- повышение квалификации (дни)
		[TYPE_4] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 4),0) end,		-- очередной ежегодный отпуск НЕЯВКА (дни)
		[TYPE_5] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 5),0) end,		-- учебный отпуск НЕЯВКА (дни)
		[TYPE_6] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 6),0) end,		-- больничный НЕЯВКА (дни)
		[TYPE_7] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D IN (7,13)),0) end, 	-- уход за ребенком НЕЯВКА (дни)
		[TYPE_8] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 8),0) end,		-- с разрешения администрации НЕЯВКА (дни)
		[TYPE_9] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D = 9),0) end,		-- прогул НЕЯВКА (дни)
		[TYPE_11] = case when @nCheck5 = 1 then 0 else ISNULL((SELECT SUM(COUNT_DAYS) FROM #NOTWORK_DAYS WHERE TE.LINK = LINK_UP1 AND WORK_D IN (11,14)),0) end	-- выходные и праздничые НЕЯВКА (дни)
	FROM 
		DBO.TABELS T 
		INNER JOIN DBO.SA_TABELS_EMPLS TE ON T.LINK = TE.LINK
		INNER JOIN DBO.SA_TABELS_EMPLS_WP WP ON TE.LINK = WP.LINK_UP1
		INNER JOIN DBO.EMPL E ON E.LINK = TE.LINK_EMPL
		INNER JOIN DBO.PERSON P ON P.LINK = E.PERS_LINK
		LEFT JOIN #S S ON WP.LINK_EMPL = S.LINK_EMPL AND WP.LINK_SOVM = S.LINK_SOVM
		LEFT JOIN #WORK_DAYS WD ON TE.LINK = WD.LINK_UP1 AND WD.LINK_SOVM = WP.LINK_SOVM
		LEFT JOIN #WORK_DAYS1 Y ON TE.LINK = Y.LINK_UP1 AND Y.LINK_SOVM = WP.LINK_SOVM
	WHERE 
		T.LINK_DOC = @varKSnLINKDoc
	ORDER BY 
		1

IF (SELECT COUNT(DISTINCT SUBDIV_LINK) FROM #T_RES00) <> 1 BEGIN
		SELECT @varKSSUBDIV = '', @varKSSUBDIV_CODE = ''
	END
	ELSE 
		BEGIN
			SELECT TOP 1 @varKSSUBDIV = SUBDIV, @varKSSUBDIV_CODE = CODE_SUB FROM  #T_RES00
		END

	DECLARE 
		@varKSCNT1 INT, @varKSCNT2 INT, @varKSCNT3 INT
	
	SELECT TOP 1 
		@varKSCNT1 = COUNT(DISTINCT LINK_FKR_D), 
		@varKSCNT2 = COUNT(DISTINCT LINK_FKR_T), 
		@varKSCNT3 = COUNT(DISTINCT LINK_FKR_E),
		@varKSDIV_CODE = MAX(CODE_FKR_D),
		@varKSDIV_NAME = MAX(NAME_FKR_D),
		@varKSTI_CODE = MAX(CODE_FKR_T),
		@varKSTI_NAME = MAX(NAME_FKR_T),
		@varKSEXP_CODE = MAX(CODE_FKR_E),
		@varKSEXP_NAME = MAX(NAME_FKR_E)
	FROM DICTIONARY_PAYS_EMPL DPE
	INNER JOIN dbo.PAYS P ON DPE.LINK_PAYS = P.LINK
	INNER JOIN bi_diction_vkr VKR ON VKR.LINK = DPE.LINK_KBK
	INNER JOIN #T_RES00 R ON DPE.LINK_EMPL = R.LINK_EMPL
	where date_begin <= @varKSdDate2
		AND (DATE_END >= @varKSdDate1 OR DATE_END IS NULL) 


	declare @LINK_DEP int
	Set @LINK_DEP = Coalesce( (SELECT TOP 1 ZB_LINK FROM dbo.KS_OPTIONS_ZB), dbo.GetOwnDepLink())

	declare @nAVGCount numeric(18,2), @nMCount numeric(18,2)

	Select @nAVGCount = dbo.sa_ssch_empls(@varKSdDate1, @varKSdDate2, null, 0, 1, 0, DEFAULT)
	Select @nMCount = dbo.sa_sch_empls(@varKSdDate2, null, 0, 1, 0, DEFAULT)

	IF @varKSCNT1 <> 1
		SELECT @varKSDIV_CODE = '', @varKSDIV_NAME = ''
	IF @varKSCNT2 <> 1
		SELECT @varKSTI_CODE = '', @varKSTI_NAME = ''
	IF @varKSCNT3 <> 1
		SELECT @varKSEXP_CODE = '', @varKSEXP_NAME = ''

	SELECT *, @nAVGCount as AVGCount, @nMCount as MCount 
	FROM #T_RES00
	ORDER BY 
		LTRIM(RTRIM(CASE @varKSnOption1 
			WHEN 1 THEN REPLICATE ('0',10 - len(ltrim(rtrim((TN))))) + ltrim(rtrim((TN))) 
			WHEN 2 THEN REPLICATE ('0',10 - len(ltrim(rtrim((CODE_POST))))) + ltrim(rtrim((CODE_POST)))
			WHEN 3 THEN POST
			WHEN 4 THEN FIO
			WHEN 5 THEN REPLICATE ('0',10 - len(ltrim(rtrim((CODE_SUB))))) + ltrim(rtrim((CODE_SUB)))
			WHEN 6 THEN SUBDIV
			ELSE ''
		END)),

		LTRIM(RTRIM(CASE @varKSnCheck1 
			WHEN 2 THEN REPLICATE ('0',10 - len(ltrim(rtrim((TN))))) + ltrim(rtrim((TN))) 
			WHEN 3 THEN REPLICATE ('0',10 - len(ltrim(rtrim((CODE_POST))))) + ltrim(rtrim((CODE_POST)))
			WHEN 4 THEN POST
			WHEN 5 THEN FIO
			WHEN 6 THEN REPLICATE ('0',10 - len(ltrim(rtrim((CODE_SUB))))) + ltrim(rtrim((CODE_SUB)))
			WHEN 7 THEN SUBDIV
			ELSE ''
		END)),
		
		LTRIM(RTRIM(CASE @nSort3 
			WHEN 2 THEN '' + REPLICATE ('0',10 - len(ltrim(rtrim((TN))))) + ltrim(rtrim((TN))) 
			WHEN 3 THEN '' +REPLICATE ('0',10 - len(ltrim(rtrim((CODE_POST))))) + ltrim(rtrim((CODE_POST)))
			WHEN 4 THEN '' +POST
			WHEN 5 THEN '' +FIO
			WHEN 6 THEN '' +REPLICATE ('0',10 - len(ltrim(rtrim((CODE_SUB))))) + ltrim(rtrim((CODE_SUB)))
			WHEN 7 THEN '' +SUBDIV
			ELSE ''
		END))

END




GO


GRANT EXECUTE ON dbo.[SA_PRINT_TABEL_421m] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BB_EXPORT_PP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BB_EXPORT_PP]

GO

CREATE PROCEDURE dbo.BB_EXPORT_PP
	@cBuffId	varchar(30) = '',
	@cFormat	varchar(30) = ''

AS

DECLARE @iLinkedKBK	tinyint,
	@iGroupKBK	tinyint,
	
		@DATE_MAX	DATETIME,
		@COUNT_DOC	INT,
		@SUM_TOTAL	NUMERIC (28,4),
		@iCity int,
		@iCityP int
		

select @iCity = BANK_CITY from dbo.DOCUMENTS_PAY_OPTIONS
select @iCityP = BANK_CITY from dbo.DOCUMENTS_PAY_OPTIONS
	
set @iLinkedKBK = isnull(dbo.sa_get_option_by_code('NASTR_PAY_LINKED_KBK'),0)
set @iGroupKBK = isnull(dbo.sa_get_option_by_code('NASTR_PAY_GROUP_KBK'),0)

if left(@cFormat,2) = 'TX'
begin 
	DECLARE @iDepLink	int
	set @iDepLink = isnull(dbo.BK_GetDepZB(),dbo.GetOwnDepLink())

	-- Таблица 2 (FROM)
	SELECT 	BUDG_LEVEL  = case D.BUH_TYPE WHEN 1 then cast(replace(B.CODE_EL,'0','') as char(1)) else '6' end,
			KOD_UBP 	= BUDG,
			NAME_UBP	= left(rtrim(D.prefix) + rtrim(D.FULL_NAME) + case when charindex('(',D.prefix,0) > 0 then ')' else '' end,2000),
			0 as link,
			0 as link_up,
			-- Поля для приема выписки
			KOD_TOFK  = '0000',
			NAME_TOFK = space(2000)
			
	from dbo.DEPARTMENTS D
	left join dbo.KL_ADMIN_BS V WITH (NOLOCK) on V.LINK = D.VED_LINK
	left join dbo.KL_BUDG_TYPE B WITH (NOLOCK) on V.Link_Budg = B.LINK
	where D.LINK = @iDepLink


	-- Таблица 3 (TO)
	SELECT 	KOD_TOFK  = TOFK.CODE,
			NAME_TOFK = TOFK.FULL_NAME,
			0 as link,
			0 as link_up,
			-- Поля для приема выписки
			BUDG_LEVEL  = '00',
			KOD_UBP 	= '00000',
			NAME_UBP	= space(2000)
	from dbo.DEPARTMENTS D
	inner join dbo.TREASURY TOFK on D.TOFK_LINK = TOFK.LINK
	where D.LINK = @iDepLink

	-- Таблица 4 (PP)
	IF exists(select * from dbo.DEPARTMENTS where LINK = @iDepLink AND BUH_TYPE < 4)
		SELECT  LINK 	= 0,
			LINK_UP	= 0,
			LS = space(11),
			[DATE]	= MAX(G.DATE),
			GUID_OTCH = space(36),
			KOD_DOC = '  ',
			VID_OTCH = '1',
			KOL		= COUNT(*),
			SUM_TOTAL	= SUM(G.SUMMA)
		FROM dbo.G_PROV G
		inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = G.LINK
	else
		SELECT  LINK 	= 0,
			LINK_UP	= 0,
			LS = space(11),
			[DATE]	= '',
			GUID_OTCH = space(36),
			KOD_DOC = '  ',
			VID_OTCH = '1',
			KOL		= 0,
			SUM_TOTAL	= 0
		where 1>2
	
--	IF OBJECT_ID ('TEMPDB..#SMETA_EXPORT_PP') IS NOT NULL
--			EXECUTE ('DROP TABLE #SMETA_EXPORT_PP')

/*	SELECT 
		@DATE_MAX	=	MAX(G.DATE),
		@COUNT_DOC	=	COUNT(*),
		@SUM_TOTAL	=	SUM(G.SUMMA)
	FROM dbo.G_PROV G
	inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = G.LINK
*/
/*
	SELECT  LINK 	= 0,
			LINK_UP	= 0,
			LS = space(11),
			[DATE]	= MAX(G.DATE),
			GUID_OTCH = space(36),
			KOD_DOC = '  ',
			KOL		= COUNT(*),
			SUM_TOTAL	= SUM(G.SUMMA)
--	INTO #SMETA_EXPORT_PP		
	FROM dbo.G_PROV G
	inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = G.LINK
*/
/*	INNER JOIN dbo.DEPARTMENTS DEP ON (DEP.LINK = G.DEP
		AND DEP.BUH_TYPE < 4)
*/

/*
	IF @cFormat > 'TXPP120101'
		SELECT T1.*
		FROM #SMETA_EXPORT_PP	T1
		INNER JOIN dbo.DEPARTMENTS DEP ON (DEP.LINK = T.DEP
			AND DEP.BUH_TYPE < 4)
	ELSE
			SELECT T1.*
			FROM #SMETA_EXPORT_PP	T1

	DROP TABLE #SMETA_EXPORT_PP
*/
/*	END		
	ELSE
		SELECT  LINK 	= 0,
				LINK_UP	= 0,
				LS = space(11),
				[DATE]	= MAX(G.DATE),
				GUID_OTCH = space(36),
				KOD_DOC = '  ',
				KOL		= COUNT(*),
				SUM_TOTAL	= SUM(G.SUMMA)
		FROM dbo.G_PROV G
		inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = G.LINK
*/
		-- Разница в наименовании полей --
		IF OBJECT_ID ('TEMPDB..#SMETA_EXPORT_PPT') IS NOT NULL
				EXECUTE ('DROP TABLE #SMETA_EXPORT_PPT')

		SELECT  LINK 		 = PP.LINK,
				LINK_UP		 = PP.LINK,
				NOM_PP		 = PP.NUMBER,
				DATE_PP		 = PP.DATE,
				SUM_PP		 = PP.SUMMA,
				VID_PL		 = CASE	PP.KIND WHEN 'почтой'     THEN '1'
											 WHEN 'телеграфом' THEN '2'
											 WHEN 'электронно' THEN '3'
											 WHEN 'срочно' 	   THEN '4'
											 ELSE '0' END,
				VID_OPER	= '01', 
				INN_PAY		= PP.S_INN,
				KPP_PAY		= PP.S_KPP,
				--CNAME_PAY	= PP.S_FNAME,
				CNAME_PAY	= dbo.BB_DEP_NAME_FOR_SHABLON(isnull(APO.SHABLON_D,APOD.SHABLON_D), default, PP.S_ACC_LINK),
				BS_PAY		= case PP.S_ACC_TYPE when 1 then PP.S_ACC_NUM else PP.S_SCH_K end,
				BIC_PAY		= PP.S_BIK,
				NAME_BIC_PAY = PP.S_BANK + case isnull(@iCity,0) when 1 then ' ' + isnull(PP.S_BANK_CITY,'') else '' end,
				BS_KS_PAY	= PP.S_SCH_B,
				INN_RCP		= PP.D_INN,
				KPP_RCP		= PP.D_KPP,
				NAME_RCP	= dbo.BB_DEP_NAME_FOR_SHABLON(CASE WHEN PPA.DOH_CODE is not null or PPA.OKATO is not null or P_REASON is not null or PPA.PERIOD is not null or TREBNUM is not null or TREBDATE is not null or P_TYPE is not null or STATUS is not null THEN isnull

(APO.SHABLON_N, APOD.SHABLON_N) else isnull(APO.SHABLON_S, APOD.SHABLON_S) end, default, PP.D_ACC_LINK),
		
				--NAME_RCP	= PP.D_FNAME,
				BS_RCP		= replace(isnull(PP.D_ACC_NUM,PP.D_SCH_K),'00000000000000000000',''),
				BIC_RCP		= PP.D_BIK,
				NAME_BIC_RCP = PP.D_BANK + case isnull(@iCityP,0) when 1 then ' ' + isnull(PP.D_BANK_CITY,'') else '' end,
				BS_KS_RCP	 = PP.D_SCH_B,
				DATE_PAY	= PP.SROK, 
				ORDER_PAY   = PP.[Order],
				PURPOSE = case PP.BK_IN_TGT when 1 then rtrim(replace(replace(replace(replace(replace(replace(
													case isnull(ltrim(rtrim(PP.BO_NUM)),'') when '' then rtrim(dbo.BB_DDELIM_DEL(isnull(APO.LS_FMT, APOD.LS_FMT),'<БО>')) else isnull(APO.LS_FMT, APOD.LS_FMT) end, 
													'<БО>', isnull(ltrim(rtrim(PP.BO_NUM)),'')),
													'<Счет>', case PP.S_ACC_TYPE when 1 then '' else rtrim(PP.S_ACC_NUM) end),
													'<Перевод_строки>', '
	)'),												'<БК>',rtrim(dbo.BB_BK_FOR_SHABLON(PP.LINK, isnull(APO.SHABLON_BK, APOD.SHABLON_BK),isnull(APO.DELIM, APOD.DELIM),isnull(APO.DELIM5, APOD.DELIM5)))),
														--'<БК>',/*str(P.S_ACC_LINK) + '#' +*/ APO.SHABLON_BK /*+ '#' + APO.DELIM + '#' + APO.DELIM5*/),
													'<Руб>',rtrim(ltrim(str(floor(PP.SUMMA))))),
													'<Коп>', right('00' + rtrim(ltrim(str((PP.SUMMA - floor(PP.SUMMA)) * 100))),2))) + ' ' 
					else '' end + ltrim(replace(replace(PP.TARGETTEXT,char(10),''),char(13),'')) + ' ' + ltrim(dbo.PrintPlatporGetNDSString(PP.LINK,0)),

				PAYSTATUS	= PPA.[STATUS],
				KBK			= case when PPA.DOH_CODE is null and (PPA.TREBNUM is not null or PPA.ZERODATE is not null or PPA.TREBDATE is not null or PPA.OKATO is not null)  then '0' 
								else rtrim(replace(PPA.DOH_CODE,'.','')) + PPA.SGU_CODE end,
				OKATO		= PPA.OKATO,
				OSNPLAT		= PPA.P_REASON,
				NAL_PER		= PPA.[PERIOD],
				NOM_DOK		= PPA.TREBNUM,
				DATE_DOK	= case PPA.ZERODATE when 1 then /*'00.00.0000'*/ '0' else CONVERT(CHAR(10),PPA.TREBDATE,104) end,
				TYPE_PL		= PPA.P_TYPE,
				GUID_FK		= '',
				KOD_TOFK_PAY = PP.S_KAZN_CODE,
				NAME_TOFK_PAY	 = PP.S_KAZN,
				KOD_UBP_PAY	= PP.S_BUDG,
				NAME_UBP_PAY = PP.S_FNAME,
				LS_PAY	 = case PP.S_ACC_TYPE when 1 then '' else PP.S_ACC_NUM end,
				LS_PAY_RCP	 = '',
				PRINT_KPP = str(PP.PRINT_KPP),	
				PRIZ = '1',
				-- Поля для приема выписки
				DATE_PP_IN = PP.DATE,
				DATE_PP_SPS = PP.DATE,
				NOM_PL_PO = '',
				SHIFR_RD_PO = '',
				NOM_RD_PO = '',
				DATE_RD_PO = PP.DATE,
				SUM_OST_PO = '',
				OPER_PO = '',
				DATE_IN_TOFK = PP.DATE,
				[GUID] = '',
				UIN_CODE = LTRIM(RTRIM(ISNULL(ppA.UIN_CODE,'')))--CASE WHEN ISNULL(ppA.UIN_CODE,'') = '' THEN CAST('0' AS VARCHAR(20)) ELSE ppA.UIN_CODE END
				--ppA.UIN_CODE
		INTO #SMETA_EXPORT_PPT	
		FROM dbo.DOCUMENTS_PAY PP
		inner join dbo.BufferGetTableByID(@cBuffId) B on B.LINK = PP.LINK
		LEFT JOIN dbo.DOCUMENTS_PAY_ADD PPA on PP.LINK = PPA.LINK
		left join dbo.BB_PAY_ACC_OPTIONS APO on APO.LINK_ACC = PP.S_ACC_LINK
		left join dbo.DOCUMENTS_PAY_ACC_OPTIONS APOD on APOD.OSN = 1
		inner join dbo.DEPARTMENT_ACCOUNTS DA on APOD.LINK_ACC = DA.LINK and PP.S_ACC_TYPE = DA.TYPE

		SELECT *,
			NAME_RCP AS CNAME_UBP_RCP,
			NOM_DOK AS NUM_DOK
		FROM #SMETA_EXPORT_PPT
--	ELSE
-- СNAME_UBP_RCP
--		SELECT * 
--		FROM #SMETA_EXPORT_PP

	DROP TABLE #SMETA_EXPORT_PPT

	if @iGroupKBK = 1
	-- Таблица 5 (PPST)
		select  LINK = GP.LINK,
				LINK_UP = GP.LINK,
				--KBK = left(replace(isnull(KBK1.CODE, KBK.CODE),'.','') + SGU.CODE ,20),
				KBK = left(replace(isnull(KBK1.CODE, KBK.CODE),'.',''),20),
				TYPE_KBK = case isnull(KBK1.[TYPE], KBK.[TYPE]) when 1 then '10'
												 when 2 then '20'
												 when 4 then '31'
												 when 8 then '32'
												 else '' end,
				ADD_KLASS = ISNULL(DCL.CODE,''),
				ADD_KLASS_RCP = '',
				[SUM] = sum(GP2.SUMMA),
				DIR_SUM	= '1',
				MES_FIN	= right('0' + rtrim(ltrim(convert(char(2), month(GP.DATE)))),2),
				REZERV	= '',
				KOD_FIN = case D.BUH_TYPE when '1' then SA.cSource else '' end,
				-- Поля для приема выписки
				NUM_BO = '',
				ОКАТО = ''

		from G_PROV GP 
		inner join dbo.BufferGetTableByID(@cBuffId) B on GP.LINK = B.LINK
		inner join G_PROV1 GP1 on GP1.LINK_UP = GP.LINK
		INNER JOIN G_PROV2 GP2 ON GP2.LINK_UP = GP1.LINK
		INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 1
		INNER JOIN dbo.DEPARTMENTS D on GP.DEP = D.LINK
		INNER JOIN dbo.S_ACCOUNTS SA on GPA1.ACCOUNT = SA.LINK
		LEFT JOIN KL_KBK KBK ON GPA1.KBK = KBK.LINK
		LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = KBK.LINK and @iLinkedKBK = 1
		LEFT JOIN KL_KBK KBK1 ON KBKL.LINK_KBK = KBK1.LINK
		LEFT JOIN KOSGU SGU ON isnull(GPA1.EKR,GPA1.SGU) = SGU.LINK
		LEFT JOIN DOP_CLASSIF DCL ON GPA1.AP2 = DCL.LINK
		group by GP.LINK, right('0' + rtrim(ltrim(convert(char(2), month(GP.DATE)))),2), left(replace(isnull(KBK1.CODE, KBK.CODE),'.',''), 20), ISNULL(DCL.CODE,''), isnull(KBK1.[TYPE], KBK.[TYPE]),  D.BUH_TYPE, SA.cSource
	else
		select  LINK = GP2.LINK,
				LINK_UP = GP.LINK,
				--KBK = left(replace(isnull(KBK1.CODE, KBK.CODE),'.','') + SGU.CODE ,30),
				KBK = left(replace(isnull(KBK1.CODE, KBK.CODE),'.',''),30),
				TYPE_KBK = case isnull(KBK1.[TYPE], KBK.[TYPE]) when 1 then '10'
												 when 2 then '20'
												 when 4 then '31'
												 when 8 then '32'
												 else '' end,
				ADD_KLASS = ISNULL(DCL.CODE,''),
				ADD_KLASS_RCP = '',
				[SUM] = GP2.SUMMA,
				DIR_SUM	= '1',
				MES_FIN	= right('0' + rtrim(ltrim(convert(char(2), month(GP.DATE)))),2),
				REZERV	= '',
				KOD_FIN = case D.BUH_TYPE when '1' then SA.cSource else '' end,
				-- Поля для приема выписки
				NUM_BO = '',
				ОКАТО = ''

		from G_PROV GP 
		inner join dbo.BufferGetTableByID(@cBuffId) B on GP.LINK = B.LINK
		inner join G_PROV1 GP1 on GP1.LINK_UP = GP.LINK
		INNER JOIN G_PROV2 GP2 ON GP2.LINK_UP = GP1.LINK
		INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 1
		INNER JOIN dbo.DEPARTMENTS D on GP.DEP = D.LINK
		INNER JOIN dbo.S_ACCOUNTS SA on GPA1.ACCOUNT = SA.LINK
		LEFT JOIN KL_KBK KBK ON GPA1.KBK = KBK.LINK
		LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = KBK.LINK and @iLinkedKBK = 1
		LEFT JOIN KL_KBK KBK1 ON KBKL.LINK_KBK = KBK1.LINK
		LEFT JOIN KOSGU SGU ON isnull(GPA1.EKR,GPA1.SGU) = SGU.LINK
		LEFT JOIN DOP_CLASSIF DCL ON GPA1.AP2 = DCL.LINK	


end
else
begin

	select
		P.link, 
		P.link as link_up,
		BK_IN_TGT,
		S_ACC_LINK,
		DATE,

		[NUM_PP] = NUMBER,
		[DATE_PP] = DATE,
		[VID_PL] = 
			CASE	
				WHEN KIND = 'почтой'     THEN '1'
				WHEN KIND = 'телеграфом' THEN '2'
				WHEN KIND = 'электронно' THEN '3'
				WHEN KIND = 'срочно' 	 THEN '4'
				ELSE '0' 
			END,
		[SUM_PP] = summa, 
		[INN_PAY] = P.S_INN,
		[KPP_PAY] = case P.PRINT_KPP when 1 then P.S_KPP else '' end,
		[KOD_BP_PAY] = P.S_BUDG,
		[NAME_BP_PAY] = convert(varchar(120), ltrim(rtrim(S_FNAME))),
		[NAME_PAY] = dbo.BB_DEP_NAME_FOR_SHABLON(isnull(APO.SHABLON_D,APOD.SHABLON_D), default, P.S_ACC_LINK), 
		[NUM_LS_PAY] = S_ACC_NUM,
		[KOD_TOFK_PAY] = P.S_KAZN_CODE,
		[INN_OK_PAY] = case P2.INN_OK_PAY when 1 THEN P.S_KAZN_INN ELSE '' END,
		[NM_OK_PAY] = CASE P2.NM_OK_PAY when 1 THEN convert(varchar(120), P.S_KAZN) ELSE '' END,
		[RS_PAY] = case P.S_ACC_TYPE when 1 then P.S_ACC_NUM else P.S_SCH_K end,
		[BIK_PAY] = P.S_BIK,
		[BANK_PAY] = P.S_BANK + case isnull(@iCity,0) when 1 then ' ' + isnull(P.S_BANK_CITY,'') else '' end,
    	[FILIAL_PAY] = case P2.FILIAL_PAY when 1 THEN P.S_BANK_FILIAL ELSE '' END,
		[KS_PAY] = P.S_SCH_B,
		[INN_RCP]=D_INN,
		[KPP_RCP]= case P.PRINT_KPP when 1 then P.D_KPP else '' end,
		[NAME_RCP]=dbo.BB_DEP_NAME_FOR_SHABLON(CASE WHEN P1.DOH_CODE is not null or P1.OKATO is not null or P_REASON is not null or P1.PERIOD is not null or TREBNUM is not null or TREBDATE is not null or P_TYPE is not null or STATUS is not null THEN isnull(APO.

SHABLON_N, APOD.SHABLON_N) else isnull(APO.SHABLON_S, APOD.SHABLON_S) end, default, P.D_ACC_LINK),
		[INN_OK_RCP]= CASE P2.INN_OK_RCP WHEN 1 THEN P.D_KAZN_INN ELSE '' END,
		[NM_OK_RCP] = CASE P2.NM_OK_RCP WHEN 1 THEN P.D_FNAME ELSE '' END,
		[RS_RCP] = case P.D_ACC_TYPE when 1 then P.D_ACC_NUM else P.D_SCH_K end,
		[LS_RCP] = case P.D_ACC_TYPE when 1 then '' else P.D_ACC_NUM end,
		[BIK_RCP] = P.D_BIK,
		[BANK_RCP]= P.D_BANK + case isnull(@iCityP,0) when 1 then ' ' + isnull(P.D_BANK_CITY,'') else '' end,
		[FILIAL_RCP]= CASE P2.FILIAL_RCP when 1 THEN P.D_BANK_FILIAL ELSE '' END,
		[KS_RCP]= P.D_SCH_B,
		[TIME_PAY] = CASE P2.TIME_PAY WHEN 1 THEN srok ELSE cast (null as datetime) END,
		[ORDER_PAY] = P.[ORDER],
		[PURPOSE] = case P.BK_IN_TGT when 1 then rtrim(replace(replace(replace(replace(replace(replace(
													case isnull(ltrim(rtrim(P.BO_NUM)),'') when '' then rtrim(dbo.BB_DDELIM_DEL(isnull(APO.LS_FMT, APOD.LS_FMT),'<БО>')) else isnull(APO.LS_FMT, APOD.LS_FMT) end, 
													'<БО>', isnull(ltrim(rtrim(P.BO_NUM)),'')),
													'<Счет>', case P.S_ACC_TYPE when 1 then '' else rtrim(P.S_ACC_NUM) end),
													'<Перевод_строки>', '
	)'),												'<БК>',rtrim(dbo.BB_BK_FOR_SHABLON(P.LINK, isnull(APO.SHABLON_BK, APOD.SHABLON_BK),isnull(APO.DELIM, APOD.DELIM),isnull(APO.DELIM5, APOD.DELIM5)))),
														--'<БК>',/*str(P.S_ACC_LINK) + '#' +*/ APO.SHABLON_BK /*+ '#' + APO.DELIM + '#' + APO.DELIM5*/),
													'<Руб>',rtrim(ltrim(str(floor(P.SUMMA))))),
													'<Коп>', right('00' + rtrim(ltrim(str((P.SUMMA - floor(P.SUMMA)) * 100))),2))) + ' ' 
					else '' end + ltrim(replace(replace(P.TARGETTEXT,char(10),''),char(13),'')) + ' ' + ltrim(dbo.PrintPlatporGetNDSString(P.LINK,0)),

		[PRINT_KPP]='0',

		[PAYSTATUS] = P1.STATUS,
		[KBKD] = rtrim(ltrim(replace(P1.doh_code,'.',''))) + ltrim(P1.sgu_code),
		[PAYOKATO] = P1.OKATO,
		[OSNPLAT] = P1.P_REASON, 
		[NAL_PER] = P1.PERIOD,
		[N_DOK] = P1.TREBNUM, 
		[D_DOK] = CASE WHEN ISNULL(ZERODATE, 0) = 1 THEN '0' ELSE CONVERT(CHAR(10), P1.TREBDATE,104) END,
		[TYPE_PL] = P1.P_TYPE,
		[Name_Budg] = --convert(char(20), (
						(select top 1 budg.name --budg.code БРАТЬ БЮДЖЕТ ОТПРАВИТЕЛЯ?
						FROM G_PROV1 GP1 INNER JOIN G_PROV2 GP2 ON (GP1.LINK_UP = P.LINK AND GP2.LINK_UP = GP1.LINK)
						INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 0
						LEFT JOIN BI_DICTION_KBK F ON GPA1.KBK = F.LINK
						LEFT JOIN kl_admin_bs adm ON adm.link = f.link_ADM 
						LEFT JOIN kl_budg_type budg ON budg.link = adm.link_budg) /* 2005.12 */

	from dbo.documents_pay P
	inner join dbo.BufferGetTableByID(@cBuffId) B on P.LINK = B.LINK
	LEFT OUTER JOIN DOCUMENTS_PAY_ADD P1 ON P.LINK = P1.LINK
	LEFT OUTER JOIN DOCUMENTS_PAY_ADD2 P2 ON P.LINK = P2.LINK
	left join dbo.BB_PAY_ACC_OPTIONS APO on APO.LINK_ACC = P.S_ACC_LINK
	left join dbo.DOCUMENTS_PAY_ACC_OPTIONS APOD on APOD.OSN = 1
	inner join dbo.DEPARTMENT_ACCOUNTS DA on APOD.LINK_ACC = DA.LINK and P.S_ACC_TYPE = DA.TYPE
		

	-- Если платежка налоговая 
	/*
	  1. Если в проводочной части указана Доходная классификация то
	   в блок PPST выгружаем код дохода = код дохода + сгу (20 символов)
	   и сумму - больше ничего !
	  2. Если в проводочной части указана Расходная классификация
	   то выгружаем поблочно раздел, подраздел и т.д. .
	   поле код дохода - пустой
	*/

	if @iGroupKBK = 1
	SELECT
		LINK = GP1.LINK_UP,
		LINK_UP = GP1.LINK_UP,	
		[MARKER] = 'PPST',
		[GLAVA] = LTRIM(RTRIM(COALESCE(F1.ADM_CODE, F.ADM_CODE, ''))),
		[RAZDEL] =LTRIM(RTRIM(COALESCE(F1.DIV_CODE, F.DIV_CODE, ''))),
		[STATIA] = LTRIM(RTRIM(COALESCE(F1.CSR_CODE, F.CSR_CODE, ''))),
		[VID] = LTRIM(RTRIM(COALESCE(F1.EXP_CODE, F.EXP_CODE, ''))),
	--	[KOD_FP] = '',
		[KOD_FP] = convert(varchar(3), isnull(DC.CODE,'')), 
		[E_KLASS] = LTRIM(RTRIM(ISNULL(KEK.CODE, ''))),
		[NUM_BO] =  LTRIM(RTRIM(ISNULL(P.bo_num,''))),
		[MON_FIN]='',
		[SUM_STR] = sum(GP2.summa),
		[FOND_P] = '',
		[KKIVNF] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 8 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,

		[KKIVF] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 4 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		[KDOH] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 2 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,

		[ADD_KLASS] = isnull(DC.CODE,''),	/* 2005.12 */
		[KOD_FIN] = (select top 1 left(code, 1) from s_accounts SA where SA.link = GPA1.Account), /* 2005.12 */
		[REZERV] = convert(varchar(40),'')	/* 2005.12 */
	FROM G_PROV1 GP1 
	inner join dbo.BufferGetTableByID(@cBuffId) B on GP1.LINK_UP = B.LINK
	inner join dbo.documents_pay P on P.LINK = B.LINK
	INNER JOIN G_PROV2 GP2 ON GP2.LINK_UP = GP1.LINK
	INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 1
	LEFT OUTER JOIN BI_DICTION_KBK_FULL F ON GPA1.KBK = F.LINK
	LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = F.LINK and @iLinkedKBK = 1
	LEFT JOIN BI_DICTION_KBK_FULL F1 ON KBKL.LINK_KBK = F1.LINK
	LEFT OUTER JOIN DICTIONARY_ITEM KEK ON GPA1.EKR = KEK.LINK
	LEFT OUTER JOIN KOSGU SGU ON GPA1.SGU = SGU.LINK
	LEFT OUTER JOIN BD_DOP_CLASSIF DC on DC.link = GPA1.AP2
	group by GP1.LINK_UP, LTRIM(RTRIM(COALESCE(F1.ADM_CODE, F.ADM_CODE, ''))),
		LTRIM(RTRIM(COALESCE(F1.DIV_CODE, F.DIV_CODE, ''))),
		LTRIM(RTRIM(COALESCE(F1.CSR_CODE, F.CSR_CODE, ''))),
		LTRIM(RTRIM(COALESCE(F1.EXP_CODE, F.EXP_CODE, ''))),
		convert(varchar(3), isnull(DC.CODE,'')), 
		LTRIM(RTRIM(ISNULL(KEK.CODE, ''))),
		LTRIM(RTRIM(ISNULL(P.bo_num,''))),
		CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 8 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 4 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 2 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		isnull(DC.CODE,''),
		GPA1.Account
else
	SELECT
		LINK = GP2.LINK,
		LINK_UP = GP1.LINK_UP,	
		[MARKER] = 'PPST',
		[GLAVA] = LTRIM(RTRIM(COALESCE(F1.ADM_CODE, F.ADM_CODE, ''))),
		[RAZDEL] =LTRIM(RTRIM(COALESCE(F1.DIV_CODE, F.DIV_CODE, ''))),
		[STATIA] = LTRIM(RTRIM(COALESCE(F1.CSR_CODE, F.CSR_CODE, ''))),
		[VID] = LTRIM(RTRIM(COALESCE(F1.EXP_CODE, F.EXP_CODE, ''))),
	--	[KOD_FP] = '',
		[KOD_FP] = convert(varchar(3), isnull(DC.CODE,'')), 
		[E_KLASS] = LTRIM(RTRIM(ISNULL(KEK.CODE, ''))),
		[NUM_BO] =  LTRIM(RTRIM(ISNULL(P.bo_num,''))),
		[MON_FIN]='',
		[SUM_STR] = GP2.summa,
		[FOND_P] = '',
		[KKIVNF] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 8 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,

		[KKIVF] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 4 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,
		[KDOH] = CASE COALESCE(F1.[TYPE], F.[TYPE]) WHEN 2 THEN REPLACE(COALESCE(F1.CODE, F.CODE, ''),'.','') + SGU.CODE else '' end,

		[ADD_KLASS] = isnull(DC.CODE,''),	/* 2005.12 */
		[KOD_FIN] = (select top 1 left(code, 1) from s_accounts SA where SA.link = GPA1.Account), /* 2005.12 */
		[REZERV] = convert(varchar(40),'')	/* 2005.12 */
	FROM G_PROV1 GP1 
	inner join dbo.BufferGetTableByID(@cBuffId) B on GP1.LINK_UP = B.LINK
	inner join dbo.documents_pay P on P.LINK = B.LINK
	INNER JOIN G_PROV2 GP2 ON GP2.LINK_UP = GP1.LINK
	INNER JOIN G_PROV_AP GPA1 ON GP2.LINK = GPA1.LINK_UP AND DB_KR = 1
	LEFT OUTER JOIN BI_DICTION_KBK_FULL F ON GPA1.KBK = F.LINK
	LEFT JOIN KL_KBK_LINKED KBKL ON KBKL.LINK = F.LINK and @iLinkedKBK = 1
	LEFT JOIN BI_DICTION_KBK_FULL F1 ON KBKL.LINK_KBK = F1.LINK
	LEFT OUTER JOIN DICTIONARY_ITEM KEK ON GPA1.EKR = KEK.LINK
	LEFT OUTER JOIN KOSGU SGU ON GPA1.SGU = SGU.LINK
	LEFT OUTER JOIN BD_DOP_CLASSIF DC on DC.link = GPA1.AP2

end





GO


GRANT EXECUTE ON dbo.[BB_EXPORT_PP] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KI_EXPIR_DOP_SAVE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[KI_EXPIR_DOP_SAVE]

GO


/*
© Кейсистемс (Keysystems), 2005
*/
CREATE  PROCEDURE dbo.KI_EXPIR_DOP_SAVE
	@varKSparLINK	 	int	OUTPUT,
	@varKSparEMPL_LINK  int,
	@varKSparEXPIR_LINK	int, 
	@DATE_BEGIN datetime = NULL,
	@varKSparYEARS	INT = 0,
	@varKSparMONTHS	INT = 0,
	@varKSparDAYS	INT = 0,
    @varKSparCOMENT  varchar(254) = ''
AS
DECLARE @varKSERROR	    tinyint,
		@varKSRowCount   int,
		@varKSstrVALUE	varchar(7000),
		@varKStrancount	int,
		@varKSEventText	varchar(254),
		@varKSintObj 	int

SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

	IF @varKSparEMPL_LINK IS NULL OR @varKSparEXPIR_LINK IS NULL OR @varKSparEXPIR_LINK IS NULL OR @DATE_BEGIN IS NULL 
	BEGIN
		ROLLBACK
		RETURN 5
	END

	IF EXISTS (SELECT * FROM dbo.EMPL_EXPIR_DOP WHERE LINK <> @varKSparLINK AND EMPL_LINK=@varKSparEMPL_LINK AND EXPIR_LINK  = @varKSparEXPIR_LINK AND DATE_BEGIN = @DATE_BEGIN) BEGIN
		raiserror('Уже сохранено дополнение к стажу с указанной датой для этого сотрудника',11,1)	
		RETURN 0
	END

	UPDATE dbo.EMPL_EXPIR_DOP
	SET EMPL_LINK  = @varKSparEMPL_LINK,
		EXPIR_LINK  = @varKSparEXPIR_LINK,
		DATE_BEGIN  = @DATE_BEGIN,
		YEARS = @varKSparYEARS,
		MONTHS = @varKSparMONTHS,
		DAYS = @varKSparDAYS,
		COMENT = @varKSparCOMENT
	WHERE LINK = @varKSparLINK AND EMPL_LINK=@varKSparEMPL_LINK AND EXPIR_LINK  = @varKSparEXPIR_LINK
		
	SELECT @varKSRowCount = @@ROWCOUNT, @varKSERROR = @@ERROR
	IF @varKSERROR <> 0
	BEGIN
		ROLLBACK
		RETURN 7
	END

	IF @varKSRowCount = 0
	BEGIN
		INSERT INTO dbo.EMPL_EXPIR_DOP (EMPL_LINK,EXPIR_LINK,DATE_BEGIN,YEARS,MONTHS,[DAYS],COMENT)
		VALUES (@varKSparEMPL_LINK, @varKSparEXPIR_LINK,@DATE_BEGIN,@varKSparYEARS,@varKSparMONTHS,@varKSparDAYS,@varKSparCOMENT)
		SELECT @varKSERROR = @@ERROR, @varKSparLINK = @@IDENTITY
		IF @varKSERROR <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
	END

	
	SELECT @varKSintObj = LINK FROM S_OBJECTS WHERE CODE = 'KI_EXPIR_DOP'
	EXECUTE WF_GENERATEEVENT 'Сохранение строки справочника', 'Сохранение дополнения к стажу для сотрудника', @varKSintObj, 'KI_EXPIR_DOP', @varKSparLINK

IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN
RETURN 0


GO


GRANT EXECUTE ON dbo.[KI_EXPIR_DOP_SAVE] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OV_F0511126]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OV_F0511126]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE      PROCEDURE dbo.BK_REPORT_OV_F0511126
	@varKSnMonth1	INT			,
	@varKScYear1		VARCHAR (4)		,
	@varKSnSel_Spr1	INT = NULL		,
	@intKBK		INT = NULL		,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScOtborAccount	VARCHAR (100),
	@intSVOD_ZB INT,
	@cVal_KAU char(1), @intOtbor_KAU int,
	@intGRP_KAU	INT
AS
BEGIN
	DECLARE	@varKSDATE_BEGIN	DATETIME,	
		@varKSDATE_END	DATETIME,	
		@varKSLINK_DEP	INT		,
		@varKScNEXT_PERIOD	VARCHAR (10),
		@varKScBEGIN_PERIOD	VARCHAR (10),
		@intPRN_KBK		INT,
	
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254)

	IF @varKSnSel_Spr1 = 0
		SET @varKSnSel_Spr1 = NULL

	IF @intKBK = 0
		SET @intKBK = NULL

	SET @intGRP_KAU = ISNULL (@intGRP_KAU, 0)

	SET @intPRN_KBK = CASE WHEN @intKBK IS NULL THEN 0 ELSE 1 END
	
	SET @varKSDATE_BEGIN = dbo.DateBeginOfMonth (dbo.ConvertDMY2Date (1, @varKSnMonth1, CONVERT (INT, @varKScYear1)))
	SET @varKSDATE_END = dbo.DateEndOfMonth (@varKSDATE_BEGIN)

	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@varKScOtborAccount, DEFAULT) T1 ON (T1.VALUE = ACCT.cSINTH)

	-- Отбор КАУ --	
	DECLARE @KAU_TAB TABLE
		(LINK INT,
		CODE	VARCHAR (20),
		[NAME]	VARCHAR (254))
	IF LEN (@cVal_KAU) > 0
		INSERT INTO @KAU_TAB
		SELECT OVK.RECORD,
			KAU.CODE,
			KAU.[NAME]
		FROM dbo.OBJECT_VAR_KAU OVK
		INNER JOIN dbo.KAU ON (KAU.LINK = OVK.RECORD)
		WHERE OVK.LINK_UP = @intOtbor_KAU
	ELSE
		INSERT INTO @KAU_TAB
		SELECT LINK_AP, 
			AP_CODE,
			AP_NAME
		FROM dbo.BK_GetTableDictionByAP ('KAU')

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = [NAME],
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'

	DECLARE @TEMP1 TABLE (YEAR_P INT, DATE_P INT, LINK_ACCT INT, KBK INT,
			DEP INT, EMP INT, INV INT, NOMEN INT,
			KAU	INT,
			IN_SUMMA NUMERIC (28,2), IN_QTY NUMERIC (28,4),	
			D_SUMMA NUMERIC (28,2), D_QTY NUMERIC (28,4),	
			K_SUMMA NUMERIC (28,2), K_QTY NUMERIC (28,4),	
			OUT_SUMMA NUMERIC (28,2), OUT_QTY NUMERIC (28,4)	
			)	

	INSERT INTO @TEMP1
	SELECT YEAR (@varKSDATE_BEGIN),
		MONTH (@varKSDATE_END),
		OSV.ACCOUNT,
		CASE
			WHEN @intKBK IS NULL THEN 0
			ELSE OSV.KBK
		END,
		OSV.DEP,
		CASE
			WHEN @varKSnSel_Spr1 IS NULL THEN 0
			ELSE OSV.EMP
		END,
		OSV.INV,
		OSV.NOMEN,
		CASE
			WHEN @intGRP_KAU = 0 THEN 0
			ELSE OSV.KAU
		END,
		SUM (OSV.IN_SUMMA),
		SUM (OSV.IN_QTY),
		SUM (OSV.D_SUMMA),
		SUM (OSV.D_QTY),
		SUM (OSV.K_SUMMA),
		SUM (OSV.K_QTY),
		SUM (OSV.OUT_SUMMA),
		SUM (OSV.OUT_QTY)
	FROM dbo.BK_GetTableOSVByDate (@varKSDATE_BEGIN, @varKSDATE_END, DEFAULT) OSV
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = OSV.ACCOUNT)
	WHERE (@varKSnSel_Spr1 IS NULL
		OR (@varKSnSel_Spr1 IS NOT NULL
			AND OSV.EMP = @varKSnSel_Spr1))
		AND (@intKBK IS NULL 
			OR (@intKBK IS NOT NULL
				AND OSV.KBK = @intKBK))
		AND (@intSVOD_ZB = 1
			OR (@intSVOD_ZB = 0 AND OSV.DEP_LINK = @varKSLINK_DEP))
	GROUP BY OSV.ACCOUNT,
		CASE
			WHEN @intKBK IS NULL THEN 0
			ELSE OSV.KBK
		END,
		OSV.DEP,
		CASE
			WHEN @varKSnSel_Spr1 IS NULL THEN 0
			ELSE OSV.EMP
		END,
		OSV.INV,
		OSV.NOMEN,
		CASE
			WHEN @intGRP_KAU = 0 THEN 0
			ELSE OSV.KAU
		END

	DECLARE @RESULT TABLE (YEAR_P INT, DATE_P INT, LINK_ACCT INT,
			DEP INT, EMP INT, INV INT, NOMEN INT,
			BEGIN_P VARCHAR (10), NEXT_P VARCHAR (10),
			MONTH_NAME VARCHAR (30),
			DEP_NAME VARCHAR (254), DEP_OKPO VARCHAR (20),
			EMP_CODE VARCHAR (20), EMP_NAME VARCHAR (254),
			ACCT_CODE VARCHAR (60), ACCT_NAME VARCHAR (254),
			INV_CODE VARCHAR (20), INV_NAME VARCHAR (254),
			UM_CODE VARCHAR (20), UM_NAME VARCHAR (254),			

			KAU_CODE VARCHAR (20), KAU_NAME VARCHAR (254),			
			
			IN_SUMMA NUMERIC (28,2), IN_QTY NUMERIC (28,4),	
			D_SUMMA NUMERIC (28,2), D_QTY NUMERIC (28,4),	
			K_SUMMA NUMERIC (28,2), K_QTY NUMERIC (28,4),	
			OUT_SUMMA NUMERIC (28,2), OUT_QTY NUMERIC (28,4),	
			REP1 TINYINT
			)

	SET @varKScNEXT_PERIOD = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSDATE_END), 104)
	SET @varKScBEGIN_PERIOD = CONVERT (VARCHAR (10), @varKSDATE_BEGIN, 104)

	SELECT @varKSEMP_CODE = TAB,
		@varKSEMP_NAME = NAME_EMPL
	FROM dbo.KU_EMPL_PLACING
	WHERE LINK = @varKSnSel_Spr1

	INSERT INTO @RESULT
	SELECT OSV.YEAR_P,
		OSV.DATE_P,
		OSV.LINK_ACCT,
		OSV.DEP,
		OSV.EMP,
		OSV.INV,
		OSV.NOMEN,
		@varKScBEGIN_PERIOD,
		@varKScNEXT_PERIOD,
		dbo.DateMonthName (@varKSnMonth1),
		@varKSDEP_NAME,
		@varKSDEP_OKPO,
		ISNULL (@varKSEMP_CODE, ''),
		ISNULL (@varKSEMP_NAME, ''),
--		SA.CODE,
		dbo.BK_GetAcctFullCode1 (OSV.LINK_ACCT, OSV.KBK, DEFAULT, @intPRN_KBK, 0, @varKSDATE_END),
		SA.[NAME],
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, '')),
		ISNULL (INV.[NAME], ISNULL (NOMEN.[NAME], 'Не указан')),
		ISNULL (INV.CODE_UM, ISNULL (NOMEN.CODE_UM, '')),
		ISNULL (INV.[NAME_UM], ISNULL (NOMEN.NAME_UM, '')),

		KAU.CODE,
		KAU.[NAME],

		OSV.IN_SUMMA, OSV.IN_QTY,	
		OSV.D_SUMMA, OSV.D_QTY,		
		OSV.K_SUMMA, OSV.K_QTY,		
		OSV.OUT_SUMMA, OSV.OUT_QTY,	
		1
	FROM @TEMP1 OSV
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.LINK_ACCT)
	INNER JOIN @KAU_TAB KAU ON (KAU.LINK = OSV.KAU)
	LEFT OUTER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = OSV.INV)
	LEFT OUTER JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = OSV.NOMEN)
	WHERE OSV.IN_SUMMA <> 0 OR IN_QTY <> 0
			OR D_SUMMA <> 0 OR D_QTY <> 0
			OR K_SUMMA <> 0 OR K_QTY <> 0
			OR OUT_SUMMA <> 0 OR OUT_QTY <> 0

	SELECT * 
	FROM @RESULT
	ORDER BY EMP_CODE, ACCT_CODE, KAU_CODE, INV_CODE
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_OV_F0511126] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BB_EXPORT_ZKR_16]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.BB_EXPORT_ZKR_16

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BB_EXPORT_ZKR_16
	@cBuffId	varchar(30) = '',
	@cFormat	varchar(30) = ''

AS
DECLARE @iDepLink	int, 
	@cCodeOpt 	int,
	@iNoteDCL	tinyint,
	@cPrefDCL	varchar(10), 
	@cKorrName	varchar(254), 
	@iLongFio tinyint, 
	@iPostRuk tinyint, 
	@iPostGl tinyint,
	@iSguDop tinyint
	


set @iPostRuk = dbo.sa_get_option_by_code('BB_ZAYAVKA_KR_OPTIONS_POST_RUK')
set @iPostGl = dbo.sa_get_option_by_code('BB_ZAYAVKA_KR_OPTIONS_POST_GL')
set @iLongFio = dbo.sa_get_option_by_code('BB_ZAYAVKA_KR_OPTIONS_FIO')
set @iSguDop = dbo.sa_get_option_by_code('BB_ZAYAVKA_KR_OPTIONS_SGU_DOP')

set @iDepLink = isnull(dbo.BK_GetDepZB(),dbo.GetOwnDepLink())
select @cCodeOpt = KODBP,
	@iNoteDCL = isnull(T_DCL,0),
	@cPrefDCL = isnull(rtrim(PREF_DCL) + ' ',''),
	@cKorrName = isnull(rtrim(KOR_NAME),'<Наим_орг_полн>')
from dbo.BB_ZAYAVKA_KR_OPTIONS

-- Таблица 2 (FROM)
SELECT 	BUDG_LEVEL  = case D.BUH_TYPE WHEN 1 then cast(replace(B.CODE_EL,'0','') as char(1)) else '6' end,
		KOD_UBP = case cast(replace(B.CODE_EL,'0','') as char(1)) when 1 then D.CODE_UBP else BUDG end,
		NAME_UBP	= left(rtrim(D.prefix) + rtrim(D.FULL_NAME) + case when charindex('(',D.prefix,0) > 0 then ')' else '' end,254),
		0 as link,
		0 as link_up
from dbo.DEPARTMENTS D
left join dbo.KL_ADMIN_BS V WITH (NOLOCK) on V.LINK = D.VED_LINK
left join dbo.KL_BUDG_TYPE B WITH (NOLOCK) on V.Link_Budg = B.LINK
where D.LINK = @iDepLink


-- Таблица 3 (TO)
SELECT 	KOD_TOFK  = TOFK.CODE,
		NAME_TOFK = TOFK.FULL_NAME,
		0 as link,
		0 as link_up
from dbo.DEPARTMENTS D
inner join dbo.TREASURY TOFK on D.TOFK_LINK = TOFK.LINK
where D.LINK = @iDepLink



-- Таблица 4 (ZR)


	SELECT  LINK 		 = ZKR.LINK,
			LINK_UP		 = ZKR.LINK,
			GUID_FK		 = '',
			[TYPE]		 = cast(ZKR.SHORT + 1 as char(1)),
			NOM_ZR		 = ZKR.NUMBER,
			DATE_ZR		 = ZKR.DATE,
			KOD_UBP_PAY	 = case @cCodeOpt when 1 then ZKR.DEP_UBP else '' end,
			NAME_UBP_PAY = ZKR.DEP_FNAME, 
			LS_UBP_PAY	 = ZKR.ACC_CODE,
			INN_UBP		 = '',
			KPP_UBP		 = '',
			GLAVA_GRS	 = case ZKR.dep_type WHEN 1 then ZKR.GRBS_CODE else '' end,
			NAME_UBP_GRS = case ZKR.SHORT when 0 then case ZKR.dep_type WHEN 1 then ZKR.GRBS_NAME else ZKR.UCHR_NAME end  else '' end,
			NAME_BUD	 = case ZKR.dep_type WHEN 1 then ZKR.BUDG_NAME else '' end,
			NAME_FO		 = case ZKR.SHORT when 0 then case ZKR.dep_type WHEN 1 then ZKR.FO_NAME else '' end else '' end,
			OKPO_FO		 = case ZKR.SHORT when 0 then case ZKR.dep_type WHEN 1 then ZKR.FO_OKPO else '' end else '' end,
			KOD_TOFK	 = ZKR.TOFK_CODE,
			NAME_TOFK	 = ZKR.TOFK_NAME,
			DATE_ISP	 = ZKR.SROK,
			GUID_SV		 = '',
			NOM_BO		 = ZKR.BO_NUM,
			KOD_ISP		 = '',
			PR_ISP		 = '',
			FAIP_CODE	 = '',
			SUM_V		 = ZKR.SUMMA,
			KOD_V		 = '643',
			SUM_DOC		 = 0,
			TYPE_AP		 = cast(ZKR.AVANSE as char(1)),
			SUM_V_NDS	 = case ZKR.SHORT when 0 then ZKR.SUMMA_NDS else 0 end,
			ORDER_PL	 = ZKR.[ORDER],
			VID_PL		 = CASE	ZKR.KIND WHEN 'почтой'     THEN '1'
										 WHEN 'телеграфом' THEN '2'
										 WHEN 'электронно' THEN '3'
										 WHEN 'срочно' 	   THEN '4'
										 ELSE '0' END,
			PURPOSE		 = replace(replace(ZKR.TARGETTEXT,char(10),''),char(13),''),
			VID_OSN		 = ZKR.OSN_VID,
			NOM_OSN		 = ZKR.OSN_NUM,
			DATE_OSN	 = ZKR.OSN_DATE,
			OSN			 = ZKR.OSN_COM,
			NAME_RCP	 = dbo.BB_DEP_NAME_FOR_SHABLON(@cKorrName, ZKR.KOR_LINK,  ZKR.KOR_ACC_LINK), 
			INN_RCP		 = ZKR.KOR_INN,
			KPP_RCP		 = case when len(rtrim(ZKR.KOR_INN)) > 10 then '0' else ZKR.KOR_KPP end,
			LS_UBP_RCP	 = case ZKR.SHORT when 0 then ZKR.KOR_LACC else '' end,
			BS_RCP		 = replace(ZKR.KOR_RACC,'00000000000000000000',''),
			NAME_BIC_RCP = ZKR.KOR_BANK,
			BIC_RCP		 = ZKR.KOR_BIK,
			KS_BIC_RCP	 = ZKR.KOR_KS,
			PAYSTATUS	 = ZKR.STATUS,
			KDOH		 = case when ZKR.DOH_CODE_L is null and (ZKR.TREBNUM is not null or ZKR.ZERODATE is not null or ZKR.TREBDATE is not null or ZKR.OKATO is not null)  then '0' 
								else replace(ZKR.DOH_CODE_L,'.','') end,
			OKATO		 = ZKR.OKATO,
			OSN_PL		 = ZKR.P_REASON,
			NAL_PER		 = ZKR.[PERIOD],
			NOM_DOK		 = ZKR.TREBNUM,
			DATE_DOK	 = case ZKR.ZERODATE when 1 then /*'00.00.0000'*/ '0' else CONVERT(CHAR(10),ZKR.TREBDATE,104) end,
			TYPE_PL		 = ZKR.P_TYPE,
			DOL_RUK_UBP	 = case when ZKR.SHORT = 0 and @iPostRuk = 1 then B.POST_NAME else '' end,
			NAME_RUK_UBP = case @iLongFio when 1 then rtrim(B.FM) + ' ' + rtrim(B.IM) + ' ' + rtrim(B.OT) else B.SHORT_NAME end,
			DOL_BUH_UBP	 = case when ZKR.SHORT = 0 and @iPostGl = 1 then GB.POST_NAME else '' end,
			NAME_BUH_UBP = case @iLongFio when 1 then rtrim(GB.FM) + ' ' + rtrim(GB.IM) + ' ' + rtrim(GB.OT) else GB.SHORT_NAME end,
			DATE_POD_UBP = ZKR.DATE,
			NOM_ZR_FK	 = '',
			DATE_FK		 = cast(null as datetime),
			DOL_ISP_FK	 = '',
			NAME_ISP_FK	 = '',
			TEL_ISP_FK	 = ''
	FROM dbo.BB_ZAYAVKA_KR ZKR
	left join dbo.GetOtvFaceData(null, 'Руководитель') B on ZKR.DEP_LINK = B.LINK_DEP
	left join dbo.GetOtvFaceData(null, 'Главный бухгалтер') GB on ZKR.DEP_LINK = GB.LINK_DEP
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId))


if @cFormat > 'TXZR100700' --or @cFormat = ''
/*	SELECT  LINK 		 = case when ZKR.OSNOV_LINK is null then ZKR.LINK else ZKR.DOG_LINK end,
			LINK_UP		 = ZKR.LINK,
			VID_OSN		 = ZKR.DOG_VID,
			NOM_OSN		 = ZKR.DOG_NUM,
			DATE_OSN	 = ZKR.DOG_DATE,
			OSN			 = case ZKR.SHORT when 0 then ZKR.DOG_COM else '' end
	FROM dbo.BB_ZAYAVKA_KR ZKR
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId)) and ZKR.DOG_NUM is not null
	union all
	SELECT  LINK 		 = ZKR.LINK,
			LINK_UP		 = ZKR.LINK,
			VID_OSN		 = ZKR.OSN_VID,
			NOM_OSN		 = ZKR.OSN_NUM,
			DATE_OSN	 = ZKR.OSN_DATE,
			OSN			 = case ZKR.SHORT when 0 then ZKR.OSN_COM else '' end
	FROM dbo.BB_ZAYAVKA_KR ZKR
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId)) and ZKR.OSN_NUM is not null 
				
*/
	SELECT  ZO.LINK, 
			ZO.LINK_UP,
			VID_OSN		 = ZO.[TYPE],
			NOM_OSN		 = ZO.NUMBER,
			DATE_OSN	 = ZO.[DATE],
			OSN			 = case ZKR.SHORT when 0 then ZO.COMMENT else '' end,
			OSN_PLAT	=	CASE ZKR.SHORT WHEN 0 THEN '' ELSE replace(str(ZO.OSN),'0','2') END
	FROM dbo.BB_ZAYAVKA_KR_OSNOV ZO
	inner join dbo.BB_ZAYAVKA_KR ZKR on ZKR.LINK = ZO.LINK_UP
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId))
	union all
	SELECT  ZKR.LINK, 
			ZKR.LINK,
			VID_OSN		 = 'УИН',
			NOM_OSN		 = ZKR.UIN_CODE,
			DATE_OSN	 = NULL,
			OSN			 = '-',
			OSN_PLAT	 = CASE ZKR.SHORT WHEN 0 THEN '' ELSE '2' END
	FROM dbo.BB_ZAYAVKA_KR ZKR
	where ZKR.LINK in (select LINK from dbo.BufferGetTableByID(@cBuffId)) and ZKR.UIN_CODE <>''
 	order by 2,1
	

-- Таблица 4 (ZRST)
	select  ZT.LINK,
			LINK_UP = coalesce((select top 1 LINK from( 
								select LINK from ZAYAVKA_KR_OSNOV where LINK_UP = ZT.LINK_UP 
								union all
								SELECT  FP.LINK FROM dbo.finanse_pays FP where FP.LINK = ZT.LINK_UP and FP.UIN_CODE <>'') A
								order by LINK desc)
					,ZT.LINK_UP),
			KOD_IST_KBK	  = cast(ZT.VID_SR as char(1)),
			TYPE_KBK_PAY  = case ZT.KBK_TYPE when 1 then '10'
											 when 2 then '20'
											 when 4 then '31'
											 when 8 then '32'
											 else '' end,
			KBK_PAY		  = left(replace(replace(ZT.KBK_CODE,'.',''),'00000000000000000000',''),20),
			TYPE_KBK_RCP  = case ZKR.SHORT when 0 then case ZT.KBK_TYPE_d when 1 then '10'
																		  when 2 then '20'
																		  when 4 then '31'
																		  when 8 then '32'
																		  else '' end else '' end,
			KBK_RCP		  = case ZKR.SHORT when 0 then left(replace(ZT.BKD_CODE,'.',''),30) else '' end,
			ADD_KLASS_PAY = isnull(rtrim(case when left(DA.CODE,2) = '21' or left(DA.CODE,2) = '31' then isnull(ZT.DCL_CODE, '-') else ZT.DCL_CODE end), '') + case when @iSguDop = 1 and isnull(ZT.SGU_CODE, '') <> '' then '(' + rtrim(ZT.SGU_CODE) + ')'  else '' end,
			ADD_KLASS_RCP = ZT.DCL_CODE_D,
			SUM_V_KBK	  = ZT.SUMMA,
			SUM_R_KBK	  = 0,
			PURPOSE_KBK	  = case ZKR.SHORT when 0 then ZT.TARGET else '' end,
			NOTE_KBK	  = case ZKR.SHORT when 0 then ZT.TITLE + case @iNoteDCL when 1 then @cPrefDCL + ZT.DCL_CODE else '' end else '' end 
	from dbo.BB_ZAYAVKA_KR_TABLE ZT
	inner join dbo.FINANSE_PAYS ZKR on ZKR.LINK = ZT.LINK_UP
	inner join dbo.G_PROV G on ZKR.LINK = G.LINK
	inner join dbo.DEPARTMENT_ACCOUNTS DA on DA.LINK = G.ACC
	where ZT.LINK_UP in (select LINK from dbo.BufferGetTableByID(@cBuffId))






GO


GRANT EXECUTE ON dbo.BB_EXPORT_ZKR_16 TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_REP_EMPL_PAYS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_REP_EMPL_PAYS]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.SD_REP_EMPL_PAYS 
	@varKSdDate1 DATETIME,
	@varKSnOption1 INT,
	@varKScVal1 char(1), @varKSnOtborLink1 int
AS
BEGIN

	declare @DEP_LINK int
	exec dbo.xd_whats_zb @DEP_LINK output

	DECLARE @varKSEMPL TABLE (LINK_EMPL INT)
	IF LEN(@varKScVal1) <> 0 
		INSERT INTO @varKSEMPL (LINK_EMPL)
		SELECT RECORD FROM OBJECT_VAR_EMPL WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @varKSEMPL (LINK_EMPL)
		SELECT LINK FROM dbo.KU_EMPL_PLACING EP WHERE EP.DEP_LINK = @DEP_LINK
			AND SACK = 0 AND EP.STATUS NOT IN (2,7)  AND EP.STATUS IS NOT NULL

	IF @varKSnOption1 = 1 BEGIN

		DECLARE @BUFF_ID VARCHAR(20)
		EXEC X_GET_TABLE_NAME @BUFF_ID OUTPUT
			
		INSERT INTO DBO.BUFFER (ID, LINK)
		SELECT DISTINCT @BUFF_ID, E.LINK_EMPL
			FROM @varKSEMPL E

		---
		SELECT 
			LINK = RIGHT(REPLICATE('0',20) + CONVERT(VARCHAR(20),DE.LINK_EMPL),20) + RIGHT(REPLICATE('0',20) + CONVERT(VARCHAR(20),DE.LINK),20), 
			DE.TAB, 
			FIO = LEFT(LTRIM(RTRIM(COALESCE(LTRIM(RTRIM(P.FM)) + ' ' + LTRIM(RTRIM(P.IM)) + ' ' + LTRIM(RTRIM(P.OT)),'Не заполнено'))),100),
			sdiv_code = DE.subdiv_code,
			sdiv_name = DE.subdiv_name, 
			DE.post_name, 
			DE.razr,
			YEAR(P.BIRTHDATE) AS BIRTH_YEAR, 
			CASE WHEN P.RESIDENT = 1 THEN 'Резидент' ELSE 'Нерезидент' END AS RESIDENT, 
			DPE.code_pays,
			DPE.NAME_PAYS,
			DPE.Date_BEGIN,
			DPE.Date_END,
			SUMMA = DPE.VALUE
		FROM 
			@varKSEMPL E 
			LEFT JOIN dbo.[SA_EMPLS_W_FN](DEFAULT,@varKSdDate1, DEFAULT, @DEP_LINK) DE ON E.LINK_EMPL = DE.link_empl 
			LEFT JOIN dbo.PERSON P ON (DE.PERS_LINK = P.LINK)
			LEFT JOIN DBO.DICTIONARY_PAYS_EMPL_FN(@varKSdDate1, DEFAULT, DEFAULT, @BUFF_ID, @DEP_LINK, DEFAULT) DPE 
				ON DE.LINK_EMPL = DPE.LINK_EMPL AND DE.LINK = DPE.LINK_SOVM
		WHERE  
			DPE.ACTUAL = 1
			AND
			(DE.SACK = 0 OR DE.SACK = 1 AND DE.SACK_PER = 1)
		ORDER BY 
			DE.subdiv_code, DE.TAB, DE.post_name, DPE.CODE_PAYS

		---
		DELETE FROM DBO.BUFFER WHERE ID = @BUFF_ID

	END


	IF @varKSnOption1 = 2 BEGIN
		SELECT 
			DE.LINK AS LINK, 
			DE.TAB, 
			FIO = LEFT(LTRIM(RTRIM(COALESCE(LTRIM(RTRIM(P.FM)) + ' ' + LTRIM(RTRIM(P.IM)) + ' ' + LTRIM(RTRIM(P.OT)),'Не заполнено'))),100),
			sdiv_code = subdiv_code,
			sdiv_name = subdiv_name, 
			post_name, 
			razr = RAZR1,
			YEAR(P.BIRTHDATE) AS BIRTH_YEAR, 
			CASE WHEN P.RESIDENT = 1 THEN 'Резидент' ELSE 'Нерезидент' END AS RESIDENT, 
			CODE_DED AS CODE_PAYS, 
			NAME_DED AS NAME_PAYS, 
			DATE1 AS DATE_BEGIN, 
			DATE2 AS DATE_END, 
			DTD.SUMMA
	
		FROM 
			@varKSEMPL E 
			INNER JOIN dbo.SD_EMPL DE ON E.LINK_EMPL = DE.LINK 
			INNER JOIN dbo.PERSON P ON (DE.PERS_LINK = P.LINK)
			LEFT OUTER JOIN SD_EMPL_DED DPE ON (DPE.LINK_EMPL = DE.LINK 
							AND @varKSdDate1 BETWEEN ISNULL(DATE1, '19000101') AND ISNULL(DATE2, '30000101'))
			LEFT OUTER JOIN DICTIONARY_TYP_DEDUCTION DTD ON (DPE.LINK_DED = DTD.LINK)
		WHERE 
			DE.DATE_BEGIN <= @varKSdDate1 AND (DE.DATE_END >= @varKSdDate1 OR DE.DATE_END IS NULL)
		ORDER BY 
			DE.subdiv_code, DE.TAB, DE.post_name, DPE.CODE_DED
	END

	IF @varKSnOption1 = 3 BEGIN
		SELECT 
			DE.LINK AS LINK, 
			DE.TAB, 
			FIO = LEFT(LTRIM(RTRIM(COALESCE(LTRIM(RTRIM(P.FM)) + ' ' + LTRIM(RTRIM(P.IM)) + ' ' + LTRIM(RTRIM(P.OT)),'Не заполнено'))),100),
			sdiv_code = subdiv_code,
			sdiv_name = subdiv_name, 
			post_name, 
			razr = RAZR1,
			YEAR(P.BIRTHDATE) AS BIRTH_YEAR, 
			CASE WHEN P.RESIDENT = 1 THEN 'Резидент' ELSE 'Нерезидент' END AS RESIDENT, 
			CODE_TAX AS CODE_PAYS, 
			NAME_TAX AS NAME_PAYS, 
			DATE1 AS DATE_BEGIN, 
			DATE2 AS DATE_END, 
			DPE.SUMMA
		FROM 
			@varKSEMPL E 
			INNER JOIN dbo.SD_EMPL DE ON E.LINK_EMPL = DE.LINK 
			INNER JOIN dbo.PERSON P ON (DE.PERS_LINK = P.LINK)
			INNER JOIN dbo.SD_EMPL_TAX DPE ON (DPE.LINK_EMPL = DE.LINK 
						AND @varKSdDate1 BETWEEN ISNULL(DATE1, '19000101') AND ISNULL(DATE2, '30000101') )
		WHERE 
			DE.DATE_BEGIN <= @varKSdDate1 AND (DE.DATE_END >= @varKSdDate1 OR DE.DATE_END IS NULL)
		ORDER BY 
			DE.subdiv_code, DE.TAB, DE.post_name, DPE.CODE_TAX
	END
END





GO


GRANT EXECUTE ON dbo.[SD_REP_EMPL_PAYS] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_OV_F0511808]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_OV_F0511808]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE      PROCEDURE [dbo].BK_REPORT_OV_F0511808
	@varKSDATE_BEGIN	DATETIME,	
	@varKSDATE_END	DATETIME,	
	@varKSnPRN_KBK	INT		,
	@varKSnPRN_SGU	INT		,
	@varKScVal1 char(1), @varKSnOtborLink1 int,
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT		
AS
BEGIN
	DECLARE	@varKSLINK_DEP	INT		,
		@varKScNEXT_PERIOD	VARCHAR (10),
		@varKScBEGIN_PERIOD	VARCHAR (10),
		@varKScEND_PERIOD	VARCHAR (10),

		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSDEP_OKPO	VARCHAR (20),
		@varKSEMP_CODE	VARCHAR (20),
		@varKSEMP_NAME	VARCHAR (254)

	/* -- Отбор субсчетов -- */
	DECLARE @ACCT TABLE (LINK_ACCT INT)
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	/*
	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = [NAME],
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
*/
	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = dbo.BK_GET_PRINT_DEP_NAME (LINK), 
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT		
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'
	
	/* -- ОСВ -- */
	DECLARE @OSV TABLE (LINK_ACCT INT,
			SA_CODE VARCHAR (20),
			KBK INT, SGU INT,
			IN_SUMMA NUMERIC (28,2),	
			D_SUMMA NUMERIC (28,2),		
			K_SUMMA NUMERIC (28,2),		
			OUT_SUMMA NUMERIC (28,2)	
			)	

	INSERT INTO @OSV
	SELECT OSV.ACCOUNT,
		OSV.SA_CODE,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN OSV.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN OSV.SGU
			ELSE 0
		END,
		SUM (OSV.IN_SUMMA),
		SUM (OSV.D_SUMMA),
		SUM (OSV.K_SUMMA),	
		SUM (OSV.OUT_SUMMA)
	FROM dbo.BK_GetTableOSVByDate (@varKSDATE_BEGIN, @varKSDATE_END, DEFAULT) OSV
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = OSV.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = OSV.KBK)
	WHERE @intSVOD_ZB = 1
		OR (@intSVOD_ZB = 0 AND OSV.DEP_LINK = @varKSLINK_DEP)
	GROUP BY OSV.ACCOUNT,
		OSV.SA_CODE,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN OSV.KBK
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN OSV.SGU
			ELSE 0
		END

	DECLARE @RESULT TABLE (BEGIN_P VARCHAR (10), END_P VARCHAR (10), NEXT_P VARCHAR (10),
			LINK_ACCT INT, SA_CODE VARCHAR (20),
			KBK INT, SGU INT,
			DEP_NAME VARCHAR (254), DEP_OKPO VARCHAR (20),
			ACCT_CODE VARCHAR (60), ACCT_NAME VARCHAR (254),
			DIN_SUM NUMERIC (28,2), KIN_SUM NUMERIC (28,2),
			D_SUMMA NUMERIC (28,2),				
			K_SUMMA NUMERIC (28,2),				
			DOUT_SUM NUMERIC (28,2), KOUT_SUM NUMERIC (28,2), 
			REP1 TINYINT
			)

	SET @varKScNEXT_PERIOD = CONVERT (VARCHAR (10), DATEADD (DAY, 1, @varKSDATE_END), 104)
	SET @varKScBEGIN_PERIOD = CONVERT (VARCHAR (10), @varKSDATE_BEGIN, 104)
	SET @varKScEND_PERIOD = CONVERT (VARCHAR (10), @varKSDATE_END, 104)

	INSERT INTO @RESULT
	SELECT @varKScBEGIN_PERIOD,
		@varKScEND_PERIOD,
		@varKScNEXT_PERIOD,
		OSV.LINK_ACCT,
		OSV.SA_CODE ,
		OSV.KBK,
		OSV.SGU,
		@varKSDEP_NAME,
		@varKSDEP_OKPO,
		dbo.BK_GetAcctFullCode1 (OSV.LINK_ACCT, OSV.KBK, OSV.SGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSDATE_END),
		SA.[NAME],
		CASE 				
			WHEN SA.S_ACTIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_PASSIVE = 1 THEN OSV.IN_SUMMA
			ELSE 0
		END,			
		OSV.D_SUMMA,			
		OSV.K_SUMMA,			
		CASE 				
			WHEN SA.S_ACTIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,			
		CASE 				
			WHEN SA.S_PASSIVE = 1 THEN OSV.OUT_SUMMA
			ELSE 0
		END,			
		1
	FROM @OSV OSV
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = OSV.LINK_ACCT)

	SELECT * 
	FROM @RESULT
	WHERE (D_SUMMA <> 0)
		OR (K_SUMMA <> 0)
		OR (DIN_SUM <> 0)
		OR (KIN_SUM <> 0)
		OR (DOUT_SUM <> 0)
		OR (KOUT_SUM <> 0)
	ORDER BY SA_CODE, ACCT_CODE
	
END




GO


GRANT EXECUTE ON dbo.[BK_REPORT_OV_F0511808] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_OTHER_FILL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_OTHER_FILL]

GO

CREATE   PROCEDURE dbo.SD_O_OTHER_FILL
@LINK INT
AS  

DECLARE @Month int, 
		@Year int, 
		@Link1 int,
		@DEP_LINK INT,
		@Date DATETIME	

SELECT 
	@Year = YEAR(S.DATE_CALC),
	@Month = MONTH(S.DATE_CALC),
	@DEP_LINK = S.LINK_DEP,
	@Date = dbo.DATEENDOFMONTH(S.DATE_CALC)
FROM 
	dbo.SDOC S
WHERE 
	S.LINK = @LINK

IF @DEP_LINK IS NULL
	Set @DEP_LINK = Coalesce( (SELECT TOP 1 ZB_LINK FROM dbo.KS_OPTIONS_ZB), dbo.GetOwnDepLink())

---Справочник тарифов
--!!! Ставки берет от тарифа Общий и не учитывает шкалу. При необходимости требуется переделать
CREATE TABLE #RANGE(LINK_PAYS INT, PREDEL NUMERIC(18,2), [PERCENT] NUMERIC(18,2))
INSERT INTO #RANGE (LINK_PAYS, PREDEL,  [PERCENT])
SELECT 
	DR.LINK_PAYS, PREDEL, [PERCENT]
FROM 
	dbo.PAYS P
	INNER JOIN dbo.DICTIONARY_RANGE DR ON P.LINK = DR.LINK_PAYS
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5
	AND TARIF = 1
	AND DR.[DATE]= (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE DR1 
		WHERE DR1.TARIF = DR.TARIF AND LINK_PAYS = P.LINK AND [DATE] <= @Date ORDER BY [DATE] DESC) 	

DECLARE @COLUMN_REF_PAY_MROT_T3 INT
SET @COLUMN_REF_PAY_MROT_T3 = (SELECT TOP 1 LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T3')

----Инвалиды и процент по ним
CREATE TABLE #INV ([PERCENT] NUMERIC(18,2), LINK INT)
INSERT  INTO #INV ([PERCENT], LINK)
SELECT
	[PERCENT] = MP.summa, I.PERS_LINK
FROM	
	dbo.MINROT_PAYS MP
	INNER JOIN dbo.PERS_INVALID I ON 1=1
WHERE
	[OBJECT] = @COLUMN_REF_PAY_MROT_T3
	AND
	LINK_MINROT = (SELECT TOP 1 LINK FROM MINROT WHERE PERIOD<=@Date ORDER BY PERIOD DESC)
	AND
	dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@Month,@Year))
		BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')	

--===РАСЧЁТ СКИДКИ
--Информация о предельном размере скидки
CREATE TABLE #SKIDKA (LINK_INC INT, PREDEL NUMERIC(18,2))
INSERT INTO #SKIDKA (LINK_INC, PREDEL)
SELECT TI.LINK, D.PREDEL
FROM 
	dbo.Salary_deduct_esn(@Date) D	
	INNER JOIN dbo.DICTIONARY_TYP_INCOMS TI ON TI.REF_DEDUCT = D.REF_PAY
	AND dbo.SA_GET_OPTION_BY_CODE('ESNTR_OPTIONS_OPT3') = 1 -- Предоставлять скидки 
	
--База расчёта
CREATE TABLE #BASE (LINK_TAX INT, LINK_PAY INT)
INSERT INTO #BASE (LINK_TAX, LINK_PAY)
SELECT T.LINK_TAX, T.LINK_PAYS 
FROM
	dbo.PAYS P  
	INNER JOIN dbo.TAX_REF T ON T.LINK_TAX = P.LINK
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5	

--Базовые суммы по физлицам в разрезе кодов дохода и источников
DECLARE @LINK_EKR211 INT, @LINK_EKR212 INT, @LINK_EKR213 INT
SET @LINK_EKR211 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '211')
SET @LINK_EKR212 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '212')
SET @LINK_EKR213 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')

DECLARE @SALARY_PROV_OPT4 TINYINT
SET @SALARY_PROV_OPT4 = dbo.sa_get_option_by_code('SALARY_PROV_OPT4')

CREATE TABLE #SUMMA (LINK_TAX INT, LINK_PERS INT, LINK_INC INT, LINK_VKR INT, LINK_EKR INT, SUMMA_M NUMERIC(18,2),SUMMA NUMERIC(18,2), LINK_VKR2 INT)
INSERT INTO #SUMMA (LINK_TAX, LINK_PERS, LINK_INC, LINK_VKR, LINK_EKR, SUMMA_M, SUMMA, LINK_VKR2)
SELECT
	B.LINK_TAX,
	ISNULL(J.PERS_LINK,E.PERS_LINK),
	P.LINK_INC,
	LINK_VKR = ISNULL(SF.LINK_SS_SFIN,J.LINK_VKR),
	CASE WHEN @SALARY_PROV_OPT4 = 0 THEN 
		CASE WHEN COALESCE(J.LINK_EKR,@LINK_EKR213) = @LINK_EKR211 THEN @LINK_EKR213 ELSE COALESCE(J.LINK_EKR,@LINK_EKR213) END
	ELSE 
		CASE WHEN COALESCE(J.LINK_EKR,@LINK_EKR213) IN (@LINK_EKR211, @LINK_EKR212) THEN @LINK_EKR213 ELSE COALESCE(J.LINK_EKR,@LINK_EKR213) END				
	END,	
	SUMMA_M = SUM(CASE WHEN MONTH(J.PERIOD_BEGIN) = @Month THEN SUMMA ELSE 0 END),
	SUMMA  = SUM(SUMMA),
	LINK_VKR2 = J.LINK_VKR
FROM
	#BASE B 
	INNER JOIN dbo.PAYS P ON P.LINK = B.LINK_PAY
	INNER JOIN dbo.CALCULATE_JURNAL J ON J.LINK_PAYS = P.LINK
	INNER JOIN dbo.EMPL E ON E.LINK = J.LINK_EMPL
	INNER JOIN dbo.SAL_SFIN SF ON SF.LINK = J.LINK_VKR
WHERE
	J.LINK_DEP = @DEP_LINK
	AND
	P.[OBJECT] = 1 
	AND
	YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) <= @Month
	--AND
	--J.LINK_EKR <> @LINK_EKR213
GROUP BY
	B.LINK_TAX, ISNULL(J.PERS_LINK,E.PERS_LINK), P.LINK_INC, LINK_VKR, J.LINK_EKR, SF.LINK_SS_SFIN

		
-- Базовые суммы по физлицам в разрезе кодов дохода
CREATE TABLE #SUMMA2 (LINK_TAX INT, LINK_PERS INT, LINK_INC INT, SUMMA_M NUMERIC(18,2), SUMMA NUMERIC(18,2))
INSERT INTO #SUMMA2 (LINK_TAX, LINK_PERS, LINK_INC, SUMMA_M, SUMMA)
SELECT LINK_TAX, LINK_PERS, LINK_INC, SUM(SUMMA_M), SUM(SUMMA)
FROM #SUMMA
GROUP BY LINK_TAX, LINK_PERS, LINK_INC

--Удалить рассчитанную скидку по данному расчёту, чтобы рассчитать её заново
DELETE FROM dbo.SDOC_DOT_SKIDKI WHERE LINK_UP = @LINK

-- Размер уже предоставленной скидки с начала года в разрезе кодов дохода
CREATE TABLE #SKIDKA_PREV (LINK_TAX INT, LINK_PERS INT, LINK_INC INT, SUMMA NUMERIC(18,2))

INSERT INTO #SKIDKA_PREV (LINK_TAX, LINK_PERS, LINK_INC, SUMMA)
SELECT LINK_TAX, LINK_PERS, LINK_INC, SUM(SUMMA)
FROM 
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_SKIDKI S ON S.LINK_UP = D.LINK
WHERE
	D.LINK_DEP = @DEP_LINK
	AND 
	YEAR(DATE_CALC)	= @Year AND MONTH(DATE_CALC) < @Month
GROUP BY
	LINK_TAX, LINK_PERS, LINK_INC

--
DECLARE @ESNTR_OPTIONS_OPT5 INT
SET @ESNTR_OPTIONS_OPT5 = dbo.SA_GET_OPTION_BY_CODE('ESNTR_OPTIONS_OPT5')

--Предоставленные скидки с предыдущего места работы
CREATE TABLE #PREV_DED (LINK_PERS INT, LINK_INC INT, SUMMA NUMERIC(18,2))
--
INSERT INTO #PREV_DED (LINK_PERS, LINK_INC, SUMMA)
SELECT E.PERS_LINK, LINK_INC = T.LINK, SUMMA = SUM(PD.SUMMA_DED)
FROM 
	dbo.SD_EMPL_PREV_DED PD
	INNER JOIN dbo.DICTIONARY_TYP_INCOMS T with (nolock) ON T.REF_DEDUCT = PD.LINK_DED
	INNER JOIN dbo.EMPL E with (nolock) ON E.LINK = PD.LINK_EMPL
	INNER JOIN dbo.ITEM_MOVE IM with (nolock) ON IM.EMPL_LINK = E.LINK AND IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS] IN (1,3) AND IM.DATE_BEGIN <= @Date
	INNER JOIN (
		SELECT E.PERS_LINK, MAX(DATE_BEGIN) AS DATE_BEGIN
		FROM 
			dbo.EMPL E with (nolock)
			INNER JOIN dbo.ITEM_MOVE IM with (nolock) ON IM.EMPL_LINK = E.LINK AND IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS] IN (1,3) AND IM.DATE_BEGIN <= @Date
			LEFT JOIN DBO.ITEM_DIS_FACE IDF with (nolock) ON IDF.EMPL_LINK = E.LINK AND IDF.ACTIVE=1 AND COALESCE(IDF.DIS_DATE,'20990101') >= dbo.DateBeginOfMonth(@Date)	
		GROUP BY
			E.PERS_LINK	
	) A ON A.PERS_LINK = E.PERS_LINK AND A.DATE_BEGIN = IM.DATE_BEGIN
WHERE
	E.DEP_LINK = @DEP_LINK
	AND
	YEAR(IM.DATE_begin) = @Year --YEAR(dbo.kd_DateBeginWork(@linkEmpl,null)) = @Year
	AND
	@ESNTR_OPTIONS_OPT5 = 1 --Учитывать вычеты, предоставленные на предыдущем месте работы
GROUP BY
	E.PERS_LINK, T.LINK

-- Расчёт скидки за месяц по физлицам в разрезе кодов дохода и источников
INSERT INTO dbo.SDOC_DOT_SKIDKI (LINK_UP, LINK_TAX, LINK_PERS, LINK_INC, LINK_VKR, LINK_VKR2, LINK_EKR, SUMMA, [PERCENT])
SELECT 
	@LINK, S2.LINK_TAX, S2.LINK_PERS, S2.LINK_INC, S.LINK_VKR, S.LINK_VKR2, S.LINK_EKR,
	--Остаток скидки в пределах месячного дохода
	--CASE WHEN S2.SUMMA_M > CASE WHEN ISNULL(SP.SUMMA,0) < SK.PREDEL THEN (SK.PREDEL - ISNULL(SP.SUMMA,0)) * (S.SUMMA_M / S2.SUMMA_M) ELSE 0 END
	--	THEN CASE WHEN ISNULL(SP.SUMMA,0) < SK.PREDEL THEN (SK.PREDEL - ISNULL(SP.SUMMA,0)) * (S.SUMMA_M / S2.SUMMA_M) ELSE 0 END
	--	ELSE S2.SUMMA_M
	--END,
	(
		CASE WHEN
			--Всего надо скидку
			(CASE WHEN ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) > ISNULL(SK.PREDEL,0) THEN ISNULL(SK.PREDEL,0) ELSE ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) END) > 0 
		THEN
		(
			--Всего надо скидку
			(CASE WHEN ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) > ISNULL(SK.PREDEL,0) THEN ISNULL(SK.PREDEL,0) ELSE ISNULL(PD.SUMMA,0) + ISNULL(S2.SUMMA,0) END) 
			--Уже предоставили
			- ISNULL(SP.SUMMA,0) - ISNULL(PD.SUMMA,0)
		)	
			----пропорционально кодам доходов
			* (S.SUMMA_M / S2.SUMMA_M)
		ELSE
		0 
		END	
	),
	[PERCENT] = ISNULL(I.[PERCENT],DR.[PERCENT])
FROM 
	#RANGE DR --Ставка налога
	INNER JOIN #SUMMA2 S2 ON -- Базовые суммы по физлицам в разрезе кодов дохода
							S2.LINK_TAX = DR.LINK_PAYS
	INNER JOIN #SUMMA S ON --Базовые суммы по физлицам в разрезе кодов дохода и источников
							S.LINK_TAX = S2.LINK_TAX AND S.LINK_PERS = S2.LINK_PERS AND S.LINK_INC = S2.LINK_INC
	INNER JOIN #SKIDKA SK ON --Информация о предельном размере скидки
							SK.LINK_INC = S.LINK_INC
	LEFT JOIN #SKIDKA_PREV SP ON -- Размер уже предоставленной скидки с начала года в разрезе кодов дохода
							SP.LINK_TAX = S2.LINK_TAX AND SP.LINK_PERS = S2.LINK_PERS AND SP.LINK_INC = S2.LINK_INC
	LEFT JOIN #PREV_DED PD ON --Предоставленные скидки с предыдущего места работы
						PD.LINK_PERS = S2.LINK_PERS AND PD.LINK_INC = S2.LINK_INC								
	LEFT JOIN #INV I ON --Инвалиды и процент по ним
						I.LINK = S2.LINK_PERS
WHERE
	S2.SUMMA_M <> 0
	

--===РАСЧЁТ ВЫЧЕТОВ
--Информация о предельном размере ВЫЧЕТА
CREATE TABLE #VYCHET (LINK_DED INT, PREDEL NUMERIC(18,2))
INSERT INTO #VYCHET (LINK_DED, PREDEL)
SELECT TI.LINK, D.PREDEL
FROM 
	dbo.Salary_deduct_esn(@Date) D	
	INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION TI ON TI.LINK = D.REF_PAY
	LEFT JOIN dbo.DICTIONARY_TYP_INCOMS TI2 ON TI2.REF_DEDUCT = D.REF_PAY
WHERE 
	TI2.REF_DEDUCT IS NULL
	AND
	dbo.SA_GET_OPTION_BY_CODE('ESNTR_OPTIONS_OPT4') = 1 -- Предоставлять вычеты		
	
--Определение размера удержаний, дающие права на предоставление вычетов
CREATE TABLE #SUMMA_U (LINK_DED INT, LINK_PERS INT, SUMMA_M NUMERIC(18,2), SUMMA NUMERIC(18,2))
INSERT INTO #SUMMA_U (LINK_DED, LINK_PERS, SUMMA_M, SUMMA)
---Вычеты от удержаний
SELECT 
	TA.LINK_DED, ISNULL(J.PERS_LINK,E.PERS_LINK), 
	SUMMA_M = SUM(CASE WHEN MONTH(J.PERIOD_BEGIN) = @Month THEN SUMMA ELSE 0 END),
	SUMMA  = SUM(SUMMA)
FROM 
	dbo.EMPL E inner join dbo.calculate_jurnal J ON e.link = J.link_empl
	inner join dbo.TAX2_APP TA ON TA.LINK_UP = J.LINK_PAYS
WHERE 
	J.LINK_DEP = @DEP_LINK
	AND YEAR(J.PERIOD_BEGIN) = @Year AND MONTH(J.PERIOD_BEGIN) <= @Month
	AND ISNULL(TA.LINK_DED,0) > 0
GROUP BY 
	TA.LINK_DED, ISNULL(J.PERS_LINK,E.PERS_LINK)

--Удалить рассчитанную скидку по данному расчёту, чтобы рассчитать её заново
DELETE FROM dbo.SDOC_DOT_VYCHET WHERE LINK_UP = @LINK	

-- Размер уже предоставленного вычета с начала года в разрезе кодов вычетов
CREATE TABLE #VYCHET_PREV (LINK_TAX INT, LINK_PERS INT, LINK_DED INT, SUMMA NUMERIC(18,2))

INSERT INTO #VYCHET_PREV (LINK_TAX, LINK_PERS, LINK_DED, SUMMA)
SELECT LINK_TAX, LINK_PERS, LINK_DED, SUM(SUMMA)
FROM 
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_VYCHET S ON S.LINK_UP = D.LINK
WHERE
	D.LINK_DEP = @DEP_LINK
	AND 
	YEAR(DATE_CALC)	= @Year AND MONTH(DATE_CALC) < @Month
GROUP BY
	LINK_TAX, LINK_PERS, LINK_DED

--==== Расчёт ВЫЧЕТА за месяц по физлицам в разрезе кодов дохода и источников

--Вычеты по сотрудникам в разрезе кодов вычетов
SELECT 
	LINK_TAX = P.LINK, S.LINK_PERS, S.LINK_DED,
	SUMMA_M = 
	--CASE WHEN S.SUMMA_M > CASE WHEN ISNULL(VP.SUMMA,0) < V.PREDEL THEN (V.PREDEL - ISNULL(VP.SUMMA,0)) * (S.SUMMA_M / S.SUMMA_M) ELSE 0 END
	--	THEN CASE WHEN ISNULL(VP.SUMMA,0) < V.PREDEL THEN (V.PREDEL - ISNULL(VP.SUMMA,0)) * (S.SUMMA_M / S.SUMMA_M) ELSE 0 END
	--	ELSE S.SUMMA_M
	--END,
	(
		--Всего надо скидку
		(CASE WHEN ISNULL(S.SUMMA,0) > ISNULL(V.PREDEL,0) THEN ISNULL(V.PREDEL,0) ELSE ISNULL(S.SUMMA,0) END) 
		--Уже предоставили
		- ISNULL(VP.SUMMA,0)
	),		
	[PERCENT] = ISNULL(I.[PERCENT],DR.[PERCENT])
INTO #TMP_VYCH
FROM
	dbo.PAYS P
	INNER JOIN #RANGE DR --Ставка налога
							ON P.LINK = DR.LINK_PAYS
	INNER JOIN #SUMMA_U S -- Вычеты по физлицам
							ON 1=1
	INNER JOIN #VYCHET V --Информация о предельном размере скидки
						ON V.LINK_DED = S.LINK_DED
	LEFT JOIN #VYCHET_PREV VP -- Размер уже предоставленного вычета с начала года
						ON VP.LINK_PERS = S.LINK_PERS AND VP.LINK_DED = S.LINK_DED
	LEFT JOIN #INV I --Инвалиды и процент по ним
					ON I.LINK = S.LINK_PERS
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5
	AND S.SUMMA_M <> 0

--Доход по сотрудникам в разрезе источников
SELECT LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR, SUMMA_M = SUM(SUMMA_M)
INTO #TMP_DOH FROM #SUMMA GROUP BY LINK_TAX, LINK_PERS, LINK_VKR, LINK_EKR, LINK_VKR2

--Доход по сотрудникам
SELECT LINK_TAX, LINK_PERS, SUMMA_M = SUM(SUMMA_M)
INTO #TMP_DOH2 FROM #SUMMA GROUP BY LINK_TAX, LINK_PERS

--Вычеты по сотрудникам в разрезе источников и кодов вычетов
INSERT INTO dbo.SDOC_DOT_VYCHET (LINK_UP, LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR, LINK_DED, SUMMA, [PERCENT])
SELECT 
	@LINK, D2.LINK_TAX, D2.LINK_PERS, D.LINK_VKR, D.LINK_VKR2, D.LINK_EKR, V.LINK_DED, ISNULL(V.SUMMA_M,0) * ISNULL(D.SUMMA_M,0) / D2.SUMMA_M, V.[PERCENT]
FROM
	#TMP_DOH2 D2 
	INNER JOIN #TMP_DOH D ON D.LINK_TAX = D2.LINK_TAX AND D.LINK_PERS = D2.LINK_PERS
	INNER JOIN #TMP_VYCH V ON D2.LINK_TAX = V.LINK_TAX AND D2.LINK_PERS = V.LINK_PERS
WHERE
	ISNULL(D2.SUMMA_M,0) <> 0	

SELECT 
	[PERCENT] = ISNULL(I.[PERCENT],DR.[PERCENT]),
	DR.LINK_PAYS,
	CODE_PAYS = P.CODE,
	NAME_PAYS = P.NAME,
	S.LINK_VKR,
	[NAME_VKR] = F.CODE,
	S.LINK_EKR,
	[NAME_EKR] = G.CODE,	
	SUMMA = SUM(S.SUMMA_M),
	SKIDKA = SUM(ISNULL(SK.SUMMA,0)),
	VYCHET = SUM(ISNULL(V.SUMMA,0)),
	S.LINK_VKR2,
	[NAME_VKR2] = F2.CODE	
FROM 
	#RANGE DR
	INNER JOIN dbo.PAYS P ON P.LINK = DR.LINK_PAYS
	INNER JOIN #TMP_DOH S ON S.LINK_TAX = DR.LINK_PAYS
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = S.LINK_VKR
	INNER JOIN dbo.SAL_SFIN F2 ON F2.LINK = S.LINK_VKR2
	INNER JOIN dbo.KOSGU G ON G.LINK = S.LINK_EKR
	LEFT JOIN dbo.SDOC_DOT_SKIDKI SK ON  SK.LINK_UP = @LINK AND SK.LINK_TAX = DR.LINK_PAYS AND SK.LINK_PERS = S.LINK_PERS 
					AND SK.LINK_VKR = S.LINK_VKR AND SK.LINK_VKR2 = S.LINK_VKR2 and SK.LINK_EKR = S.LINK_EKR
	LEFT JOIN 
	(
		SELECT LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR, SUMMA = SUM(SUMMA) FROM dbo.SDOC_DOT_VYCHET 
		WHERE LINK_UP = @LINK GROUP BY LINK_TAX, LINK_PERS, LINK_VKR, LINK_VKR2, LINK_EKR
	) V
	ON V.LINK_TAX = DR.LINK_PAYS AND V.LINK_PERS = S.LINK_PERS AND V.LINK_VKR = S.LINK_VKR AND V.LINK_VKR2 = S.LINK_VKR2 AND V.LINK_EKR = S.LINK_EKR
	LEFT JOIN #INV I ON I.LINK = S.LINK_PERS
GROUP BY
	ISNULL(I.[PERCENT],DR.[PERCENT]),
	DR.LINK_PAYS,
	P.CODE,
	P.NAME,
	S.LINK_VKR,
	F.CODE,
	S.LINK_EKR,
	G.CODE,
	S.LINK_VKR2,
	F2.CODE

DROP TABLE #SKIDKA
DROP TABLE #BASE
DROP TABLE #SUMMA
DROP TABLE #SUMMA2
DROP TABLE #SKIDKA_PREV
DROP TABLE #INV
DROP TABLE #TMP_VYCH
DROP TABLE #TMP_DOH
DROP TABLE #RANGE

GO


GRANT EXECUTE ON dbo.[SD_O_OTHER_FILL] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KJ_FORM_T6]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[KJ_FORM_T6]

GO

CREATE PROCEDURE [dbo].KJ_FORM_T6
	@ORDER_LINK	int
AS
	-- ТИП ПРИКАЗА (ОДИНОЧНЫЙ/ГРУППОВОЙ)
	DECLARE	@nCHECK	int
	SET	@nCHECK = CASE
			    WHEN(SELECT COUNT(*) FROM (SELECT DISTINCT EMPL_LINK FROM ITEM_VACATION WHERE ORDER_LINK = @ORDER_LINK) T) > 1 THEN 1
			    ELSE 0
			  END
	
	SELECT	T.*
	INTO	#VACATION_TEMP
	FROM	(
		SELECT
			[LINK]		= V.LINK,			-- ССЫЛКА НА ПУНКТ ПРИКАЗА
			[VAC_OSN]	= CASE				-- ОСНОВНОЙ ОТПУК ИЛИ НЕТ (1-ОСНОВНОЙ, 0-ДОПОЛНИТЕЛЬНЫЙ)
							WHEN (SELECT VAC_V FROM VACATION_VID WHERE LINK = V.TYPE_LINK) = 3 THEN 1
							ELSE 0
						END,
			[DATE_BEGIN]	= V.DATE_BEGIN,			-- ДАТА НАЧАЛА
			[DATE_END]	= V.DATE_END,			-- ДАТА ОКОНЧАНИЯ
			[DURATION]	= CASE				-- ПРОДОЛЖИТЕЛЬНОСТЬ
						WHEN V.HOLIDAY = 1 THEN DATEDIFF(DAY,V.DATE_BEGIN,V.DATE_END) - DBO.SA_HOLIDAY_COUNT_FN(V.DATE_BEGIN,V.DATE_END) + 1
						ELSE DATEDIFF(DAY,V.DATE_BEGIN,V.DATE_END) + 1
					  END,
			[PERIOD_BEGIN]	= V.PERIOD_BEGIN,		-- НАЧАЛО ПЕРИОДА
			[PERIOD_END]	= V.PERIOD_END,			-- КОНЕЦ ПЕРИОДА
			[REASON]	= V.REASON,			-- ОСНОВАНИЕ
			[REASON_DOP] = v.reason_dop,	-- Дополнение к основанию
			[DOC_NUM]	= V.NUMBER,			-- НОМЕР ПРИКАЗА
			[DOC_DATE]	= V.DATE,			-- ДАТА ПРИКАЗА
			[FIO]		= V.FIO,			-- ФИО
			[TN]		= V.TAB_NUM,			-- ТАБЕЛЬНЫЙ НОМЕР
			[SUBDIV]	= rtrim(V.SUBDIV),		-- ПОДРАЗДЕЛЕНИЕ
			[POST]		= rtrim(V.POST),		-- ДОЛЖНОСТЬ
			[VAC_TYPE]	= V.TYPE_NAME,			-- НАИМЕНОВАНИЕ ОТПУСКА
			[FIO_SHORT]	= LEFT(RTRIM(P.IM), 1) + '.' +  LEFT(RTRIM(P.OT), 1) + '.' + RTRIM(P.FM)
		FROM	VACATION V LEFT JOIN 
				EMPL E ON V.EMPL_LINK = E.LINK LEFT JOIN 
				PERSON P ON P.LINK = E.PERS_LINK	
		WHERE	V.ORDER_LINK = @ORDER_LINK
		) T
	ORDER	BY T.PERIOD_BEGIN, T.VAC_OSN DESC, T.PERIOD_END, T.DATE_BEGIN,  T.DATE_END
	--
	SELECT * INTO #VACATION_TABLE FROM #VACATION_TEMP
	
	DECLARE @LINK INT, @PERIOD_BEGIN DATETIME, @PERIOD_END DATETIME,@VAC_OSN INT
	WHILE EXISTS(SELECT * FROM #VACATION_TEMP) BEGIN
		SELECT	TOP 1 @LINK = LINK, @PERIOD_BEGIN = PERIOD_BEGIN, @PERIOD_END = PERIOD_END, @VAC_OSN = VAC_OSN FROM #VACATION_TEMP
		UPDATE	#VACATION_TABLE
		SET	VAC_OSN = CASE	WHEN @VAC_OSN = 1 THEN @VAC_OSN
					ELSE (SELECT MIN(VAC_OSN) - 1 FROM #VACATION_TABLE WHERE ISNULL(PERIOD_BEGIN,1) = ISNULL(@PERIOD_BEGIN,1) AND ISNULL(PERIOD_END,1) = ISNULL(@PERIOD_END,1))
				  END
		WHERE	LINK = @LINK
		DELETE	FROM #VACATION_TEMP WHERE LINK = @LINK
	END
	DROP TABLE #VACATION_TEMP
	-- РЕЗУЛЬТИРУЮЩАЯ ТАБЛИЦА ДЛЯ ОДИНОЧНОЙ ФОРМЫ ПРИКАЗА
	CREATE	TABLE #RESULT_1(ORD INT,FIO VARCHAR(300),TN VARCHAR(50),SUBDIV VARCHAR(300),POST VARCHAR(300),
				DOC_NUM VARCHAR(50),DOC_DATE DATETIME,PERIOD_B DATETIME,PERIOD_E DATETIME,
				OSN_BEGIN DATETIME,OSN_END DATETIME,OSN_DUR INT,
				DOP1_BEGIN DATETIME,DOP1_END DATETIME,DOP1_DUR INT,DOP1_TYPE VARCHAR(300),
				DOP2_BEGIN DATETIME,DOP2_END DATETIME,DOP2_DUR INT,DOP2_TYPE VARCHAR(300),
				DOP3_BEGIN DATETIME,DOP3_END DATETIME,DOP3_DUR INT,DOP3_TYPE VARCHAR(300),
				DOP4_BEGIN DATETIME,DOP4_END DATETIME,DOP4_DUR INT,DOP4_TYPE VARCHAR(300),
				FIO_SHORT VARCHAR(50), CLASS_CHIN VARCHAR(254))
	-- РЕЗУЛЬТИРУЮЩАЯ ТАБЛИЦА ДЛЯ ГРУППОВОЙ ФОРМЫ ПРИКАЗА
	CREATE	TABLE #RESULT_2(FIO VARCHAR(300),TN VARCHAR(50),SUBDIV VARCHAR(300),POST VARCHAR(300),
				DOC_NUM VARCHAR(50),DOC_DATE DATETIME,PERIOD_B DATETIME,PERIOD_E DATETIME,
				DATE_BEGIN DATETIME,DATE_END DATETIME,DUR_OSN INT,DUR_DOP INT,DUR INT,
				VAC_TYPE VARCHAR(300), FIO_SHORT VARCHAR(50))
	
	DECLARE @ORD INT,@DATE_BEGIN DATETIME,@DATE_END DATETIME,@DURATION INT,@REASON_LINK int,@REASON VARCHAR(200),@REASON_DOP VARCHAR(500),@SUBDIV VARCHAR(150),@TN VARCHAR(20),
		@FIO VARCHAR(150),@DOC_NUM VARCHAR(20),@DOC_DATE DATETIME,@VAC_TYPE VARCHAR(150),@POST VARCHAR(150), @FIO_SHORT VARCHAR(50), @CLASS_CHIN VARCHAR(254)

---------------------]
SET	@CLASS_CHIN = (
			SELECT TOP 1 CH.CHIN_NAME 
			FROM ORDERS			ORD1	LEFT JOIN 
				 VACATION		V	ON ORD1.LINK = V.ORDER_LINK  LEFT JOIN
				 KU_EMPL_CHIN	CH		ON CH.EMPL_LINK = V.EMPL_LINK
			WHERE V.ORDER_LINK = @ORDER_LINK
			ORDER BY CH.DATE DESC)
---------------------------
	DECLARE @DEP_LINK INT
	DECLARE @CHIEF VARCHAR(50), @CHIEF_POST VARCHAR(150), @CHIEF_LINK INT, @LONGNAME VARCHAR(150), @OKPO VARCHAR(50)
	SET @DEP_LINK = (SELECT DEP_LINK FROM USER_DEP)
	SELECT @CHIEF = FACE_NAME, @CHIEF_LINK = FACE_LINK FROM DICTIONARY_OTV_FACE WHERE DEP_LINK = @DEP_LINK AND NAME = 'Руководитель'
	SELECT @LONGNAME = FULL_NAME, @OKPO = OKPO FROM DEPARTMENTS WHERE LINK = @DEP_LINK
	SELECT @CHIEF_POST = POST_NAME FROM KU_EMPL_PLACING WHERE LINK = @CHIEF_LINK

	-- ПРОВЕРКА НА ТИП ПРИКАЗА (ОДИНОЧНЫЙ/ГРУППОВОЙ)
	IF @nCHECK != 1 BEGIN
		SET @REASON = (SELECT TOP 1 REASON FROM #VACATION_TABLE WHERE LEN(RTRIM(LTRIM(REASON))) != 0)
		SET @REASON_DOP = (SELECT TOP 1 REASON_DOP FROM #VACATION_TABLE WHERE LEN(RTRIM(LTRIM(REASON_DOP))) != 0)
		SET @ORD = 0
	 	WHILE EXISTS(SELECT * FROM #VACATION_TABLE) BEGIN		
	 		SELECT	TOP 1 @LINK = LINK, @VAC_OSN = VAC_OSN, @DATE_BEGIN = DATE_BEGIN, @DATE_END = DATE_END, @DURATION = DURATION,
			@PERIOD_BEGIN = PERIOD_BEGIN, @PERIOD_END = PERIOD_END, @DOC_NUM = DOC_NUM,  @DOC_DATE = DOC_DATE,
					@FIO = FIO, @TN = TN, @SUBDIV = SUBDIV, @POST = POST, @VAC_TYPE = VAC_TYPE, @FIO_SHORT = FIO_SHORT
			FROM	#VACATION_TABLE
			IF NOT EXISTS(SELECT * FROM #RESULT_1 WHERE PERIOD_B = @PERIOD_BEGIN AND @PERIOD_END = PERIOD_E) SET @ORD = @ORD + 1
			IF @VAC_OSN = 1 BEGIN
				INSERT	INTO #RESULT_1
				VALUES	(@ORD, @FIO, @TN, @SUBDIV, @POST, @DOC_NUM, @DOC_DATE, @PERIOD_BEGIN, @PERIOD_END,
					 @DATE_BEGIN, @DATE_END, @DURATION, NULL, NULL, 0,'', NULL, NULL, 0,'', NULL, NULL, 0,'', NULL, NULL, 0, '', @FIO_SHORT, @CLASS_CHIN)
			END
			ELSE BEGIN
				IF NOT EXISTS(SELECT * FROM #RESULT_1 WHERE ORD = @ORD) BEGIN
					INSERT	INTO #RESULT_1
					VALUES	(@ORD, @FIO, @TN, @SUBDIV, @POST, @DOC_NUM, @DOC_DATE, @PERIOD_BEGIN, @PERIOD_END,
						 NULL, NULL, 0, NULL, NULL, 0,'', NULL, NULL, 0,'', NULL, NULL, 0,'', NULL, NULL, 0, '', @FIO_SHORT,@CLASS_CHIN)
				END
				IF @VAC_OSN = -1
					UPDATE	#RESULT_1
					SET	DOP1_BEGIN = @DATE_BEGIN, DOP1_END = @DATE_END, DOP1_DUR = @DURATION, DOP1_TYPE = @VAC_TYPE
					WHERE	ORD = @ORD
				IF @VAC_OSN = -2
					UPDATE	#RESULT_1
					SET	DOP2_BEGIN = @DATE_BEGIN, DOP2_END = @DATE_END, DOP2_DUR = @DURATION, DOP2_TYPE = @VAC_TYPE
					WHERE	ORD = @ORD
				IF @VAC_OSN = -3
					UPDATE	#RESULT_1
					SET	DOP3_BEGIN = @DATE_BEGIN, DOP3_END = @DATE_END, DOP3_DUR = @DURATION, DOP3_TYPE = @VAC_TYPE
					WHERE	ORD = @ORD
				IF @VAC_OSN = -4
					UPDATE	#RESULT_1
					SET	DOP4_BEGIN = @DATE_BEGIN, DOP4_END = @DATE_END, DOP4_DUR = @DURATION, DOP4_TYPE = @VAC_TYPE
					WHERE	ORD = @ORD
			END
	 		DELETE FROM #VACATION_TABLE WHERE LINK = @LINK
	 	END
	
		DECLARE @DUR INT, @DATE_B DATETIME, @DATE_E DATETIME
		SET @DUR = (SELECT SUM(OSN_DUR) + SUM(DOP1_DUR) + SUM(DOP2_DUR) + SUM(DOP3_DUR) + SUM(DOP4_DUR) FROM #RESULT_1)
			
		CREATE	TABLE #DATE_TEMP (VALUE DATETIME)
		INSERT	INTO #DATE_TEMP
		SELECT	MIN(OSN_BEGIN) FROM #RESULT_1
		UNION ALL
		SELECT	MIN(DOP1_BEGIN) FROM #RESULT_1
		UNION ALL
		SELECT	MIN(DOP2_BEGIN) FROM #RESULT_1
		UNION ALL
		SELECT	MIN(DOP3_BEGIN) FROM #RESULT_1
		UNION ALL
		SELECT	MIN(DOP4_BEGIN) FROM #RESULT_1
		SET @DATE_B = (SELECT MIN(VALUE) FROM #DATE_TEMP)
	
		DELETE FROM #DATE_TEMP
		INSERT	INTO #DATE_TEMP
		SELECT	MAX(OSN_END) FROM #RESULT_1
		UNION ALL
		SELECT	MAX(DOP1_END) FROM #RESULT_1
		UNION ALL
		SELECT	MAX(DOP2_END) FROM #RESULT_1
		UNION ALL
		SELECT	MAX(DOP3_END) FROM #RESULT_1
		UNION ALL
		SELECT	MAX(DOP4_END) FROM #RESULT_1
		SET @DATE_E = (SELECT MAX(VALUE) FROM #DATE_TEMP)
		DROP TABLE #DATE_TEMP
		
 		SELECT	T.*,
			[LONGNAME] = @LONGNAME,
			[CHIEF] = @CHIEF,
			[CHIEF_POST] = @CHIEF_POST,
			[OKPO] = @OKPO,
			[DUR] = @DUR,
			[DATE_B] = @DATE_B,
			[DATE_E] = @DATE_E,
			[REASON] = @REASON,
			[REASON_DOP] = @REASON_DOP
 		FROM	#RESULT_1 T
	END ELSE BEGIN
		INSERT	INTO #RESULT_2
		SELECT	FIO,TN,SUBDIV,POST,DOC_NUM,DOC_DATE,PERIOD_BEGIN,PERIOD_END,DATE_BEGIN,DATE_END,
			CASE WHEN VAC_OSN = 1 THEN DURATION
			     ELSE 0
			END,
			CASE WHEN VAC_OSN != 1 THEN DURATION
			     ELSE 0
			END,
			DURATION,
			CASE WHEN VAC_OSN = 1 THEN ''
			     ELSE VAC_TYPE
			END, FIO_SHORT
		FROM	#VACATION_TABLE

		SELECT	T.*,
			[LONGNAME] = @LONGNAME,
			[CHIEF] = @CHIEF,
			[CHIEF_POST] = @CHIEF_POST,
			[OKPO] = @OKPO
		FROM	#RESULT_2 T
		ORDER	BY FIO, DATE_BEGIN
	END
	--
	DROP TABLE #VACATION_TABLE
	DROP TABLE #RESULT_1
	DROP TABLE #RESULT_2





GO


GRANT EXECUTE ON dbo.[KJ_FORM_T6] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_REP_VAC_RASP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_REP_VAC_RASP]

GO
-- exec [dbo].SA_REP_VAC_RASP   '6470'  
CREATE PROCEDURE [dbo].SA_REP_VAC_RASP
	@ORDER_LINK	int
AS
	-- ТИП ПРИКАЗА (ОДИНОЧНЫЙ/ГРУППОВОЙ)
	DECLARE	@nCHECK	int
	SET	@nCHECK = CASE
			    WHEN(SELECT COUNT(*) FROM (SELECT DISTINCT EMPL_LINK FROM ITEM_VACATION WHERE ORDER_LINK = @ORDER_LINK) T) > 1 THEN 1
			    ELSE 0
			  END
	
	SELECT	T.*
	INTO	#VACATION_TEMP
	FROM	(
		SELECT
			[LINK]		= V.LINK,			-- ССЫЛКА НА ПУНКТ ПРИКАЗА
			[VAC_OSN]	= CASE				-- ОСНОВНОЙ ОТПУК ИЛИ НЕТ (1-ОСНОВНОЙ, 0-ДОПОЛНИТЕЛЬНЫЙ)
							WHEN (SELECT VAC_V FROM VACATION_VID WHERE LINK = V.TYPE_LINK) = 3 THEN 1
							ELSE 0
						END,
			[DATE_BEGIN]	= V.DATE_BEGIN,			-- ДАТА НАЧАЛА
			[DATE_END]	= V.DATE_END,			-- ДАТА ОКОНЧАНИЯ
			[DURATION]	= CASE				-- ПРОДОЛЖИТЕЛЬНОСТЬ
						WHEN V.HOLIDAY = 1 THEN DATEDIFF(DAY,V.DATE_BEGIN,V.DATE_END) - DBO.SA_HOLIDAY_COUNT_FN(V.DATE_BEGIN,V.DATE_END) + 1
						ELSE DATEDIFF(DAY,V.DATE_BEGIN,V.DATE_END) + 1
					  END,
			[PERIOD_BEGIN]	= V.PERIOD_BEGIN,		-- НАЧАЛО ПЕРИОДА
			[PERIOD_END]	= V.PERIOD_END,			-- КОНЕЦ ПЕРИОДА
			[REASON]	= V.REASON,			-- ОСНОВАНИЕ
			[REASON_DOP] = v.reason_dop,	-- Дополнение к основанию
			[DOC_NUM]	= V.NUMBER,			-- НОМЕР ПРИКАЗА
			[DOC_DATE]	= V.DATE,			-- ДАТА ПРИКАЗА
			[FIO]		= V.FIO,			-- ФИО
			[TN]		= V.TAB_NUM,			-- ТАБЕЛЬНЫЙ НОМЕР
			[SUBDIV]	= rtrim(V.SUBDIV),		-- ПОДРАЗДЕЛЕНИЕ
			[POST]		= rtrim(V.POST),		-- ДОЛЖНОСТЬ
			[VAC_TYPE]	= V.TYPE_NAME,			-- НАИМЕНОВАНИЕ ОТПУСКА
			[FIO_SHORT]	= LEFT(RTRIM(P.IM), 1) + '.' +  LEFT(RTRIM(P.OT), 1) + '.' + RTRIM(P.FM)
		FROM	VACATION V LEFT JOIN 
				EMPL E ON V.EMPL_LINK = E.LINK LEFT JOIN 
				PERSON P ON P.LINK = E.PERS_LINK	
		WHERE	V.ORDER_LINK = @ORDER_LINK
		) T
	ORDER	BY T.PERIOD_BEGIN, T.VAC_OSN DESC, T.PERIOD_END, T.DATE_BEGIN,  T.DATE_END
	--
	SELECT * INTO #VACATION_TABLE FROM #VACATION_TEMP
	
	DECLARE @LINK INT, @PERIOD_BEGIN DATETIME, @PERIOD_END DATETIME,@VAC_OSN INT
	WHILE EXISTS(SELECT * FROM #VACATION_TEMP) BEGIN
		SELECT	TOP 1 @LINK = LINK, @PERIOD_BEGIN = PERIOD_BEGIN, @PERIOD_END = PERIOD_END, @VAC_OSN = VAC_OSN FROM #VACATION_TEMP
		UPDATE	#VACATION_TABLE
		SET	VAC_OSN = CASE	WHEN @VAC_OSN = 1 THEN @VAC_OSN
					ELSE (SELECT MIN(VAC_OSN) - 1 FROM #VACATION_TABLE WHERE ISNULL(PERIOD_BEGIN,1) = ISNULL(@PERIOD_BEGIN,1) AND ISNULL(PERIOD_END,1) = ISNULL(@PERIOD_END,1))
				  END
		WHERE	LINK = @LINK
		DELETE	FROM #VACATION_TEMP WHERE LINK = @LINK
	END
	DROP TABLE #VACATION_TEMP
	-- РЕЗУЛЬТИРУЮЩАЯ ТАБЛИЦА ДЛЯ ОДИНОЧНОЙ ФОРМЫ ПРИКАЗА
	CREATE	TABLE #RESULT_1(ORD INT,FIO VARCHAR(300),TN VARCHAR(50),SUBDIV VARCHAR(300),POST VARCHAR(300),
				DOC_NUM VARCHAR(50),DOC_DATE DATETIME,PERIOD_B DATETIME,PERIOD_E DATETIME,
				OSN_BEGIN DATETIME,OSN_END DATETIME,OSN_DUR INT,
				DOP1_BEGIN DATETIME,DOP1_END DATETIME,DOP1_DUR INT,DOP1_TYPE VARCHAR(300),
				DOP2_BEGIN DATETIME,DOP2_END DATETIME,DOP2_DUR INT,DOP2_TYPE VARCHAR(300),
				DOP3_BEGIN DATETIME,DOP3_END DATETIME,DOP3_DUR INT,DOP3_TYPE VARCHAR(300),
				DOP4_BEGIN DATETIME,DOP4_END DATETIME,DOP4_DUR INT,DOP4_TYPE VARCHAR(300),
				FIO_SHORT VARCHAR(50), CLASS_CHIN VARCHAR(254))
	-- РЕЗУЛЬТИРУЮЩАЯ ТАБЛИЦА ДЛЯ ГРУППОВОЙ ФОРМЫ ПРИКАЗА
	CREATE	TABLE #RESULT_2(FIO VARCHAR(300),TN VARCHAR(50),SUBDIV VARCHAR(300),POST VARCHAR(300),
				DOC_NUM VARCHAR(50),DOC_DATE DATETIME,PERIOD_B DATETIME,PERIOD_E DATETIME,
				DATE_BEGIN DATETIME,DATE_END DATETIME,DUR_OSN INT,DUR_DOP INT,DUR INT,
				VAC_TYPE VARCHAR(300), FIO_SHORT VARCHAR(50))
	
	DECLARE @ORD INT,@DATE_BEGIN DATETIME,@DATE_END DATETIME,@DURATION INT,@REASON_LINK int,@REASON VARCHAR(200),@REASON_DOP VARCHAR(500),@SUBDIV VARCHAR(150),@TN VARCHAR(20),
		@FIO VARCHAR(150),@DOC_NUM VARCHAR(20),@DOC_DATE DATETIME,@VAC_TYPE VARCHAR(150),@POST VARCHAR(150), @FIO_SHORT VARCHAR(50), @CLASS_CHIN VARCHAR(254)

---------------------]
SET	@CLASS_CHIN = (
			SELECT TOP 1 CH.CHIN_NAME 
			FROM ORDERS			ORD1	LEFT JOIN 
				 VACATION		V	ON ORD1.LINK = V.ORDER_LINK  LEFT JOIN
				 KU_EMPL_CHIN	CH		ON CH.EMPL_LINK = V.EMPL_LINK
			WHERE V.ORDER_LINK = @ORDER_LINK
			ORDER BY CH.DATE DESC)
---------------------------
	DECLARE @DEP_LINK INT
	DECLARE @CHIEF VARCHAR(50), @CHIEF_POST VARCHAR(150), @CHIEF_LINK INT, @LONGNAME VARCHAR(150), @OKPO VARCHAR(50)
	SET @DEP_LINK = (SELECT DEP_LINK FROM USER_DEP)
	SELECT @CHIEF = FACE_NAME, @CHIEF_LINK = FACE_LINK FROM DICTIONARY_OTV_FACE WHERE DEP_LINK = @DEP_LINK AND NAME = 'Руководитель'
	SELECT @LONGNAME = FULL_NAME, @OKPO = OKPO FROM DEPARTMENTS WHERE LINK = @DEP_LINK
	SELECT @CHIEF_POST = POST_NAME FROM KU_EMPL_PLACING WHERE LINK = @CHIEF_LINK

	-- ПРОВЕРКА НА ТИП ПРИКАЗА (ОДИНОЧНЫЙ/ГРУППОВОЙ)
	-- Для каждого сотрудника в групповом приказе строчки группируются 
--	IF @nCHECK != 1 BEGIN
		SET @REASON = (SELECT TOP 1 REASON FROM #VACATION_TABLE WHERE LEN(RTRIM(LTRIM(REASON))) != 0)
		SET @REASON_DOP = (SELECT TOP 1 REASON_DOP FROM #VACATION_TABLE WHERE LEN(RTRIM(LTRIM(REASON_DOP))) != 0)
		SET @ORD = 0
	 	WHILE EXISTS(SELECT * FROM #VACATION_TABLE) BEGIN		
	 		SELECT	TOP 1 @LINK = LINK, @VAC_OSN = VAC_OSN, @DATE_BEGIN = DATE_BEGIN, @DATE_END = DATE_END, @DURATION = DURATION,
			@PERIOD_BEGIN = PERIOD_BEGIN, @PERIOD_END = PERIOD_END, @DOC_NUM = DOC_NUM,  @DOC_DATE = DOC_DATE,
					@FIO = FIO, @TN = TN, @SUBDIV = SUBDIV, @POST = POST, @VAC_TYPE = VAC_TYPE, @FIO_SHORT = FIO_SHORT
			FROM	#VACATION_TABLE
			IF NOT EXISTS(SELECT * FROM #RESULT_1 WHERE PERIOD_B = @PERIOD_BEGIN AND @PERIOD_END = PERIOD_E) SET @ORD = @ORD + 1
			IF @VAC_OSN = 1 BEGIN
				INSERT	INTO #RESULT_1
				VALUES	(@ORD, @FIO, @TN, @SUBDIV, @POST, @DOC_NUM, @DOC_DATE, @PERIOD_BEGIN, @PERIOD_END,
					 @DATE_BEGIN, @DATE_END, @DURATION, NULL, NULL, 0,'', NULL, NULL, 0,'', NULL, NULL, 0,'', NULL, NULL, 0, '', @FIO_SHORT, @CLASS_CHIN)
			END
			ELSE BEGIN
				IF NOT EXISTS(SELECT * FROM #RESULT_1 WHERE ORD = @ORD) BEGIN
					INSERT	INTO #RESULT_1
					VALUES	(@ORD, @FIO, @TN, @SUBDIV, @POST, @DOC_NUM, @DOC_DATE, @PERIOD_BEGIN, @PERIOD_END,
						 NULL, NULL, 0, NULL, NULL, 0,'', NULL, NULL, 0,'', NULL, NULL, 0,'', NULL, NULL, 0, '', @FIO_SHORT,@CLASS_CHIN)
				END
				IF @VAC_OSN = -1
					UPDATE	#RESULT_1
					SET	DOP1_BEGIN = @DATE_BEGIN, DOP1_END = @DATE_END, DOP1_DUR = @DURATION, DOP1_TYPE = @VAC_TYPE
					WHERE	ORD = @ORD
				IF @VAC_OSN = -2
					UPDATE	#RESULT_1
					SET	DOP2_BEGIN = @DATE_BEGIN, DOP2_END = @DATE_END, DOP2_DUR = @DURATION, DOP2_TYPE = @VAC_TYPE
					WHERE	ORD = @ORD
				IF @VAC_OSN = -3
					UPDATE	#RESULT_1
					SET	DOP3_BEGIN = @DATE_BEGIN, DOP3_END = @DATE_END, DOP3_DUR = @DURATION, DOP3_TYPE = @VAC_TYPE
					WHERE	ORD = @ORD
				IF @VAC_OSN = -4
					UPDATE	#RESULT_1
					SET	DOP4_BEGIN = @DATE_BEGIN, DOP4_END = @DATE_END, DOP4_DUR = @DURATION, DOP4_TYPE = @VAC_TYPE
					WHERE	ORD = @ORD
			END
	 		DELETE FROM #VACATION_TABLE WHERE LINK = @LINK
	 	END
	
		
 		SELECT	T.*,
			[LONGNAME] = @LONGNAME,
			[CHIEF] = @CHIEF,
			[CHIEF_POST] = @CHIEF_POST,
			[OKPO] = @OKPO,
			[DUR] = (SELECT SUM(OSN_DUR) + SUM(DOP1_DUR) + SUM(DOP2_DUR) + SUM(DOP3_DUR) + SUM(DOP4_DUR) FROM #RESULT_1 WHERE ord = t.ord ) ,
			[DATE_B] = (	SELECT MIN(a.VALUE) 
			            	FROM (SELECT	VALUE = MIN(OSN_BEGIN) FROM #RESULT_1 WHERE ord = t.ord
								UNION ALL
								SELECT	VALUE = MIN(DOP1_BEGIN) FROM #RESULT_1 WHERE ord = t.ord
								UNION ALL
								SELECT	VALUE = MIN(DOP2_BEGIN) FROM #RESULT_1 WHERE ord = t.ord
								UNION ALL
								SELECT	VALUE = MIN(DOP3_BEGIN) FROM #RESULT_1 WHERE ord = t.ord
								UNION ALL
								SELECT	VALUE = MIN(DOP4_BEGIN) FROM #RESULT_1 WHERE ord = t.ord) a ) ,
			[DATE_E] = (	SELECT MAX(b.VALUE) FROM 
							(SELECT	VALUE = MAX(OSN_END) FROM #RESULT_1 WHERE ord = t.ord
							UNION ALL
							SELECT	VALUE = MAX(DOP1_END) FROM #RESULT_1 WHERE ord = t.ord
							UNION ALL
							SELECT	VALUE = MAX(DOP2_END) FROM #RESULT_1 WHERE ord = t.ord
							UNION ALL
							SELECT	VALUE = MAX(DOP3_END) FROM #RESULT_1 WHERE ord = t.ord
							UNION ALL
							SELECT	VALUE = MAX(DOP4_END) FROM #RESULT_1 WHERE ord = t.ord) b ),
			[REASON] = @REASON,
			[REASON_DOP] = @REASON_DOP
 		FROM	#RESULT_1 T
--	END ELSE BEGIN
/*		INSERT	INTO #RESULT_2
		SELECT	FIO,TN,SUBDIV,POST,DOC_NUM,DOC_DATE,PERIOD_BEGIN,PERIOD_END,DATE_BEGIN,DATE_END,
			CASE WHEN VAC_OSN = 1 THEN DURATION
			     ELSE 0
			END,
			CASE WHEN VAC_OSN != 1 THEN DURATION
			     ELSE 0
			END,
			DURATION,
			CASE WHEN VAC_OSN = 1 THEN ''
			     ELSE VAC_TYPE
			END, FIO_SHORT
		FROM	#VACATION_TABLE


		SELECT	T.*,
			[LONGNAME] = @LONGNAME,
			[CHIEF] = @CHIEF,
			[CHIEF_POST] = @CHIEF_POST,
			[OKPO] = @OKPO
		FROM	#RESULT_2 T
		ORDER	BY FIO, DATE_BEGIN
*/	--END
	--
	DROP TABLE #VACATION_TABLE
	DROP TABLE #RESULT_1
	DROP TABLE #RESULT_2







GO


GRANT EXECUTE ON dbo.[SA_REP_VAC_RASP] TO PUBLIC

GO





GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BK_REPORT_RECALC_VED_NA1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BK_REPORT_RECALC_VED_NA1]
GO

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

/* -- Ведомость переоценки НА -- */
CREATE PROCEDURE BK_REPORT_RECALC_VED_NA1
	@dDateRECALC	DATETIME,	-- ДАТА, НА КОТОРУЮ ПРОВЕДЕНА ПЕРЕОЦЕНКА
	@intGROUP_NA	INT = NULL,	-- ГРУППА АКТИВА
	@cSOURCE	CHAR (1),	-- ИСТОЧНИК ФИНАНСИРОВАНИЯ
	@intTYPE_SUM	INT,		-- 1 - ПО БАЛАНСОВОЙ СТОИМОСТИ, 2 - ПО АМОРТИЗАЦИИ
	@intPRN_GROUP	INT,		-- ГРУППИРОВАТЬ ПО ГРУППАМ МАШИН И ОБОРУДОВАНИЯ
	@iAllZB		int,		-- По всем организациям ЦБ
	@cVal_INV	CHAR (1), @intOtborINV	INT	-- Фильтр по инв. номерам
AS
BEGIN
	DECLARE
		@intDEP_LINK	INT,
		@ORGNAME VARCHAR (254),
		@OKPO	VARCHAR (20),
		@intVal_INV	INT

	if @iAllZB = 0
	begin
		SET @intDEP_LINK = ISNULL (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())
		SELECT @ORGNAME = [NAME], 
			@OKPO = OKPO
		FROM dbo.DICTIONARY_DEPARTMENT
		WHERE LINK = @intDEP_LINK
	end
	else
	begin
		SET @intDEP_LINK = NULL
		SELECT top 1 @ORGNAME = rtrim([NAME]) +  ' (ЦБ)', 
				@OKPO = OKPO
		FROM dbo.DICTIONARY_DEPARTMENT
		WHERE LINK = dbo.GetOwnDepLink ()
	end

	SET @intGROUP_NA = ISNULL (@intGROUP_NA, 0)
	SET @intPRN_GROUP = ISNULL (@intPRN_GROUP, 0)

	SET @intVal_INV = LEN (@cVal_INV)

	DECLARE @RET_TABLE TABLE (INV INT, INV_CODE VARCHAR (20), INV_NAME VARCHAR (254),
			CODE_OKOF VARCHAR (20), TYPE_NA VARCHAR (254),
			GR_CODE VARCHAR (10), GR_NAME VARCHAR (254),
			ACCT_CODE VARCHAR (60), ACCT_GR VARCHAR (20),
			KOEF1 NUMERIC (5,2), KOEF2 NUMERIC (5,2), YBEGIN INT,
			SUMBEFORE NUMERIC (28,4),
			SUMAFTER NUMERIC (28,4),
			SUMRECALC NUMERIC (28,4),
			DEP_NAME VARCHAR (254),
			OKPO VARCHAR (20))

	INSERT INTO @RET_TABLE
	SELECT CASE WHEN T1.INV = 0 THEN T1.NOMEN ELSE T1.INV END,
		ISNULL (I1.CODE, ''),
		ISNULL (I1.[NAME], N1.[NAME]),
		ISNULL (AS2.CODE, ''),
		CASE WHEN @intGROUP_NA = 0 THEN '' ELSE GR_ASS.[NAME] END,
		ISNULL (AS3.CODE, ''),
		ISNULL (AS3.[NAME], ''),
		dbo.BK_GetAcctFullCode1 (T1.ACCOUNT, T1.KBK, DEFAULT, 1, 1, DATEADD (DAY, -1, @dDateRECALC)),
		SA.CODE,
		CASE WHEN T1.KOEF < 1 THEN 0 ELSE T1.KOEF END,
		CASE WHEN T1.KOEF < 1 THEN T1.KOEF ELSE 0 END,
		YEAR (AS1.DATE_BEGIN),
		T1.SUMBEFORE,
		T1.SUMAFTER,
		T1.SUMRECALC,
		@ORGNAME, @OKPO
	FROM dbo.BK_GetRecalcResult (@dDateRECALC, @intTYPE_SUM, @intDEP_LINK) T1
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT OUTER JOIN dbo.INVENTORY I1 ON (I1.LINK = T1.INV)
	LEFT OUTER JOIN dbo.ASSETS AS1 ON (AS1.LINK_UP = I1.LINK)
	LEFT OUTER JOIN dbo.NOMENCLATURE ASN ON (ASN.LINK = I1.NOMENCLATURE)
	LEFT OUTER JOIN dbo.ASSETS_GROUP_OKOF AS2 ON (AS2.LINK = AS1.OKOF)
	LEFT OUTER JOIN dbo.GROUP_OS AS3 ON (AS3.LINK = AS2.GROUP_OS)
	LEFT OUTER JOIN dbo.GROUP_INV GR_ASS ON (GR_ASS.LINK = ASN.GROUP_INV)
	LEFT OUTER JOIN dbo.NOMENCLATURE N1 ON (N1.LINK = T1.NOMEN)
	WHERE (@intGROUP_NA = 0 OR ASN.GROUP_INV = @intGROUP_NA)
		AND (@cSOURCE = '' OR SA.cSOURCE = @cSOURCE)
		AND (@cVal_INV = 0 OR
			(@cVal_INV <> 0 AND T1.INV IN (SELECT OVI.RECORD
						FROM dbo.OBJECT_VAR_INVENTORY OVI WHERE OVI.LINK_UP = @intOtborINV)))

	/* ИТОГИ 1 */
	DECLARE @TAB_TOTAL1 TABLE (RECNO INT IDENTITY,
			HEADER1 VARCHAR (100) DEFAULT (''),
			ACCT_CODE VARCHAR (60),
			SUMB1 NUMERIC (28,4),
			SUMAF1 NUMERIC (28,4),
			SUMR1 NUMERIC (28,4))

	INSERT INTO @TAB_TOTAL1 (ACCT_CODE, SUMB1, 
			SUMAF1, SUMR1)
	SELECT ACCT_CODE,
		SUM (SUMBEFORE),
		SUM (SUMAFTER),
		SUM (SUMRECALC)
	FROM @RET_TABLE
	GROUP BY ACCT_CODE
	ORDER BY ACCT_CODE

	UPDATE @TAB_TOTAL1 SET HEADER1 = 'Итого  по номеру счета'
	WHERE RECNO = 1

	/* ИТОГИ 2 */
	DECLARE @TAB_TOTAL2 TABLE (RECNO INT IDENTITY,
			HEADER2 VARCHAR (100) DEFAULT (''),
			ACCT_GR VARCHAR (20),
			SUMB2 NUMERIC (28,4),
			SUMAF2 NUMERIC (28,4),
			SUMR2 NUMERIC (28,4))

	INSERT INTO @TAB_TOTAL2 (ACCT_GR, SUMB2, 
			SUMAF2, SUMR2)
	SELECT ACCT_GR,
		SUM (SUMBEFORE),
		SUM (SUMAFTER),
		SUM (SUMRECALC)
	FROM @RET_TABLE
	GROUP BY ACCT_GR
	ORDER BY ACCT_GR

	UPDATE @TAB_TOTAL2 SET HEADER2 = 'Итого  по коду счета'
	WHERE RECNO = 1

	IF @intPRN_GROUP = 1
		SELECT *,
			CASE
				WHEN GR_CODE IN ('М1', 'М2', 'М3', 'М4') THEN 'Машины и оборудование, включая оборудование'
				WHEN GR_CODE IN ('Т1', 'Т2', 'Т3', 'Т4') THEN 'Транспорные средства'
				WHEN GR_CODE IN ('И1', 'И2', 'И3', 'И4') THEN 'Производственный и хозяйственный инвентарь'
				ELSE GR_NAME
			END AS GROUP1
		FROM @RET_TABLE ORDER BY GR_CODE, ACCT_CODE, INV_CODE
	ELSE
		SELECT * FROM @RET_TABLE ORDER BY ACCT_CODE, INV_CODE
	
	SELECT * FROM @TAB_TOTAL1 
	SELECT * FROM @TAB_TOTAL2 
END

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SALARY_FILL_DED_ESN_VKR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SALARY_FILL_DED_ESN_VKR]

GO

CREATE PROCEDURE [dbo].SALARY_FILL_DED_ESN_VKR
--Начисление страховых взносов
@RefPay int, 
@LinkVKR int,
@LINK_EKR INT, 
@linkPers int, 
@Month int, 
@Year int, 
@FlagMS  tinyint,
@FlagShow int = 0,
@DEP_LINK INT  = NULL,
@LinkVKR2 INT = NULL 
AS

SET NOCOUNT ON



IF @LinkVKR2 IS NULL
	SET @LinkVKR2 = @LinkVKR

DECLARE 
	@DATE1 datetime, 
	@linkFace int,
	@LINK_213EKR INT,
	@LINK_211EKR INT,
	@TARIF TINYINT,
	@SHOW_212 TINYINT,
	@LINK_EKR_ADD INT
		  
SET @TARIF = ISNULL((SELECT TOP 1 ENVD FROM dbo.SAL_SFIN WHERE LINK = @LinkVKR),0) + 1	
		  
SET @LINK_211EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '211')
SET @LINK_EKR_ADD = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '212')
SET @LINK_213EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')
SET @FlagMS = 1
SET @SHOW_212 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_3')

IF @SHOW_212 = 1 OR @LINK_EKR <> @LINK_211EKR
	SET @LINK_EKR_ADD = @LINK_EKR
	
DECLARE @ESN_OPTIONS_7 INT --Начислять доп. тариф только для полной ставки
--При включенной опции программа будет начислять страховые взносы по доп. тарифам только если у сотрудника по основной должности полная ставка. 
--Если ставка не полная, то доп. тариф не начисляется.
SET @ESN_OPTIONS_7 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_7')

DECLARE @ESN_OPTIONS_8 INT --Начислять доп. тариф внутренним совместителям
--При включенной опции программа будет начислять страховые взносы по доп. тарифам на доходы внутренних совместителей.
SET @ESN_OPTIONS_8 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_8')

DECLARE @DATE_BEG DATETIME
SET @DATE_BEG = dbo.convertDMY2Date(1,@Month,@Year)
SET @DATE1 = dbo.DateEndOfMonth(@DATE_BEG)

DECLARE @DATE_YEAR_BEG DATETIME
SET @DATE_YEAR_BEG = dbo.convertDMY2Date(1,1,@Year)

SELECT @linkFace = @linkPers 

DECLARE @T1 TABLE
([NUM]			[int],
 [SUMMA]		[numeric](19,2),
 [SUMMA_VKR]		[numeric](19,2),
 [SUMMA_M]		[numeric](19,2),
 [SUMMA_M_VKR]		[numeric](19,2))


IF @DEP_LINK IS NULL
	exec dbo.xd_whats_zb @DEP_LINK output

declare @linkEmpl int,  @Pred_Mesto_Rab numeric(15,2), 	  @FlagD int

SET @linkEmpl = 
	(SELECT TOP 1 IM.EMPL_LINK
	FROM
		DBO.EMPL E with (nolock)
		LEFT JOIN DBO.ITEM_MOVE IM with (nolock) ON IM.EMPL_LINK = E.LINK AND IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS] IN (1,3) AND IM.DATE_BEGIN <= @DATE1
		LEFT JOIN DBO.ITEM_DIS_FACE IDF with (nolock) ON IDF.EMPL_LINK = E.LINK AND IDF.ACTIVE=1 AND COALESCE(IDF.DIS_DATE,'20990101') >= dbo.DateBeginOfMonth(@DATE1)
	WHERE
		E.DEP_LINK = @DEP_LINK
		AND
		E.PERS_LINK = @linkPers
	ORDER BY
		DATE_BEGIN DESC	
	)	

---------------------------------------------------
DECLARE @item_move TABLE (LINK INT, EMPL_LINK INT, STAFF_LINK INT, DATE_BEGIN DATETIME, DATE_END DATETIME, NUM_STAKE NUMERIC(5,3), active TINYINT, NEW_FACE TINYINT, [STATUS] TINYINT)
INSERT INTO @item_move (LINK, EMPL_LINK, STAFF_LINK, DATE_BEGIN, DATE_END, NUM_STAKE, active, NEW_FACE, [STATUS])
Select 
	P1.LINK, P1.EMPL_LINK, P1.STAFF_LINK, P1.DATE_BEGIN, P1.DATE_END, P1.NUM_STAKE, P1.active, P1.NEW_FACE, P1.[STATUS]
from 
	dbo.empl e INNER JOIN dbo.item_move P1 ON P1.EMPL_LINK = e.link
WHERE
	E.DEP_LINK = @DEP_LINK AND E.PERS_LINK	= @linkPers
---------------------------------------------------

--Информация о размере ставок по каждому табельному номеру
DECLARE @NUM_STAKE TABLE (LINK_EMPL INT, NUM_STAKE NUMERIC(18,4), DATE_BEG DATETIME, DATE_END DATETIME)
INSERT INTO @NUM_STAKE (LINK_EMPL, NUM_STAKE, DATE_BEG, DATE_END)
SELECT DISTINCT
	EMPL_LINK, NUM_STAKE, DATE_BEGIN, DATE_END 
FROM @item_move
WHERE active = 1 AND NEW_FACE <> 3 AND @DATE1 BETWEEN DATE_BEGIN AND DATE_END

if @FlagShow = 1 
	select 'Сотрудник:  '+ LTRIM(RTRIM(P.FM)) + ' ' + SUBSTRING(LTRIM(RTRIM(P.IM)),1,1) + '.' + SUBSTRING(LTRIM(RTRIM(P.OT)),1,1)
		+  ', месяц ' + convert(varchar(2),@Month)+ ', год ' +convert(varchar(4),@Year) as [Исходные данные],
		[Отчисление] = (select rtrim(name) from pays where link =@RefPay)  FROM dbo.PERSON P where link = @linkFace


DECLARE @NASTR TABLE
([LINK_MINROT] 	[int],
 [REF_PAY]			[int],
 [CODE]				[varchar](5),
 [NAME]				[varchar](254),
 [PREDEL]			[numeric](19, 2))

INSERT INTO @NASTR([LINK_MINROT],[REF_PAY],[CODE],[NAME],[PREDEL])
SELECT [LINK_MINROT],[REF_PAY],[CODE],[NAME],[PREDEL] FROM dbo.Salary_deduct_esn(@DATE1)

SELECT @Pred_Mesto_Rab = 0, @FlagD = 0

IF dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_6 ') = 1
BEGIN
	IF YEAR(dbo.kd_DateBeginWork(@linkEmpl,null)) = @Year
	BEGIN
		SET @Pred_Mesto_Rab = (SELECT ISNULL(SUM(SUMMA_DED),0) FROM dbo.SD_EMPL_PREV_DED WHERE LINK_EMPL = @linkEmpl and LINK_DED in (select REF_PAY from @NASTR))
		IF @Pred_Mesto_Rab IS null or @Pred_Mesto_Rab < 0
			SET @Pred_Mesto_Rab = 0
		SET @FlagD = 1
		
		IF  @FlagShow = 1 
			SELECT 'Совокупный доход: '+ rtrim(isnull(convert(varchar(100),(select sum(summa_TYP_INCOMS) from dbo.SD_EMPL_PREV_DOHOD where link_empl =@linkEmpl)),'0')) + ' , вычеты: '+
			 rtrim( isnull( convert(varchar(100),(select sum(summa_ded) from dbo.SD_EMPL_PREV_DED where link_empl =@linkEmpl and LINK_DED in (select REF_PAY from @NASTR) )),'0'))  as 'Данные с предыдущего места работы'
	END
END	

---Учитываются доходы по договорам ГПХ в данной организации, чтобы правильно применить регрессионную шкалу---
DECLARE @SUM_DGH numeric(15,2)
SET @SUM_DGH = 
	ISNULL(
	(
	SELECT SUM(GT.SUMMA_BASE)
	FROM dbo.DOCUMENTS_DGH G INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
	WHERE FLAG_JC = 1
			AND YEAR(G.[DATE]) = @Year
			AND MONTH(G.[DATE]) <= @Month
			AND G.LINK_DEP = @DEP_LINK
			AND GT.LINK_PAY = @RefPay
			AND GT.PERS_LINK = @linkFace
	),0)

IF @SUM_DGH <> 0 AND @FlagShow = 1 
	SELECT 'Совокупный доход: '+ rtrim(isnull(convert(varchar(100),@SUM_DGH),'0')) as 'Доход по договорам ГПХ'


CREATE TABLE #PERIODY (LINK_EMPL INT, LINK_PERSON INT, TAB VARCHAR(10), NUM_STAKE NUMERIC(18,4), POSTNAME VARCHAR(50), st_date1 datetime, st_date2 datetime, im_date1 datetime, im_date2 datetime, [COD_SPO_USL_TRUD] int)

---------------------------------------------------------------------------------------------------------------
IF EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC IN (10,11) AND LINK = @RefPay)
BEGIN

	--sa_item_move
	--	
	DECLARE @sa_item_move TABLE (EMPL_LINK INT, STAFF_LINK INT, DATE_BEGIN DATETIME, DATE_END3 DATETIME, NUM_STAKE NUMERIC(5,3), [STATUS] TINYINT )

	INSERT INTO @sa_item_move (EMPL_LINK, STAFF_LINK, DATE_BEGIN, DATE_END3, NUM_STAKE, [STATUS])
	Select 
		P1.EMPL_LINK, P1.STAFF_LINK, P1.DATE_BEGIN, date_end3 = min(P2.date_begin) - 1, P1.NUM_STAKE, P1.[STATUS]
	from 
		dbo.empl e
		INNER JOIN @item_move P1 ON P1.EMPL_LINK = e.link
		INNER JOIN @item_move P2 on P1.EMPL_LINK = P2.EMPL_LINK
	where
		E.PERS_LINK	= @linkPers 
		AND P1.active = 1 AND P2.active = 1 AND P1.NEW_FACE <> 3 AND P2.NEW_FACE <> 3
		AND P1.[date_begin] < P2.[date_begin] 
	group by 
		P1.EMPL_LINK, P1.STAFF_LINK, P1.DATE_BEGIN, P1.NUM_STAKE, P1.[STATUS]

	INSERT INTO @sa_item_move (EMPL_LINK, STAFF_LINK, DATE_BEGIN, DATE_END3, NUM_STAKE, [STATUS])
	Select 
		P3.EMPL_LINK, P3.STAFF_LINK, P3.DATE_BEGIN, date_end3 = '99991231', P3.NUM_STAKE, P3.[STATUS]
	from
		dbo.empl e 
		INNER JOIN @item_move P3 ON P3.EMPL_LINK = e.link
	where
		E.PERS_LINK	= @linkPers  
		AND
		P3.active = 1 AND P3.NEW_FACE <> 3
		AND
		NOT EXISTS (
					Select *
					from 
						@item_move P1 inner join @item_move P2 on P1.EMPL_LINK = P2.EMPL_LINK
					where
						P1.LINK = P3.link
						AND P1.active = 1 and P2.active = 1 AND P1.NEW_FACE <> 3 AND P2.NEW_FACE <> 3
						and P1.[date_begin] < P2.[date_begin] 
					)
	-----------------------------------------------------------------------------------------------------

	CREATE TABLE #ADD_TYPE (
		[type] INT IDENTITY(1,1),
		[TERR_USL_TRUD] int NULL ,
		[TERR_RK] numeric(3, 2) NULL ,
		[OSOB_USL_TRUD] int NULL ,
		[COD_POS_SPISOK] int NULL ,
		[COD_POS_SPISOK2] int NULL ,
		[USL_DOSROCH_PENS] int NULL ,
		[STAVKA_PED_MED] numeric(3, 2) NULL,
		[COD_SPO_USL_TRUD] int NULL
	)

	INSERT INTO #ADD_TYPE 
	SELECT DISTINCT ISNULL(TERR_USL_TRUD,0), ISNULL(TERR_RK,0), ISNULL(OSOB_USL_TRUD,0), ISNULL(COD_POS_SPISOK,0), ISNULL(COD_POS_SPISOK2,0), ISNULL(USL_DOSROCH_PENS,0), ISNULL(STAVKA_PED_MED,0), ISNULL([COD_SPO_USL_TRUD],0)
	FROM dbo.staff
	WHERE ISNULL(COD_POS_SPISOK,0) <> 0 OR ISNULL(COD_POS_SPISOK2,0) <> 0

	INSERT INTO 
		#PERIODY (LINK_EMPL, LINK_PERSON, TAB, NUM_STAKE, POSTNAME, st_date1, st_date2, im_date1, im_date2, [COD_SPO_USL_TRUD])
	SELECT DISTINCT
		E.LINK,
		E.PERS_LINK,
		TAB,
		IM.NUM_STAKE,
		LEFT(PT.NAME,50),
		st_date1 = dbo.DateBeginOfMonth((case when st.DATE_BEGIN >= @DATE_YEAR_BEG then st.DATE_BEGIN else @DATE_YEAR_BEG end)),
		st_date2 = dbo.DateEndOfMonth((case when coalesce(st.DATE_END,@DATE1) <= @DATE1 then coalesce(st.DATE_END,@DATE1) else @DATE1 end)	),
		im_date1 = dbo.DateBeginOfMonth((case when im.DATE_BEGIN >= @DATE_YEAR_BEG then im.DATE_BEGIN else @DATE_YEAR_BEG end)),
		im_date2 = dbo.DateEndOfMonth( 
							CASE WHEN COALESCE(U.DIS_DATE,'20990101') <= (case when ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) <= @DATE1 then ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) else @DATE1 end)
								THEN COALESCE(U.DIS_DATE,'20990101')
								ELSE (case when ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) <= @DATE1 then ISNULL(ISNULL(U.DIS_DATE,im.DATE_END3),@DATE1) else @DATE1 end)
							END	),
		T.[COD_SPO_USL_TRUD]							
	FROM 
		dbo.empl e
		INNER JOIN @sa_item_move im ON im.EMPL_LINK = e.link
		inner join dbo.staff_head sh on sh.link = STAFF_LINK
		inner join dbo.staff st on st.link_up = sh.link
		INNER JOIN dbo.POST PT ON PT.LINK = st.post_link
		INNER join #ADD_TYPE T on ISNULL(st.TERR_USL_TRUD,0) = ISNULL(T.TERR_USL_TRUD,0) 
								AND ISNULL(st.TERR_RK,0) = ISNULL(T.TERR_RK,0) 
								AND ISNULL(st.OSOB_USL_TRUD,0) = ISNULL(T.OSOB_USL_TRUD,0) 
								AND ISNULL(st.COD_POS_SPISOK,0) = ISNULL(T.COD_POS_SPISOK,0) 
								AND ISNULL(st.COD_POS_SPISOK2,0) = ISNULL(T.COD_POS_SPISOK2,0) 
								AND ISNULL(st.USL_DOSROCH_PENS,0) = ISNULL(T.USL_DOSROCH_PENS,0) 
								AND ISNULL(st.STAVKA_PED_MED,0) = ISNULL(T.STAVKA_PED_MED,0)
								AND ISNULL(st.COD_SPO_USL_TRUD,0) = ISNULL(T.COD_SPO_USL_TRUD,0)
		LEFT JOIN dbo.ITEM_DIS_FACE U on E.link = U.empl_link AND U.ACTIVE=1	
	where
		E.PERS_LINK	= @linkPers
		and  
		im.DATE_BEGIN <= @DATE1 and im.DATE_END3 >= @DATE_YEAR_BEG
		AND
		IM.[STATUS] <> 2 --Вредность у внутренних совместителей не учитываем (НЕ ДОЛЖНО БЫТЬ)
		AND
		st.DATE_BEGIN <= @DATE1 and st.DATE_END >= @DATE_YEAR_BEG
		AND
		T.[TYPE] IS NOT NULL
		AND
		(
			ISNULL(T.[COD_POS_SPISOK],0) <> 0 AND EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC = 10 AND LINK = @RefPay)
			OR
			ISNULL(T.[COD_POS_SPISOK2],0) <> 0 AND EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC = 11 AND LINK = @RefPay)	
		)	

	if @FlagShow = 1 
		SELECT DISTINCT TAB AS [Таб_номер],  LEFT(dbo.ku_GetEmplSubdivName(LINK_EMPL,@DATE1),50) AS [Отдел], POSTNAME AS [Должность], CONVERT(VARCHAR(10), ST_DATE1, 104) AS 'Нач_пер_с_вредн_ШР', CONVERT(VARCHAR(10),ST_DATE2,104) AS 'Оконч_пер_с_вредн_ШР' FROM #PERIODY
			
	if @FlagShow = 1 
		SELECT DISTINCT TAB AS [Таб_номер],  NUM_STAKE AS [Кол-во ставок], LEFT(dbo.ku_GetEmplSubdivName(LINK_EMPL,@DATE1),50) AS [Отдел], POSTNAME AS [Должность], CONVERT(VARCHAR(10), IM_DATE1, 104) AS 'Нач_пер_с_вредн_должность', CONVERT(VARCHAR(10),IM_DATE2,104) AS 'Оконч_пер_с_вредн_должность', CASE WHEN NUM_STAKE < 1 THEN 'Доп. тариф не начисляется, т.к. не полный день' ELSE '' END AS [Примечание]
		FROM #PERIODY
	
	INSERT INTO @T1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
	SELECT M.NUM,SUM(SJ.SUMMA) AS SUMMA, 			
			 [SUMMA_VKR]	= SUM(CASE WHEN SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M] 		= SUM(CASE WHEN MONTH(SJ.PERIOD_BEGIN) = M.NUM THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M_VKR] = SUM(CASE WHEN (MONTH(SJ.PERIOD_BEGIN) = M.NUM) 
								AND (SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) THEN SJ.SUMMA ELSE 0 END)
	FROM 
		dbo.MONTHS M
		INNER JOIN dbo.EMPL E ON 1=1
		INNER JOIN dbo.CALCULATE_JURNAL SJ ON SJ.LINK_EMPL = E.LINK
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
	WHERE 
		E.PERS_LINK = @linkFace
		AND (M.NUM <= @Month) 
		AND (MONTH(SJ.PERIOD_BEGIN) <= M.NUM) 
		AND (YEAR(SJ.PERIOD_BEGIN) = @Year)
		AND TR.LINK_TAX = @RefPay 
		AND EXISTS (SELECT * FROM #PERIODY P WHERE 
												(@ESN_OPTIONS_7 = 0 OR @ESN_OPTIONS_7 = 1 AND P.NUM_STAKE >=1)
												AND 
												(
													@ESN_OPTIONS_8 = 0 AND P.LINK_EMPL = SJ.LINK_EMPL 
													OR
													@ESN_OPTIONS_8 = 1 AND P.LINK_PERSON = E.PERS_LINK
												)	
												AND SJ.PERIOD_BEGIN <= P.ST_DATE2 
												AND SJ.PERIOD_END >= P.ST_DATE1 
												AND SJ.PERIOD_BEGIN <= P.IM_DATE2 
												AND SJ.PERIOD_END >= P.IM_DATE1)
	GROUP BY  M.NUM	

	
END
---------------------------------------------------------------------------------------------------------------
ELSE
	INSERT INTO @T1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
	SELECT M.NUM,SUM(SJ.SUMMA) AS SUMMA, 			
			 [SUMMA_VKR]	= SUM(CASE WHEN SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M] 		= SUM(CASE WHEN MONTH(SJ.PERIOD_BEGIN) = M.NUM THEN SJ.SUMMA ELSE 0 END),
			 [SUMMA_M_VKR] = SUM(CASE WHEN (MONTH(SJ.PERIOD_BEGIN) = M.NUM) AND (SJ.LINK_VKR = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) THEN SJ.SUMMA ELSE 0 END)
	FROM 
		dbo.MONTHS M
		INNER JOIN dbo.CALCULATE_JURNAL SJ ON 1=1 
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
		INNER JOIN dbo.EMPL E ON SJ.LINK_EMPL = E.LINK
	WHERE 
		(TR.LINK_TAX = @RefPay) 
		AND (E.PERS_LINK = @linkFace) 
		AND (MONTH(SJ.PERIOD_BEGIN) <= M.NUM) AND (M.NUM <= @Month) AND (YEAR(SJ.PERIOD_BEGIN)=@Year)
		AND sj.LINK_DEP = @DEP_LINK
	GROUP BY  M.NUM

if @FlagShow = 1 
	SELECT [num] as [Месяц], [summa] as [Сумма с нач года],summa_vkr as [Сумма с нач года по ВКР/ЕКР], summa_m as [Сумма за месяц], 
	summa_m_vkr as [Сумма за месяц по ВКР/ЕКР]  FROM @T1

--Если суммы, которые раньше были в базе убрали из базы, теперь базовой суммы вообще нет
IF NOT EXISTS(SELECT * FROM @T1)
	INSERT INTO @T1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR])
	VALUES(@Month, 0, 0, 0, 0)

DECLARE @Temp1_1 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [MP]				[numeric](19,2),
 [MP_M]			[numeric](19,2),
 [MP_M_VKR]		[numeric](19,2))

--------------------------------------------------
CREATE TABLE #DICTIONARY_TYP_INCOMS (LINK INT)
INSERT INTO #DICTIONARY_TYP_INCOMS (LINK)
SELECT LINK FROM dbo.DICTIONARY_TYP_INCOMS WHERE EXISTS (SELECT * FROM @NASTR WHERE REF_PAY = REF_DEDUCT)
CREATE INDEX #DICTIONARY_TYP_INCOMS_IDX1 ON #DICTIONARY_TYP_INCOMS (LINK)

-------------------------------------------------
CREATE TABLE #PAYS (LINK INT)
INSERT INTO #PAYS (LINK)
SELECT P.LINK FROM dbo.PAYS P INNER JOIN #DICTIONARY_TYP_INCOMS I ON I.LINK = P.LINK_INC
CREATE INDEX #PAYS_IDX1 ON #PAYS (LINK)


--------------------------------------------------------------------------------------------------
IF EXISTS (SELECT * FROM dbo.PAYS WHERE OBJECT = 3 AND WAY_CALC IN (10,11) AND LINK = @RefPay)
	
	INSERT INTO @Temp1_1 ([NUM],[LINK_PAYS],[MP],[MP_M],[MP_M_VKR])
	SELECT M.NUM,
			 [LINK_PAYS]= (SELECT LINK_INC  from pays where link = sj.LINK_PAYS),
			 [MP] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end), 
			 [MP_M] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)=m.num then (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end),
			 [MP_M_VKR] = SUM(CASE WHEN ( month(SJ.PERIOD_BEGIN)=m.num)AND(sj.link_vkr = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) 
								THEN (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end)
	FROM 
		dbo.MONTHS M 
		INNER JOIN dbo.S_J_C_Short SJ ON 1=1
		INNER JOIN #PAYS P ON P.LINK = SJ.LINK_PAYS
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
	WHERE 
		TR.LINK_TAX = @RefPay 
		AND (SJ.LINK_FACE = @linkFace)
		AND YEAR(SJ.PERIOD_BEGIN)=@Year AND M.NUM <= @Month 
		AND sj.LINK_DEP = @DEP_LINK
		AND EXISTS (SELECT * FROM #PERIODY P WHERE 
									(
										@ESN_OPTIONS_8 = 0 AND P.LINK_EMPL = SJ.LINK_EMPL
										OR
										@ESN_OPTIONS_8 = 1 AND P.LINK_PERSON = SJ.LINK_FACE
									)									
									AND SJ.PERIOD_BEGIN <= P.ST_DATE2 AND SJ.PERIOD_END >= P.ST_DATE1)		
		AND EXISTS (SELECT * FROM #PERIODY P WHERE 
									(
										@ESN_OPTIONS_8 = 0 AND P.LINK_EMPL = SJ.LINK_EMPL
										OR
										@ESN_OPTIONS_8 = 1 AND P.LINK_PERSON = SJ.LINK_FACE
									)	
									AND (@ESN_OPTIONS_7 = 0 OR @ESN_OPTIONS_7 = 1 AND P.NUM_STAKE >=1)
									AND SJ.PERIOD_BEGIN <= P.IM_DATE2 AND SJ.PERIOD_END >= P.IM_DATE1)		
	GROUP BY 
		M.NUM,SJ.LINK_PAYS
ELSE
	INSERT INTO @Temp1_1 ([NUM],[LINK_PAYS],[MP],[MP_M],[MP_M_VKR])
	SELECT M.NUM,
			 [LINK_PAYS]= (SELECT LINK_INC  from pays where link = sj.LINK_PAYS),
			 [MP] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end), 
			 [MP_M] 		= SUM(CASE WHEN month(SJ.PERIOD_BEGIN)=m.num then (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end),
			 [MP_M_VKR] = SUM(CASE WHEN ( month(SJ.PERIOD_BEGIN)=m.num)AND(sj.link_vkr = @LinkVKR2 AND SJ.LINK_EKR  IN (@LINK_EKR,@LINK_EKR_ADD)) 
								THEN (CASE WHEN month(SJ.PERIOD_BEGIN)<=m.num then SJ.summa else 0 end) else 0 end)
	FROM 
		dbo.MONTHS M 
		INNER JOIN dbo.S_J_C_Short SJ ON 1=1
		INNER JOIN #PAYS P ON P.LINK = SJ.LINK_PAYS
		INNER JOIN dbo.TAX_REF TR ON TR.LINK_PAYS =  SJ.LINK_PAYS
	WHERE 
		TR.LINK_TAX = @RefPay 
		AND (SJ.LINK_FACE = @linkFace)
		AND YEAR(SJ.PERIOD_BEGIN)=@Year AND M.NUM <= @Month 
		AND sj.LINK_DEP = @DEP_LINK
	GROUP BY 
		M.NUM,SJ.LINK_PAYS
	

/*if @FlagShow = 1  
	select *  from @Temp1_1*/

DECLARE @Temp1 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [PREDEL]		[numeric](19,2),
 [MP]				[numeric](19,2),
 [MP_M]			[numeric](19,2),
 [MP_M_VKR]		[numeric](19,2))

INSERT INTO @Temp1 ([NUM],[LINK_PAYS],[PREDEL],[MP],[MP_M],[MP_M_VKR])
SELECT NUM,LINK_PAYS,
		[PREDEL] =  ISNULL((SELECT TOP 1 PREDEL FROM @NASTR 
								WHERE REF_PAY = (SELECT TOP 1 REF_DEDUCT FROM dbo.DICTIONARY_TYP_INCOMS WHERE LINK = LINK_PAYS)),0),
		SUM(MP) AS MP,
		SUM(MP_M) AS MP_M, 
		SUM(MP_M_VKR) AS MP_M_VKR
FROM @Temp1_1
GROUP BY NUM,LINK_PAYS

DECLARE @Temp2 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [PREDEL]		[numeric](19,2),
 [MP]				[numeric](19,2),
 [MP_M]			[numeric](19,2),
 [MP_M_VKR]		[numeric](19,2),
 [SALDO]			[numeric](19,2),
 [KOEF]			[numeric](19,10))

---


INSERT INTO @Temp2 ([NUM],[LINK_PAYS],[PREDEL],[MP],[MP_M],[MP_M_VKR],[SALDO],[KOEF]) 
SELECT T1.[NUM],T1.[LINK_PAYS],T1.[PREDEL],T1.[MP],T1.[MP_M],T1.[MP_M_VKR],
		 [SALDO] = (CASE WHEN @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM <= T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0) > PREDEL
				THEN PREDEL
				ELSE @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM <= T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0)
				END)
				- (CASE WHEN @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM < T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0) > PREDEL
				THEN PREDEL
				ELSE @Pred_Mesto_Rab + ISNULL((SELECT SUM(MP_M) FROM @Temp1 T2 WHERE T2.NUM < T1.NUM AND T2.LINK_PAYS = T1.LINK_PAYS),0)
				END),
		 [KOEF] 	= (CASE WHEN (SELECT SUM(MP_M) FROM @Temp1 T3 WHERE T3.NUM = T1.NUM AND T3.LINK_PAYS = T1.LINK_PAYS) = 0 
						THEN 0 ELSE (CASE WHEN (SELECT SUM(MP_M) 
				                         FROM @Temp1 T3 WHERE T3.NUM = T1.NUM AND T3.LINK_PAYS = T1.LINK_PAYS)= 0 
										  THEN 0 ELSE 										
											MP_M_VKR/(SELECT SUM(MP_M) 
                    				     FROM @Temp1 T3 WHERE T3.NUM = T1.NUM AND T3.LINK_PAYS = T1.LINK_PAYS) END) END)
FROM @Temp1 T1

declare @predel numeric(18,2)
Set @predel = COALESCE((SELECT TOP 1 PREDEL FROM @Temp1),0)


DECLARE @Temp3 TABLE
([NUM]			[int],
 [LINK_PAYS]	[int],
 [SUMMA]			[numeric](19,2),
 [SUMMA_ALL]	[numeric](19,2),
 [SUMMA_M]		[numeric](19,2),
 [SUMMA_M_VKR]		[numeric](19,2)
)

INSERT INTO @Temp3 ([NUM],[LINK_PAYS],[SUMMA],[SUMMA_ALL],[SUMMA_M], SUMMA_M_VKR)
SELECT  T.[NUM], T.[LINK_PAYS],
		  [SUMMA] 	= dbo.IS_MIN((SELECT SUM(T3.SALDO * KOEF) FROM @Temp2 T3 WHERE  T3.NUM <= T.NUM AND T3.LINK_PAYS = T.LINK_PAYS),T.PREDEL), 
		  [SUMMA_ALL] 	= dbo.IS_MIN((SELECT SUM(T3.SALDO) FROM @Temp2 T3 WHERE  T3.NUM <= T.NUM AND T3.LINK_PAYS = T.LINK_PAYS),T.PREDEL),
		  [SUMMA_M] 	= CASE WHEN ABS(SUM(MP_M)) < ABS(T.SALDO) THEN ABS(T.SALDO) ELSE T.SALDO END,
		SUMMA_M_VKR 	= CASE WHEN ABS(SUM(MP_M)) < ABS(T.SALDO) THEN ABS(T.SALDO) ELSE T.SALDO END * KOEF
FROM @Temp2 T --WHERE SALDO > 0
GROUP BY T.NUM,T.PREDEL,T.SALDO,T.LINK_PAYS, KOEF 
ORDER BY T.NUM

if @FlagShow = 1  
	select num as [Месяц], LINK_PAYS as [Вычет], summa as [Скидка по ВКР/ЕКР], summa_all as [Скидка с начала года], summa_m as [Скидка за месяц]  from @Temp3


DECLARE @PREDEL_INV [numeric](15, 2)
SET @PREDEL_INV = ISNULL((SELECT TOP 1 PREDEL FROM dbo.DICTIONARY_MROT_TABLE3 DMT 
									WHERE LINK_MINROT = (SELECT TOP 1 LINK FROM dbo.DICTIONARY_MROT 
									WHERE PERIOD <=@DATE1 ORDER BY PERIOD DESC) AND (REF_PAY = @RefPay)),0)

DECLARE @T2_1 TABLE
([NUM]			[int],
 [SUMMA]			[numeric](19, 2),
 [SUMMA_VKR]	[numeric](19, 2),
 [SUMMA_M]		[numeric](19, 2),
 [SUMMA_M_VKR]	[numeric](19, 2),
 [MP]				[numeric](19, 2),
 [MP_VKR]		[numeric](19, 2),
 [MP_M]			[numeric](19, 2),
 [MP_M_VKR]		[numeric](19, 2),
 [STATUS]		[int],
 [INV]			[numeric](19, 2))


INSERT INTO @T2_1 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[MP],[MP_VKR],[MP_M],[MP_M_VKR],[STATUS],[INV])
SELECT T1.[NUM],T1.[SUMMA],T1.[SUMMA_VKR],T1.[SUMMA_M],T1.[SUMMA_M_VKR],
--		 [MP] 		= ISNULL((SELECT SUM(SUMMA) FROM @Temp3 T WHERE T.NUM <= T1.NUM),0),  
		 [MP] 		= ISNULL((SELECT SUM(SUMMA_ALL) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [MP_VKR]	= ISNULL((SELECT SUM(SUMMA) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [MP_M] 	= ISNULL((SELECT SUM(SUMMA_M) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [MP_M_VKR] = ISNULL((SELECT SUM(SUMMA_M_VKR) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
--		 [MP_M_VKR] = ISNULL((SELECT SUM(SUMMA) FROM @Temp3 T WHERE T.NUM = T1.NUM),0),  
		 [STATUS] 	= dbo.is_invalid(@linkFace,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,T1.NUM,@Year))), 
		 [INV] 		= cast(0 as numeric(15,2))
FROM @T1 T1 
GROUP BY T1.NUM,T1.SUMMA,T1.SUMMA_VKR,T1.SUMMA_M,T1.SUMMA_M_VKR
ORDER BY T1.NUM


DECLARE @summa_m 	[numeric](15, 2), 
		  @mp_m 		[numeric](15, 2),
		  @num 		[int], 
		  @Flag 		[bit], 
		  @itog 		[numeric](15, 2)

SET @itog = 0
DECLARE TMP_CUR CURSOR
FOR SELECT SUMMA_M, MP_M,NUM FROM @T2_1 WHERE STATUS = 2
OPEN TMP_CUR
FETCH TMP_CUR INTO @summa_m,@mp_m,@num
WHILE (@@FETCH_STATUS  = 0) AND (@PREDEL_INV - @itog) > 0 BEGIN
	IF @PREDEL_INV < (@itog+ @summa_m - @mp_m)
		UPDATE @T2_1 SET INV =(@PREDEL_INV-@itog) WHERE NUM = @num
	ELSE
		UPDATE @T2_1 SET INV =(@summa_m - @mp_m) WHERE NUM = @num
	
	SET @itog = @itog + @summa_m - @mp_m
	FETCH TMP_CUR INTO @summa_m,@mp_m,@num
END
CLOSE TMP_CUR
DEALLOCATE TMP_CUR

-- Другие льготы за месяц помимо инвалидов
---Вычеты от удержаний
select 
	TA.LINK_DED, MON = MONTH(CJ.PERIOD_BEGIN),
	SUMMA_G = CAST(0 AS NUMERIC(18,2)),
	SUMMA_M = SUM(SUMMA),
	LIMIT = ISNULL((SELECT TOP 1 PREDEL FROM @NASTR WHERE REF_PAY = TA.LINK_DED),0)
INTO #DED_U
from 
	dbo.EMPL E inner join dbo.calculate_jurnal cj on e.link = cj.link_empl
	inner join dbo.TAX2_APP TA on TA.LINK_UP = CJ.LINK_PAYS
where 
	cj.LINK_DEP = @DEP_LINK
	AND
	year(period_begin) = @Year
	and
	E.PERS_LINK = @linkPers	
	and 
	MONTH(cj.PERIOD_BEGIN) <= @Month
	and
	ISNULL(TA.LINK_DED,0) > 0
GROUP BY 
	TA.LINK_DED, MONTH(CJ.PERIOD_BEGIN)


UPDATE A
SET SUMMA_G = (SELECT SUM(SUMMA_M) FROM #DED_U B WHERE B.MON <= A.MON )
FROM #DED_U A

UPDATE #DED_U
SET 
	SUMMA_G = CASE WHEN ISNULL(SUMMA_G,0) < ISNULL(LIMIT,0) THEN ISNULL(SUMMA_G,0) ELSE ISNULL(LIMIT,0) END,
	SUMMA_M = CASE WHEN ISNULL(SUMMA_G,0) < ISNULL(LIMIT,0) THEN ISNULL(SUMMA_M,0)
				ELSE 
					CASE WHEN ISNULL(LIMIT,0) - (ISNULL(SUMMA_G,0) - ISNULL(SUMMA_M,0)) > 0 THEN 
						ISNULL(LIMIT,0) - (ISNULL(SUMMA_G,0) - ISNULL(SUMMA_M,0))
					ELSE 0
					END
			  END

UPDATE @T2_1 SET INV = ISNULL(INV,0) + ISNULL((SELECT SUM(SUMMA_M) FROM #DED_U WHERE MON = NUM),0)

--Расчет налога
--
DECLARE @T2 TABLE 
([NUM]				[int],
 [SUMMA]			[numeric](19, 2),
 [SUMMA_VKR]		[numeric](19, 2),
 [SUMMA_M]			[numeric](19, 2),
 [SUMMA_M_VKR]		[numeric](19, 2),
 [MP]				[numeric](19, 2),
 [MP_VKR]			[numeric](19, 2),
 [MP_M]				[numeric](19, 2),
 [MP_M_VKR]			[numeric](19, 2),
 [STATUS]			[int],
 [INV]				[numeric](19, 2),
 [INV_VKR]			[numeric](19, 2),
 [TARIF]			[TINYINT],
 [SPECO] [INT]
  ) -- Категория тарифа

INSERT INTO @T2 ([NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[MP],[MP_VKR],[MP_M],[MP_M_VKR],[STATUS],[INV],[INV_VKR],[TARIF],[SPECO])
SELECT [NUM],[SUMMA],[SUMMA_VKR],[SUMMA_M],[SUMMA_M_VKR],[MP],[MP_VKR],[MP_M],[MP_M_VKR],[STATUS],[INV],
		 [INV_VKR] = (CASE WHEN (SUMMA_M - MP_M) = 0 THEN 0 ELSE (SUMMA_M_VKR - MP_M_VKR)*INV/(SUMMA_M - MP_M) END),
		 TARIF = CASE WHEN dbo.is_invalid(@linkFace,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,NUM,@Year))) = 2 THEN 3 ELSE @TARIF END,
		 [SPECO] = (SELECT TOP 1 [COD_SPO_USL_TRUD] FROM #PERIODY 
						WHERE dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,NUM,@Year)) BETWEEN st_date1 AND st_date2
						AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,NUM,@Year)) BETWEEN im_date1 AND im_date2)
FROM 
	@T2_1

if @FlagShow = 1 
	select [num] as [Месяц], [summa] as [Сумма с Н/Г],summa_vkr as [Сумма с Н/Г по ВКР/ЕКР], summa_m as [За мес], 
	summa_m_vkr as [За мес.по ВКР/ЕКР], mp as [Ск.всего], mp_vkr as [Ск.всего по ВКР/ЕКР],mp_m as [Ск. за мес],
	mp_m_vkr as [Ск.за мес.по ВКР/ЕКР], inv as [Льготы], inv_vkr as [Льготы по ВКР/ЕКР], TARIF as [ТАРИФ], [SPECO]  from @T2


DECLARE @WAY_CALC [int]
SELECT @WAY_CALC = WAY_CALC FROM dbo.PAYS WHERE LINK = @RefPay

DECLARE @Pred table  
(
 TARIF TINYINT,	
 [PREDEL]  [numeric](15, 2), 
 [PERCENT] [numeric](8, 2),
 WAY_CALC TINYINT,
 SPECO INT,
 NSPECO VARCHAR(254) )

IF @WAY_CALC<5
	
	IF @FlagMS = 1
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],SPECO,NSPECO)
		SELECT TARIF, [PREDEL],[PERCENT],SPECO=0,NSPECO='' FROM dbo.DICTIONARY_RANGE D
		WHERE
			(LINK_PAYS = @RefPay) 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE D1 WHERE D1.TARIF = D.TARIF AND (LINK_PAYS = @RefPay) AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
	ELSE 
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],SPECO,NSPECO)
		SELECT TOP 1 TARIF, [PREDEL] = 999999999999, [PERCENT],SPECO=0,NSPECO='' 
		FROM dbo.DICTIONARY_RANGE D
		WHERE 
			(LINK_PAYS = @RefPay) 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE D1 WHERE D1.TARIF = D.TARIF AND (LINK_PAYS = @RefPay) AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
ELSE 
BEGIN	
		
	DECLARE @Sex 		[int], 
			  @YearB 	[int], 
			  @Type 		[int]

	SELECT @Sex = SEX, @YearB = CASE WHEN RESIDENT = 1 THEN ISNULL(YEAR(BIRTHDATE),0) 
												ELSE 1966 END -- иностранцы по тарифам как для 66 года и страрше
											FROM dbo.PERSON WHERE LINK =@linkFace
	SET 	@Type = (CASE WHEN (@Sex = 1 AND @YearB < 1953) OR (@Sex = 2 AND @YearB<1957) THEN 1
						WHEN (@Sex = 1 AND @YearB BETWEEN 1953 AND 1966) OR (@Sex = 2 AND  @YearB BETWEEN 1957 AND 1966) THEN 2 
						ELSE 3 END)

	IF @FlagMS = 1 
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],WAY_CALC,SPECO,NSPECO)
		SELECT 
			TARIF,  
			[PREDEL],
			[PERCENT] = (CASE WHEN @Type = 1 THEN PERCENT1 WHEN @Type = 2 THEN PERCENT2 ELSE PERCENT3 END),
			WAY_CALC,
			SPECO,
			NSPECO
		FROM 
			dbo.DICTIONARY_RANGE_PF D
		WHERE
			LINK_PAYS = @RefPay 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE_PF D1 WHERE D1.TARIF = D.TARIF AND ISNULL(D1.SPECO,0) = ISNULL(D.SPECO,0) AND LINK_PAYS = @RefPay AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
	ELSE 
		INSERT INTO @Pred (TARIF, [PREDEL],[PERCENT],WAY_CALC,SPECO,NSPECO)
		SELECT TOP 1 
			TARIF, 
			[PREDEL] = 999999999999,
			[PERCENT] = (CASE WHEN @Type = 1 THEN PERCENT1 WHEN @Type = 2 THEN PERCENT2 ELSE PERCENT3 END),
			WAY_CALC,
			SPECO,NSPECO
		FROM 
			dbo.DICTIONARY_RANGE_PF D
		WHERE
			LINK_PAYS = @RefPay 
			AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE_PF D1 WHERE D1.TARIF = D.TARIF AND ISNULL(D1.SPECO,0) = ISNULL(D.SPECO,0) AND LINK_PAYS = @RefPay AND DATE < @DATE1 ORDER BY [DATE] DESC) 
		ORDER BY 1 
	END

IF @FlagShow = 1 
	select TARIF as [Тариф], Predel as [Предел], [Percent] as [Процент], NSPECO AS [Спецоценка] from @Pred P
	WHERE EXISTS (SELECT * FROM @T2 B WHERE B.TARIF = P.TARIF AND ISNULL(B.[SPECO],0) = ISNULL(P.[SPECO],0))

DECLARE @res TABLE
([NUM]			[int],
 [SUMMA]		[numeric] (19, 2),
 [SUMMA_M_VKR]	[numeric] (19, 2),
 [PERC]			[numeric] (19, 2),
 [SUM_MON]		[numeric] (19, 2),
 [TARIF]		INT,
 [SPECO]		INT)

INSERT INTO @res([NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],[TARIF],[SPECO])
SELECT T7.[NUM],T7.[SUMMA],T7.[SUMMA_M_VKR],T7.[PERC], CAST(0 as numeric(15,2)) AS SUM_MON, [TARIF], [SPECO]
FROM  
	(
	SELECT 
		[NUM], 
		[SUMMA] 		 = SUMMA - MP, 
		[SUMMA_M_VKR] = SUMMA_M_VKR - MP_M_VKR,	
		[PERC] 		 = ISNULL((SELECT TOP 1 T.[PERCENT] FROM (SELECT TOP 1 * FROM @Pred P WHERE B.TARIF = P.TARIF AND ISNULL(B.SPECO,0) = ISNULL(P.[SPECO],0) AND PREDEL > (SUMMA - MP + @SUM_DGH) ORDER BY PREDEL) T),0),
		B.[TARIF],
		B.[SPECO]
	 FROM @T2	B
	 UNION
	 SELECT DISTINCT
		[NUM] 			= ISNULL((SELECT MIN(NUM) FROM @T2 B1 WHERE B1.TARIF = B.TARIF AND ISNULL(B1.[SPECO],0) = ISNULL(B.[SPECO],0) AND (SUMMA-MP+@SUM_DGH) > PREDEL),12), 
		[SUMMA] 		= PREDEL - @SUM_DGH, 
		[SUMMA_M_VKR]= 0, 
		[PERC] 		= [PERCENT],  
		B.[TARIF],
		B.[SPECO]		
 	 FROM 
 		@T2 B INNER JOIN @Pred T ON B.TARIF = T.TARIF AND ISNULL(B.[SPECO],0) = ISNULL(T.[SPECO],0)
 	 WHERE 
 		PREDEL < (SELECT TOP 1 (SUMMA - MP + @SUM_DGH) FROM @T2 B1 WHERE B1.TARIF = B.TARIF AND ISNULL(B1.[SPECO],0) = ISNULL(B.[SPECO],0) ORDER BY 1 DESC)
 	) T7


DECLARE Curs CURSOR FAST_FORWARD FOR
SELECT NUM,SUMMA FROM @res ORDER BY [NUM]  

DECLARE @Summa [numeric] (19, 2), 
	@summa_prev [numeric] (19, 2), 
	@num1 [int]


SET @summa_prev = 0
OPEN Curs
FETCH NEXT FROM Curs INTO @num1, @Summa
WHILE @@FETCH_STATUS = 0 BEGIN
	UPDATE @res SET SUM_MON = @Summa - @summa_prev WHERE NUM = @num1 AND SUMMA = @Summa
	SET @summa_prev = @Summa
  	FETCH NEXT FROM Curs INTO @num1, @Summa
END
CLOSE Curs
DEALLOCATE Curs

DECLARE @Result1 TABLE
([NUM]			[int],
 [SUMMA]			[numeric] (19, 2),
 [SUMMA_M_VKR]	[numeric] (19, 2),
 [PERC]			[numeric] (19, 2),
 [SUM_MON]		[numeric] (19, 2),
 [SKIDKA]		[numeric] (19, 2),
 [KOEF]			[numeric] (19, 10), 
 [TARIF]		INT,
 [SPECO]		INT)


INSERT INTO @Result1 ([NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],[SKIDKA],[KOEF], [TARIF], [SPECO])
SELECT [NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],
		 [SKIDKA] = dbo.is_min(T1.SUM_MON, ISNULL((SELECT INV FROM @T2 T4  WHERE T4.NUM = T1.NUM),0)  
						- ISNULL((SELECT SUM(T3.SUM_MON) FROM @res T3 WHERE T3.NUM = T1.NUM AND T3.SUMMA < T1.SUMMA), 0)),
		 [KOEF] = (SELECT (CASE WHEN (SUMMA_M - MP_M) = 0 THEN 0 ELSE (SUMMA_M_VKR - MP_M_VKR)/(SUMMA_M - MP_M) END) FROM @T2 T2 WHERE T2.NUM = T1.NUM),
		 [TARIF], [SPECO]
FROM @res T1

DECLARE @RESULT TABLE
([NUM]			[int],
 [SUMMA]			[numeric] (19, 2),
 [SUMMA_M_VKR]	[numeric] (19, 2),
 [PERC]			[numeric] (19, 2),
 [SUM_MON]		[numeric] (19, 2),
 [SKIDKA]		[numeric] (19, 2),
 [KOEF]			[numeric] (19, 10),
 [VYCH] 		[numeric] (19, 2),
 [TARIF]		INT,
 [SPECO]		INT)

INSERT INTO @RESULT ([NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],[SKIDKA],[KOEF], [TARIF], [SPECO])
SELECT [NUM],[SUMMA],[SUMMA_M_VKR],[PERC],[SUM_MON],
		 [SKIDKA] = (CASE WHEN SKIDKA < 0 THEN 0 ELSE SKIDKA END),
		 [KOEF], [TARIF], [SPECO]
FROM @Result1

DECLARE @Razn 			[numeric](15, 2), 
	  @NalCurr 	[numeric](15, 2),
	  @Sum1 		[numeric](15, 2)

--Расчет с копейками
SET @NalCurr = (SELECT sum(ROUND((PERC * (COALESCE(SUM_MON,0) - COALESCE(SKIDKA,0))* COALESCE(KOEF,0)/100) * 100, 2) / 100) FROM @RESULT )

--Сумма ранее начисленного взноса
SET @Sum1 = ISNULL((SELECT SUM(SJ.SUMMA) FROM dbo.S_J_C_Short SJ 
WHERE 
	SJ.LINK_VKR = @LinkVKR 
	AND SJ.LINK_VKR2 = @LinkVKR2
	--AND ( (SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) AND @LINK_EKR <> @LINK_211EKR) OR (@LINK_EKR = @LINK_211EKR AND SJ.LINK_EKR IN (@LINK_211EKR,@LINK_213EKR)) )
	AND ( (SJ.LINK_EKR IN (@LINK_EKR,@LINK_EKR_ADD) AND @LINK_EKR <> @LINK_211EKR) OR (@LINK_EKR = @LINK_211EKR AND SJ.LINK_EKR = @LINK_EKR) )
	AND SJ.LINK_PAYS = @RefPay 
	AND (SJ.LINK_FACE = @linkFace) 
	AND MONTH_BEGIN <= @Month 
	AND YEAR_BEGIN=@Year 
	AND sj.LINK_DEP = @DEP_LINK),0)

--IF --ЕСЛИ ГОДОВОЙ ДОХОД ПО ВСЕМ ИСТОЧНИКАМ < 0
--	(SELECT SUM(SUMMA) FROM @RESULT) < 0 
--		--AND @Sum1 = 0 
--		-- И ЕСЛИ ТЕКУЩИЙ НАЛОГ ПОЛУЧАЕТСЯ < 0
--		AND @NalCurr < 0
--	SET @NalCurr = 0
	
SET @Razn = @NalCurr - @Sum1

DECLARE @FLG INT
SELECT TOP 1 @FLG = ISNULL(CONVERT(INT,VALUE),0) 
FROM S_OPTIONS WHERE OBJECT = (SELECT TOP 1 LINK FROM S_OBJECTS WHERE CODE = 'ESN_OPTIONS_FLG') AND SID IS NULL

IF @Razn <0 AND @FLG = 0
	SET @Razn=0

SELECT [SUMMA] 		= ISNULL(SUMMA_VKR,0), 
	 [SUMMA_VKR] 	= ISNULL(SUMMA_M_VKR, 0),
	 [SUM_DED] 		=	CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT TOP 1 MP_VKR FROM @T2 WHERE NUM = @Month), 0)
						ELSE 0 END,	
	 [INV_M] 		= CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT SUM(SKIDKA*KOEF) FROM @RESULT WHERE NUM = @Month),0)
						ELSE 0 END,
	 [INV] 			= CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT SUM(SKIDKA*KOEF) FROM @RESULT WHERE NUM <= @Month),0)
						ELSE 0 END,
	 [DED_M] 		= CASE WHEN ISNULL(SUMMA_VKR, 0) > 0 
						THEN
							ISNULL((SELECT TOP 1 MP_M_VKR FROM @T2 WHERE NUM = @Month), 0)
						ELSE 0 END,
	 [PERC]			= ISNULL((SELECT MIN(PERC) FROM @RESULT WHERE NUM = @Month),0),
	 [NALOG] 		= @NalCurr, 
	 [NAL_DED] 		= @Sum1, 
	 [NAL_CUR] 		= @Razn,
	 [TARIF]		= ISNULL((SELECT MIN([TARIF]) FROM @RESULT WHERE NUM = @Month),0), 
	 [SPECO]		= ISNULL((SELECT MIN([SPECO]) FROM @RESULT WHERE NUM = @Month),0),
	 [NSPECO]		= (SELECT TOP 1 CODE FROM dbo.SZV4_SPR WHERE LINK = ISNULL((SELECT MIN([SPECO]) FROM @RESULT WHERE NUM = @Month),0) )
FROM 
	@T1 
WHERE 
	NUM = @Month

SET NOCOUNT OFF





GO


GRANT EXECUTE ON dbo.[SALARY_FILL_DED_ESN_VKR] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_SV_EMPL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_SV_EMPL]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_SV_EMPL
	@varKSdDate1	DATETIME			,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal2 char(1), @varKSnOtborLink2 int	,
	@varKScVal3 char(1), @varKSnOtborLink3 int	,
	@varKSnPRN_KBK INT				,
	@varKSnPRN_SGU INT				,
	@intREPORT_EMPL INT				,
	@varKScOtborAccount	VARCHAR (100),
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT,
	@intPRN_INV_PLACE	INT = 0
AS
BEGIN
	DECLARE	@varKSDIC_EMP	INT,
		@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254),
		@strREP_NAME	VARCHAR (254),
		@dDATE_REST	DATETIME

	SET @intPRN_INV_PLACE = ISNULL (@intPRN_INV_PLACE, 0)

	DECLARE @DEP TABLE (DEP [INT], DEP_CODE  [VARCHAR] (20), DEP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal1)>0 BEGIN
		INSERT INTO @DEP
			SELECT OVR.RECORD, D.CODE, D.[NAME]
			FROM OBJECT_VAR_DEPARTMENT OVR, DICTIONARY_DEPARTMENT D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink1
	END
	ELSE
	BEGIN
		INSERT INTO @DEP
			SELECT D.LINK, D.CODE, D.[NAME] FROM DICTIONARY_DEPARTMENT D
		INSERT INTO @DEP VALUES (0, '', 'Не указан')
	END

	DECLARE @EMP TABLE (LINK_EMP [INT], EMP_CODE  [VARCHAR] (20), EMP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @EMP
			SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
			FROM OBJECT_VAR_EMPL OVR, KU_EMPL_PLACING D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
			SELECT D.LINK, D.TAB, D.[NAME_EMPL] FROM KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', 'Не указан')
	END

	DECLARE @ACCT TABLE (LINK_ACCT [INT])
	IF LEN (@varKScVal3) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink3
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@varKScOtborAccount, DEFAULT) T1 ON (T1.VALUE = ACCT.cSINTH)
		UNION ALL
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('201', '05', DEFAULT, DEFAULT) ACCT
		UNION ALL
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode ('201', '35', DEFAULT, DEFAULT) ACCT

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSDEP_LINK = LINK,
		@varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

--	SET @dDATE_REST = DATEADD (DAY, 1, @varKSdDate1)
	SET @dDATE_REST = @varKSdDate1

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], INV [INT], NOMEN [INT], EMP [INT],
			KBK [INT], KOSGU [INT],
			PRICE NUMERIC (28,6), PRICE_TYPE TINYINT,
			SUMMA [NUMERIC] (20,4), QTY [NUMERIC] (20,4))  

	INSERT INTO @TABLE1
	SELECT ISNULL (T1.DEP, 0),
		T1.ACCOUNT,
		ISNULL (T1.INV, 0),
		ISNULL (T1.NOMEN, 0),
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE WHEN PRICE_TYPE = 1 THEN PRICE ELSE 0 END,
		PRICE_TYPE,
		SUM (T1.D_SUMMA), SUM (T1.D_QuantiTY)
--	FROM dbo.ARestTableByDate (@varKSdDate1, DEFAULT) T1
	FROM dbo.ARestTableByDate (@dDATE_REST, DEFAULT) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = ISNULL (T1.KBK, 0))
--	WHERE @intSVOD_ZB = 1 
	WHERE (@intSVOD_ZB = 1
			AND T1.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4))
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  ISNULL (T1.DEP, 0),
		T1.ACCOUNT,
		ISNULL (T1.INV, 0),
		ISNULL (T1.NOMEN, 0),
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		CASE WHEN PRICE_TYPE = 1 THEN PRICE ELSE 0 END,
		PRICE_TYPE

	SET @strREP_NAME = ''
	IF EXISTS (SELECT * FROM dbo.S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '101')
		SET @strREP_NAME = 'ОСНОВНЫХ СРЕДСТВ'

	IF EXISTS (SELECT * FROM dbo.S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '105')
		SET @strREP_NAME = @strREP_NAME + CASE
							WHEN @strREP_NAME = '' THEN ''
							ELSE ', '
						END 
			+ 'МАТЕРИАЛЬНЫХ ЗАПАСОВ'
	
	IF EXISTS (SELECT * FROM dbo.S_ACCOUNTS, @ACCT WHERE LINK_ACCT = LINK AND cSINTH = '201')
		SET @strREP_NAME = @strREP_NAME + CASE
							WHEN @strREP_NAME = '' THEN ''
							ELSE ', '
						END 
			+ 'ДЕНЕЖНЫХ ДОКУМЕНТОВ'

	DECLARE @RESULT TABLE (DEP [INT], ACCOUNT [INT], INV [INT], EMP [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (20), ACCT_CODE [VARCHAR] (60), 
			INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
			UM_CODE [VARCHAR] (20), UM_NAME [VARCHAR] (254),
			PRICE [NUMERIC] (20,4),	PRICE_TYPE TINYINT,
			EMP_CODE [VARCHAR] (20), EMP_NAME [VARCHAR] (254),
			SUMMA [NUMERIC] (20,4), QTY [NUMERIC] (20,4),
			PLACE_CODE VARCHAR (10), PLACE_NAME VARCHAR (254), 
			ORGNAME [VARCHAR] (254),
			REP_NAME [VARCHAR] (254),
			SORT1 VARCHAR (30),
			PRN_PLACE INT)

	INSERT INTO @RESULT
	SELECT T1.DEP,
		T1.ACCOUNT,
		T1.INV,
		T1.EMP,
		DEP.DEP_CODE,
		DEP.DEP_NAME,
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (T1.ACCOUNT, T1.KBK, T1.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate1),
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, '')),	
		ISNULL (INV.[NAME], ISNULL (NOMEN.NAME, '')),	
		'',	
		ISNULL (INV.[NAME_UM], ISNULL (NOMEN.[NAME_UM], '')),
--		ISNULL (INV.BALANCE, 0),
		T1.PRICE, T1.PRICE_TYPE,
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		T1.SUMMA, T1.QTY,
		ISNULL (INV_DOP.PLACE_CODE, ''),		
		ISNULL (INV_DOP.LOCATION, ''),
		@varKSORGNAME,
		@strREP_NAME,
		'',
		@intPRN_INV_PLACE
	FROM @TABLE1 T1
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = T1.EMP)
	INNER JOIN @DEP DEP ON (DEP.DEP = T1.DEP)
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = T1.NOMEN)
	LEFT JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = T1.INV)
	LEFT JOIN dbo.BV_INVENTORY_CARD_DOP INV_DOP ON (INV_DOP.LINK_UP = INV.LINK)
	WHERE (T1.SUMMA <> 0) OR (T1.QTY <> 0)


	UPDATE @RESULT SET PRICE = SUMMA / QTY
	WHERE PRICE = 0 AND QTY <> 0 AND PRICE_TYPE = 0

/*
	UPDATE @RESULT SET SORT1 = RIGHT ('00000000000000000000000000000000' + RTRIM (INV_CODE), 30),
		PRICE = CASE
				WHEN PRICE = 0 AND QTY <> 0 AND PRICE_TYPE = 0 THEN SUMMA / QTY
				ELSE PRICE
			END
*/
	SELECT * 
	FROM @RESULT
	ORDER BY DEP_CODE, EMP_CODE, ACCT_GR, ACCT_CODE,
		RIGHT ('00000000000000000000000000000000' + RTRIM (INV_CODE), 30)
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_SV_EMPL] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_EMPL_INCOM_VKR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_EMPL_INCOM_VKR]

GO
CREATE   PROCEDURE [dbo].SD_EMPL_INCOM_VKR
	@VARKSNMODE	SMALLINT	= 0, 
	@VARKSNMONTH INT		= 0,
	@VARKSNYEAR	INT		= 0,
	@DEP_LINK INT = NULL,
	@DO_EKR TINYINT = 0 -- вразрезе ЭКР
AS

IF @DEP_LINK IS NULL
	EXEC DBO.XD_WHATS_ZB @DEP_LINK OUTPUT
	
DECLARE @LINK_211EKR INT, @LINK_R211EKR INT, @LINK_212EKR INT, @SHOW_212 TINYINT, @LINK_213EKR INT
		  
SET @LINK_211EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '211')
SET @LINK_R211EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = 'R211')
SET @LINK_212EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '212')
SET @LINK_213EKR = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')
SET @SHOW_212 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_3')

DECLARE @ESN_213 INT --Начислять страховые взносы на доходы с 213 ЭКР                                                    
SET @ESN_213 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_5')


/*выбор последних линков сотрудников для статусов основной и внешний совместитель
берется последний табельный, если увольнялся, затем заново принимался*/
	
IF OBJECT_ID('TEMPDB..#EMPLS1','U') IS NOT NULL
DROP TABLE #EMPLS1

CREATE TABLE #EMPLS1 (DEP_LINK INT, PERS_LINK INT, LINK INT, TAB VARCHAR(254), NUM INT, LINK_EMPL2 INT)

INSERT INTO #EMPLS1 (DEP_LINK, PERS_LINK, LINK, TAB, NUM)
SELECT E.DEP_LINK, E.PERS_LINK, E.LINK, E.TAB, NUM = ROW_NUMBER () OVER (PARTITION BY E.DEP_LINK, E.PERS_LINK ORDER BY DATE_BEGIN DESC)
	FROM dbo.EMPL E INNER JOIN dbo.ITEM_MOVE IM ON E.LINK = IM.EMPL_LINK
		WHERE IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND (IM.[STATUS]=1 OR IM.[STATUS]=3) AND DATE_BEGIN <= dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@VARKSNMONTH,@VARKSNYEAR))
		--AND PERS_LINK = 17896

UPDATE A SET A.LINK_EMPL2 = B.LINK
FROM #EMPLS1 A INNER JOIN #EMPLS1 B ON A.DEP_LINK = B.DEP_LINK AND A.PERS_LINK = B.PERS_LINK
WHERE B.NUM = 1
		
/*выбор линков сотрудников для статусов внутренний совместитель*/

IF OBJECT_ID('TEMPDB..#EMPLS2','U') IS NOT NULL
DROP TABLE #EMPLS2

CREATE TABLE #EMPLS2 (DEP_LINK INT, PERS_LINK INT, LINK INT, TAB VARCHAR(254), NUM INT, LINK_EMPL2 INT)

INSERT INTO #EMPLS2 (DEP_LINK, PERS_LINK, LINK, TAB, NUM)
SELECT E.DEP_LINK, E.PERS_LINK, E.LINK, E.TAB, NUM = 1
	FROM dbo.EMPL E INNER JOIN dbo.ITEM_MOVE IM ON E.LINK = IM.EMPL_LINK
		WHERE IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS]=2 AND DATE_BEGIN <= dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@VARKSNMONTH,@VARKSNYEAR))
		--AND PERS_LINK = 17896

UPDATE A SET A.LINK_EMPL2 = B.LINK
FROM #EMPLS2 A INNER JOIN #EMPLS2 B ON A.DEP_LINK = B.DEP_LINK AND A.PERS_LINK = B.PERS_LINK
WHERE B.NUM = 1

SELECT 
	T.LINK,
	T.LINK_EMPL,
	T.TAB_NUM,
	T.[NAME_EMPL], 
	T.[STATUS],
	T.NUM_STAKE,	
	LINK_VKR = ISNULL(SF.LINK_SS_SFIN, T.LINK_VKR),
	NAME_VKR = ISNULL(SF2.CODE, T.NAME_VKR),
	T.LINK_EKR,
	T.CODE_EKR,
	LINK_VKR2 = T.LINK_VKR,
	NAME_VKR2 = T.NAME_VKR
FROM
(			
SELECT DISTINCT
	LINK= E.PERS_LINK,
	LINK_EMPL= E.LINK,
	TAB_NUM= E.TAB,
	[NAME_EMPL]= RTRIM(P.FM) + ' ' + SUBSTRING(RTRIM(P.IM),1,1) + '.' + SUBSTRING(RTRIM(P.OT),1,1) + '.', 
	[STATUS] = 1,
	NUM_STAKE = 1,	
	JC.LINK_VKR, 
	NAME_VKR = KBK.CODE,
	LINK_EKR = EKR.LINK,
	CODE_EKR = EKR.CODE
FROM
	DBO.PERSON P with (nolock)
	INNER JOIN DBO.EMPL E with (nolock) ON E.PERS_LINK = P.LINK AND E.DEP_LINK = COALESCE(@DEP_LINK,E.DEP_LINK)
	--Заполняем сотрудником с последним приказом о приеме
	INNER JOIN (
		/*выбор последних линков сотрудников для статусов основной и внешний совместитель
		берется последний табельный, если увольнялся, затем заново принимался*/
		SELECT DEP_LINK, LINK, LINK_EMPL2 FROM #EMPLS1
		/*выбор линков сотрудников для статусов внутренний совместитель*/
		UNION
		SELECT DEP_LINK, LINK, LINK_EMPL2 FROM #EMPLS2
			) T ON T.DEP_LINK = E.DEP_LINK AND T.LINK_EMPL2 = E.LINK
	INNER JOIN dbo.CALCULATE_JURNAL JC ON JC.LINK_EMPL = T.LINK
	INNER JOIN dbo.PAYS PS ON JC.LINK_PAYS = PS.LINK
	INNER JOIN DBO.SAL_SFIN KBK ON JC.LINK_VKR = KBK.LINK
	INNER JOIN DBO.KOSGU EKR ON 
		@SHOW_212 = 1 AND (EKR.LINK = JC.LINK_EKR OR (JC.LINK_EKR = @LINK_212EKR AND EKR.LINK = @LINK_211EKR)) --Источники с 212 ЭКР дублируем с 211 ЭКР --Временно до конца года
		OR 
		@SHOW_212 = 0 AND EKR.LINK = (CASE WHEN JC.LINK_EKR <> @LINK_212EKR THEN JC.LINK_EKR ELSE @LINK_211EKR END)	
		OR 
		@DO_EKR = 1 AND EKR.LINK = JC.LINK_EKR
WHERE
	EXISTS ( SELECT * FROM dbo.TAX_REF TR INNER JOIN dbo.PAYS P1 ON P1.LINK = TR.LINK_TAX WHERE P1.[OBJECT] = 3 AND TR.LINK_PAYS = JC.LINK_PAYS)
	AND
	E.DEP_LINK = @DEP_LINK
	AND
	PS.[OBJECT] = 1
	AND
	YEAR(JC.PERIOD_BEGIN) = @VARKSNYEAR
	AND
	JC.SUMMA<>0
	AND
	(
		(MONTH(JC.PERIOD_BEGIN) <= @VARKSNMONTH AND @VARKSNMODE <> 0)
		OR
		(MONTH(JC.PERIOD_BEGIN) = @VARKSNMONTH AND @VARKSNMODE = 0)
	)
	AND
	(@ESN_213 = 1 OR @ESN_213 = 0 AND EKR.LINK <> @LINK_213EKR)
) T
INNER JOIN dbo.SAL_SFIN SF ON SF.LINK = T.LINK_VKR
LEFT JOIN dbo.SAL_SFIN SF2 ON SF2.LINK = SF.LINK_SS_SFIN
--WHERE LINK_EMPL = 123	
ORDER BY
	4,6,8


GO


GRANT EXECUTE ON dbo.[SD_EMPL_INCOM_VKR] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SVODREP_DETAIL]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[SVODREP_DETAIL]
GO


SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].SVODREP_DETAIL 
	@vCodeDep varchar(10) = null,
	@dBEGIN_DATE datetime = null,
	@dEND_DATE  datetime = null,
	@cFormCode varchar (20) = null,
	@uGUID UNIQUEIDENTIFIER = null,
	@cRowCode varchar(100) = null,
	@debug int = 0,
	@cVersion varchar(3) = '' output

AS BEGIN
    SET NOCOUNT ON
    SET QUOTED_IDENTIFIER ON
    SET ANSI_NULLS ON 
    Declare @iKbkLen tinyint,
			@iDep int,
			@cVersionS varchar(3)
	
	set @cVersionS = '2.1'

	if @cVersionS <> @cVersion
	begin
		select [RESULT]='Версия детализации в базе Сметы-Смарт отличается от версии расчета в текущей базе. Проверьте обновления.'
		delete from dbo.SVODREP_DETAIL_KAU where [UID] = @uGUID
		delete from dbo.SVODREP_DETAIL_VFO where [UID] = @uGUID
		delete from dbo.SVODREP_DETAIL_RULE where [UID] = @uGUID
		return
	end

	
	set @iKbkLen = case when year(@dBEGIN_DATE) > 2015 then 20 else 17 end
	
    select @iDep = LINK 
    from dbo.DEPARTMENTS
    WHERE SVOD_CODE = @vCodeDep and ([TYPE] = 4 or ZB is not null)
   		
   if @debug > 0
  	select '@dBEGIN_DATE' = @dBEGIN_DATE, 
			'@dEND_DATE' = @dEND_DATE,
			'@vCodeDep' = @vCodeDep,
			'@cFormCode' = @cFormCode,
			'@cRowCode' = @cRowCode,
			'@iDep' = @iDep


    create table #DATA
				(DOC_LINK		INT				-- линк документа(пока не выводить)
				,DOC_NAME		varchar(255)	-- Документ
				,DOC_DATE_PROV	DATETIME		-- Дата проведения
				,DOC_NUMBER		varchar(50)		-- № документа
				,DEP_NAME		varchar(255)	-- Учреждение
				,NAME			varchar(255)	-- Комментарий к проводке
				,SUMMA			NUMERIC(20,2)	-- Сумма
			
				--дебит
				,[ACC_DT]		varchar(50)		--Счет(Дт)
				,[SGU_DT]		CHAR(3)			-- КОСГУ(Дт)
				,[EKR_DT]		CHAR(3)			--ЭКР(Дт)
			    ,[KBK_DT]		varchar(50)		--КБК(Дт)
				,[KBK_TYPE_DT]	varchar(50)		--Тип КБК(Дт)
				,[KAU_CODE_DT]	varchar(50)		--КАУ(Дт)
				,[DCL_DT]		varchar(20)		--Доп.кл.(Дт)
				,[DEP_NAME_DT]	varchar(1000)	--Корреспондент(Дт)
				,[DEP_ACC_DT]	varchar(20)		--Счет организации(Дт)
				
				--кредит
				,[ACC_KT]		varchar(50)		--Счет(Кт)
				,[SGU_KT]		CHAR(3)			-- КОСГУ(Кт)
				,[EKR_KT]		CHAR(3)			--ЭКР(Кт)
			  	,[KBK_KT]		varchar(50)		--КБК(Кт)
				,[KBK_TYPE_KT]	varchar(50)		--Тип КБК(Кт)
				,[KAU_CODE_KT]	varchar(50)		--КАУ(Кт)
				,[DCL_KT]		varchar(20)		--Доп.кл.(Кт)
				,[DEP_NAME_KT]	varchar(1000)	--Корреспондент(Кт)
				,[DEP_ACC_KT]	varchar(20)		--Счет организации(Кт)
				,[CODE_ROW]	varchar(200)		
				,[OPER]	varchar(200))		
  
   set @cRowCode = isnull(@cRowCode, '')
   if exists(select * from dbo.SVODREP_DETAIL_RULE where [type] = 1 and [UID] = @uGUID)
   insert into #DATA
   select DOC_LINK = P.LINK 
		,DOC_NAME = dbo.GetDocumentName(P.LINK, P.[OBJECT]) 
		,DOC_DATE_PROV = P.DATE_PROV
		,DOC_NUMBER	= P.NUMBER 
		,DEP_NAME = DEP.NAME
		,NAME = ''
		,SUMMA = case R.[SIGN] when 1 then P.SUMMA when 2 then - P.SUMMA end
		
		--дебит
		,[ACC_DT] = SA_D.CODE
		,[SGU_DT] = SGU_D.CODE
		,[EKR_DT] = EKR_D.CODE
	    ,[KBK_DT] = KBK_D.CODE
		,[KBK_TYPE_DT] = case KBK_D.TYPE when 1 then 'Расходы' when 2 then 'Доходы' else 'Источники' end 
		,[KAU_CODE_DT] = KAU_D.CODE
		,[DCL_DT] = DCL_D.CODE
		,[DEP_NAME_DT] = DEP_D.NAME + '(ИНН:' + DEP_D.INN + ')' --, ', ОКТMО:' + DEP_D.OKTMO + ')'
		,[DEP_ACC_DT] = DA_D.CODE
				
				
		--кредит
		,[ACC_KT] = SA_K.CODE
		,[SGU_KT] = SGU_K.CODE
		,[EKR_KT] = EKR_K.CODE
	    ,[KBK_KT] = KBK_K.CODE
		,[KBK_TYPE_KT] = case KBK_K.TYPE when 1 then 'Расходы' when 2 then 'Доходы' else 'Источники' end 
		,[KAU_CODE_KT] = KAU_K.CODE
		,[DCL_KT] = DCL_K.CODE
		,[DEP_NAME_KT] = DEP_K.NAME + '(ИНН:' + DEP_K.INN + ')' --, ОКТMО:' + DEP_K.OKTMO + ')'
		,[DEP_ACC_KT] = DA_K.CODE
		,CODE_ROW = ''
		,OPER = ''
				
	from dbo.AProvByBufferConditionsShort(@dBEGIN_DATE, @dEND_DATE, null, null) P 
	
	left join dbo.KL_KBK KBK_D on KBK_D.LINK = P.DT_VKR
	left join dbo.S_ACCOUNTS SA_D on SA_D.LINK = P.DT_ACCOUNT
	left join dbo.KOSGU SGU_D on SGU_D.LINK = P.DT_SGU
	left join dbo.KOSGU EKR_D on EKR_D.LINK = P.DT_EKR
	left join dbo.KAU KAU_D on KAU_D.LINK = P.DT_KAU
	left join dbo.DEPARTMENTS DEP_D on DEP_D.LINK = P.DT_DEP
	left join dbo.DEPARTMENT_ACCOUNTS DA_D on DA_D.LINK = P.DT_DEP_ACC
	left join dbo.DOP_CLASSIF DCL_D on DCL_D.LINK = P.DT_AP2

	left join dbo.KL_KBK KBK_K on KBK_K.LINK = P.KT_VKR
	left join dbo.S_ACCOUNTS SA_K on SA_K.LINK = P.KT_ACCOUNT
	left join dbo.KOSGU SGU_K on SGU_K.LINK = P.KT_SGU
	left join dbo.KOSGU EKR_K on EKR_K.LINK = P.KT_EKR   
	left join dbo.KAU KAU_K on KAU_K.LINK = P.KT_KAU
	left join dbo.DEPARTMENTS DEP_K on DEP_K.LINK = P.KT_DEP
	left join dbo.DEPARTMENT_ACCOUNTS DA_K on DA_K.LINK = P.KT_DEP_ACC
	left join dbo.DOP_CLASSIF DCL_K on DCL_K.LINK = P.KT_AP2
	
	inner join dbo.DEPARTMENTS DEP on DEP.LINK = P.DEP_LINK  
	left join dbo.SVODREP_DETAIL_RULE R ON R.Type = 1  and [UID] = @uGUID
							and (SA_D.CODE LIKE R.DT_MASK AND SA_K.CODE LIKE R.KT_MASK 
								OR (SA_D.CODE is null AND SA_K.CODE LIKE R.KT_MASK AND R.KT_MASK <> '%' 
									or SA_K.CODE is null AND SA_D.CODE LIKE R.DT_MASK AND R.DT_MASK <> '%'))
							AND (@cFormCode not LIKE '%737%' and @cFormCode not LIKE '%723%' and dbo.RO_LIKE_LIST(SGU_D.CODE, R.DT_EKR) > 0 OR R.DT_EKR = '' or @cFormCode LIKE '%737%' or @cFormCode LIKE '%723%')
							AND (@cFormCode not LIKE '%737%' and @cFormCode not LIKE '%723%' and dbo.RO_LIKE_LIST(SGU_K.CODE, R.KT_EKR) > 0 OR R.KT_EKR = '' or @cFormCode LIKE '%737%' or @cFormCode LIKE '%723%')
							AND ((@cFormCode LIKE '%737%' or @cFormCode LIKE '%723%') and dbo.RO_LIKE_LIST(EKR_D.CODE, R.DT_EKR) > 0 OR R.DT_EKR = '' or @cFormCode not LIKE '%737%' and @cFormCode not LIKE '%723%')
							AND ((@cFormCode LIKE '%737%' or @cFormCode LIKE '%723%') and dbo.RO_LIKE_LIST(EKR_K.CODE, R.KT_EKR) > 0 OR R.KT_EKR = '' or @cFormCode not LIKE '%737%' and @cFormCode not LIKE '%723%')
							AND R.[SIGN] < 3
	where P.DEP_LINK = @iDep
			--and not exists(select * from dbo.G_PROV1 G1
			--				inner join dbo.G_PROV2 G2 on G2.LINK_UP = G1.LINK and G2.LINK <> LINK_G2 and G1.LINK = LINK_G1
			--				inner join dbo.G_PROV_AP GAP on GAP.LINK_UP = G2.LINK and DB_KR = 1
			--				inner join dbo.S_Accounts SAK on SAK.link = GAP.ACCOUNT and SAK.ZABALANS = 1
			--				inner join dbo.S_Accounts SAD on SAD.CODE = SAK.CODE and P.DT_ACCOUNT = SAD.LINK and SAD.ZABALANS = 1)
			--and not exists(select * from dbo.G_PROV1 G1
			--				inner join dbo.G_PROV2 G2 on G2.LINK_UP = G1.LINK and G2.LINK <> LINK_G2 and G1.LINK = LINK_G1
			--				inner join dbo.G_PROV_AP GAP on GAP.LINK_UP = G2.LINK and DB_KR = 0
			--				inner join dbo.S_Accounts SAD on SAD.link = GAP.ACCOUNT and SAD.ZABALANS = 1
			--				inner join dbo.S_Accounts SAK on SAK.CODE = SAD.CODE and P.KT_ACCOUNT = SAK.LINK and SAK.ZABALANS = 1)
			and R.[SIGN] is not null
			AND (R.TYPE_KBK = 0 
				OR (R.TYPE_KBK & CASE WHEN R.[IS_DT] = 1 THEN KBK_D.[TYPE] ELSE KBK_K.[TYPE] END) / (CASE WHEN R.[IS_DT] = 1 THEN KBK_D.[TYPE] ELSE KBK_K.[TYPE] END) = 1)
			and (@cRowCode = '' or (replace(replace(
													CASE WHEN CHARINDEX ('#', R.Mask_KBK) = 0 THEN '' ELSE LEFT (R.Mask_KBK, CHARINDEX ('#', R.Mask_KBK) - 1) END
   													+ dbo.MASK_TRANSFORM1(
   													case when CHARINDEX ('ЭКР', R.Mask_KBK) <> 0 then case when R.[IS_DT] = 1 then isnull(EKR_D.CODE,'000') else isnull(EKR_K.CODE,'000') end else '' end
													+ LEFT(ISNULL(LTRIM(REPLACE( CASE WHEN R.[IS_DT] = 1 THEN KBK_D.CODE ELSE KBK_K.CODE END,'.','')),'') + '00000000000000000000', @iKbkLen)
													+ LEFT(ISNULL(REPLACE(CASE WHEN R.[IS_DT] = 1 THEN SA_D.CODE ELSE SA_K.CODE END,'.',''),'') + '000000', 6)
													+ LEFT(ISNULL(case R.[IS_DT] when 1 then SGU_D.CODE else SGU_K.CODE END, '') + '000', 3) 
													+ LEFT(ISNULL(case R.[IS_DT] when 1 then EKR_D.CODE else EKR_K.CODE END, '') + '000', 3),
													replace(CASE WHEN CHARINDEX ('#', R.Mask_KBK) = 0 THEN R.Mask_KBK ELSE SUBSTRING (R.Mask_KBK, CHARINDEX ('#', R.Mask_KBK) + 1, 100) END, 'ЭКР', ''))
													, 'ЛС', isnull(case when R.[IS_DT] = 1 then DA_D.CODE else DA_K.CODE end,''))
													, 'ДОП', isnull(case when R.[IS_DT] = 1 then DCL_D.CODE else DCL_K.CODE end, '')) = replace(@cRowCode, '##########', ''))
													)
			AND NOT EXISTS(SELECT TOP 1 *
							 FROM dbo.SVODREP_DETAIL_RULE XOR
							 WHERE XOR.[SIGN] = 3 and [UID] = @uGUID
								AND SA_D.CODE LIKE XOR.DT_MASK AND SA_K.CODE LIKE XOR.KT_MASK
								AND (@cFormCode not LIKE '%737%' and @cFormCode not LIKE '%723%' and dbo.RO_LIKE_LIST(SGU_D.CODE, XOR.DT_EKR) > 0 OR XOR.DT_EKR = '' or @cFormCode LIKE '%737%' or @cFormCode LIKE '%723%')
								AND (@cFormCode not LIKE '%737%' and @cFormCode not LIKE '%723%' and dbo.RO_LIKE_LIST(SGU_K.CODE, XOR.KT_EKR) > 0 OR XOR.KT_EKR = '' or @cFormCode LIKE '%737%' or @cFormCode LIKE '%723%')
								AND ((@cFormCode LIKE '%737%' or @cFormCode LIKE '%723%') and dbo.RO_LIKE_LIST(EKR_D.CODE, XOR.DT_EKR) > 0 OR XOR.DT_EKR = '' or @cFormCode not LIKE '%737%' and @cFormCode not LIKE '%723%')
								AND ((@cFormCode LIKE '%737%' or @cFormCode LIKE '%723%') and dbo.RO_LIKE_LIST(EKR_K.CODE, XOR.KT_EKR) > 0 OR XOR.KT_EKR = '' or @cFormCode not LIKE '%737%' and @cFormCode not LIKE '%723%')) -- ИСКЛЮЧАЕМ*/
			and (not exists (select * from dbo.SVODREP_DETAIL_KAU KAU where [UID] = @uGUID) or R.IS_DT = 1 and exists(select * from dbo.SVODREP_DETAIL_KAU KAU where [UID] = @uGUID and CODE = KAU_D.CODE) or R.IS_DT <> 1 and exists(select * from dbo.SVODREP_DETAIL_KAU KAU where [UID] = @uGUID and CODE = KAU_K.CODE))
			and (not exists (select * from dbo.SVODREP_DETAIL_VFO VFO where [UID] = @uGUID) or R.IS_DT = 1 and exists(select * from dbo.SVODREP_DETAIL_VFO VFO where [UID] = @uGUID and CODE = SA_D.cSource) or R.IS_DT <> 1 and exists(select * from dbo.SVODREP_DETAIL_VFO VFO where [UID] = @uGUID and CODE = SA_K.cSource)) 

		if exists(select * from dbo.SVODREP_DETAIL_RULE where [type] = 2 and [UID] = @uGUID)
			insert into #DATA
			select DOC_LINK = null 
			,DOC_NAME = 'Остаток на начало' 
			,DOC_DATE_PROV = @dBEGIN_DATE
			,DOC_NUMBER	= ''
			,DEP_NAME = DEP.NAME
			,NAME = ''
			,SUMMA = case R.[SIGN] when 1 then 1 when 2 then -1 end * case SA.s_Active when 1 then REST.D_SUMMA - REST.K_SUMMA else REST.K_SUMMA - REST.D_SUMMA end
			
			--дебит
			,[ACC_DT] = case SA.s_Active when 1 then SA.CODE else '' end
			,[SGU_DT] = case SA.s_Active when 1 then SGU.CODE else '' end
			,[EKR_DT] = case SA.s_Active when 1 then EKR.CODE else '' end
			,[KBK_DT] = case SA.s_Active when 1 then KBK.CODE else '' end
			,[KBK_TYPE_DT] = case SA.s_Active when 1 then case KBK.TYPE when 1 then 'Расходы' when 2 then 'Доходы' else 'Источники' end  else '' end
			,[KAU_CODE_DT] = case SA.s_Active when 1 then KAU.CODE else '' end
			,[DCL_DT] = case SA.s_Active when 1 then DCL.CODE else '' end
			,[DEP_NAME_DT] = case SA.s_Active when 1 then DEP.NAME + '(ИНН:' + DEP.INN + ')'  else '' end--, ', ОКТMО:' + DEP_D.OKTMO + ')'
			,[DEP_ACC_DT] = case SA.s_Active when 1 then DA.CODE else '' end
					
					
			--кредит
			,[ACC_KT] = case SA.s_passive when 1 then SA.CODE else '' end
			,[SGU_KT] = case SA.s_passive when 1 then SGU.CODE else '' end
			,[EKR_KT] = case SA.s_passive when 1 then EKR.CODE else '' end
			,[KBK_KT] = case SA.s_passive when 1 then KBK.CODE else '' end
			,[KBK_TYPE_KT] = case SA.s_passive when 1 then case KBK.TYPE when 1 then 'Расходы' when 2 then 'Доходы' else 'Источники' end  else '' end
			,[KAU_CODE_KT] = case SA.s_passive when 1 then KAU.CODE else '' end
			,[DCL_KT] = case SA.s_passive when 1 then DCL.CODE else '' end
			,[DEP_NAME_KT] = case SA.s_passive when 1 then COR.NAME + '(ИНН:' + COR.INN + ')'  else '' end--, ', ОКТMО:' + COR.OKTMO + ')'
			,[DEP_ACC_KT] = case SA.s_passive when 1 then DA.CODE else '' end
			,CODE_ROW = case when R.OPER like '%[<>]0%' then replace(replace(dbo.MASK_TRANSFORM1(LEFT(ISNULL(LTRIM(REPLACE( CASE WHEN  R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  THEN KBK.CODE ELSE '' END,'.','')),'') + '00000000000000000000', @iKbkLen)
															+ LEFT(ISNULL(REPLACE(CASE WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  THEN SA.CODE ELSE '' END,'.',''),'') + '000000', 6)
															+ LEFT(ISNULL(case WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  then SGU.CODE else '' END, '') + '000', 3) 
															+ LEFT(ISNULL(case WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  then EKR.CODE else '' END, '') + '000', 3),
															R.Mask_KBK), 'ЛС', isnull(DA.CODE, '')), 'ДОП', isnull(DCL.CODE,'')) else '' end
			,OPER = R.OPER
															
		
		from dbo.ARestTableByDAte(@dBEGIN_DATE, null) REST --@iDep) P
		left join dbo.KL_KBK KBK on KBK.LINK = REST.KBK
		left join dbo.S_ACCOUNTS SA on SA.LINK = REST.ACCOUNT
		left join dbo.KOSGU SGU on SGU.LINK = REST.SGU
		left join dbo.KOSGU EKR on EKR.LINK = REST.EKR
		left join dbo.KAU KAU on KAU.LINK = REST.KAU
		left join dbo.DEPARTMENTS COR on COR.LINK = REST.DEP
		left join dbo.DEPARTMENT_ACCOUNTS DA on DA.LINK = REST.DEP_ACC
		left join dbo.DOP_CLASSIF DCL on DCL.LINK = REST.AP2

		inner join dbo.DEPARTMENTS DEP on DEP.LINK = REST.DEP_LINK  
		left join dbo.SVODREP_DETAIL_RULE R ON R.Type = 2  and [UID] = @uGUID
						and (SA.CODE LIKE R.DT_MASK AND R.DT_MASK <> '%' and SA.s_Active = 1 or
							 SA.CODE LIKE R.KT_MASK AND R.KT_MASK <> '%' and SA.s_passive = 1)
							AND (R.DT_EKR = '' or @cFormCode not LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_Active when 1 then SGU.CODE else '' end, R.DT_EKR) > 0 OR @cFormCode LIKE '%737%')
							AND (R.KT_EKR = '' or @cFormCode not LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_passive when 1 then EKR.CODE else '' end, R.KT_EKR) > 0 OR @cFormCode LIKE '%737%')
							AND (R.DT_EKR = '' or @cFormCode LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_Active when 1 then SGU.CODE else '' end, R.DT_EKR) > 0 OR @cFormCode not LIKE '%737%')
							AND (R.KT_EKR = '' or @cFormCode LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_passive when 1 then EKR.CODE else '' end, R.KT_EKR) > 0 OR @cFormCode not LIKE '%737%')
							AND R.[SIGN] < 3
		WHERE REST.DEP_LINK = @iDep
				AND (R.TYPE_KBK = 0 OR R.TYPE_KBK <> 0 and (R.TYPE_KBK & KBK.[TYPE])/ KBK.[TYPE] = 1)
				and (@cRowCode = '' or replace(replace(dbo.MASK_TRANSFORM1(LEFT(ISNULL(LTRIM(REPLACE( CASE WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1 THEN KBK.CODE ELSE '' END,'.','')),'') + '0000000000000000000', @iKbkLen)
														+ LEFT(ISNULL(REPLACE(CASE WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  THEN SA.CODE ELSE '' END,'.',''),'') + '000000', 6)
														+ LEFT(ISNULL(case WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  then SGU.CODE else '' END, '') + '000', 3) 
														+ LEFT(ISNULL(case WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  then EKR.CODE else '' END, '') + '000', 3),
														R.Mask_KBK), 'ЛС', isnull(DA.CODE, '')), 'ДОП', isnull(DCL.CODE,'')) = @cRowCode)
				AND NOT EXISTS(SELECT TOP 1 *
								 FROM #RULE XOR
								 WHERE XOR.[SIGN] = 3 and [UID] = @uGUID
										and (SA.CODE LIKE XOR.DT_MASK AND XOR.DT_MASK <> '%' and SA.s_Active = 1 or
											SA.CODE LIKE XOR.KT_MASK AND XOR.KT_MASK <> '%' and SA.s_passive = 1)
										AND (@cFormCode not LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_Active when 1 then SGU.CODE else '' end, XOR.DT_EKR) > 0 OR XOR.DT_EKR = '' or @cFormCode LIKE '%737%')
										AND (@cFormCode not LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_passive when 1 then EKR.CODE else '' end, XOR.KT_EKR) > 0 OR XOR.KT_EKR = '' or @cFormCode LIKE '%737%')
										AND (@cFormCode LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_Active when 1 then SGU.CODE else '' end, XOR.DT_EKR) > 0 OR XOR.DT_EKR = '' or @cFormCode not LIKE '%737%')
										AND (@cFormCode LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_passive when 1 then EKR.CODE else '' end, XOR.KT_EKR) > 0 OR XOR.KT_EKR = '' or @cFormCode not LIKE '%737%')
										) 
				
				and (not exists (select * from dbo.SVODREP_DETAIL_KAU KAU where [UID] = @uGUID) or (R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 0 and SA.s_passive = 1) and exists(select * from dbo.SVODREP_DETAIL_KAU KAU where [UID] = @uGUID and CODE = KAU.CODE)) 
				and (not exists (select * from dbo.SVODREP_DETAIL_VFO VFO where [UID] = @uGUID) or (R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 0 and SA.s_passive = 1) and exists(select * from dbo.SVODREP_DETAIL_VFO VFO where [UID] = @uGUID and CODE = SA.cSource)) 

		if exists(select * from dbo.SVODREP_DETAIL_RULE where [type] = 3 and [UID] = @uGUID)
			insert into #DATA
			select DOC_LINK = null 
			,DOC_NAME = 'Остаток на конец' 
			,DOC_DATE_PROV = @dEND_DATE
			,DOC_NUMBER	= ''
			,DEP_NAME = DEP.NAME
			,NAME = ''
			,SUMMA = case R.[SIGN] when 1 then 1 when 2 then -1 end * case SA.s_Active when 1 then REST.D_SUMMA - REST.K_SUMMA else REST.K_SUMMA - REST.D_SUMMA end
			
			--дебит
			,[ACC_DT] = case SA.s_Active when 1 then SA.CODE else '' end
			,[SGU_DT] = case SA.s_Active when 1 then SGU.CODE else '' end
			,[EKR_DT] = case SA.s_Active when 1 then EKR.CODE else '' end
			,[KBK_DT] = case SA.s_Active when 1 then KBK.CODE else '' end
			,[KBK_TYPE_DT] = case SA.s_Active when 1 then case KBK.TYPE when 1 then 'Расходы' when 2 then 'Доходы' else 'Источники' end  else '' end
			,[KAU_CODE_DT] = case SA.s_Active when 1 then KAU.CODE else '' end
			,[DCL_DT] = case SA.s_Active when 1 then DCL.CODE else '' end
			,[DEP_NAME_DT] = case SA.s_Active when 1 then DEP.NAME + '(ИНН:' + DEP.INN + ')'  else '' end--, ', ОКТMО:' + DEP_D.OKTMO + ')'
			,[DEP_ACC_DT] = case SA.s_Active when 1 then DA.CODE else '' end
					
					
			--кредит
			,[ACC_KT] = case SA.s_passive when 1 then SA.CODE else '' end
			,[SGU_KT] = case SA.s_passive when 1 then SGU.CODE else '' end
			,[EKR_KT] = case SA.s_passive when 1 then EKR.CODE else '' end
			,[KBK_KT] = case SA.s_passive when 1 then KBK.CODE else '' end
			,[KBK_TYPE_KT] = case SA.s_passive when 1 then case KBK.TYPE when 1 then 'Расходы' when 2 then 'Доходы' else 'Источники' end  else '' end
			,[KAU_CODE_KT] = case SA.s_passive when 1 then KAU.CODE else '' end
			,[DCL_KT] = case SA.s_passive when 1 then DCL.CODE else '' end
			,[DEP_NAME_KT] = case SA.s_passive when 1 then COR.NAME + '(ИНН:' + COR.INN + ')'  else '' end--, ', ОКТMО:' + COR.OKTMO + ')'
			,[DEP_ACC_KT] = case SA.s_passive when 1 then DA.CODE else '' end
			,CODE_ROW = case when R.OPER like '%[<>]0%' then replace(replace(dbo.MASK_TRANSFORM1(LEFT(ISNULL(LTRIM(REPLACE( CASE WHEN  R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  THEN KBK.CODE ELSE '' END,'.','')),'') + '00000000000000000', 17)
															+ LEFT(ISNULL(REPLACE(CASE WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  THEN SA.CODE ELSE '' END,'.',''),'') + '000000', 6)
															+ LEFT(ISNULL(case WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  then SGU.CODE else '' END, '') + '000', 3) 
															+ LEFT(ISNULL(case WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  then EKR.CODE else '' END, '') + '000', 3),
															R.Mask_KBK), 'ЛС', isnull(DA.CODE, '')), 'ДОП', isnull(DCL.CODE,'')) else '' end
			,OPER = R.OPER
															
		from dbo.ARestTableByDAte(@dEND_DATE + 1, null) REST --@iDep) P
		left join dbo.KL_KBK KBK on KBK.LINK = REST.KBK
		left join dbo.S_ACCOUNTS SA on SA.LINK = REST.ACCOUNT
		left join dbo.KOSGU SGU on SGU.LINK = REST.SGU
		left join dbo.KOSGU EKR on EKR.LINK = REST.EKR
		left join dbo.KAU KAU on KAU.LINK = REST.KAU
		left join dbo.DEPARTMENTS COR on COR.LINK = REST.DEP
		left join dbo.DEPARTMENT_ACCOUNTS DA on DA.LINK = REST.DEP_ACC
		left join dbo.DOP_CLASSIF DCL on DCL.LINK = REST.AP2
		inner join dbo.DEPARTMENTS DEP on DEP.LINK = REST.DEP_LINK  
		left join dbo.SVODREP_DETAIL_RULE R ON R.Type = 3  and [UID] = @uGUID
						and (SA.CODE LIKE R.DT_MASK AND R.DT_MASK <> '%' and SA.s_Active = 1 or
							 SA.CODE LIKE R.KT_MASK AND R.KT_MASK <> '%' and SA.s_passive = 1)
							AND (@cFormCode not LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_Active when 1 then SGU.CODE else '' end, R.DT_EKR) > 0 OR R.DT_EKR = '' or @cFormCode LIKE '%737%')
							AND (@cFormCode not LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_passive when 1 then EKR.CODE else '' end, R.KT_EKR) > 0 OR R.KT_EKR = '' or @cFormCode LIKE '%737%')
							AND (@cFormCode LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_Active when 1 then SGU.CODE else '' end, R.DT_EKR) > 0 OR R.DT_EKR = '' or @cFormCode not LIKE '%737%')
							AND (@cFormCode LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_passive when 1 then EKR.CODE else '' end, R.KT_EKR) > 0 OR R.KT_EKR = '' or @cFormCode not LIKE '%737%')
							AND R.[SIGN] < 3
		WHERE 	REST.DEP_LINK = @iDep
				AND (R.TYPE_KBK = 0 OR R.TYPE_KBK <> 0 and (R.TYPE_KBK & KBK.[TYPE])/ KBK.[TYPE] = 1)
				and (@cRowCode = '' or replace(replace(dbo.MASK_TRANSFORM1(LEFT(ISNULL(LTRIM(REPLACE( CASE WHEN  R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  THEN KBK.CODE ELSE '' END,'.','')),'') + '00000000000000000', 17)
														+ LEFT(ISNULL(REPLACE(CASE WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  THEN SA.CODE ELSE '' END,'.',''),'') + '000000', 6)
														+ LEFT(ISNULL(case WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  then SGU.CODE else '' END, '') + '000', 3) 
														+ LEFT(ISNULL(case WHEN R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 1 and SA.s_passive = 1  then EKR.CODE else '' END, '') + '000', 3),
														R.Mask_KBK), 'ЛС', isnull(DA.CODE, '')), 'ДОП', isnull(DCL.CODE,'')) = @cRowCode)
				AND NOT EXISTS(SELECT TOP 1 *
								 FROM dbo.SVODREP_DETAIL_RULE XOR
								 WHERE XOR.[SIGN] = 3 and [UID] = @uGUID
										and (SA.CODE LIKE XOR.DT_MASK AND XOR.DT_MASK <> '%' and SA.s_Active = 1 or
											SA.CODE LIKE XOR.KT_MASK AND XOR.KT_MASK <> '%' and SA.s_passive = 1)
										AND (@cFormCode not LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_Active when 1 then SGU.CODE else '' end, XOR.DT_EKR) > 0 OR XOR.DT_EKR = '' or @cFormCode LIKE '%737%')
										AND (@cFormCode not LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_passive when 1 then EKR.CODE else '' end, XOR.KT_EKR) > 0 OR XOR.KT_EKR = '' or @cFormCode LIKE '%737%')
										AND (@cFormCode LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_Active when 1 then SGU.CODE else '' end, XOR.DT_EKR) > 0 OR XOR.DT_EKR = '' or @cFormCode not LIKE '%737%')
										AND (@cFormCode LIKE '%737%' and dbo.RO_LIKE_LIST(case SA.s_passive when 1 then EKR.CODE else '' end, XOR.KT_EKR) > 0 OR XOR.KT_EKR = '' or @cFormCode not LIKE '%737%')
										) 
				and (not exists (select * from dbo.SVODREP_DETAIL_KAU KAU where [UID] = @uGUID) or (R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 0 and SA.s_passive = 1) and exists(select * from dbo.SVODREP_DETAIL_KAU KAU where [UID] = @uGUID and CODE = KAU.CODE)) 
				and (not exists (select * from dbo.SVODREP_DETAIL_VFO VFO where [UID] = @uGUID) or (R.[IS_DT] = 1 and SA.s_Active = 1 or R.[IS_DT] <> 0 and SA.s_passive = 1) and exists(select * from dbo.SVODREP_DETAIL_VFO VFO where [UID] = @uGUID and CODE = SA.cSource)) 
	
	delete D
	from #DATA D 
	where D.CODE_ROW <> ''
		and exists(select D1.CODE_ROW, sum(D1.SUMMA) from #DATA D1 
					where D.CODE_ROW = D1.CODE_ROW
					group by D1.CODE_ROW, D1.OPER
					having D1.OPER like '%>0%' and sum(D1.SUMMA) > 0 or D1.OPER like '%<0%' and sum(D1.SUMMA) < 0)
	
	
	
	if @debug > 0
	begin
		select 'dbo.SVODREP_DETAIL_RULE'
		select * from dbo.SVODREP_DETAIL_RULE where [UID] = @uGUID 
		select 'dbo.SVODREP_DETAIL_KAU KAU' 
		select * from dbo.SVODREP_DETAIL_KAU KAU where [UID] = @uGUID 
		select 'dbo.SVODREP_DETAIL_VFO VFO' 
		select * from dbo.SVODREP_DETAIL_VFO VFO where [UID] = @uGUID 
		select '#DATA'
		select * from #DATA
		select '#DATA.Sum(SUMMA)'
		select Sum(SUMMA) from #DATA 
	end
	
	delete from dbo.SVODREP_DETAIL_KAU where [UID] = @uGUID
	delete from dbo.SVODREP_DETAIL_VFO where [UID] = @uGUID
	delete from dbo.SVODREP_DETAIL_RULE where [UID] = @uGUID
	
	select DOC_LINK, DOC_NAME, DOC_DATE_PROV, DOC_NUMBER, DEP_NAME, NAME, SUMMA,
		   ACC_DT, SGU_DT, EKR_DT, KBK_DT, KBK_TYPE_DT, KAU_CODE_DT, DCL_DT, DEP_NAME_DT, DEP_ACC_DT, --дебит
		   ACC_KT, SGU_KT, EKR_KT, KBK_KT, KBK_TYPE_KT, KAU_CODE_KT, DCL_KT, DEP_NAME_KT, DEP_ACC_KT  --кредит
	FROM #DATA  		  	
		
END











GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_SV_EMPL_Z]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_SV_EMPL_Z]

GO


/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE [dbo].BK_REPORT_SV_EMPL_Z
	@varKSdDate1	DATETIME	,
	@varKScVal1 char(1), @varKSnOtborLink1 int	,
	@varKScVal2 char(1), @varKSnOtborLink2 int	,
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@varKSnPRN_KBK INT				,
	@varKSnPRN_SGU INT				,
	@intREPORT_EMPL INT,
        @intSVOD_ZB     int     -- Сводный отчет (ЦБ) --				
AS
BEGIN
	DECLARE	@varKSDIC_EMP	INT,
		@varKSDEP_LINK	INT,
		@varKSORGNAME	VARCHAR(254),
		@dDATE_REST	DATETIME	

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSDEP_LINK = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSDEP_LINK IS NULL
		SET @varKSDEP_LINK = dbo.GetOwnDepLink()

	SELECT @varKSDEP_LINK = LINK,
		@varKSORGNAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSDEP_LINK

	IF @intSVOD_ZB = 1
		SET @varKSORGNAME = RTRIM (@varKSORGNAME) + ' (ЦБ)'

	DECLARE @ACCT TABLE (LINK_ACCT [INT])
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, 1) ACCT

	DECLARE @EMP TABLE (LINK_EMP [INT], EMP_CODE  [VARCHAR] (20), EMP_NAME [VARCHAR] (254) )
	IF LEN(@varKScVal2)>0 BEGIN
		INSERT INTO @EMP
			SELECT OVR.RECORD, D.TAB, D.[NAME_EMPL]
			FROM OBJECT_VAR_EMPL OVR, KU_EMPL_PLACING D
			WHERE D.LINK=OVR.RECORD AND OVR.LINK_UP=@varKSnOtborLink2
	END
	ELSE
	BEGIN
		INSERT INTO @EMP
			SELECT D.LINK, D.TAB, D.[NAME_EMPL] FROM KU_EMPL_PLACING D
		INSERT INTO @EMP VALUES (0, '', 'Не указан')
	END

		--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	SET @dDATE_REST = DATEADD (DAY, 1, @varKSdDate1)

	DECLARE @TABLE1 TABLE (DEP [INT], ACCOUNT [INT], INV [INT], NOMEN [INT], TMC [INT], EMP [INT],
			KBK [INT], KOSGU [INT],
			SUMMA [NUMERIC] (20,2), QTY [NUMERIC] (20,2))  

	INSERT INTO @TABLE1
	SELECT ISNULL (T1.DEP, 0),
		T1.ACCOUNT,
		ISNULL (T1.INV, 0),
		ISNULL (T1.NOMEN, 0),
		ISNULL (T1.TMC, 0),
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END,
		SUM (T1.D_SUMMA), SUM (T1.D_QuantiTY)
	FROM dbo.ARestTableByDate (@dDATE_REST, DEFAULT) T1
	INNER JOIN @ACCT AC ON (AC.LINK_ACCT = T1.ACCOUNT)
	INNER JOIN @TAB_KBK T2 ON (T2.LINK_KBK = ISNULL (T1.KBK, 0))
--	WHERE T1.DEP_LINK = @varKSDEP_LINK
	WHERE (@intSVOD_ZB = 1
			AND T1.DEP_LINK IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4))
		OR (@intSVOD_ZB = 0 AND T1.DEP_LINK = @varKSDEP_LINK)
	GROUP BY  ISNULL (T1.DEP, 0),
		T1.ACCOUNT,
		ISNULL (T1.INV, 0),
		ISNULL (T1.NOMEN, 0),
		ISNULL (T1.TMC, 0),
		CASE
			WHEN @intREPORT_EMPL = 1 THEN ISNULL (T1.EMP, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_KBK = 1 THEN ISNULL (T1.KBK, 0)
			ELSE 0
		END,
		CASE
			WHEN @varKSnPRN_SGU = 1 THEN ISNULL (T1.SGU, 0)
			ELSE 0
		END

	DECLARE @RESULT TABLE (DEP [INT], ACCOUNT [INT], INV [INT], EMP [INT],
			DEP_CODE [VARCHAR] (20), DEP_NAME [VARCHAR] (254),
			ACCT_GR [VARCHAR] (20), ACCT_CODE [VARCHAR] (60), 
			INV_CODE [VARCHAR] (20), INV_NAME [VARCHAR] (254),
			UM_CODE [VARCHAR] (20), UM_NAME [VARCHAR] (254),
			PRICE [NUMERIC] (20,3),		
			EMP_CODE [VARCHAR] (20), EMP_NAME [VARCHAR] (254),
			SUMMA [NUMERIC] (20,2), QTY [NUMERIC] (20,2),
			PLACE_CODE VARCHAR (10), PLACE_NAME VARCHAR (254), 
			ORGNAME [VARCHAR] (254),
			REP_NAME [VARCHAR] (254),
			SORT1 VARCHAR (30),
			PRN_PLACE INT)

	INSERT INTO @RESULT
	SELECT 
--		T1.DEP,
		0,
		T1.ACCOUNT,
		T1.INV,
		T1.EMP,
--		DEP.DEP_CODE,
--		DEP.DEP_NAME,
		'', '',
		SA.CODE,
		dbo.BK_GetAcctFullCode1 (T1.ACCOUNT, T1.KBK, T1.KOSGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate1),
		ISNULL (INV.CODE, ISNULL (NOMEN.CODE, ISNULL (TMC.CODE, ''))),	
		ISNULL (INV.[NAME], ISNULL (NOMEN.[NAME], ISNULL (TMC.[NAME], ''))),	
		'',	
		ISNULL (INV.[NAME_UM], ISNULL (NOMEN.[NAME_UM], ISNULL (TMC.[REF_NAME_D], ''))),
		ISNULL (INV.BALANCE, 0),
		EMP.EMP_CODE,
		EMP.EMP_NAME,
		T1.SUMMA, T1.QTY,
		'', '',
		@varKSORGNAME,
		'МАТЕРИАЛЬНЫХ ЦЕННОСТЕЙ НА ЗАБАЛАНСОВЫХ СЧЕТАХ',
		'',
		0
	FROM @TABLE1 T1
	INNER JOIN @EMP EMP ON (EMP.LINK_EMP = T1.EMP)
--	INNER JOIN @DEP DEP ON (DEP.DEP = T1.DEP)
	INNER JOIN S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT OUTER JOIN dbo.INVENTORY_CARD INV ON (INV.LINK = T1.INV)
	LEFT OUTER JOIN dbo.BV_NOMENCLATURE NOMEN ON (NOMEN.LINK = T1.NOMEN)
	LEFT OUTER JOIN dbo.DICTIONARY_TMC TMC ON (TMC.LINK = T1.TMC)
	WHERE (T1.SUMMA <> 0) OR (T1.QTY <> 0)

	UPDATE @RESULT SET PRICE = SUMMA / QTY
	WHERE PRICE = 0 AND QTY <> 0

	SELECT * FROM @RESULT
	ORDER BY DEP_CODE, EMP_CODE, ACCT_GR, ACCT_CODE,
		RIGHT ('00000000000000000000' + INV_CODE, 20)
END



GO


GRANT EXECUTE ON dbo.[BK_REPORT_SV_EMPL_Z] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KD_GRAPH_FILL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[KD_GRAPH_FILL]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE   PROCEDURE [dbo].KD_GRAPH_FILL
		  @LinkGrType int,
		  @Month int,
		  @Year int
AS		 
DECLARE @DateX datetime,
		  @Holiday tinyint,	
		  @DaysInWeek int,
		  @DaysInMonth int,
		  @FirstDay datetime,
		  @LastDay datetime,
		  @Day int,
		  @DayInGraph int,
		  @CurDay datetime,
		  --для вычисления дня недели с которого перенесли день
		  @CurDay2 datetime, 
		  ---
		  @DayInWeek int,
		  @HolidayType int,
		  @HolidaySymb	varchar(5),
		  @HolidayName	varchar(254),
		  @HolidayHour numeric(10,2),			
		  @HolType int,
		  @HolSymb	varchar(5),
		  @HolName	varchar(254),
		  @HolHour numeric(10,2),
		  @HOURS2 numeric(10,2)


CREATE TABLE #TmpGraph(UPD int,DEL int,DAY int,HOUR numeric(10,2),TD_LINK int,TD_CODE varchar(5), TD_NAME varchar(254), PRIORITET int)
SET @Day = 1

SELECT @DateX = DATE_BEG,@Holiday = HOLIDAY FROM GRAPH_VID WHERE LINK = @LinkGrType


SELECT @DaysInWeek = COUNT(DISTINCT NUMBER) FROM GRAPH_VID_TABLE WHERE LINK_UP = @LinkGrType


SELECT * INTO #TmpDays FROM KD_GRAPH_VID_TABLE WHERE LINK = @LinkGrType
SET @HOURS2 = (SELECT MAX(HOURS) FROM #TmpDays) 
SET @HOURS2 = ISNULL(@HOURS2-1,0)

SELECT @FirstDay = CONVERT(DATETIME,'01.'+LTRIM(RTRIM(STR(@Month)))+'.'+LTRIM(RTRIM(STR(@Year))),104)

SELECT @LastDay = dbo.DateEndOfMonth(@FirstDay)

SELECT @DaysInMonth  = DATEDIFF(d,@FirstDay,@LastDay)+1

SELECT TOP 1 @HolidayType =  LINK,@HolidayHour = HOUR,@HolidaySymb = SYMB, @HolidayName = [Name] FROM KD_TYP_DAYS WHERE WORK_D = 11
IF @HolidayType IS NULL 
BEGIN	
	RAISERROR ('В справочнике типы дней неправильно заполнен тип дня - выходной !',11,1)
	RETURN 111
END

WHILE @Day <= @DaysInMonth
BEGIN

	SET @CurDay = DATEADD(d,@Day,@FirstDay)-1

	--Обработка ситуации, при которой день является перенесенным с другого числа
	SET @CurDay2 = (
							SELECT TOP 1 CONVERT(DATETIME,LTRIM(RTRIM(STR(DAY1)))+'.'+LTRIM(RTRIM(STR(MONTH1)))+'.'+LTRIM(RTRIM(STR(YEAR))),104) 
								FROM dbo.HOLIDAYS 
								WHERE 
									[year] = @Year
									AND ([MONTH] * 100 + [DAY]) <> ([MONTH1] * 100 + [DAY1]) 
									AND CONVERT(DATETIME,LTRIM(RTRIM(STR(DAY)))+'.'+LTRIM(RTRIM(STR(MONTH)))+'.'+LTRIM(RTRIM(STR(YEAR))),104) = @CurDay
						)		
	IF @DaysInWeek > 0
		IF ISNULL(@CurDay2,@CurDay) >= @DateX
			SELECT @DayInWeek = DATEDIFF(d,@DateX,ISNULL(@CurDay2,@CurDay))%@DaysInWeek+1		
		ELSE 
			SELECT @DayInWeek = (@DaysInWeek - DATEDIFF(d,ISNULL(@CurDay2,@CurDay),@DateX)%@DaysInWeek)%@DaysInWeek +1		
	ELSE
		SELECT @DayInWeek = 0		

	IF @CurDay IN (SELECT CONVERT(DATETIME,LTRIM(RTRIM(STR([DAY])))+'.'+LTRIM(RTRIM(STR([MONTH])))+'.'+LTRIM(RTRIM(STR([YEAR]))),104) 
					FROM KD_HOLIDAYS) 
			AND @Holiday = 1	
		BEGIN
			IF EXISTS(SELECT * FROM KD_HOLIDAYS WHERE TD_LINK IS NOT NULL AND TYPE_HOL IN (1,3) AND
				CONVERT(DATETIME,LTRIM(RTRIM(STR(DAY)))+'.'+LTRIM(RTRIM(STR(MONTH)))+'.'+LTRIM(RTRIM(STR(YEAR))),104) = @CurDay) 				
				BEGIN

					SELECT TOP 1 @HolType =  LINK,@HolHour = HOUR,@HolSymb = SYMB, @HolName = [Name]
					FROM KD_TYP_DAYS WHERE LINK = 
					(SELECT TOP 1 TD_LINK FROM KD_HOLIDAYS WHERE 
					CONVERT(DATETIME,LTRIM(RTRIM(STR(DAY)))+'.'+LTRIM(RTRIM(STR(MONTH)))+'.'+LTRIM(RTRIM(STR(YEAR))),104) = @CurDay)

					INSERT INTO #TmpGraph (UPD,DEL,DAY,HOUR,TD_LINK,TD_CODE,TD_NAME, PRIORITET)
					VALUES(0,0,@Day,@HolHour,@HolType,@HolSymb,@HolName,0)
				END
			ELSE

			IF EXISTS(SELECT * FROM KD_HOLIDAYS WHERE TD_LINK IS NOT NULL AND TYPE_HOL = 2 AND
				CONVERT(DATETIME,LTRIM(RTRIM(STR(DAY)))+'.'+LTRIM(RTRIM(STR(MONTH)))+'.'+LTRIM(RTRIM(STR(YEAR))),104) = @CurDay) 				
				BEGIN

					SELECT TOP 1 @HolType =  LINK, @HolSymb = SYMB, @HolName = [Name]
					FROM KD_TYP_DAYS WHERE LINK = 
					(SELECT TOP 1 TD_LINK FROM KD_HOLIDAYS WHERE 
					CONVERT(DATETIME,LTRIM(RTRIM(STR(DAY)))+'.'+LTRIM(RTRIM(STR(MONTH)))+'.'+LTRIM(RTRIM(STR(YEAR))),104) = @CurDay)

					INSERT INTO #TmpGraph (UPD,DEL,DAY,HOUR,TD_LINK,TD_CODE,TD_NAME,PRIORITET)
					SELECT 0 AS UPD,0 AS DEL, @Day AS DAY, 
						CASE WHEN (CASE WHEN (HOURS-1) >= 0 THEN (HOURS-1) ELSE @HOURS2 END) > 0
							THEN (CASE WHEN (HOURS-1) >= 0 THEN (HOURS-1) ELSE @HOURS2 END)
							ELSE 0
							END
						AS [HOUR], 
						@HolType, @HolSymb, @HolName, 0 as PRIORITET
					FROM #TmpDays  WHERE NUMBER = @DayInWeek
				END
				ELSE		
				BEGIN
					INSERT INTO #TmpGraph (UPD,DEL,DAY,HOUR,TD_LINK,TD_CODE,TD_NAME,PRIORITET)
					VALUES(0,0,@Day,@HolidayHour,@HolidayType,@HolidaySymb,@HolidayName,0)
				END
		END
	ELSE
		INSERT INTO #TmpGraph (UPD,DEL,DAY,HOUR,TD_LINK,TD_CODE,TD_NAME,PRIORITET)
		SELECT 0 AS UPD,0 AS DEL, @Day AS DAY, HOURS AS HOUR,TD_LINK, TD_CODE, TD_NAME, 0 as PRIORITET
		FROM #TmpDays  WHERE NUMBER = @DayInWeek
	SET @Day = @Day + 1
END

SELECT 0 as CHECKED,* FROM 	#TmpGraph 




GO


GRANT EXECUTE ON dbo.[KD_GRAPH_FILL] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_SVOD_PROV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_SVOD_PROV]

GO

/*
© Кейсистемс (Keysystems), 2005
*/

CREATE PROCEDURE dbo.BK_REPORT_SVOD_PROV
	@varKSdDate1	DATETIME,
	@varKSdDate2	DATETIME,
	@varKSnPRN_KBK	INT,
	@varKSnPRN_SGU	INT,
	@intSVOD_PROV	INT,
	@varKScVal1 char(1), @varKSnOtborLink1 int /* -- Отбор субсчетов -- */,
	@cVal_KBK char(1), @nOtborLinkKBK int	/* Отбор КБК */,
	@intSVOD_ZB INT
AS
BEGIN
	DECLARE	@varKSLINK_DEP	INT,
		@varKSDEP_CODE	VARCHAR (20),
		@varKSDEP_NAME	VARCHAR (254),
		@varKSDEP_OKPO	VARCHAR (20)

	--- ОТБОР СУБСЧЕТОВ --- 
	DECLARE @ACCT  TABLE (LINK_ACCT [INT])	
	IF LEN (@varKScVal1) > 0
		INSERT INTO @ACCT
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT INTO @ACCT
		SELECT LINK
		FROM dbo.AccountsTableWithNoChild()

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @varKSLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @varKSLINK_DEP IS NULL
		SET @varKSLINK_DEP = dbo.GetOwnDepLink()

	SELECT @varKSLINK_DEP = LINK,
		@varKSDEP_CODE = CODE,
		@varKSDEP_NAME = dbo.BK_GET_PRINT_DEP_NAME (LINK),
		@varKSDEP_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @varKSLINK_DEP

	IF @intSVOD_ZB = 1
	BEGIN
		SET @varKSDEP_NAME = RTRIM (@varKSDEP_NAME) + ' (ЦБ)'
		SET @varKSLINK_DEP = NULL
	END

	--- Список  операций ---
	DECLARE @TABLE_OPER TABLE (LINK_DOC INT,
				LINK_G2 INT,
				XOZ_OPER INT
				)
	
	INSERT INTO @TABLE_OPER
	SELECT
		LINK_DOC,
		LINK_G2,
		XOZ_OPER
	FROM dbo.BK_GetTableOborotByDate1
		(@varKSdDate1, @varKSdDate2,
		DEFAULT, DEFAULT,
		@varKSLINK_DEP)
	GROUP BY
		LINK_DOC,
		LINK_G2,
		XOZ_OPER

-- select * from @TABLE_OPER

	--- Проводки ---
	DECLARE @TABLE_PROV TABLE ([DOC_NUM] VARCHAR (60),
				[dDOC_DATE] DATETIME,
				[DOC_DATE] VARCHAR (10),
				[DOC_NAME] VARCHAR (254),
				[JO_CODE] VARCHAR (254),
				[DT_ACCT] VARCHAR (60),
				[KT_ACCT] VARCHAR (60),
				[SUMMA] NUMERIC (28,4))

	INSERT INTO @TABLE_PROV
	SELECT
		G.NUMBER,
		G.[DATE], 
		CONVERT (VARCHAR (10), G.[DATE], 104),
		dbo.JurnalProvGetDocKind (G.LINK, G.[OBJECT]),
		dbo.BX_XOZ_OPER_EnumJurnals (T_OP.XOZ_OPER),
		[DT_ACCT] = dbo.BK_GetAcctFullCode1 (GAP_D.ACCOUNT, GAP_D.KBK, GAP_D.SGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		[KT_ACCT] = dbo.BK_GetAcctFullCode1 (GAP_K.ACCOUNT, GAP_K.KBK, GAP_K.SGU, @varKSnPRN_KBK, @varKSnPRN_SGU, @varKSdDate2),
		G2.SUMMA
	FROM @TABLE_OPER T_OP
	INNER JOIN dbo.G_PROV G ON (G.LINK = T_OP.LINK_DOC)
	INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK = T_OP.LINK_G2)
	LEFT JOIN dbo.G_PROV_AP GAP_D ON (GAP_D.LINK_UP = T_OP.LINK_G2
		AND GAP_D.DB_KR = 0)
	LEFT JOIN dbo.G_PROV_AP GAP_K ON (GAP_K.LINK_UP = T_OP.LINK_G2
		AND GAP_K.DB_KR = 1)
	LEFT JOIN @ACCT AC_D ON (AC_D.LINK_ACCT = GAP_D.ACCOUNT)
	LEFT JOIN @ACCT AC_K ON (AC_K.LINK_ACCT = GAP_K.ACCOUNT)

	LEFT JOIN @TAB_KBK KBK_D ON (KBK_D.LINK_KBK = ISNULL (GAP_D.KBK, 0))
	LEFT JOIN @TAB_KBK KBK_K ON (KBK_K.LINK_KBK = ISNULL (GAP_K.KBK, 0))

	WHERE (AC_D.LINK_ACCT = GAP_D.ACCOUNT
		OR AC_K.LINK_ACCT = GAP_K.ACCOUNT)
		AND (KBK_D.LINK_KBK IS NOT NULL
			OR KBK_K.LINK_KBK IS NOT NULL)

	IF @intSVOD_PROV = 1
		SELECT @varKSDEP_NAME AS ORGNAME, DT_ACCT, KT_ACCT, JO_CODE, SUM (SUMMA) AS SUMMA
		FROM @TABLE_PROV 
		GROUP BY DT_ACCT, KT_ACCT, JO_CODE
	ELSE
		SELECT @varKSDEP_NAME AS ORGNAME, * FROM @TABLE_PROV ORDER BY dDOC_DATE, DOC_NAME, DOC_NUM
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_SVOD_PROV] TO PUBLIC

GO



GO
--текст
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYS_VALUES_DELETE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYS_VALUES_DELETE]

GO

-- rev 1.3
CREATE PROCEDURE [dbo].[SYS_VALUES_DELETE]
   @RID uniqueidentifier,
   @Codes varchar(8000) = null

as
  set nocount on
  
  if @Codes is null
     delete s from dbo.SYS_VALUES s where s.RID=@RID 
  else   
     delete s from dbo.SYS_VALUES s where s.RID=@RID and s.code in (select v.value from dbo.split(@Codes) v)
     
  
  
     
  

GO


GRANT EXECUTE ON dbo.[SYS_VALUES_DELETE] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_ESN_TABLE_SAVE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_ESN_TABLE_SAVE]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.SD_O_ESN_TABLE_SAVE
	@intLINK				int,
	@intORDERS			int,
	@intLINK_EMPL		int,
	@numSUMMA_BASE 	numeric(18,2)=0.0,
	@numCALC_TAX		numeric(18,2)=0.0,
	@numDED_M			numeric(18,2)=0.0,
	@numINV_M			numeric(18,2)=0.0,
	@numSUM_DED 		numeric(18,2)=0.0,
	@numSUMMA			numeric(18,2)=0.0,
	@numTOTAL_DED		numeric(18,2)=0.0,
	@numTOTAL_SUM		numeric(18,2)=0.0,
	@numTOTAL_TAX		numeric(18,2)=0.0, 
	@intLINK_PAY		int,
	@intLINK_VKR 		int,
	@LINK_EKR			INT,
	@DEL				TINYINT = 0,
	@PERC				numeric(18,2)=0.0,
	@TARIF				INT=null,	
	@SPECO				INT = null,
	@intLINK_VKR2 		int = NULL

AS
DECLARE @SQLError			tinyint,
		  @trancount	int,		
		  @strVALUE		varchar(7000),
		  @tintSTATUS	int,
		  @RowCount		int,
		  @linkFace 	int	

SET @trancount = @@TRANCOUNT

SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

IF @intLINK_VKR2 IS NULL
	SET @intLINK_VKR2 = @intLINK_VKR

SELECT @linkFace = PERS_LINK FROM dbo.EMPL WHERE LINK = @intLINK_EMPL
SELECT @tintSTATUS = dbo.IS_INVALID(@linkFace,dbo.SalaryPeriodCalcBegin())

IF @intLINK_EMPL IS NULL OR @intLINK_PAY IS NULL OR @intLINK_VKR IS NULL OR @LINK_EKR IS NULL
BEGIN
	ROLLBACK
	RETURN 8
END

IF ISNULL(@DEL,0) = 0

	IF NOT EXISTS (SELECT LINK_UP FROM DBO.SDOC_ESN_TABLE 
							WHERE LINK_UP = @intLINK AND LINK_EMPL = @intLINK_EMPL 
								AND LINK_PAY = @intLINK_PAY AND LINK_VKR = @intLINK_VKR AND LINK_VKR2 = @intLINK_VKR2
								AND LINK_EKR = @LINK_EKR)
								
		INSERT INTO SDOC_ESN_TABLE WITH (ROWLOCK) (LINK_UP,ORDERS,LINK_EMPL,SUMMA_BASE,CALC_TAX,DED_M,INV_M,SUM_DED,SUMMA, TOTAL_DED,TOTAL_SUM,TOTAL_TAX,LINK_PAY,LINK_VKR,[STATUS],LINK_EKR, PERC, TARIF, SPECO, LINK_VKR2)
		VALUES (@intLINK,@intORDERS,@intLINK_EMPL,@numSUMMA_BASE,@numCALC_TAX,@numDED_M,@numINV_M,@numSUM_DED,@numSUMMA,
				@numTOTAL_DED,@numTOTAL_SUM,@numTOTAL_TAX,@intLINK_PAY,@intLINK_VKR,@tintSTATUS,@LINK_EKR, @PERC, @TARIF, @SPECO, @intLINK_VKR2)

	ELSE
		UPDATE 
			DBO.SDOC_ESN_TABLE
		SET
			ORDERS = @intORDERS,
			SUMMA_BASE = @numSUMMA_BASE,
			CALC_TAX = @numCALC_TAX,
			DED_M = @numDED_M,
			INV_M = @numINV_M,
			SUM_DED = @numSUM_DED,
			SUMMA = @numSUMMA, 
			TOTAL_DED = @numTOTAL_DED,
			TOTAL_SUM = @numTOTAL_SUM,
			TOTAL_TAX = @numTOTAL_TAX,
			[STATUS] = @tintSTATUS,
			PERC = @PERC,
			TARIF = @TARIF,
			SPECO = @SPECO
		WHERE 
			LINK_UP = @intLINK AND LINK_EMPL = @intLINK_EMPL AND LINK_PAY = @intLINK_PAY AND LINK_VKR = @intLINK_VKR AND LINK_VKR2 = @intLINK_VKR2 AND LINK_EKR = @LINK_EKR
ELSE
		DELETE FROM DBO.SDOC_ESN_TABLE
		WHERE LINK_UP = @intLINK AND LINK_EMPL = @intLINK_EMPL AND LINK_PAY = @intLINK_PAY AND LINK_VKR = @intLINK_VKR AND LINK_EKR = @LINK_EKR

SELECT @SQLError = @@ERROR, @intLINK = @@IDENTITY
IF @SQLError <> 0
BEGIN
	ROLLBACK
	RETURN 7
END

WHILE @@TRANCOUNT > @trancount
	COMMIT TRAN
RETURN 0




GO


GRANT EXECUTE ON dbo.[SD_O_ESN_TABLE_SAVE] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SVODREP_DATA_SELECT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SVODREP_DATA_SELECT]

GO
/*
Назначение: Выборка данных для отчетов Свода
Входные параметры:  @xmlmessage типа _REPORT_REQUEST_DATA_SELECT 
Код возврата:
Пример вызова:
        exec [dbo].[SVODREP_DATA_SELECT] @xmlmessage =@xmlmessage
Примечание:
Автор: Савина И.А.
*/

CREATE PROCEDURE [dbo].[SVODREP_DATA_SELECT] 
	@dBEGIN_DATE datetime = null,
	@dEND_DATE  datetime = null,
	@cCode varchar (100) = null,
	@vCodeDep varchar(10) = null,
	@uGUID uniqueidentifier = null,
	@debug int = 0
			
AS BEGIN
    SET NOCOUNT ON
    SET QUOTED_IDENTIFIER ON
    SET ANSI_NULLS ON 
    declare @iDep int,
			@cVersion varchar(3)
    
    set @cVersion = '3.1'
   
    select @iDep = LINK 
    from dbo.DEPARTMENTS
    WHERE SVOD_CODE = @vCodeDep and ([TYPE] = 4 or ZB is not null)
    
							
	if @cCode like '0503[17]75%'
	begin
	
		SELECT	ACC		= SA.LINK
				,EKR	= GPA.EKR
				,KBK	= GPA.KBK
				,COR	= case when GPA.DEP is not null and GPA.DEP <> G.DEP then GPA.DEP else GPA1.DEP end
				,OSN	= GPA.AP1
				,SUMMA	= sum(ISNULL(CASE GPA.DB_KR WHEN 1 THEN g2.SUMMA ELSE -g2.SUMMA END,0))
				,G.DEP
		INTO #tOBOROT
		FROM dbo.G_PROV G
		INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK
		INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
		INNER JOIN dbo.G_PROV_AP GPA ON GPA.LINK_UP = G2.LINK
		INNER JOIN dbo.G_PROV_AP GPA1 ON GPA1.LINK_UP = G2.LINK and GPA.DB_KR <> GPA1.DB_KR
		INNER JOIN dbo.S_ACCOUNTS sa ON sa.LINK = GPA.ACCOUNT
		--только для учреждений
		WHERE G.DEP = @iDep
			and g.DATE_PROV BETWEEN @dBEGIN_DATE AND @dEND_DATE
			and not exists(select * from dbo.S_OBJECTS SO where SO.LINK = G.[OBJECT] and  (SO.CODE <> 'SHABLON_DOCUMENTS_PROV' or SO.CODE <> 'DOC_CLOSE_YEAR'))
			and (sa.cSinth = '502' and (sa.cAnalit = '11' or sa.cAnalit = '12'))
		GROUP BY SA.LINK, GPA.EKR, GPA.KBK, GPA.AP1, G.DEP, case when GPA.DEP is not null and GPA.DEP <> G.DEP then GPA.DEP else GPA1.DEP end
	
	
		UPDATE O
		SET SUMMA = O.SUMMA -  ISNULL(CASE GPA.DB_KR WHEN 1 THEN g2.SUMMA ELSE -g2.SUMMA END, 0)
		FROM #tOBOROT O
		INNER JOIN dbo.G_PROV G ON G.DEP = O.DEP
		INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK
		INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
		INNER JOIN dbo.G_PROV_AP GPA ON GPA.LINK_UP = G2.LINK and GPA.AP1 = O.OSN and GPA.KBK = O.KBK and GPA.EKR = O.EKR
		INNER JOIN dbo.S_ACCOUNTS sa ON sa.LINK = GPA.ACCOUNT
		WHERE g.DATE_PROV BETWEEN @dBEGIN_DATE AND @dEND_DATE
			and not exists(select * from dbo.S_OBJECTS SO where SO.LINK = G.[OBJECT] and  (SO.CODE <> 'SHABLON_DOCUMENTS_PROV' or SO.CODE <> 'DOC_CLOSE_YEAR'))
			and (sa.cSinth = '502' and (sa.cAnalit = '11' or sa.cAnalit = '12'))
			and (sa.cSinth = '304' and sa.cAnalit = '05' or sa.cSinth = '201' and sa.cAnalit = '11' and GPA.DB_KR = 1)
		
	
		insert into dbo.SVOD_REP_CALC_DATA75
		SELECT @uGUID,
				KBK_CODE = REPLACE(KBK.CODE, '.', ''),
				KBK_TYPE = KBK.[TYPE],
				ACC_CODE = SA.CODE,
				EKR_CODE = EKR.CODE,
				DATE_B = right(convert(char(10), CH.DATE_ACCEPT,104), 7),
				DATE_I = right(convert(char(10), CH.DATE_EXEC,104), 7),
				SUMMA = O.SUMMA,
				OPERS = '',
				DEP_INN = case isnull(len(DEP.INN), 0) when 10 then DEP.INN else '0000000000' end ,
				DEP_NAME = case isnull(len(DEP.INN), 0) when 10 then DEP.NAME else '' end ,
				STAMP = 0
		FROM #tOBOROT O
		left join dbo.KL_KBK KBK on KBK.LINK = O.KBK
		left join dbo.S_ACCOUNTS SA on SA.LINK = O.ACC
		left join dbo.KOSGU EKR on EKR.LINK = O.EKR
		left join dbo.OSNOV OSN  ON OSN.LINK = GPA.AP1
		left join dbo.FINANSE_CONTRACT_HEAD CH ON CH.LINK_UP = OSN.LINK_G_PROV  
		left join dbo.DEPARTMENTS DEP on DEP.LINK = O.COR
	end
	
	insert into dbo.SVOD_REP_CALC_DATA
	select @uGUID,
			KBK_CODE_DT = REPLACE(KBK_D.CODE, '.', ''),
			KBK_TYPE_DT = KBK_D.TYPE,
			ACC_CODE_DT = SA_D.CODE,
			SGU_CODE_DT = SGU_D.CODE,
			EKR_CODE_DT = EKR_D.CODE,
			KAU_CODE_DT = KAU_D.CODE,
			DEP_CODE_DT = DEP_D.CODE,
			DEP_NAME_DT = DEP_D.NAME,
			DEP_INN_DT  = DEP_D.INN_LONG,
			DEP_OKTMO_DT = DEP_D.OKTMO,
			DEP_ADM_DT = DEP_D.VED,
			DEP_EL_BUDG_DT = BUD_D.CODE_EL,
			DEP_ACC_DT = DA_D.CODE,
			DCL_DT = DCL_D.CODE,
	        
			KBK_CODE_KT = REPLACE(KBK_K.CODE, '.', ''),
			KBK_TYPE_KT = KBK_K.TYPE,
			ACC_CODE_KT = SA_K.CODE,
			SGU_CODE_KT = SGU_K.CODE,
			EKR_CODE_KT = EKR_K.CODE,
			KAU_CODE_KT = KAU_K.CODE,
			DEP_CODE_KT = DEP_K.CODE,
			DEP_NAME_KT = DEP_K.NAME,
			DEP_INN_KT = DEP_K.INN_LONG,
			DEP_OKTMO_KT = DEP_K.OKTMO,
			DEP_ADM_KT = DEP_K.VED,
			DEP_EL_BUDG_KT = BUD_K.CODE_EL,
			DEP_ACC_KT = DA_K.CODE,
			DCL_KT = DCL_K.CODE,
	        
			[DATE] = P.DATE_PROV,
			SUMMA = P.SUMMA,
			OPERS = '',
			P.[TYPE],
			dep_inn = DEP.INN_LONG,
			DEP_INN1 = DEP.INN_LONG,
			DEP_OKTMO = DEP.OKTMO,
			DEP_ADM = DEP.VED,
			0
	from (
	select DT_VKR, DT_ACCOUNT, DT_SGU, DT_EKR, DT_KAU, DT_DEP, DT_DEP_ACC, DT_AP2, 
		KT_VKR, KT_ACCOUNT, KT_SGU, KT_EKR, KT_KAU, KT_DEP, KT_DEP_ACC, KT_AP2, 
		DATE_PROV = @dEND_DATE, SUMMA = sum(P.SUMMA), [TYPE] = 1
	from dbo.AProvByBufferConditionsShort(@dBEGIN_DATE, @dEND_DATE, null, null) P 
	where P.DEP_LINK = @iDep
		--and not exists(select * from dbo.G_PROV1 G1
		--				inner join dbo.G_PROV2 G2 on G2.LINK_UP = G1.LINK and G2.LINK <> LINK_G2 and G1.LINK = LINK_G1
		--				inner join dbo.G_PROV_AP GAP on GAP.LINK_UP = G2.LINK and DB_KR = 1
		--				inner join dbo.S_Accounts SAK on SAK.link = GAP.ACCOUNT and SAK.ZABALANS = 1
		--				inner join dbo.S_Accounts SAD on SAD.CODE = SAK.CODE and P.DT_ACCOUNT = SAD.LINK and SAD.ZABALANS = 1)
		--and not exists(select * from dbo.G_PROV1 G1
		--				inner join dbo.G_PROV2 G2 on G2.LINK_UP = G1.LINK and G2.LINK <> LINK_G2 and G1.LINK = LINK_G1
		--				inner join dbo.G_PROV_AP GAP on GAP.LINK_UP = G2.LINK and DB_KR = 0
		--				inner join dbo.S_Accounts SAD on SAD.link = GAP.ACCOUNT and SAD.ZABALANS = 1
		--				inner join dbo.S_Accounts SAK on SAK.CODE = SAD.CODE and P.KT_ACCOUNT = SAK.LINK and SAK.ZABALANS = 1)
	group by DT_VKR, DT_ACCOUNT, DT_SGU, DT_EKR, DT_KAU, DT_DEP, DT_DEP_ACC, DT_AP2, 
			KT_VKR, KT_ACCOUNT, KT_SGU, KT_EKR, KT_KAU, KT_DEP, KT_DEP_ACC, KT_AP2, 
			P.DEP_LINK
	union all
	select case sum(D_SUMMA) when 0 then null else KBK end, 
			case sum(D_SUMMA) when 0 then null else ACCOUNT end, 
			case sum(D_SUMMA) when 0 then null else SGU end, 
			case sum(D_SUMMA) when 0 then null else EKR end, 
			case sum(D_SUMMA) when 0 then null else KAU end, 
			case sum(D_SUMMA) when 0 then null else DEP end, 
			case sum(D_SUMMA) when 0 then null else DEP_ACC end, 
			case sum(D_SUMMA) when 0 then null else AP2 end, 
			
			case sum(K_SUMMA) when 0 then null else KBK end, 
			case sum(K_SUMMA) when 0 then null else ACCOUNT end, 
			case sum(K_SUMMA) when 0 then null else SGU end, 
			case sum(K_SUMMA) when 0 then null else EKR end, 
			case sum(K_SUMMA) when 0 then null else KAU end, 
			case sum(K_SUMMA) when 0 then null else DEP end, 
			case sum(K_SUMMA) when 0 then null else DEP_ACC end, 
			case sum(K_SUMMA) when 0 then null else AP2 end, 
			@dBegin_DATE,
			case sum(K_SUMMA) when 0 then sum(D_SUMMA) else sum(K_SUMMA) end, 
			[TYPE] = 2
	from dbo.ARestTableByDAte(@dBegin_DATE,null) P
	where P.DEP_LINK = @iDep
	group by KBK, ACCOUNT, SGU, EKR, KAU, DEP, DEP_ACC, DEP_LINK, AP2
	union all
	select case sum(D_SUMMA) when 0 then null else KBK end, 
			case sum(D_SUMMA) when 0 then null else ACCOUNT end, 
			case sum(D_SUMMA) when 0 then null else SGU end, 
			case sum(D_SUMMA) when 0 then null else EKR end, 
			case sum(D_SUMMA) when 0 then null else KAU end,
			case sum(D_SUMMA) when 0 then null else DEP end, 
			case sum(D_SUMMA) when 0 then null else DEP_ACC end, 
			case sum(D_SUMMA) when 0 then null else AP2 end, 
			
			case sum(K_SUMMA) when 0 then null else KBK end, 
			case sum(K_SUMMA) when 0 then null else ACCOUNT end, 
			case sum(K_SUMMA) when 0 then null else SGU end, 
			case sum(K_SUMMA) when 0 then null else EKR end, 
			case sum(K_SUMMA) when 0 then null else KAU end, 
			case sum(K_SUMMA) when 0 then null else DEP end, 
			case sum(K_SUMMA) when 0 then null else DEP_ACC end, 
			case sum(K_SUMMA) when 0 then null else AP2 end, 
			@dEND_DATE,
			case sum(K_SUMMA) when 0 then sum(D_SUMMA) else sum(K_SUMMA) end, 
			[TYPE] = 3
	from dbo.ARestTableByDAte(@dEND_DATE + 1,null) P
	where  P.DEP_LINK = @iDep
	group by KBK, ACCOUNT, SGU, EKR, KAU, DEP, DEP_ACC, DEP_LINK, AP2) P
	left join dbo.KL_KBK KBK_D on KBK_D.LINK = P.DT_VKR
	left join dbo.S_ACCOUNTS SA_D on SA_D.LINK = P.DT_ACCOUNT
	left join dbo.KOSGU SGU_D on SGU_D.LINK = P.DT_SGU
	left join dbo.KOSGU EKR_D on EKR_D.LINK = P.DT_EKR
	left join dbo.KAU KAU_D on KAU_D.LINK = P.DT_KAU
	left join dbo.DICTIONARY_DEPARTMENT DEP_D on DEP_D.LINK = P.DT_DEP
	left join dbo.KL_BUDG_TYPE BUD_D on DEP_D.ved_Budg = BUD_D.LINK
	left join dbo.DEPARTMENT_ACCOUNTS DA_D on DA_D.LINK = P.DT_DEP_ACC
	left join dbo.DOP_CLASSIF DCL_D on DCL_D.LINK = P.DT_AP2

	left join dbo.KL_KBK KBK_K on KBK_K.LINK = P.KT_VKR
	left join dbo.S_ACCOUNTS SA_K on SA_K.LINK = P.KT_ACCOUNT
	left join dbo.KOSGU SGU_K on SGU_K.LINK = P.KT_SGU
	left join dbo.KOSGU EKR_K on EKR_K.LINK = P.KT_EKR   
	left join dbo.KAU KAU_K on KAU_K.LINK = P.KT_KAU
	left join dbo.DICTIONARY_DEPARTMENT DEP_K on DEP_K.LINK = P.KT_DEP
	left join dbo.KL_BUDG_TYPE BUD_K on DEP_K.ved_Budg = BUD_K.LINK
	left join dbo.DEPARTMENT_ACCOUNTS DA_K on DA_K.LINK = P.KT_DEP_ACC
	left join dbo.DOP_CLASSIF DCL_K on DCL_K.LINK = P.KT_AP2
	--только для учреждений
	inner join dbo.DICTIONARY_DEPARTMENT DEP on DEP.LINK = @iDep 
		
	if @debug > 0
	begin	
		select '#DATA', * from dbo.SVOD_REP_CALC_DATA where [UID] = @uGUID
		select '#DATA75', * from dbo.SVOD_REP_CALC_DATA75 where [UID] = @uGUID
	end
	
	insert into dbo.SYS_VALUES([RID], CODE, [VARCHAR])
	values (@uGUID, 'VERSION', @cVersion)
			

END

GO


GRANT EXECUTE ON dbo.[SVODREP_DATA_SELECT] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KI_EXPIR_DOP_DELETE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[KI_EXPIR_DOP_DELETE]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE    PROCEDURE dbo.KI_EXPIR_DOP_DELETE
  @varKSintLINK	int
AS

DECLARE @varKStrancount	int,
	    @varKSObjectLink	int,
	    @varKSEventText	varchar(254)

SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

	SELECT @varKSEventText = 'Справочник дополнение к стажу по сотруднику' 
	+ ': ' + dbo.ku_GetPersFIO(EMPL_LINK) 
	FROM dbo.EMPL_EXPIR_DOP WITH (UPDLOCK) WHERE LINK = @varKSintLINK
	IF @@RowCount = 0 OR @@ERROR <> 0
	BEGIN
		ROLLBACK
		RETURN 2
	END
	DELETE FROM dbo.EMPL_EXPIR_DOP WHERE LINK = @varKSintLINK
	IF @@ERROR <> 0
	BEGIN
		ROLLBACK
		RETURN 7
	END
IF @@TRANCOUNT > @varKStrancount
	BEGIN
		SELECT @varKSObjectLink = LINK FROM S_OBJECTS WHERE CODE = 'KI_EXPIR_DOP'
		EXECUTE WF_GENERATEEVENT 'Удаление из справочника', @varKSEventText, @varKSObjectLink, 'KI_EXPIR_DOP', @varKSintLINK
		COMMIT TRAN
	END
RETURN 0







GO


GRANT EXECUTE ON dbo.[KI_EXPIR_DOP_DELETE] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZV4_PACHKA_CALC_Buffer]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZV4_PACHKA_CALC_Buffer]

GO

CREATE   PROCEDURE [dbo].SA_SZV4_PACHKA_CALC_Buffer (@BufferCode varchar(10), @link int, @Year int, @Month tinyint) 
AS

IF @Year < 2010
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer1 @BufferCode, @link, @Year, @Month

IF @Year >= 2010 AND @Year <= 2012	
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer2 @BufferCode, @link, @Year, @Month	

IF @Year >= 2013 AND @Year <= 2014	
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer3 @BufferCode, @link, @Year, @Month	

IF dbo.DateEndOfMonth(dbo.ConvertDMY2Date('01',@Month,@Year)) <='20150331'
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer4 @BufferCode, @link, @Year, @Month		

IF dbo.DateEndOfMonth(dbo.ConvertDMY2Date('01',@Month,@Year)) >='20150401'
	EXEC dbo.SA_SZV4_PACHKA_CALC_Buffer_2015_6 @BufferCode, @link, @Year, @Month		


GO


GRANT EXECUTE ON dbo.[SA_SZV4_PACHKA_CALC_Buffer] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_VM_OS1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_VM_OS1]

GO

/* ВЕДОМОСТЬ ДВИЖЕНИЯ ПО НА */
CREATE PROCEDURE [dbo].BK_REPORT_VM_OS1
	@dDateB1 datetime,	-- Начало расч. периода --
	@dDateE1 datetime,	-- Конец расч. периода --
	@cVal1 char(1), @nOtborLink1 int,	-- Отбор субсчетов  "Основные средства" --
	@cVal2 char(1), @nOtborLink2 int,	-- Отбор "Материальные ценности" --
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@intPRINT_KBK	int,	-- Отображать КБК --
	@intPRINT_SGU	int,	-- Отображать СГУ --
	@strSINTH_ACCT_CODE	VARCHAR (300),
	@cCODE_AP VARCHAR (30),	-- --
        @intSVOD_ZB     int     -- Сводный отчет (ЦБ) --
AS
BEGIN
	DECLARE @intLINK_DEP	INT,
		@cDEP_CODE	VARCHAR (20),
		@cDEP_NAME	VARCHAR (254)

	DECLARE @ACCT_TABLE TABLE (LINK_ACCT INT)
	IF LEN (@cVal1) > 0
		INSERT INTO @ACCT_TABLE
		SELECT RECORD
		FROM dbo.OBJECT_VAR_ACCT
		WHERE LINK_UP = @nOtborLink1
	ELSE
		INSERT INTO @ACCT_TABLE
		SELECT ACCT.LINK
		FROM dbo.BK_GetAcctTableByCode (DEFAULT, DEFAULT, DEFAULT, DEFAULT) ACCT
		INNER JOIN dbo.BK_GetValuesTableBySTR (@strSINTH_ACCT_CODE, DEFAULT) T1
			ON (T1.VALUE = ACCT.cSINTH)

	DECLARE @AP_TABLE TABLE (LINK_AP INT, AP_CODE VARCHAR (20), AP_NAME VARCHAR (254))
	IF LEN (@cVal2) > 0
	BEGIN
		IF @cCODE_AP = 'INVENTORY'
			INSERT INTO @AP_TABLE
			SELECT OV.RECORD,
				INV.CODE,
				INV.[NAME]
			FROM dbo.OBJECT_VAR_INVENTORY OV, dbo.INVENTORY_CARD INV
			WHERE OV.LINK_UP = @nOtborLink2
				AND INV.LINK = OV.RECORD

		IF @cCODE_AP = 'NOMENCLATURE'
			INSERT INTO @AP_TABLE
			SELECT OV.RECORD,
				INV.CODE,
				INV.[NAME]
			FROM dbo.OBJECT_VAR_NOMENCLATURE OV, dbo.BV_NOMENCLATURE INV
			WHERE OV.LINK_UP = @nOtborLink2
				AND INV.LINK = OV.RECORD
	END
	ELSE
	BEGIN
		IF @cCODE_AP = 'INVENTORY'
			INSERT INTO @AP_TABLE
			SELECT INV.LINK,
				INV.CODE,
				INV.[NAME]
			FROM dbo.INVENTORY_CARD INV

		IF @cCODE_AP = 'NOMENCLATURE'
			INSERT INTO @AP_TABLE
			SELECT INV.LINK,
				INV.CODE,
				INV.[NAME]
			FROM dbo.BV_NOMENCLATURE INV
	END

	--- ОТБОР КБК --- 
	DECLARE @TAB_KBK TABLE (LINK_KBK INT, KBK_CODE VARCHAR (30))
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @TAB_KBK
		SELECT AP.LINK,
			AP.CODE
		FROM dbo.KL_KBK AP 
		INNER JOIN dbo.OBJECT_VAR_KBK OVR ON (OVR.RECORD = AP.LINK)
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		INSERT INTO @TAB_KBK
		SELECT LINK_AP, AP_CODE
		FROM dbo.BK_GetTableDictionByAP ('KBK')

/*
	SELECT @intLINK_DEP = LINK,
		@cDEP_CODE = CODE,
		@cDEP_NAME = [NAME]
	FROM DICTIONARY_DEPARTMENT
	WHERE LINK = COALESCE (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
*/

	/* -- Параметры организации -- */
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @intLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @intLINK_DEP IS NULL
		SET @intLINK_DEP = dbo.GetOwnDepLink()

	SELECT @intLINK_DEP = LINK,
		@cDEP_CODE = CODE,
		@cDEP_NAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @intLINK_DEP

	IF @intSVOD_ZB = 1
		SET @cDEP_NAME = RTRIM (@cDEP_NAME) + ' (ЦБ)'

	DECLARE @TABLE_RES TABLE (LINK_DOC INT, DATE_DOC DATETIME, cDATE_DOC VARCHAR (10),
		DOC_NUM VARCHAR (30), DOC_NAME VARCHAR (254),
		ACCT_CODE VARCHAR (20),
		ACCT_CD_D VARCHAR (60), ACCT_CD_K VARCHAR (60),
		AP_CODE VARCHAR (20), AP_NAME VARCHAR (254),
		QTY NUMERIC (28,4), SUMMA NUMERIC (28,4),
		DEP_NAME VARCHAR (254))
 
	INSERT INTO @TABLE_RES
	SELECT G.LINK,
		G.DATE,
		CONVERT (VARCHAR (10), G.DATE, 104),
		G.NUMBER,
		dbo.JurnalProvGetDocKind (G.LINK, G.OBJECT),
		SA1.CODE, 
		dbo.BK_GetAcctFullCode1 (GAP_D.ACCOUNT, GAP_D.KBK, GAP_D.SGU, @intPRINT_KBK, @intPRINT_SGU, @dDateE1),
		dbo.BK_GetAcctFullCode1 (GAP_K.ACCOUNT, GAP_K.KBK, GAP_K.SGU, @intPRINT_KBK, @intPRINT_SGU, @dDateE1),
		AP.AP_CODE,
		AP.AP_NAME,
		G2.QUANTITY,
		G2.SUMMA,
		@cDEP_NAME
	FROM dbo.G_PROV G
	INNER JOIN dbo.G_PROV1 G1 ON (G1.LINK_UP = G.LINK)
	INNER JOIN dbo.G_PROV2 G2 ON (G2.LINK_UP = G1.LINK)
	INNER JOIN dbo.G_PROV_AP GAP_D ON (GAP_D.LINK_UP = G2.LINK
		AND GAP_D.DB_KR = 0)
	INNER JOIN dbo.G_PROV_AP GAP_K ON (GAP_K.LINK_UP = G2.LINK
		AND GAP_K.DB_KR = 1)
	INNER JOIN @ACCT_TABLE SA ON (SA.LINK_ACCT = GAP_D.ACCOUNT
		OR SA.LINK_ACCT = GAP_K.ACCOUNT)
/*	INNER JOIN @TAB_KBK K1 ON (K1.LINK_KBK = ISNULL (GAP_D.KBK, 0)
		OR K1.LINK_KBK = ISNULL (GAP_K.KBK, 0))
*/	INNER JOIN @AP_TABLE AP ON (AP.LINK_AP = CASE 
							WHEN @cCODE_AP = 'NOMENCLATURE' THEN GAP_D.NOMEN
							WHEN @cCODE_AP = 'INVENTORY' THEN GAP_D.INV
						END
		OR AP.LINK_AP = CASE 
							WHEN @cCODE_AP = 'NOMENCLATURE' THEN GAP_K.NOMEN
							WHEN @cCODE_AP = 'INVENTORY' THEN GAP_K.INV
						END
		)
	INNER JOIN dbo.S_ACCOUNTS SA1 ON (SA1.LINK = SA.LINK_ACCT)
--	WHERE G.DEP = @intLINK_DEP
	WHERE ((@intSVOD_ZB = 1 AND G.DEP IN (SELECT LINK FROM dbo.DEPARTMENTS WHERE ZB = 1 OR [TYPE] = 4))
			OR (@intSVOD_ZB = 0 AND G.DEP = @intLINK_DEP))
		AND G.DATE_PROV BETWEEN @dDateB1 AND @dDateE1
		AND (ISNULL (GAP_D.KBK, 0) IN (SELECT LINK_KBK FROM @TAB_KBK)
			OR ISNULL (GAP_K.KBK, 0) IN (SELECT LINK_KBK FROM @TAB_KBK))

	SELECT * FROM @TABLE_RES
		ORDER BY AP_CODE, ACCT_CODE, DATE_DOC
END


GO


GRANT EXECUTE ON dbo.[BK_REPORT_VM_OS1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_ESN_PROV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_ESN_PROV]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.SD_O_ESN_PROV

@varKSparLINK int
AS

IF (SELECT SO.CODE FROM S_OBJECTS SO,SDOC DOC WHERE DOC.LINK = @varKSparLINK AND
		 DOC.OBJECT = SO.LINK) <> 'DOCUMENTS_DEDUCT_ESN_G'
	RETURN 5

IF EXISTS (SELECT * FROM DBO.CALCULATE_JURNAL WHERE LINK_DOC = @varKSparLINK)
BEGIN
		RAISERROR('Документ уже проведен!', 11, 1)
		RETURN 0
END	

Declare @varKStrancount int

SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN


DECLARE @LinkEKR213 int
SELECT @LinkEKR213 = LINK FROM dbo.DICTIONARY_ITEM WHERE CODE = '213'

EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,0

INSERT INTO dbo.CALCULATE_JURNAL (LINK_EMPL,LINK_PAYS,LINK_DOC,PERIOD_BEGIN,PERIOD_END,DAYS,HOURS,SUMMA_BASE,SUMMA,ORDERS,DATE_BEGIN,DATE_END,LINK_DEP,LINK_ORG,LINK_VKR,LINK_EKR,TARIF,SPECO,PROCENT,LINK_VKR2)
SELECT 
		[LINK_EMPL] = T.LINK_EMPL,
		[LINK_PAYS] = T.LINK_PAY,
		[LINK_DOC] = s.LINK,
	  	[PERIOD_BEGIN] = dbo.DateBeginOfMonth(s.DATE),	
		[PERIOD_END] = dbo.DateEndOfMonth(s.DATE),	
		[DAYS] =0,
		[HOURS] = 0,
		[SUMMA_BASE] = T.SUMMA_BASE,
		[SUMMA] = T.SUMMA,
		[ORDERS] = T.ORDERS,
		[DATE_BEGIN] = dbo.DateBeginOfMonth(S.DATE_CALC), 
		[DATE_END] = dbo.DateEndOfMonth(S.DATE_CALC), 
		[LINK_DEP] = S.LINK_DEP,
		[LINK_ORG] = NULL,
		[LINK_VKR] = T.LINK_VKR,
		T.LINK_EKR,--CASE WHEN E.CODE IN ('211') THEN @LinkEKR213 ELSE T.LINK_EKR END
		T.TARIF,
		T.SPECO,
		T.PERC,
		ISNULL(T.[LINK_VKR2],T.[LINK_VKR])
FROM 
	dbo.SDOC S
	inner join dbo.SDOC_ESN_TABLE T on S.link = T.LINK_UP
	inner join dbo.USER_INFO UI on 1=1
	INNER JOIN dbo.KOSGU E ON E.LINK = T.LINK_EKR
WHERE 
	UI.SID = SUSER_SID() 
	and s.LINK = @varKSparLINK 
	and T.SUMMA<>0


EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,1


IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN
RETURN 0

GO


GRANT EXECUTE ON dbo.[SD_O_ESN_PROV] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNC_JOURN_DELETE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNC_JOURN_DELETE]

GO



/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.SYNC_JOURN_DELETE
	@varKSintLINK	int
AS
DECLARE @varKStrancount	int,
		@varKSObjectLink	int,
		@varKSEventText	varchar(254)

SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN
	SELECT @varKSEventText = 'Журнал синхронизации с ПК Смета-Смарт ' + ' ' + convert(VARCHAR(10), period,104) + ';'+  LTRIM(RTRIM(HOSTNAME)) + ';' + LTRIM(RTRIM(LOGINAME)) 
	FROM dbo.SYNCH_SMETA_SMART_JOURN WITH (UPDLOCK) WHERE LINK = @varKSintLINK
	IF @@RowCount = 0 OR @@ERROR <> 0
	BEGIN
		ROLLBACK
		RETURN 2
	END

	DELETE FROM dbo.SYNCH_SMETA_SMART_JOURN WHERE LINK = @varKSintLINK
	IF @@ERROR <> 0
	BEGIN
		ROLLBACK
		RETURN 7
	END

IF @@TRANCOUNT > @varKStrancount
	BEGIN
		SELECT @varKSObjectLink = LINK FROM S_OBJECTS WHERE CODE = 'SYNCH_SMETA_SMART_JOURNAL'
		EXECUTE WF_GENERATEEVENT 'Удаление из журнала синхронизации', @varKSEventText, @varKSObjectLink, 'SYNCH_SMETA_SMART_JOURNAL',@varKSintLINK
		COMMIT TRAN
	END
RETURN 0







GO


GRANT EXECUTE ON dbo.[SYNC_JOURN_DELETE] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_REPORT_VM1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_REPORT_VM1]

GO

--	ВЕДОМОСТЬ ДВИЖЕНИЯ ПО СУБСЧЕТУ --
CREATE PROCEDURE dbo.BK_REPORT_VM1
	@dDateB1 datetime,	-- Начало расч. периода --
	@dDateE1 datetime,	-- Конец расч. периода --
	@intLink_Acct	INT,	-- СУБСЧЕТ --
	@intPRINT_KBK	int,	-- Отображать КБК --
	@intPRINT_SGU	int,	-- Отображать СГУ --
	@cVal_KBK char(1), @nOtborLinkKBK int,	-- Отбор КБК --
	@intSVOD_ZB INT,
	@cVal_Dep char(1), @nOtborLinkDEP int,	-- Отбор учреждений --
	@cVal_Emp char(1), @nOtborLinkEMP int,	-- Отбор сотрудников --
	@cVal_KAU char(1), @nOtborLinkKAU int,	-- Отбор КАУ --
	@cVal_DOP_CL char(1), @nOtborLinkDOP_CL int,	-- Отбор доп. кл-ции --
	@strAP_CODE	VARCHAR (60) = '',
	@grpAP	INT = 0,
	@grpKBK	INT = 0,
	@grpREST INT = 0
AS
BEGIN
	DECLARE
		@intLINK_DEP	INT,
		@cDEP_CODE	VARCHAR (20),
		@cDEP_NAME	VARCHAR (254),
		@strTITLE	VARCHAR (20),
		@dDATE_NEXT	DATETIME,
		@iKBK_REST	TINYINT,
		@iAP_REST	TINYINT

	SELECT @grpKBK = ISNULL (@grpKBK, 0)
	SELECT @grpAP = ISNULL (@grpAP, 0)

	--- ОТБОР КБК --- 
	DECLARE @T_KBK TABLE (LINK	INT)
	IF LEN (@cVal_KBK) > 0
		INSERT INTO @T_KBK
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_KBK OVR 
		WHERE OVR.LINK_UP = @nOtborLinkKBK
	ELSE
		SET @nOtborLinkKBK = 0

	--- ОТБОР ДОП. КЛ-ЦИИ --- 
	DECLARE @T_AP2 TABLE (LINK	INT)
	IF LEN (@cVal_DOP_CL) > 0
		INSERT INTO @T_AP2
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_DOP_CLASSIF OVR 
		WHERE OVR.LINK_UP = @nOtborLinkDOP_CL
	ELSE
		SET @nOtborLinkDOP_CL = 0

	--- ОТБОР ПОКАЗАТЕЛЕЙ ---
	DECLARE @T_AP0 TABLE
		(LINK [INT],
		CODE  [VARCHAR] (20),
		NAME [VARCHAR] (254))
		
	INSERT INTO @T_AP0
	SELECT
		T1.LINK_AP,
		T1.AP_CODE,
		T1.AP_NAME
	FROM dbo.BK_GetTableDictionByAP (@strAP_CODE) T1

--	SELECT * FROM @T_AP0

	--- Отбор учреждений --- 
	DECLARE @T_DEP TABLE (LINK	INT)
	
	IF LEN(@cVal_Dep)>0
		INSERT INTO @T_DEP
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_DEPARTMENT OVR
		WHERE OVR.LINK_UP = @nOtborLinkDEP
	ELSE
		SET @nOtborLinkDEP = 0

	--- Отбор сотрудников --- 
	DECLARE @T_EMP TABLE (LINK	INT)

	IF LEN (@cVal_Emp) > 0 
		INSERT INTO @T_EMP
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_EMPL OVR
		WHERE OVR.LINK_UP = @nOtborLinkEMP
	ELSE
		SET @nOtborLinkEMP = 0

	--- Отбор КАУ --- 
	DECLARE @T_KAU TABLE (LINK	INT)

	IF LEN (@cVal_KAU) > 0 
		INSERT INTO @T_KAU
		SELECT
			OVR.RECORD
		FROM dbo.OBJECT_VAR_KAU OVR
		WHERE OVR.LINK_UP = @nOtborLinkKAU
	ELSE
		SET @nOtborLinkKAU = 0

	--- Заглушка, если не выбран показатель --- 
	SET @strAP_CODE = ISNULL (@strAP_CODE, '')
	IF @strAP_CODE = '' AND NOT EXISTS (SELECT * FROM @T_AP0)
		INSERT INTO @T_AP0
		VALUES (0, '', '')

	-- Параметры организации -- 
	SET @intSVOD_ZB = ISNULL (@intSVOD_ZB, 0)
	SET @intLINK_DEP = dbo.BK_GetDepZB ()

	IF @intSVOD_ZB = 1 OR @intLINK_DEP IS NULL
		SET @intLINK_DEP = dbo.GetOwnDepLink()

	SELECT
		@intLINK_DEP = LINK,
		@cDEP_CODE = CODE,
		@cDEP_NAME = [NAME]
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = @intLINK_DEP

	IF @intSVOD_ZB = 1
		SET @cDEP_NAME = RTRIM (@cDEP_NAME) + ' (ЦБ)'

	-- Документы --
	DECLARE @T_DOCUMENTS TABLE
		(LINK	INT IDENTITY (1, 1),
		LINK_DOC INT,
		DOC_DATE DATETIME,
		DOC_NUM VARCHAR (30), DOC_NAME VARCHAR (254),
		ACCOUNT	INT,
		AP0 INT,
		KBK	INT, 
		AP2	INT, 
		ACCT_KOR VARCHAR (60),
		D_QTY NUMERIC (28,4) DEFAULT (0), D_SUMMA NUMERIC (28,4) DEFAULT (0),
		K_QTY NUMERIC (28,4) DEFAULT (0), K_SUMMA NUMERIC (28,4) DEFAULT (0),
		DIN_QTY NUMERIC (28,4) DEFAULT (0), DIN_SUM NUMERIC (28,4) DEFAULT (0),
		KIN_QTY NUMERIC (28,4) DEFAULT (0), KIN_SUM NUMERIC (28,4) DEFAULT (0),
		DOUT_QTY NUMERIC (28,4) DEFAULT (0), DOUT_SUM NUMERIC (28,4) DEFAULT (0),
		KOUT_QTY NUMERIC (28,4) DEFAULT (0), KOUT_SUM NUMERIC (28,4) DEFAULT (0),
		DEP_LINK INT
		)

	--SELECT * FROM dbo.BK_GetTableOborotByDate1 (@dDateB1, @dDateE1, DEFAULT, @intLink_Acct, DEFAULT) T1

	INSERT INTO @T_DOCUMENTS
		(
		LINK_DOC,
		DOC_DATE,
		DOC_NUM,
		DOC_NAME,
		ACCOUNT,
		AP0,
		KBK, 
		AP2, 
		ACCT_KOR,
		D_QTY, D_SUMMA,
		K_QTY, K_SUMMA,
		DEP_LINK
		)

	SELECT
		T1.LINK_DOC,
		G.[DATE],
		G.NUMBER,
		dbo.JurnalProvGetDocKind (G.LINK, G.[OBJECT]),
		T1.ACCOUNT,
		CASE
			WHEN @strAP_CODE = 'DEP' THEN ISNULL (T1.DEP, 0)
			WHEN @strAP_CODE = 'EMP' THEN ISNULL (T1.EMP, 0)
			WHEN @strAP_CODE = 'KAU' THEN ISNULL (T1.KAU, 0)
			ELSE 0
		END,
		T1.KBK,
		T1.AP2,
		dbo.BK_GetAcctFullCode1 (GAP1.ACCOUNT, GAP1.KBK, GAP1.SGU, @intPRINT_KBK, @intPRINT_SGU, @dDateE1),
		CASE 
			WHEN T1.DB_KR = 0 AND SA1.KSU = 1 THEN T1.QTY
			ELSE 0
		END,
		CASE 
			WHEN T1.DB_KR = 0 THEN T1.SUMMA
			ELSE 0
		END,
		CASE 
			WHEN T1.DB_KR = 1 AND SA1.KSU = 1 THEN T1.QTY
			ELSE 0
		END,
		CASE 
			WHEN T1.DB_KR = 1 THEN T1.SUMMA
			ELSE 0
		END,
		T1.DEP_LINK	
	FROM dbo.BK_GetTableOborotByDate1 (@dDateB1, @dDateE1, DEFAULT, @intLink_Acct, DEFAULT) T1
	INNER JOIN dbo.G_PROV G ON (G.LINK = T1.LINK_DOC)
	LEFT JOIN dbo.G_PROV_AP GAP1 ON (GAP1.LINK_UP = T1.LINK_G2
		AND (T1.DB_KR = 0 AND GAP1.DB_KR = 1
			OR T1.DB_KR = 1 AND GAP1.DB_KR = 0))
	INNER JOIN dbo.S_ACCOUNTS SA1 ON (SA1.LINK = T1.ACCOUNT)
	WHERE (@intSVOD_ZB = 1 
			OR @intSVOD_ZB = 0 AND T1.DEP_LINK = @intLINK_DEP)
		AND (@nOtborLinkKBK = 0
			OR @nOtborLinkKBK > 0 AND EXISTS (SELECT * FROM @T_KBK TTT WHERE TTT.LINK = T1.KBK))
		AND (@nOtborLinkDOP_CL = 0
			OR @nOtborLinkDOP_CL > 0 AND EXISTS (SELECT * FROM @T_AP2 TTT WHERE TTT.LINK = T1.AP2))
		AND (@nOtborLinkDEP = 0
			OR @nOtborLinkDEP > 0 AND EXISTS (SELECT * FROM @T_DEP TTT WHERE TTT.LINK = T1.DEP))
		AND (@nOtborLinkEMP = 0
			OR @nOtborLinkEMP > 0 AND EXISTS (SELECT * FROM @T_EMP TTT WHERE TTT.LINK = T1.EMP))
		AND (@nOtborLinkKAU = 0
			OR @nOtborLinkKAU > 0 AND EXISTS (SELECT * FROM @T_KAU TTT WHERE TTT.LINK = T1.KAU))

	SELECT @strTITLE = CASE
							WHEN @strAP_CODE = 'EMP' THEN 'Сотрудник: '
							WHEN @strAP_CODE = 'DEP' THEN 'Учр.: '
							WHEN @strAP_CODE = 'KAU' THEN 'КАУ: '
							ELSE ''
						END

	-- Остатки --
	SET @dDATE_NEXT = DATEADD (DAY, 1, @dDateE1)
	
--select '@dDateB1', * from dbo.ARestTableByDate (@dDateB1, 4660) 
--select '@dDATE_NEXT', * from dbo.ARestTableByDate (@dDATE_NEXT, 4660) 
	
	INSERT INTO @T_DOCUMENTS
		(LINK_DOC,
		ACCOUNT,
		AP0,
		KBK,
		AP2,
		DEP_LINK,
		DIN_QTY, DIN_SUM,
		KIN_QTY, KIN_SUM,
		DOUT_QTY, DOUT_SUM,
		KOUT_QTY, KOUT_SUM
		)
	
	SELECT
		0,
		T1.ACCOUNT,
		T1.AP0,
		T1.KBK,
		T1.AP2,
		T1.DEP_LINK,
		SUM (R1.DIN_QTY), SUM (R1.DIN_SUM),
		SUM (R1.KIN_QTY), SUM (R1.KIN_SUM),
		SUM (R1.DOUT_QTY), SUM (R1.DOUT_SUM),
		SUM (R1.KOUT_QTY), SUM (R1.KOUT_SUM)
	FROM (
		SELECT 
			TTT.ACCOUNT,
			TTT.AP0,
			TTT.KBK,
			TTT.AP2,
			TTT.DEP_LINK
		FROM @T_DOCUMENTS TTT
		GROUP BY
			TTT.ACCOUNT,
			TTT.AP0,
			TTT.KBK,
			TTT.AP2,
			TTT.DEP_LINK
		)	AS T1
	LEFT JOIN (
		SELECT
			R.ACCOUNT,
			CASE
				WHEN @strAP_CODE = 'DEP' THEN ISNULL (R.DEP, 0)
				WHEN @strAP_CODE = 'EMP' THEN ISNULL (R.EMP, 0)
				WHEN @strAP_CODE = 'KAU' THEN ISNULL (R.KAU, 0)
				ELSE 0
			END AS AP0,
			ISNULL (R.KBK, 0) AS KBK,
			ISNULL (R.AP2, 0) AS AP2,
			R.D_QUANTITY AS DIN_QTY,
			R.D_SUMMA AS DIN_SUM,
			R.K_QUANTITY AS KIN_QTY,
			R.K_SUMMA AS KIN_SUM,
			DOUT_QTY = 0.00,
			DOUT_SUM = 0.00,
			KOUT_QTY = 0.00,
			KOUT_SUM = 0.00,
			R.DEP_LINK
		FROM dbo.ARestTableByDate (@dDateB1, @intLink_Acct) R
		
		UNION ALL
		
		SELECT
			R.ACCOUNT,
			CASE
				WHEN @strAP_CODE = 'DEP' THEN ISNULL (R.DEP, 0)
				WHEN @strAP_CODE = 'EMP' THEN ISNULL (R.EMP, 0)
				WHEN @strAP_CODE = 'KAU' THEN ISNULL (R.KAU, 0)
				ELSE 0
			END AS AP0,
			ISNULL (R.KBK, 0) AS KBK,
			ISNULL (R.AP2, 0) AS AP2,
			DIN_QTY = 0.00,
			KIN_QTY = 0.00,
			DIN_SUM = 0.00,
			KIN_SUM = 0.00,
			R.D_QUANTITY AS DOUT_QTY,
			R.D_SUMMA AS DOUT_SUM,
			R.K_QUANTITY AS KOUT_QTY,
			R.K_SUMMA AS KOUT_SUM,
			R.DEP_LINK
		FROM dbo.ARestTableByDate (@dDATE_NEXT, @intLink_Acct) R) AS R1 ON
				(
				R1.ACCOUNT = T1.ACCOUNT
				AND R1.AP0 = T1.AP0
				AND R1.KBK = T1.KBK
				AND R1.AP2 = T1.AP2
				AND R1.DEP_LINK = T1.DEP_LINK
				)
	GROUP BY
		T1.ACCOUNT,
		T1.AP0,
		T1.KBK,
		T1.AP2,
		T1.DEP_LINK
	HAVING
		SUM (R1.DIN_QTY) <> 0 OR SUM (R1.DIN_SUM) <> 0
		OR SUM (R1.KIN_QTY) <> 0 OR SUM (R1.KIN_SUM) <> 0
		OR SUM (R1.DOUT_QTY) <> 0 OR SUM (R1.DOUT_SUM) <> 0
		OR SUM (R1.KOUT_QTY) <> 0 OR SUM (R1.KOUT_SUM) <> 0
			
--  SELECT '@T_DOCUMENTS1', * FROM @T_DOCUMENTS
  
	SELECT
		@iKBK_REST	=	CASE
							WHEN ISNULL (@grpKBK, 0) = 1 AND ISNULL (@grpREST, 0) = 1 THEN 1
							ELSE 0
						END,	
		@iAP_REST	=	CASE
							WHEN ISNULL (@grpAP, 0) = 1 AND ISNULL (@grpREST, 0) = 1 THEN 1
							ELSE 0
						END	

	SELECT
		T1.*,
		@strTITLE AS AP_TITLE,
		@dDATE_NEXT AS DATE_NEXT,
		@cDEP_NAME AS DEP_NAME,
		SA.CODE AS ACCT_CODE,
		KBK.CODE AS KBK_CODE,
		AP0.CODE AS AP_CODE,
		AP0.NAME AS AP_NAME,
		ISNULL (RTRIM (AP0.NAME), '') + '(' + ISNULL (RTRIM (AP0.CODE), '') + ')' AS AP_NAME1,	
		AP2.CODE AS DOP_CODE,
		@iKBK_REST AS KBK_REST,
		@iAP_REST AS AP_REST
	FROM @T_DOCUMENTS T1
	INNER JOIN dbo.S_ACCOUNTS SA ON (SA.LINK = T1.ACCOUNT)
	LEFT JOIN dbo.KL_KBK KBK ON (KBK.LINK = T1.KBK)
	LEFT JOIN dbo.DOP_CLASSIF AP2 ON (AP2.LINK = T1.AP2)
	LEFT JOIN @T_AP0 AP0 ON (AP0.LINK = T1.AP0)
	ORDER BY
		SA.CODE,
		KBK.CODE,
		T1.KBK,
		AP0.NAME,
		T1.AP0,
		T1.DOC_DATE,
		T1.DOC_NAME,
		T1.DOC_NUM

END

GO

GRANT EXECUTE ON dbo.[BK_REPORT_VM1] TO PUBLIC

GO

--Расширенные свойства--

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BM_CARD_LBO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BM_CARD_LBO]

GO




CREATE     PROCEDURE dbo.BM_CARD_LBO
		@dDate1		datetime,
		@intVid		int,
		@intLinkAccDep	varchar(5),
		@intAccShortCode int
AS 

declare	@dDateBM	datetime,
		@dDateBY	datetime,
		@strOrgOur	varchar(254),
		@intPRN_KBK	INT,
		@intPRN_SGU	INT,
		@strOrgCode	varchar(254)
		
declare  @varKStRestSum table  (account 	int,
				kbk	int,
				sgu	int,
				summa	numeric(18,2))		

declare @varKStOborotSum table (account 	int,
				kbk	int,
				sgu	int,
				summa	numeric(18,2))		

set 		@dDateBY		= dbo.DateBeginOfYear(@dDate1)
set 		@dDateBM		= dbo.DateBeginOfMonth(@dDate1)
select	@strOrgOur = rtrim(t.[name]), @strOrgCode = rtrim(t.[code])
from 	treasury t inner join
	departments d on d.tofk_link = t.link
			 and t.link = dbo.GetOwnDepLink()
--select * from buffer
exec BufferClear 'ACCOUNT_FOR_LBO'

IF ISNULL (@intAccShortCode, 0) = 0
BEGIN
	SET	@intPRN_KBK	=	0
	SET	@intPRN_SGU	=	0
END
ELSE
BEGIN
	SET	@intPRN_KBK	=	1
	SET	@intPRN_SGU	=	1
END

insert into buffer (link, [id])
select link,'ACCOUNT_FOR_LBO'
from s_accounts 
where @intVid = 1 and CODE = '1.501.15' or
	@intVid = 2 and CODE = '1.501.14' or
	@intVid = 3 and CODE = '1.503.15'or
	@intVid = 4 and CODE = '1.503.14'

if ISNULL (@intAccShortCode, 0) = 0
begin
	insert into @varKStRestSum
	select	[account]	= account,
		[kbk]		= null,
		[sgu]		= null,
		[summa]		= case	when @intVid = 1 or @intVid = 3 then sum(summa)
					when @intVid = 2 or @intVid = 4 then sum(-summa) end
	FROM (select ACCOUNT = DT_ACCOUNT, DEP_ACC = KT_DEP_ACC, summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBY,@dDate1, 'ACCOUNT_FOR_LBO', null) union all
			select KT_ACCOUNT, DT_DEP_ACC, -summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBY,@dDate1, null, 'ACCOUNT_FOR_LBO')) S
	where S.DEP_ACC = @intLinkAccDep and 
			S.DEP_LINK = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
	group by account
	
	insert into @varKStOborotSum
	select	[account]	= account,
		[kbk]		= null,
		[sgu]		= null,
		[summa]		= case	when @intVid = 1 or @intVid = 3 then sum(summa)
					when @intVid = 2 or @intVid = 4 then sum(-summa) end
	FROM (select ACCOUNT = DT_ACCOUNT, DEP_ACC = KT_DEP_ACC, summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBM,@dDate1, 'ACCOUNT_FOR_LBO', null) union all
			select KT_ACCOUNT, DT_DEP_ACC,  -summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBM,@dDate1, null, 'ACCOUNT_FOR_LBO')) S
	where S.DEP_ACC = @intLinkAccDep and 
			S.DEP_LINK = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
	group by account
end
else
begin
	insert into @varKStRestSum
	select	[account]	= account,
		[kbk]		= kbk,
		[sgu]		= sgu,
		[summa]		= case	when @intVid = 1 or @intVid = 3 then sum(summa)
					when @intVid = 2 or @intVid = 4 then sum(-summa) end
	FROM (select ACCOUNT = DT_ACCOUNT, DEP_ACC = KT_DEP_ACC, KBK = DT_VKR, SGU = DT_SGU,  summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBY,@dDate1, 'ACCOUNT_FOR_LBO', null) union all
			select KT_ACCOUNT, DT_DEP_ACC, KT_VKR, KT_SGU,  -summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBY,@dDate1, null, 'ACCOUNT_FOR_LBO')) S
	where S.DEP_ACC = @intLinkAccDep and 
			S.DEP_LINK = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
	group by account, kbk, /*ekr, */sgu
	
	insert into @varKStOborotSum
	select	[account]	= account,
		[kbk]		= kbk,
		[sgu]		= sgu,
		[summa]		= case	when @intVid = 1 or @intVid = 3 then sum(summa)
					when @intVid = 2 or @intVid = 4 then sum(-summa) end
	FROM (select ACCOUNT = DT_ACCOUNT, DEP_ACC = KT_DEP_ACC, KBK = DT_VKR, SGU = DT_SGU,  summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBM,@dDate1, 'ACCOUNT_FOR_LBO', null) union all 
			select KT_ACCOUNT, DT_DEP_ACC, KT_VKR, KT_SGU,  -summa, DEP_LINK from dbo.AProvByBufferConditionsShort(@dDateBM,@dDate1, null, 'ACCOUNT_FOR_LBO')) S
	where S.DEP_ACC = @intLinkAccDep and 
			S.DEP_LINK = isnull (dbo.BK_GetDepZB (), dbo.GetOwnDepLink())
	group by account, kbk, /*ekr, */sgu
end

select 	[acct2]	=	dbo.BK_GetAcctFullCode1 (rs.ACCOUNT, rs.KBK, rs.SGU, @intPRN_KBK, @intPRN_SGU, @dDate1),
	[sum1]	= 	rs.summa,
	[sum2]	= 	os.summa,
	[org_name]=	@strOrgOur,
	[org_code]=	@strOrgCode
from	@varKStRestSum rs	
left join @varKStOborotSum os	on	rs.account = os.account
					and	(rs.kbk = os.kbk or (rs.kbk is null and os.kbk is null))
					and	(rs.sgu = os.sgu or (rs.sgu is null and os.sgu is null))
	
				



GO


GRANT EXECUTE ON dbo.[BM_CARD_LBO] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZVM_16_PREPARE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZVM_16_PREPARE]

GO
CREATE PROCEDURE dbo.SA_SZVM_16_PREPARE @LSF INT
AS

DECLARE
	@START_DATE DATETIME, @EndOfMonth DATETIME, @BeginOfMonth DATETIME, @DEP_LINK INT , @PERIOD_NUM INT, 
	@BYearDate DATETIME, @nYEAR INT, @nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT

SELECT
	@DEP_LINK = Link_Organization,
	@START_DATE = BEGIN_DATE,
	@PERIOD_NUM = PERIOD_NUMBER
FROM
	report_saved_forms
WHERE
	link_saved_form = @LSF
	
--exec dbo.RI_REPORT_FORMULA_ALL_CALCULATE '2016-02-01 00:00:00','2016-02-29 00:00:00',4,2,42451

SET @EndOfMonth = dbo.DateENDOfMONTH(@START_DATE)
SET @BeginOfMonth = dbo.DateBeginOfMonth(@START_DATE)


SELECT
	@nYEAR = YEAR(@START_DATE),
	@nMONTH1 = MONTH(@START_DATE)-2,
	@nMONTH2 = MONTH(@START_DATE)-1,
	@nMONTH3 = MONTH(@START_DATE)

DECLARE @varKSname VARCHAR(100), @varKSSQL VARCHAR(8000)
SET @varKSname = (SELECT ID FROM BUFFER WHERE LINK = -116 AND SID = SUSER_SID() )

--------------------------------------------
/********СРЕДНЕСПИСОЧНАЯ ЧИСЛЕННОСТЬ**********/
DECLARE @NAvgCount NUMERIC(18,0)

/* Среднесписочная численность мужчин и женщин */
Set @NAvgCount = convert(numeric(18,0), dbo.sa_ssch_empls(@BeginOfMonth, @EndOfMonth, @DEP_LINK, 0, 1, 0, DEFAULT))


--- Выбор работавших в отчетный период , как в персучете
CREATE TABLE #PERS_IN_PERIOD (CHECKED tinyint, PERS_LINK INT , NAME_PERS VARCHAR(150))
INSERT INTO #PERS_IN_PERIOD  (CHECKED , PERS_LINK , NAME_PERS) 


SELECT 0 as CHECKED, E.pers_link, NAME_PERS = dbo.ku_getPersFio(E.pers_link)
FROM 
	dbo.EMPL E inner join dbo.ITEM_MOVE P on E.link = P.empl_link and P.NEW_FACE = 1 AND P.ACTIVE=1
	left join dbo.ITEM_DIS_FACE U on E.link = U.empl_link AND U.ACTIVE=1
WHERE 
	P.DATE_BEGIN <= @EndOfMonth
	and
	coalesce(U.DIS_DATE,'20990101') >= @BeginOfMonth
	And 
	E.DEP_LINK = @DEP_LINK
UNION 
Select 
	0 as CHECKED, pers_link = DFG.link, NAME_PERS = dbo.ku_getPersFio(DFG.link)
FROM PERSON DFG inner join SALARY_REESTR_DGH DGH on DFG.link = DGH.PERS_LINK
WHERE 
	DGH.DATE1 = (
		Select max(DATE1)  from SALARY_REESTR_DGH as DGH0 
				where DGH.PERS_LINK = DGH0.PERS_LINK AND DGH0.DEP_LINK = DGH.DEP_LINK
					AND
					(
						@BeginOfMonth between ISNULL(DATE1, '19000101') AND ISNULL(DATE2, '20990101') 
						OR @EndOfMonth between ISNULL(DATE1, '19000101') AND ISNULL(DATE2, '20990101')
					)	 	
				)
	And 
	DGH.DEP_LINK = @DEP_LINK

CREATE  table #PERS_INFO( PERS_LINK INT, FULL_FIO VARCHAR(150), INSUR_NUM VARCHAR(14), INN varchar(12) )

INSERT INTO #PERS_INFO
SELECT pip.PERS_LINK, pip.NAME_PERS, p.INSUR_NUM, p.INN  
FROM #PERS_IN_PERIOD pip
	INNER JOIN dbo.person p ON p.link =  pip.PERS_LINK  


/*
** Пока оставляем этот коммент ... в данных запросах выбираются сотрудники и наемные рабочие как в титуле по РСВ-1
Select e.pers_link, p.fm , p.im , p.ot, ei.period_beg, ei.period_end, p.insur_num , p.INN 

FROM 
dbo.empl e
inner join dbo.person p on p.link = e.pers_link					
inner join (select * from dbo.ku_EmplsInPeriod0(@BeginOfMonth,@EndOfMonth, @DEP_LINK, 0, 0) group by date, empl_link,status, sch,ssch,comment) s on  e.link = s.empl_link                                  
INNER JOIN dbo.SA_EMPLS_INFO_PERIOD(@BeginOfMonth,@EndOfMonth, DEFAULT, @DEP_LINK) EI ON S.EMPL_LINK = EI.EMPL_LINK AND S.[DATE] BETWEEN EI.PERIOD_BEG AND EI.PERIOD_END
where
	(0 = 0 or (0 <> 0 and sex = 0))
	and
	((1 = 0 and S.[status] <> 2) or (1 in (1,3) and S.[status] = 1))
	and
	e.dep_link = @DEP_LINK
group by
	e.pers_link, p.fm , p.im , p.ot, ei.period_beg, ei.period_end, ei.NOTwork, p.insur_num , p.INN 
UNION ALL 
-- exec  SA_SZVM_16_PREPARE 42451
SELECT distinct rd.pers_link, pe.fm , pe.im , pe.ot, rd.date1 as period_beg, rd.date2 AS period_end, pe.insur_num , pe.INN 
FROM
	/*dbo.SDOC G
	INNER JOIN dbo.SDOC_DGH_TABLE GT ON G.LINK = GT.LINK_UP*/
dbo.SALARY_REESTR_DGH rd 
left JOIN DBO.PERSON Pe on Pe.LINK = RD.PERS_LINK
WHERE
	rd.DEP_LINK = @DEP_LINK
	AND @EndOfMonth BETWEEN rd.DATE1 AND COALESCE(rd.DATE2,'29990101')
	OR @BeginOfMonth BETWEEN rd.DATE1 AND COALESCE(rd.DATE2,'29990101')
 

*/

--
CREATE TABLE #RES (LINK INT IDENTITY (1,1), COL2 VARCHAR(150),COL3 VARCHAR(14), COL4 VARCHAR(12))
SET @varKSSQL = '
	INSERT INTO #RES ( COL2, COL3, COL4)
	SELECT
		FULL_FIO,
		INSUR_NUM,
		INN
	FROM 
		#PERS_INFO
	ORDER BY
		FULL_FIO'

EXEC (@varKSSQL)

SELECT
	CODE = CONVERT(int,RANK() OVER (ORDER BY COL2)),
	COL1 = CONVERT(int,RANK() OVER (ORDER BY COL2)),
	COL2,
	COL3,
	COL4
FROM
	#RES E
ORDER BY
	COL2

DROP TABLE #PERS_IN_PERIOD
DROP TABLE #PERS_INFO
DROP TABLE #RES
--------------------------------------------
--------------------------------------------



	

RETURN 0



GO


GRANT EXECUTE ON dbo.[SA_SZVM_16_PREPARE] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_PRINT_769_2016]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RO_PRINT_769_2016]

GO

/*
© Кейсистемс (Keysystems), 2012
*/

CREATE PROCEDURE dbo.[RO_PRINT_769_2016]
	@namesTables varchar(8000),        -- имена глобальных временных таблиц через запятую, где хранятся таблицы
									-- нужно самим сделать select, первый select отностится к c_data2
									-- после работы, нужно удалить!
	@LSF int
AS
	declare @table1 varchar(100),
@table2 varchar(100),
@table3 varchar(100),
@table4 varchar(100),
@table5 varchar(100),
@table6 varchar(100),
@table7 varchar(100),
@table8 varchar(100),
@RunStr varchar(8000),
@DelRows tinyint


	exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table1 output, ','
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table2 output, ','
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table3 output, ','
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table4 output, ','
exec dbo.RO_FORMULA_FUNCTIONS 1, @namesTables output, @table5 output, ','

	set @RunStr = 'SELECT CASE WHEN COL1 IN (''30402000'',''30403000'',''30404000'') THEN COL1 ELSE LEFT(COL1,3)+ ''00000'' END AS COL15,  CASE WHEN SUBSTRING(COL1, 4,2) = ''00'' THEN ''99'' ELSE SUBSTRING(COL1, 4,2) END AS COL16, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, CODE, 0 as DEL, 0, Orders from ' + @table1
+ ' union all'
+ ' SELECT CASE WHEN COL1 IN (''30402000'',''30403000'',''30404000'') THEN COL1 ELSE LEFT(COL1,3)+ ''00000'' END  AS COL15, CASE WHEN SUBSTRING(COL1, 4,2) = ''00'' THEN ''99'' ELSE SUBSTRING(COL1, 4,2) END AS COL16, COL1, COL2, COL3, COL4, COL5,COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14,  CODE, 0 as DEL, 0, 1 as Orders from ' + @table2
+ ' union all'
+ ' SELECT CASE WHEN COL1 IN (''30402000'',''30403000'',''30404000'') THEN COL1 ELSE LEFT(COL1,3)+ ''00000'' END  AS COL15, CASE WHEN SUBSTRING(COL1, 4,2) = ''00'' THEN ''99'' ELSE SUBSTRING(COL1, 4,2) END AS COL16, COL1, COL2, COL3, COL4, COL5,COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14,  CODE, 0 as DEL, 0, 2 as Orders from ' + @table3
+ ' union all'
+ ' SELECT DISTINCT LEFT(COL1,3)+ ''00000'' AS COL15,  ''99'' , LEFT(COL1,3) + ''00000'', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  LEFT(COL1,3) + ''00000'', 0 as DEL, 0, 1 Orders from ' + @table1 + ' T '
+ ' WHERE LEFT(COL1,3) <> ''888'' AND NOT EXISTS(SELECT * FROM ' + @table2 + ' T1 WHERE  T1.COL1 = LEFT(T.COL1,3) + ''00000'') '
+ ' union all'
+ ' SELECT DISTINCT LEFT(COL1,3)+ ''00000'' AS COL15,  ''99'', LEFT(COL1,3) + ''00000'', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  LEFT(COL1,3) + ''00000'', 0 as DEL, 0, 2 Orders from ' + @table1 + ' T '
+ ' WHERE LEFT(COL1,3) <> ''888'' AND NOT EXISTS(SELECT * FROM ' + @table3 + ' T1 WHERE  T1.COL1 = LEFT(T.COL1,3) + ''00000'') '
+ ' union all'
+ ' SELECT DISTINCT COL1 AS COL15,  ''99'' , COL1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  COL1, 0 as DEL, 0, 1 Orders from ' + @table1 + ' T '
+ ' WHERE COL1 IN (''30402000'',''30403000'',''30404000'') AND NOT EXISTS(SELECT * FROM ' + @table2 + ' T1 WHERE  T1.COL1 = T.COL1) '
+ ' union all'
+ ' SELECT DISTINCT COL1 AS COL15,  ''99'', COL1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  COL1, 0 as DEL, 0, 2 Orders from ' + @table1 + ' T '
+ ' WHERE COL1 IN (''30402000'',''30403000'',''30404000'') AND NOT EXISTS(SELECT * FROM ' + @table3 + ' T1 WHERE  T1.COL1 = T.COL1) '
+ ' union all'
+ ' SELECT DISTINCT ''888''+ ''00000'',  ''99'' , ''88888888'', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  ''88888888'', 0 as DEL, 0, 1 Orders from ' + @table1 + ' T '
+ ' WHERE LEFT(COL1,3) <> ''888'' AND NOT EXISTS(SELECT * FROM ' + @table2 + ' T1 WHERE  T1.COL1 = ''88888888'') '
+ ' union all'
+ ' SELECT DISTINCT ''888''+ ''00000'',  ''99'' , ''88888888'', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  ''88888888'', 0 as DEL, 0, 2 Orders from ' + @table1 + ' T '
+ ' WHERE LEFT(COL1,3) <> ''888'' AND NOT EXISTS(SELECT * FROM ' + @table3 + ' T1 WHERE  T1.COL1 = ''88888888'') '


+ ' ORDER BY 1, 2, 11, 3'
+ ' drop table ' + @table1
+ ' drop table ' + @table2
+ ' drop table ' + @table3


PRINT @RunStr
	execute(@RunStr)

	set @RunStr = 'SELECT COL1, COL2, COL3, COL4, COL5, COL6, COL7,COL8, CODE, 0 as DEL, 0, Orders from ' + @table4

+ ' ORDER BY 1, 3'
+ ' drop table ' + @table4
	execute(@RunStr)
	
	set @RunStr = 'SELECT COL1, COL2, COL3, COL4, COL5, CODE, 0 as DEL, 0, Orders from ' + @table5

+ ' ORDER BY 1, 2'
+ ' drop table ' + @table5
	execute(@RunStr)



GO


GRANT EXECUTE ON dbo.[RO_PRINT_769_2016] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_O_OTHER_PROV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_O_OTHER_PROV]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE  PROCEDURE dbo.SD_O_OTHER_PROV
@varKSparLINK int
AS

IF (SELECT SO.CODE FROM S_OBJECTS SO,SDOC DOC WHERE DOC.LINK = @varKSparLINK AND
		 DOC.OBJECT = SO.LINK) <> 'DOCUMENTS_CLOSE_MONTH'
	RETURN 5

IF EXISTS (SELECT * FROM DBO.CALCULATE_JURNAL WHERE LINK_DOC = @varKSparLINK)
BEGIN
		RAISERROR('Документ уже проведен!', 11, 1)
		RETURN 0
END

Declare @varKStrancount int

SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,0

DECLARE @LinkEKR213 int
SELECT @LinkEKR213 = LINK FROM dbo.DICTIONARY_ITEM WHERE CODE = '213'

INSERT INTO dbo.CALCULATE_JURNAL (LINK_EMPL,LINK_PAYS,LINK_DOC,PERIOD_BEGIN,PERIOD_END,DAYS,HOURS,SUMMA_BASE,PROCENT,SUMMA,ORDERS,DATE_BEGIN,DATE_END,LINK_DEP,LINK_ORG,LINK_VKR,LINK_EKR,LINK_VKR2)
SELECT [LINK_EMPL] =NULL,
		[LINK_PAYS] = TAB.REF_DED,
		[LINK_DOC] = DOC.LINK,
	  	[PERIOD_BEGIN] = dbo.DateBeginOfMonth(DOC.DATE),	
		[PERIOD_END] = dbo.DateEndOfMonth(DOC.DATE),	
		[DAYS] =0,
		[HOURS] = 0,
		[SUMMA_BASE] = TAB.SUMMA_BASE,
		[PERCENT],
		[SUMMA] = TAB.SUMMA,
		[ORDERS] = TAB.ORDERS,
		[DATE_BEGIN] = dbo.DateBeginOfMonth(CONVERT(DATETIME,('01/'+ RTRIM(DOC.MONTH)+'/'+RTRIM(DOC.YEAR)))), 
		[DATE_END] = dbo.DateEndOfMonth(CONVERT(DATETIME,('01/'+ RTRIM(DOC.MONTH)+'/'+RTRIM(DOC.YEAR)))), 
		[LINK_DEP] = LINK_DEP,
		[LINK_ORG] = NULL,
		[LINK_VKR] = TAB.LINK_VKR,
		[LINK_EKR] = TAB.LINK_EKR,
		[LINK_VKR2] = TAB.LINK_VKR2		
FROM dbo.DOCUMENTS_DED_OTHER DOC, dbo.DOCUMENTS_DED_OTHER_TABLE TAB, dbo.USER_INFO UI
WHERE UI.SID = SUSER_SID() AND DOC.LINK = TAB.LINK  AND  DOC.LINK = @varKSparLINK and TAB.SUMMA<>0


EXEC dbo.SALARY_SDOC_FLAG_JC @varKSparLINK,1


IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN
RETURN 0

GO


GRANT EXECUTE ON dbo.[SD_O_OTHER_PROV] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[XK_PRINT_PROTOCOL_25N]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[XK_PRINT_PROTOCOL_25N]

GO

CREATE PROCEDURE dbo.XK_PRINT_PROTOCOL_25N
	@tDATE_BEGIN	DATETIME,
	@tDATE_END	DATETIME,
	@tTYPE_PRN	INT,
	@tSEP_DOC	INT,
	@tPRN_KBK	INT,
	@tPRN_KOSGU	INT
AS
BEGIN
	DECLARE @intDEP_LINK	INT,
		@intMAIN_DEP_LINK INT,
		@cMAIN_DEP_NAME VARCHAR (254),
		@cMAIN_OKPO	VARCHAR (254),
		@cMAIN_RUK	VARCHAR (100),
		@cMAIN_BUH	VARCHAR (100)

	SELECT @intDEP_LINK = dbo.BK_GetDepZB ()

	SELECT @intMAIN_DEP_LINK = LINK,
		@cMAIN_DEP_NAME = [NAME],
		@cMAIN_OKPO = OKPO
	FROM dbo.DICTIONARY_DEPARTMENT
	WHERE LINK = dbo.GetOwnDepLink ()

	SELECT @cMAIN_RUK = SHORT_NAME FROM dbo.GetOtvFaceData (@intMAIN_DEP_LINK, 'Руководитель')
	SELECT @cMAIN_BUH = SHORT_NAME FROM dbo.GetOtvFaceData (@intMAIN_DEP_LINK, 'Главный бухгалтер')

	DECLARE @TMP_TABLE TABLE (EVENT_TXT VARCHAR (254), LINK_DOC INT, LINK_G2 INT,
			SUMMA NUMERIC (28,4), ACCT25N INT, ACCT70N INT,
			KBK_25N INT, SGU_25N INT,
			KBK_70N INT, SGU_70N INT,
			DEP_LINK INT)

	SET @tDATE_BEGIN = ISNULL (@tDATE_BEGIN, '20060101')
	SET @tDATE_END = ISNULL (@tDATE_END, '20061231')

	IF @tTYPE_PRN = 0
		INSERT INTO @TMP_TABLE
		SELECT EVENT_TEXT, LINK_DOC, LINK_G2,
			SUMMA, ACCT_25N, ACCT_70N,
			KBK_25N, KOSGU_25N,
			KBK_70N, KOSGU_70N,
			DEP_LINK
		FROM dbo.XK_GET_TABLE_OBOROT_TO_25N (@tDATE_BEGIN, @tDATE_END, @intDEP_LINK)
	ELSE
		INSERT INTO @TMP_TABLE
		SELECT EVENT_TEXT,
			CASE 
				WHEN @tSEP_DOC = 1 THEN LINK_DOC ELSE 0
			END, 0,
			SUM (SUMMA), ACCT_25N, ACCT_70N,
			CASE
				WHEN @tPRN_KBK = 1 THEN KBK_25N ELSE 0
			END,
			CASE
				WHEN @tPRN_KOSGU = 1 THEN KOSGU_25N ELSE 0
			END,
			CASE
				WHEN @tPRN_KBK = 1 THEN KBK_70N ELSE 0
			END,
			CASE
				WHEN @tPRN_KOSGU = 1 THEN KOSGU_70N ELSE 0
			END,
			DEP_LINK
		FROM dbo.XK_GET_TABLE_OBOROT_TO_25N (@tDATE_BEGIN, @tDATE_END, @intDEP_LINK)
		GROUP BY
			EVENT_TEXT, 
			CASE 
				WHEN @tSEP_DOC = 1 THEN LINK_DOC ELSE 0
			END,
			ACCT_25N, ACCT_70N,
			CASE
				WHEN @tPRN_KBK = 1 THEN KBK_25N ELSE 0
			END,
			CASE
				WHEN @tPRN_KOSGU = 1 THEN KOSGU_25N ELSE 0
			END,
			CASE
				WHEN @tPRN_KBK = 1 THEN KBK_70N ELSE 0
			END,
			CASE
				WHEN @tPRN_KOSGU = 1 THEN KOSGU_70N ELSE 0
			END,
			DEP_LINK

	DECLARE @TAB_RES TABLE (LINK_DOC INT, DOC_NAME VARCHAR (254), NUMBER VARCHAR (8),
			DOC_DATE VARCHAR (10), dDOC_DATE DATETIME, DOC_NUM VARCHAR (8),
			DEP_NAME VARCHAR (254), DEP_OKPO VARCHAR (30),
			NAME_OPER VARCHAR (254),
			SUMMA NUMERIC (28,4),
			CODE_70N VARCHAR (60), CODE_25N VARCHAR (60),
			RUK VARCHAR (100), GL_BUH VARCHAR (100))

	INSERT INTO @TAB_RES
	SELECT CASE WHEN @tSEP_DOC = 0 THEN 0 ELSE LINK_DOC END,
		CASE WHEN @tSEP_DOC = 0 THEN 'Переход на приказ 25н'
			ELSE dbo.JurnalProvGetDocKind (G.LINK, G.OBJECT) END,
		CASE WHEN @tSEP_DOC = 0 THEN '1' ELSE G.NUMBER END, 
		ISNULL (CONVERT (VARCHAR (10), G.DATE, 104), ''),
		G.DATE,
		ISNULL (G.NUMBER, ''),
		ISNULL (D1.NAME, @cMAIN_DEP_NAME),
		ISNULL (D1.OKPO, @cMAIN_OKPO),
		CASE
			WHEN @tSEP_DOC = 0 THEN T1.EVENT_TXT
						+ ISNULL (' (' 	+ dbo.JurnalProvGetDocKind (G.LINK, G.OBJECT) + ')', '')
			ELSE T1.EVENT_TXT
		END,
		T1.SUMMA,
		CASE
			WHEN @tPRN_KBK = 1 THEN ISNULL (RTRIM (K1.CODE), '00000000000000000') + '.'
			ELSE ''
		END
			+ SA_70N.CODE
			+
		CASE
			WHEN @tPRN_KOSGU = 1 THEN '.' + ISNULL (K2.CODE, '000')
			ELSE ''
		END,
		dbo.BK_GetAcctFullCode1 (T1.ACCT25N, T1.KBK_25N, T1.SGU_25N, @tPRN_KBK, @tPRN_KOSGU, @tDATE_END),
		ISNULL (F1.FACE_NAME, @cMAIN_RUK),
		ISNULL (F2.FACE_NAME, @cMAIN_BUH)
	FROM @TMP_TABLE T1
	INNER JOIN dbo.S_ACCOUNTS_OLD70N SA_70N ON (SA_70N.LINK = T1.ACCT70N)
	LEFT OUTER JOIN dbo.KL_KBK K1 ON (K1.LINK = T1.KBK_70N)
	LEFT OUTER JOIN dbo.KOSGU K2 ON (K2.LINK = T1.SGU_70N)
	LEFT OUTER JOIN dbo.G_PROV G ON (G.LINK = T1.LINK_DOC)
	LEFT OUTER JOIN dbo.DICTIONARY_DEPARTMENT D1 ON (D1.LINK = T1.DEP_LINK)
	LEFT OUTER JOIN dbo.DICTIONARY_OTV_FACE F1 ON (F1.DEP_LINK = T1.DEP_LINK
							AND F1.NAME = 'Руководитель')
	LEFT OUTER JOIN dbo.DICTIONARY_OTV_FACE F2 ON (F2.DEP_LINK = T1.DEP_LINK
							AND F2.NAME = 'Главный бухгалтер')

	SELECT * FROM @TAB_RES ORDER BY DEP_NAME, dDOC_DATE, LINK_DOC
END


GO


GRANT EXECUTE ON dbo.[XK_PRINT_PROTOCOL_25N] TO PUBLIC

GO


--Расширенные свойства--


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BV_SELECT_ANALITS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BV_SELECT_ANALITS]

GO




/*
© Кейсистемс (Keysystems), 2005
*/
CREATE	PROCEDURE dbo.BV_SELECT_ANALITS
		@varKSpNA INT,
		@varKSpDATE DATETIME = NULL

AS
BEGIN
	DECLARE @varKSRES1 TABLE 
		(ACCOUNT int NOT NULL,
		 CNTS INT NOT NULL,
		 DIC_LINK int,
		 DIC_CODE varchar(30),
		 DIC_NAME varchar(254),
		 NAME_AP varchar(20) NOT NULL,
		 ORDERS int,
		 LENGTH tinyint)
	DECLARE @varKSI INT

	IF @varKSpDATE IS NULL
		SELECT @varKSpDATE = ENDDATE + 1 from ADMIN_INFO
	


	SELECT CONVERT(INT,1) AS CNTS, ART.ACCOUNT, SUM(ART.D_SUMMA) AS D_SUMMA, SUM(ART.K_SUMMA) AS K_SUMMA, SUM(ART.D_QUANTITY) AS D_QUANTITY, ART.KBK, ART.EKR, ART.DEP, ART.SUB, ART.EMP, ART.NOMEN, ART.INV, ART.KAU,
		ART.DEP_ACC, ART.TMC, /*ART.SGU,*/ ART.INDATE, ART.AP1, ART.AP2, ART.AP3
	INTO  #TMP_REST_OS
	FROM dbo.ARestTableByDate(@varKSpDATE,DEFAULT) ART
	WHERE ART.INV = @varKSpNA
	GROUP BY ART.ACCOUNT, ART.KBK, ART.EKR, ART.DEP, ART.SUB, ART.EMP, ART.NOMEN, ART.INV, ART.KAU,
		ART.DEP_ACC, ART.TMC, /*ART.SGU,*/ ART.INDATE, ART.AP1, ART.AP2, ART.AP3

	DELETE FROM #TMP_REST_OS WHERE ISNULL(D_SUMMA,0) = 0 AND ISNULL(K_SUMMA,0) = 0 AND ISNULL(D_QUANTITY,0) = 0

	SET @varKSI = 0
	UPDATE #TMP_REST_OS
	SET CNTS = @varKSI, @varKSI = @varKSI + 1



	SELECT T.ACCOUNT, T.CNTS,
		ERR = CASE WHEN (SELECT COUNT(*) FROM #TMP_REST_OS T1 WHERE T1.ACCOUNT = T.ACCOUNT)>1 THEN CONVERT(TINYINT,1) ELSE CONVERT(TINYINT,0) END,
		[SUMMA] = (ISNULL(T.D_SUMMA,0) - ISNULL(T.K_SUMMA,0)),
		[QUANTITY] = T.D_QUANTITY,
		[INDATE] = T.INDATE
	INTO #TMP_ACC_REST
	FROM #TMP_REST_OS T


	
	INSERT INTO @varKSRES1 (ACCOUNT, CNTS, DIC_LINK, DIC_CODE, DIC_NAME, NAME_AP, ORDERS, LENGTH)
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.EKR,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_EKR = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'EKR')
		INNER JOIN dbo.KOSGU D ON D.LINK = EKR
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.SUB,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_SUB = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'SUB')
		INNER JOIN dbo.SUBDIV D ON D.LINK = SUB
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.KAU,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_KAU = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'KAU')
		INNER JOIN dbo.KAU D ON D.LINK = KAU
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.DEP,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_DEP = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'DEP')
		INNER JOIN dbo.DEPARTMENTS D ON D.LINK = DEP
	UNION ALL
	SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.INV,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[ANAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_DEP_ACC = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'DEP_ACC')
		INNER JOIN dbo.DICTIONARY_ACCOUNTS D ON D.LINK = DEP_ACC
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.EMP,
		[DIC_CODE] = D.TAB,
		[DIC_NAME] = dbo.sd_GetEmplName(D.LINK),
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_EMP = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'EMP')
		INNER JOIN dbo.EMPL D ON D.LINK = EMP
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.TMC,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_TMC = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'TMC')
		INNER JOIN dbo.DICTION D ON D.LINK = TMC
	UNION ALL
	SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.INV,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_INV = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'INV')
		INNER JOIN dbo.INVENTORY D ON D.LINK = INV
	UNION ALL
	SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.INV,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_NOMEN = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'NOMEN')
		INNER JOIN dbo.NOMENCLATURE D ON D.LINK = NOMEN
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.KBK,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_KBK = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'KBK')
		INNER JOIN dbo.KL_KBK D ON D.LINK = KBK
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.KBK,
		[DIC_CODE] = D.NUMBER,
		[DIC_NAME] = D.[INFO],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_AP1 = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'AP1')
		INNER JOIN dbo.BD_OSNOV D ON D.LINK = AP1
	UNION ALL
	 SELECT TRO.ACCOUNT, TRO.CNTS,
		[DIC_LINK] = TRO.KBK,
		[DIC_CODE] = D.CODE,
		[DIC_NAME] = D.[NAME],
		[NAME_AP] = A1.S_TITLE,
		[ORDERS] = A1.ORDERS,
		[LENGTH] = A1.LENGTH
	 FROM #TMP_REST_OS as TRO
		INNER JOIN dbo.S_ACCOUNTS SA ON SA.LINK = TRO.ACCOUNT AND SA.ap_AP2 = 1
		INNER JOIN dbo.ANALIT A1 ON (A1.CODE_AP = 'AP2')
		INNER JOIN dbo.DOP_CLASSIF D ON D.LINK = AP2
--	UNION ALL
	
	
	SELECT [CHECKED] = CONVERT(TINYINT,0),* 
	FROM @varKSRES1 ORDER BY ACCOUNT, ORDERS
	
	SELECT	[DATE] = @varKSpDATE,
		[ACC_LINK] = TAR.ACCOUNT,
		[ACC_CODE] = (SELECT CODE FROM S_ACCOUNTS WHERE LINK = TAR.ACCOUNT),
		[ACC_NAME] = (SELECT CONVERT(CHAR(30),NAME) FROM S_ACCOUNTS WHERE LINK = TAR.ACCOUNT),
		[CNTS] = TAR.CNTS,
		[ERR] = TAR.ERR,
		[SUMMA] = CASE WHEN (SELECT ISNULL(S_PASSIVE,0) FROM S_ACCOUNTS WHERE LINK = TAR.ACCOUNT)=1 THEN -TAR.SUMMA ELSE TAR.SUMMA END,
		[QUANTITY] = CASE WHEN (SELECT ISNULL(KSU,0) FROM S_ACCOUNTS WHERE LINK = TAR.ACCOUNT)=1 THEN TAR.QUANTITY ELSE NULL END,
		[INDATE] = TAR.INDATE
	FROM #TMP_ACC_REST TAR
	
	DROP TABLE #TMP_ACC_REST
	DROP TABLE #TMP_REST_OS
	
END














GO


GRANT EXECUTE ON dbo.[BV_SELECT_ANALITS] TO PUBLIC

GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RSA_RSV_1_PERS_UCH_SZV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RSA_RSV_1_PERS_UCH_SZV]

GO

-- Пример вызова exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20150401', '20150630', 74578 ,1,  20017
CREATE PROCEDURE dbo.RSA_RSV_1_PERS_UCH_SZV
	@dDate1 DATETIME,
	@dDate2 DATETIME,
	@LINK_DEP int = NULL,
	@REP TINYINT = 0, 
	@VARILSF INT = null
AS BEGIN


	declare @DEP_LINK int
	exec dbo.xd_whats_zb @DEP_LINK output

	SET @DEP_LINK = COALESCE(@LINK_DEP,@DEP_LINK)

   DECLARE @nYEAR INT, @nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT
	
	SELECT 
		@nYEAR = YEAR(@dDATE1),
		@nMONTH1 = MONTH(@dDATE1),
		@nMONTH2 = MONTH(@dDATE1)+1,
		@nMONTH3 = MONTH(@dDATE1)+2

	DECLARE @ATR_PERS_UCH INT
	SET @ATR_PERS_UCH  = (SELECT DBO.RN_GET_ATR_VALUE(@VARILSF, 'REPORTS_ATR_PERS_UCH'))

	SELECT * into #docs FROM   dbo.SA_SZV4_PACHKA P 
	WHERE
	p.link_dep = @DEP_LINK and p.link = @ATR_PERS_UCH 
	
	INSERT INTO #docs
	SELECT * 
	FROM   dbo.SA_SZV4_PACHKA P 
	WHERE
	p.link_dep = @DEP_LINK and p.year_begin = year(@dDate1) and month_end <= month(@dDate2) and p.type = 1 and vid_kor <> 1
	/*AND p.[per_edt] < p.[per] *//*AND p.YEAR_EDT >= 2014*/ AND P.LINK_ISHOD = @ATR_PERS_UCH


	--Округление каждой строчки таблицы
	DECLARE @ROUND_TYPE tinyint, @ROUND_LEN tinyint
	Set @ROUND_TYPE = dbo.sa_get_option_by_code('SA_SZV4_OPT2')
	Set @ROUND_LEN = (case when @ROUND_TYPE <= 1 then 2 else 0 end)
	Set @ROUND_TYPE = (case when @ROUND_TYPE = 3 then 1 else 0 end)

	--Округление только итогов
	DECLARE @IT_ROUND_TYPE tinyint
	Set @IT_ROUND_TYPE = dbo.sa_get_option_by_code('SA_SZV4_OPT5')
	
	----- общие сведения
	Select
		[YEAR] = ISNULL(CASE WHEN year_begin >= 2013 THEN year_begin ELSE NULL END ,0),
		[CODE] = CASE WHEN K.CODE = 'ООИ' then 'НР' else K.CODE end ,
		[PER] = ISNULL(CASE WHEN year_begin >= 2013 THEN PER ELSE NULL END ,0),
		[PER10] = ISNULL(CASE WHEN year_begin = 2013 THEN PER ELSE NULL END ,0),
		[TYPE] = P.vid_kor,
		[PER_EDT] = ISNULL(PER_EDT,0),
		[YEAR_EDT] = ISNULL(YEAR_EDT,0),
		[NGROUP] = S.pachka,
		[PFNUMBER] = PF_NUM,
		[T_DOG] = s.forma,
		LINK_FACE,
		NUM = ROW_NUMBER() OVER (PARTITION BY LINK_FACE ORDER BY s.forma),
		[FM],
		[IM],
		[OT],
		[ADDRESS] = [ADDRESS],
		[INC_M1] = s1.INCOME_M1,
		[B_BEF_M1] = s1.BASE_BEFORE_M1,
		[B_AFT_M1] = s1.BASE_AFTER_M1, 
		[INC_M2] = s1.INCOME_M2,
		[B_BEF_M2] = s1.BASE_BEFORE_M2,
		[B_AFT_M2] = s1.BASE_AFTER_M2,	
		[INC_M3] = s1.INCOME_M3,
		[B_BEF_M3] = s1.BASE_BEFORE_M3,
		[B_AFT_M3] = s1.BASE_AFTER_M3,
		[INC_T1M1] = s1.INCOME_T1_M1,
		[INC_T2M1] = s1.INCOME_T2_M1,
		[INC_T1M2] = s1.INCOME_T1_M2,
		[INC_T2M2] = s1.INCOME_T2_M2,
		[INC_T1M3] = s1.INCOME_T1_M3,
		[INC_T2M3] = s1.INCOME_T2_M3, 
		[INSUR] = COALESCE(S.sum_doh,0), --Это сумма начисленных взносов на страхов. часть
		[INSUR1] = COALESCE(S.INSUR,0), --Это сумма уплаченных взносов на страхов. часть
		[GAIN] = COALESCE(S.GAIN,0), --Это сумма начисленных взносов на накопит. часть
		[GAIN1] = COALESCE(S.DOP,0), --Это сумма уплаченных взносов на накопит. часть
		[DOP] = COALESCE(S.DOP,0),
		[ID_EX] = ST.orders,
		[DATE_BEGIN] = date1,
		[DATE_END] = date2,
		dper_vn_m = coalesce(s.dper_vn_m,0),
		dper_vn_d = coalesce(s.dper_vn_d,0),
		dper_oz_m = coalesce(s.dper_oz_m,0),
		dper_oz_d = coalesce(s.dper_oz_d,0),
		[TU_CODE] = f_ter_usl,
		[OS_CODE] = f_osob_usl,
		osob_usl,
		OSOB_SPO = LTRIM(RTRIM(ST.OSOB_SPO)),
		[EX_CODE] = is_osnov,
		f_is_dop,
		[P_CODE] = ud_osnov,
		f_ud_dop,
		DATE_DOC = [date],
		dep_PFNUM = d.PFNUMBER,
		FNAME = 'PFR-700-Y-' + CONVERT(VARCHAR(4),year_begin) + '-ORG-' + LTRIM(RTRIM(d.PFNUMBER)) + '-DCK-' + REPLACE(str(S.pachka,5),' ','0') + '-DPT-000000-DCK-00000.XML',	
		link_doc =p.link
	INTO #SZV_ALL
	FROM
		dbo.SA_SZV4_PACHKA P INNER JOIN dbo.SA_SZV4_SVEDENIA S ON P.link = S.link
		inner join SZV4_SVEDENIA s1 on s1.link = s.link1
		INNER JOIN dbo.SA_PFR_KATEG K ON K.LINK = S.LINK_KATEG AND year_begin BETWEEN YBEG AND YEND	
		LEFT JOIN dbo.SA_SZV4_STAZH ST ON S.link1 = ST.link
		inner join departments d on d.link = p.link_dep 
	WHERE
		P.link in (select link from #DOCS)
		and P.proverka = 1
		and p.link_dep = @DEP_LINK
	ORDER BY
		[TYPE], K.CODE, s.forma, S.pachka, S.orders, ST.orders
	


	UPDATE T
		SET	FNAME = REPLACE( FNAME, REPLACE(str(((SELECT MAX(nGROUP) FROM #SZV_ALL  where link_face =t.link_face )),5)+'-',' ','0'),REPLACE(str(((SELECT MIN(nGROUP) FROM #SZV_ALL  where link_face =t.link_face )),5)+'-',' ','0')), 
		nGROUP = (SELECT MIN(nGROUP) FROM #SZV_ALL  where link_face =t.link_face )
	FROM  #SZV_ALL t 
	where link_face in (select  a.link_face   
						from #SZV_ALL a 
						where link_face in ( select link_face from #SZV_ALL where link_face = a.link_face and  link_doc = a.link_doc and code <> a.code and [TYPE] = 1 ) and [TYPE] = 1 ) 
				and [TYPE] = 1
			
--- нумирация пачек исходных и корректирующих сведений
declare @MAX_PACHKA_ISHOD  int,@MIN_PACHKA_ISHOD int,  @MIN_PACHKA_KORR int,  
		@ID int

select @MAX_PACHKA_ISHOD = max(NGROUP),
		@MIN_PACHKA_ISHOD = min(NGROUP),
		@MIN_PACHKA_KORR = (select min(NGROUP) FROM #SZV_ALL WHERE TYPE <> 1)
		FROM #SZV_ALL WHERE TYPE = 1

IF @MIN_PACHKA_ISHOD = @MIN_PACHKA_KORR

BEGIN 
	declare @Cur cursor , @GR int , @FNAME varchar(100)
	set @ID = 1
	SET @Cur = CURSOR FORWARD_ONLY
	FOR 
		select ngroup,FNAME  from #SZV_ALL WHERE TYPE <> 1 group by ngroup,FNAME
	OPEN @Cur
	FETCH NEXT FROM @Cur INTO @GR, @FNAME
	
	WHILE (@@fetch_status <> -1)
	BEGIN
		
		IF (@@fetch_status <> -2)
		BEGIN	

			UPDATE #SZV_ALL
				set NGROUP = @MAX_PACHKA_ISHOD+@ID --, t.[cGRP] =  '00'+ (@MAX_PACHKA_ISHOD+@ID)
			where ngroup = @GR AND FNAME = @FNAME and TYPE <> 1
				
			set @ID = @ID+1	
		end
		FETCH NEXT FROM @Cur INTO @GR , @FNAME
	end

CLOSE @Cur
DEALLOCATE @Cur

END 

UPDATE t
	SET  FNAME=  'PFR-700-Y-' + CONVERT(VARCHAR(4),[year]) + '-ORG-' + LTRIM(RTRIM(dep_PFNUM)) + '-DCK-' + REPLACE(str(NGROUP,5),' ','0') + '-DPT-000000-DCK-00000.XML'	
	from #SZV_ALL t  WHERE TYPE <> 1

----------------------------
SELECT * INTO #SZV_SUM FROM
(SELECT 
	RN = ROW_NUMBER() OVER (PARTITION BY LINK_FACE, CODE, T_DOG, [TYPE], PER_EDT, NGROUP/*, ID_EX*/ ORDER BY T_DOG),
	CODE,
	LINK_FACE,
	[PFNUMBER],
	T_DOG,
	sum(INC_M1) AS INC_M1,
	sum(B_BEF_M1) AS B_BEF_M1,
	sum(B_AFT_M1) AS B_AFT_M1,
	sum(INC_M2) AS INC_M2,
	sum(B_BEF_M2) AS B_BEF_M2,
	sum(B_AFT_M2) AS B_AFT_M2,
	sum(INC_M3) AS INC_M3,
	sum(B_BEF_M3) AS B_BEF_M3,
	sum(B_AFT_M3) AS B_AFT_M3,		
	per,
	[year],
	[TYPE],
	per_edt,
	year_edt,
	sum(INSUR) AS INSUR	
FROM 
	#SZV_ALL 
	GROUP BY CODE ,LINK_FACE,[PFNUMBER],T_DOG,per,[year],[TYPE],per_edt,year_edt,NGROUP,ID_EX
) T WHERE RN = 1	

-- exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20150401', '20150630', 13488 ,1,  269	
-----------
DECLARE @PREDEL NUMERIC(18,2)
SET @PREDEL = ISNULL((SELECT MIN(PREDEL) FROM dbo.DICTIONARY_RANGE_PF WHERE WAY_CALC = 6 AND TARIF = 1 AND [DATE] >= dbo.ConvertDMY2Date(1,1,YEAR(@dDate1))),0)
-----------
SELECT 
	LINK_FACE, [PFNUMBER], CODE, per, [year], [TYPE], per_edt, year_edt, INSUR = SUM(INSUR)
INTO 
	#SZV_PC 		
FROM 
	(
	SELECT 
		A.LINK_FACE, A.[PFNUMBER], A.CODE, A.T_DOG, A.per, A.[year], A.[TYPE], A.per_edt, A.year_edt, 
		INSUR = CASE WHEN MIN(B_AFT_M1) + MIN(B_AFT_M2) + MIN(B_AFT_M3) <> 0 THEN
					MIN(B_BEF_M1 * PERCENT1 / 100) + MIN(B_BEF_M2 * PERCENT1 / 100) + MIN(B_BEF_M3 * PERCENT1 / 100)
				ELSE
					MIN(INSUR)
				END				
	FROM 
		#SZV_SUM A INNER JOIN dbo.SA_PFR_KATEG B ON A.CODE = B.CODE AND [year] BETWEEN YBEG AND YEND
			INNER JOIN 
			(
				SELECT 
					TARIF, PERCENT1
				FROM 
					dbo.DICTIONARY_RANGE_PF D
				WHERE
					WAY_CALC = 6 AND PREDEL = @PREDEL
					AND [DATE] = (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE_PF D1 WHERE D1.TARIF = D.TARIF AND ISNULL(D1.SPECO,0) = ISNULL(D.SPECO,0) AND WAY_CALC = 6 AND DATE <= @dDate1 ORDER BY [DATE] DESC) 
			) C ON C.TARIF = B.LINK2 
	GROUP BY
		A.LINK_FACE, A.[PFNUMBER], A.CODE, A.T_DOG, A.per, A.[year], A.[TYPE], A.per_edt, A.year_edt
	) T
GROUP BY
	LINK_FACE, [PFNUMBER], CODE, per, [year], [TYPE], per_edt, year_edt


-----------------------------------------------------

	IF @REP = 0 
	BEGIN 
	
	
		SELECT
			CODE = CONVERT(VARCHAR(14), [PFNUMBER]),
			COL1 = CONVERT(VARCHAR(14),[PFNUMBER]),
			COL2 = CONVERT(varchar(100),[FM]),
			COL3 = CONVERT(varchar(100),[IM]),
			COL4 = CONVERT(varchar(100),[OT]),
			COL5 = CONVERT(varchar(14),[PFNUMBER]),
			COL6 = [TYPE],
			COL7 = [NGROUP],
			COL8 = [FNAME],
			COL9 = CONVERT(VARCHAR(10), DATE_DOC, 104),
			col10 = per_EDT
		FROM
			#SZV_ALL
		GROUP BY [TYPE],[T_DOG],[FM],[IM],[OT],[PFNUMBER], [NGROUP], [FNAME],DATE_DOC,per_EDT
		ORDER BY
			[TYPE],[T_DOG],[FM],[IM],[OT],per_EDT
		
	END

-- exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20150401', '20150630', 13488 ,0,  269	
	IF @REP = 1 
	BEGIN 	

	/*****************************************************/
	-- Собираем информацию по Исходным пачками
	/*****************************************************/
		create table #TMP1(CODE int,col1 int,   COL2 varchar(14), COL3 varchar(100), COL4 varchar (4), COL5 varchar (4), COL6 numeric(18,2), COL7 numeric(18,2), 
						   COL8 numeric(18,2), COL9 numeric(18,2), COL10 varchar(1), COL11 varchar(4), COL12 varchar(15), COL13 varchar(1), COL14 varchar(4),
						   COL15 int, COL16 varchar(100), COL17 varchar(100), COL18 varchar(100), COL19 int, COL20 int, COL21 numeric(18,2), COL22 numeric(18,2), COL23 numeric(18,2),
						   COL24 int, COL25 int, COL26 numeric(18,2), COL27 numeric(18,2), COL28 numeric(18,2),
						   COL29 int, COL30 int, COL31 numeric(18,2), COL32 numeric(18,2), COL33 numeric(18,2),
						   COL34 int, COL35 int, COL36 numeric(18,2), COL37 numeric(18,2), COL38 numeric(18,2),
						   COL39 int, COL40 int, COL41 numeric(18,2), COL42 numeric(18,2), COL43 numeric(18,2), COL44 numeric(18,2), COL45 char(1) DEFAULT '' )
		
		
		/***************************************/
		-- для подсчета суммы с начала года по конец отчетного периода  
			
			
			------
	
			--- Обьявляем даты
			DECLARE @BYearDate	datetime
			SET @BYearDate = dbo.DateBeginOfYear (@dDate1)

			DECLARE @nYEAR1 INT, @nMONTH_1 INT, @nMONTH_2 INT, @nMONTH_3 INT
			SELECT 
				@nYEAR1 = YEAR(@dDate1),
				@nMONTH_1 = MONTH(@dDate1),
				@nMONTH_2 = MONTH(@dDate1)+1,
				@nMONTH_3 = MONTH(@dDate1)+2
			
			DECLARE @BDate datetime, @EndDate datetime, @EDate DATETIME, @EndYear datetime
			Set @EndYear = dbo.DateEndOfYear(@dDate1)
			SELECT @BDate = @dDate1, @EndDate = @dDate2
			SET @EDate = dateadd(year,1,convert(varchar, YEAR(@BDate))+'0101')
	
			--Фактическая база для договорников
			SELECT 
				GT.PERS_LINK, MONTH(G.[DATE]) AS MONTH_BASE, F.ENVD, SUMMA_BASE = sum(GT.SUMMA_BASE)
			INTO #DGH_FAKT_BASE
			FROM 
				dbo.DOCUMENTS_DGH G INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
				INNER JOIN dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
			WHERE 
				FLAG_JC = 1
				AND GT.WAY_CALC  = 6
				AND YEAR(G.[DATE]) = @nYEAR1
				AND MONTH(G.[DATE]) <= @nMONTH_3
				--AND LINK_DEP = @DEP_LINK 
			GROUP BY 
				GT.PERS_LINK, MONTH(G.[DATE]), F.ENVD

			SELECT  PERS_LINK, MONTH_BASE, SUMMA_BASE = SUM(SUMMA_BASE)
			INTO #DGH_FAKT_BASE1
			FROM #DGH_FAKT_BASE
			GROUP BY PERS_LINK, MONTH_BASE


			-- Журнал операций 
			CREATE TABLE #CALCULATE_JURNAL (LINK_PAYS INT, PERIOD_BEGIN DATETIME, LINK_DOC INT, PERS_LINK INT, LINK_VKR INT, LINK_EKR INT, LINK_EMPL INT, SUMMA NUMERIC(18,2), WAY_CALC TINYINT , SPECO int)
			INSERT INTO #CALCULATE_JURNAL (LINK_PAYS, PERIOD_BEGIN, LINK_DOC, PERS_LINK, LINK_VKR, LINK_EKR, LINK_EMPL, SUMMA,way_calc , SPECO)
			SELECT CJ.LINK_PAYS, CJ.PERIOD_BEGIN, CJ.LINK_DOC, CJ.PERS_LINK, CJ.LINK_VKR, cj.LINK_EKR, CJ.LINK_EMPL, SUMMA = SUM(CJ.SUMMA), p.way_calc , SPECO
			FROM dbo.CALCULATE_JURNAL CJ INNER JOIN dbo.PAYS P ON  CJ.LINK_PAYS = p.link
			WHERE
				Year(period_begin) = @nYEAR1 
				and Month(period_begin) <= @nMONTH_3 
				and CJ.LINK_DEP = @DEP_LINK
			GROUP BY
				cj.LINK_PAYS, cj.PERIOD_BEGIN, cj.LINK_DOC, cj.PERS_LINK, cj.LINK_VKR, cj.LINK_EKR, cj.LINK_EMPL, P.WAY_CALC,cj.SPECO
						
			--
			Declare @StBase2 table (link int)
			Insert into @StBase2 (link)
			select distinct link_pays from tax_ref where link_tax = (select top 1 link from pays where object = 3 and way_calc = 6)
			
			DECLARE @LINK_EKR213 INT
			SET @LINK_EKR213 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')

			DECLARE @ESN_213 INT --Начислять страховые взносы на доходы с 213 ЭКР                                                    
			SET @ESN_213 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_5')
			
				
			------	у кого была инвалидность в заданном периоде
			SELECT DISTINCT PERS_LINK 
			INTO #PERS_INV
			FROM dbo.PERS_INVALID I
			WHERE COALESCE(I.DATE_BEGIN,@BYearDate) <= @EndYear AND COALESCE(I.DATE_END,@EndYear) >= @BYearDate
			
			delete from #PERS_INV
			
			
			------	у кого есть расчеты по доп тарифам со спец оценками в заданном периоде 
			SELECT DISTINCT sd.LINK, DOP = (CASE when S.COD_POS_SPISOK is NOT NULL then 1 else 2 end) , SPO = isnull(s4.code,'')
			INTO #EMPL_DT
			FROM DBO.KU_EMPL_PLACING SD
				left JOIN (select * from STAFF WHERE dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH_3,@nYEAR1)) BETWEEN DATE_BEGIN AND DATE_END  ) S ON S.LINK_up = SD.STAFF_HEAD AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH_3,@nYEAR1 )) BETWEEN S.DATE_BEGIN AND S.DATE_END
				LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = s.COD_SPO_USL_TRUD AND s4.spr_code = 'SPO_USL_TRUDA'
				WHERE 
					(S.COD_POS_SPISOK is NOT NULL OR S.COD_POS_SPISOK2 is NOT NULL) 

			--Заготовка для #SALARY_SUM2
			CREATE TABLE #SALARY_SUM_DATA (PERS_LINK INT,t_dog TINYINT, PERIOD_BEGIN DATETIME, SUMMA_ALL NUMERIC(18,2), SUMMA_NO NUMERIC(18,2), SUMMA_ALL_I NUMERIC(18,2), SUMMA_NO_I NUMERIC(18,2), SUMMA_ALL_E NUMERIC(18,2), SUMMA_NO_E NUMERIC(18,2), INV TINYINT 
					, SUMMA_NO_D1 NUMERIC(18,2), SUMMA_NO_D2 NUMERIC(18,2),    
				SUM_NO_D1_O4 NUMERIC(18,2) ,SUM_NO_D1_B34 NUMERIC(18,2) ,SUM_NO_D1_B33 NUMERIC(18,2),SUM_NO_D1_B32 NUMERIC(18,2), SUM_NO_D1_B31 NUMERIC(18,2),
					SUM_NO_D2_O4 NUMERIC(18,2) ,SUM_NO_D2_B34 NUMERIC(18,2) ,SUM_NO_D2_B33 NUMERIC(18,2),SUM_NO_D2_B32 NUMERIC(18,2), SUM_NO_D2_B31 NUMERIC(18,2) , sack CHAR(1) DEFAULT ''
					)

			--Сотрудники
			INSERT INTO #SALARY_SUM_DATA (PERS_LINK, t_dog, PERIOD_BEGIN, SUMMA_ALL, SUMMA_NO, SUMMA_ALL_I, SUMMA_NO_I, SUMMA_ALL_E, SUMMA_NO_E, INV 
					, SUMMA_NO_D1, SUMMA_NO_D2,SUM_NO_D1_O4,SUM_NO_D1_B34,SUM_NO_D1_B33, SUM_NO_D1_B32, SUM_NO_D1_B31,
					SUM_NO_D2_O4,SUM_NO_D2_B34,SUM_NO_D2_B33, SUM_NO_D2_B32, SUM_NO_D2_B31 , sack 
					)
			select
				E.PERS_LINK, 
				TDOG = 1,
				CJ.PERIOD_BEGIN,
				SUMMA_ALL = SUM(SUMMA),
				SUMMA_NO = SUM(CASE WHEN B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0 THEN SUMMA ELSE 0 END), --на которые не начисляются страховые взносы
				SUMMA_ALL_I = 0,
				SUMMA_NO_I = 0,
				SUMMA_ALL_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END),
				SUMMA_NO_E = SUM(CASE WHEN F.ENVD = 1 AND (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) THEN SUMMA ELSE 0 END),
				INV = 1, --dbo.is_invalid(e.PERS_LINK,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) ,
				SUMMA_NO_D1 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and ED.DOP = 1 AND isnull(SPO,'') ='' THEN SUMMA ELSE 0 END),
				SUMMA_NO_D2 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and ED.DOP = 2 and  isnull(SPO,'') ='' THEN SUMMA ELSE 0 END),
				SUM_NO_D1_O4 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='О4'  THEN SUMMA ELSE 0 END),
				SUM_NO_D1_B34 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.4' THEN SUMMA ELSE 0 END),
				SUM_NO_D1_B33 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.3' THEN SUMMA ELSE 0 END), 
				SUM_NO_D1_B32 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.2' THEN SUMMA ELSE 0 END), 
				SUM_NO_D1_B31 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.1' THEN SUMMA ELSE 0 END),	
				SUM_NO_D2_O4 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='О4' THEN SUMMA ELSE 0 END),
				SUM_NO_D2_B34 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.4' THEN SUMMA ELSE 0 END),
				SUM_NO_D2_B33 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.3' THEN SUMMA ELSE 0 END), 
				SUM_NO_D2_B32 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.2' THEN SUMMA ELSE 0 END), 
				SUM_NO_D2_B31 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.1' THEN SUMMA ELSE 0 END),
				sack = CASE WHEN isnull(e.DATE_END,'') BETWEEN @dDate1 AND @dDate2 THEN (case when isnull(e.sack,0) = 0 THEN '' ELSE CONVERT( char(1),e.sack ) end ) ELSE '' END 
			from 
			#CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
			INNER JOIN dbo.SAL_SFIN F on F.LINK = CJ.LINK_VKR
			INNER JOIN DBO.sd_EMPL E ON E.LINK = CJ.LINK_EMPL
			LEFT JOIN @StBase2 B ON B.LINK = cj.LINK_PAYS
			/*LEFT JOIN #PERS_INV I ON I.PERS_LINK = E.PERS_LINK*/
			LEFT JOIN #EMPL_DT ED ON ED.link = CJ.LINK_EMPL 
			where 	
				P.[OBJECT] = 1
				AND EXISTS(SELECT LINK_FACE FROM #SZV_all WHERE link_face = E.PERS_LINK )
			GROUP BY
				E.PERS_LINK/*, I.PERS_LINK*/, CJ.PERIOD_BEGIN, e.DATE_END, e.sack

			--Договрники
			INSERT INTO #SALARY_SUM_DATA (PERS_LINK, t_dog, PERIOD_BEGIN, SUMMA_ALL, SUMMA_NO, SUMMA_ALL_I, SUMMA_NO_I, SUMMA_ALL_E, SUMMA_NO_E, INV 
					)
			select
				CJ.PERS_LINK, 
				T_DOG = 2,
				CJ.PERIOD_BEGIN,
				SUMMA_ALL = SUM(SUMMA),
				SUMMA_NO = SUM(SUMMA) - ISNULL((SELECT SUM(B1.SUMMA_BASE) FROM #DGH_FAKT_BASE1 B1 WHERE B1.PERS_LINK = CJ.PERS_LINK AND B1.MONTH_BASE = Month(CJ.PERIOD_BEGIN)),0), --на которые не начисляются страховые взносы
				SUMMA_ALL_I = 0,
				SUMMA_NO_I = 0,
				SUMMA_ALL_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END),
				SUMMA_NO_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END)  - ISNULL((SELECT SUM(B.SUMMA_BASE) FROM #DGH_FAKT_BASE B WHERE B.PERS_LINK = CJ.PERS_LINK AND B.MONTH_BASE = Month(CJ.PERIOD_BEGIN) AND B.ENVD = 1),0),
				INV =  1-- dbo.is_invalid(CJ.PERS_LINK,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN))
					
			from 
				#CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
				INNER JOIN dbo.SAL_SFIN F on F.LINK = CJ.LINK_VKR
				INNER JOIN DBO.PERSON P1 ON P1.LINK = CJ.PERS_LINK
				--LEFT JOIN #PERS_INV I ON I.PERS_LINK = CJ.PERS_LINK
			where 	
				P.[OBJECT] = 1
			GROUP BY
				CJ.PERS_LINK,/* I.PERS_LINK,*/ CJ.PERIOD_BEGIN, P1.RESIDENT, p1.birthdate

				--корректировка в соотвествие с тем, в каком месяце кто был инвалидом
			UPDATE D SET 
				SUMMA_ALL_I = (CASE WHEN EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_ALL ELSE 0 END), 
				SUMMA_NO_I = (CASE WHEN EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_NO ELSE 0 END), 
				SUMMA_ALL_E = (CASE WHEN NOT EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_ALL_E ELSE 0 END), 
				SUMMA_NO_E = (CASE WHEN NOT EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_NO_E ELSE 0 END)

			FROM #SALARY_SUM_DATA D
			WHERE INV =2 --которые имели инвалидность в каком-то месяце периода	


----------<<<<<<<<< #SPR_ESN для определения скидочной части (кусок ИЗ РСВ)
		create table #SPR_ESN1 ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0 , PF_NUM VARCHAR (14), FACE_GROUP TINYINT, I TINYINT, E TINYINT , SP VARCHAR(4))

		Insert InTo #SPR_ESN1 ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS , PF_NUM, FACE_GROUP, I, E, SP)
		Select [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0 THEN 3 
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END ) AS FACE_GROUP, 
			1 ,--dbo.is_invalid(REF_PHYS_PERS,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH_BASE,@nYEAR1))),
			F.ENVD,
			SP = isnull(s4.code,'')
		from dbo.SA_ESN_VIEW(@nYEAR1, @nMONTH_3, @LINK_DEP, 0) S
			inner join PERSON P on S.REF_PHYS_PERS = P.link
			inner join dbo.SAL_SFIN F on F.LINK = S.LINK_VKR
			LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = S.SPECO AND s4.spr_code = 'SPO_USL_TRUDA'
		WHERE  WAY_CALC not in (5)

		--Суммы по договорникам
		INSERT INTO #SPR_ESN1 
			([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, PF_NUM, FACE_GROUP, I, E)
		SELECT 
			MONTH(G.[DATE]) AS MONTH_BASE, GT.SUMMA_BASE, 0, 0, GT.SUMMA, GT.WAY_CALC, GT.PERS_LINK, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0  THEN 3
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END) AS FACE_GROUP , 
			1,--dbo.is_invalid(GT.PERS_LINK,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,G.[MONTH],@nYEAR1))),
			F.ENVD
		FROM 
			DOCUMENTS_DGH G INNER JOIN DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
			inner join PERSON P on GT.PERS_LINK = P.link
			inner join dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
		WHERE 
			FLAG_JC = 1
			AND GT.WAY_CALC  not in (5)
			AND YEAR(G.[DATE]) = @nYEAR1
			AND MONTH(G.[DATE]) <= @nMONTH_3
			AND LINK_DEP = @DEP_LINK


		DELETE FROM #SPR_ESN1
		WHERE  EXISTS (SELECT * FROM dbo.KJ_PERS_PENSION K WHERE K.PERS_LINK = REF_PHYS_PERS AND K.CHECK_SZV = 0)
---------->>>>>>>>>>

		--DECLARE @PREDEL NUMERIC(18,2)
		--SET @PREDEL = (SELECT TOP 1 PREDEL FROM DICTIONARY_RANGE WHERE TARIF = 1 AND YEAR([DATE]) =  @nYEAR1)

		--Данные о начисленной зарплате
		SELECT 
			PERS_LINK,
			T_DOG = MIN(T_DOG),
			SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO), 
			SUMMA_ALL_I = SUM(SUMMA_ALL_I), SUMMA_NO_I = SUM(SUMMA_NO_I),
			SUMMA_ALL_E = SUM(SUMMA_ALL_E), SUMMA_NO_E = SUM(SUMMA_NO_E),
			SUMMA_ALL_DO_I = (CASE WHEN SUM(SUMMA_ALL_I) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL_I) - SUM(SUMMA_NO_I)) END ),
			SUMMA_ALL_DO = (CASE WHEN SUM(SUMMA_ALL) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL) - SUM(SUMMA_NO)) END ),
			SUMMA_ALL_AFTER = (CASE WHEN SUM(SUMMA_ALL - SUMMA_ALL_I - SUMMA_NO - SUMMA_NO_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END ),
			SUMMA_ALL_AFTER_I = (CASE WHEN SUM(SUMMA_ALL_I) > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END )
			,BASE_DOG = SUM(CASE WHEN T_DOG = 2 THEN SUMMA_ALL - SUMMA_NO ELSE 0 END),
			SACK = MAX(SACK)
		INTO #SALARY_SUM2
		FROM #SALARY_SUM_DATA s 
		GROUP BY
			PERS_LINK/*,SACK*/



-----------<<<<<<<<</*СВЕДЕНИЯ ЗА ПЕРИОД , ПО КОРРЕКТИРУЮЩИМ*/
		
		DECLARE @nYEAR1_K INT, @nMONTH_1_K INT, @nMONTH_2_K INT, @nMONTH_3_K INT	
		select 
   		@nYEAR1_K = YEAR_EDT,
   		@nMONTH_1_K = /*case when YEAR_EDT  between '2011' and '2013' then (*/case  PER_EDT when 1 then  1 when 2 then  4 when 3 then  7 when 4 then  10 else 10 end/*)
					when  YEAR_EDT >= '2014'  then (case  PER_EDT when 3 then  1 when 6 then  4 when 9 then  7 else  10 end)
					else null end */
		from #SZV_ALL	
		where [TYPE] = 2
		and YEAR_EDT >=2014
							 
		select @nMONTH_2_K = @nMONTH_1_K+1,
				@nMONTH_3_K = @nMONTH_1_K +2	

		DECLARE @BYearDate_K	datetime , @EndYear_K datetime
		SET @BYearDate_K = dbo.DateBeginOfYear (@nYEAR1_K+'0101')
		Set @EndYear_K = dbo.DateEndOfYear(@BYearDate_K)

		--Фактическая база для договорников
		SELECT 
			GT.PERS_LINK, MONTH(G.[DATE]) AS MONTH_BASE, F.ENVD, SUMMA_BASE = sum(GT.SUMMA_BASE)
		INTO #DGH_FAKT_BASE_K
		FROM 
			dbo.DOCUMENTS_DGH G INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
			INNER JOIN dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
		WHERE 
			FLAG_JC = 1
			AND GT.WAY_CALC  = 6
			AND YEAR(G.[DATE]) = @nYEAR1_K
			AND MONTH(G.[DATE]) <= @nMONTH_3_K
			--AND LINK_DEP = @DEP_LINK 
		GROUP BY 
			GT.PERS_LINK, MONTH(G.[DATE]), F.ENVD

			SELECT  PERS_LINK, MONTH_BASE, SUMMA_BASE = SUM(SUMMA_BASE)
			INTO #DGH_FAKT_BASE1_K
			FROM #DGH_FAKT_BASE_K
			GROUP BY PERS_LINK, MONTH_BASE


			-- Журнал операций 
			CREATE TABLE #CALCULATE_JURNAL_K (LINK_PAYS INT, PERIOD_BEGIN DATETIME, LINK_DOC INT, PERS_LINK INT, LINK_VKR INT, LINK_EKR INT, LINK_EMPL INT, SUMMA NUMERIC(18,2), WAY_CALC TINYINT , SPECO int)
			INSERT INTO #CALCULATE_JURNAL_K (LINK_PAYS, PERIOD_BEGIN, LINK_DOC, PERS_LINK, LINK_VKR, LINK_EKR, LINK_EMPL, SUMMA,way_calc , SPECO)
			SELECT CJ.LINK_PAYS, CJ.PERIOD_BEGIN, CJ.LINK_DOC, CJ.PERS_LINK, CJ.LINK_VKR, cj.LINK_EKR, CJ.LINK_EMPL, SUMMA = SUM(CJ.SUMMA), p.way_calc , SPECO
			FROM dbo.CALCULATE_JURNAL CJ INNER JOIN dbo.PAYS P ON  CJ.LINK_PAYS = p.link
			WHERE
				Year(period_begin) = @nYEAR1_K 
				and Month(period_begin) <= @nMONTH_3_K
				and CJ.LINK_DEP = @DEP_LINK
			GROUP BY
				cj.LINK_PAYS, cj.PERIOD_BEGIN, cj.LINK_DOC, cj.PERS_LINK, cj.LINK_VKR, cj.LINK_EKR, cj.LINK_EMPL, P.WAY_CALC,cj.SPECO
						
						
			------	у кого была инвалидность в заданном периоде
			SELECT DISTINCT PERS_LINK 
			INTO #PERS_INV_K
			FROM dbo.PERS_INVALID I
			WHERE COALESCE(I.DATE_BEGIN,@BYearDate_K) <= @EndYear_K AND COALESCE(I.DATE_END,@EndYear_K) >= @BYearDate_K

			------	у кого есть расчеты по доп тарифам со спец оценками в заданном периоде 
			SELECT DISTINCT sd.LINK, DOP = (CASE when S.COD_POS_SPISOK is NOT NULL then 1 else 2 end) , SPO = isnull(s4.code,'')
			INTO #EMPL_DT_K
			FROM DBO.KU_EMPL_PLACING SD
				left JOIN (select * from STAFF WHERE dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH_3_K,@nYEAR1_K)) BETWEEN DATE_BEGIN AND DATE_END  ) S ON S.LINK_up = SD.STAFF_HEAD AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH_3_K,@nYEAR1_K )) BETWEEN S.DATE_BEGIN AND S.DATE_END
				LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = s.COD_SPO_USL_TRUD AND s4.spr_code = 'SPO_USL_TRUDA'
				WHERE 
					(S.COD_POS_SPISOK is NOT NULL OR S.COD_POS_SPISOK2 is NOT NULL) 

			--Заготовка для #SALARY_SUM2
			CREATE TABLE #SALARY_SUM_DATA_K (PERS_LINK INT,t_dog TINYINT, PERIOD_BEGIN DATETIME , Per_Q TINYINT, SUMMA_ALL NUMERIC(18,2), SUMMA_NO NUMERIC(18,2), SUMMA_ALL_I NUMERIC(18,2), SUMMA_NO_I NUMERIC(18,2), SUMMA_ALL_E NUMERIC(18,2), SUMMA_NO_E NUMERIC(18,2), INV TINYINT 
					, SUMMA_NO_D1 NUMERIC(18,2), SUMMA_NO_D2 NUMERIC(18,2),    
				SUM_NO_D1_O4 NUMERIC(18,2) ,SUM_NO_D1_B34 NUMERIC(18,2) ,SUM_NO_D1_B33 NUMERIC(18,2),SUM_NO_D1_B32 NUMERIC(18,2), SUM_NO_D1_B31 NUMERIC(18,2),
					SUM_NO_D2_O4 NUMERIC(18,2) ,SUM_NO_D2_B34 NUMERIC(18,2) ,SUM_NO_D2_B33 NUMERIC(18,2),SUM_NO_D2_B32 NUMERIC(18,2), SUM_NO_D2_B31 NUMERIC(18,2) , sack CHAR(1) DEFAULT '' 
					)

			--Сотрудники
			INSERT INTO #SALARY_SUM_DATA_K (PERS_LINK, t_dog, PERIOD_BEGIN,Per_Q, SUMMA_ALL, SUMMA_NO, SUMMA_ALL_I, SUMMA_NO_I, SUMMA_ALL_E, SUMMA_NO_E, INV 
					, SUMMA_NO_D1, SUMMA_NO_D2,SUM_NO_D1_O4,SUM_NO_D1_B34,SUM_NO_D1_B33, SUM_NO_D1_B32, SUM_NO_D1_B31,
					SUM_NO_D2_O4,SUM_NO_D2_B34,SUM_NO_D2_B33, SUM_NO_D2_B32, SUM_NO_D2_B31,sack
					)
			select
				E.PERS_LINK, 
				TDOG = 1,
				CJ.PERIOD_BEGIN,
				CASE  WHEN month(CJ.PERIOD_BEGIN) BETWEEN 1 AND 3 THEN 1 WHEN  month(CJ.PERIOD_BEGIN) BETWEEN 4 AND 6 THEN 2 WHEN month(CJ.PERIOD_BEGIN) BETWEEN 7 AND 9 THEN 3 ELSE 4 END ,
				SUMMA_ALL = SUM(SUMMA),
				SUMMA_NO = SUM(CASE WHEN B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0 THEN SUMMA ELSE 0 END), --на которые не начисляются страховые взносы
				SUMMA_ALL_I = 0,
				SUMMA_NO_I = 0,
				SUMMA_ALL_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END),
				SUMMA_NO_E = SUM(CASE WHEN F.ENVD = 1 AND (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) THEN SUMMA ELSE 0 END),
				INV =  dbo.is_invalid(e.PERS_LINK,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) ,
				SUMMA_NO_D1 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and ED.DOP = 1 AND isnull(SPO,'') ='' THEN SUMMA ELSE 0 END),
				SUMMA_NO_D2 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and ED.DOP = 2 and  isnull(SPO,'') ='' THEN SUMMA ELSE 0 END),
				SUM_NO_D1_O4 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='О4'  THEN SUMMA ELSE 0 END),
				SUM_NO_D1_B34 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.4' THEN SUMMA ELSE 0 END),
				SUM_NO_D1_B33 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.3' THEN SUMMA ELSE 0 END), 
				SUM_NO_D1_B32 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.2' THEN SUMMA ELSE 0 END), 
				SUM_NO_D1_B31 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =1 AND SPO ='В3.1' THEN SUMMA ELSE 0 END),	
				SUM_NO_D2_O4 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='О4' THEN SUMMA ELSE 0 END),
				SUM_NO_D2_B34 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.4' THEN SUMMA ELSE 0 END),
				SUM_NO_D2_B33 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.3' THEN SUMMA ELSE 0 END), 
				SUM_NO_D2_B32 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.2' THEN SUMMA ELSE 0 END), 
				SUM_NO_D2_B31 = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) and CJ.LINK_EMPL = ED.link and DOP =2 AND SPO ='В3.1' THEN SUMMA ELSE 0 END),
				sack = CASE WHEN isnull(e.DATE_END,'') BETWEEN @dDate1 AND @dDate2 THEN (case when isnull(e.sack,0) = 0 THEN '' ELSE CONVERT( char(1),e.sack ) end ) ELSE '' END 
			from 
			#CALCULATE_JURNAL_K CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
			INNER JOIN dbo.SAL_SFIN F on F.LINK = CJ.LINK_VKR
			INNER JOIN DBO.SD_EMPL E ON E.LINK = CJ.LINK_EMPL
			LEFT JOIN @StBase2 B ON B.LINK = cj.LINK_PAYS
			/*LEFT JOIN #PERS_INV I ON I.PERS_LINK = E.PERS_LINK*/
			LEFT JOIN #EMPL_DT_K ED ON ED.link = CJ.LINK_EMPL
			
			where 	
				P.[OBJECT] = 1
				AND EXISTS(SELECT LINK_FACE FROM #SZV_all WHERE link_face = E.PERS_LINK )
			GROUP BY
				E.PERS_LINK/*, I.PERS_LINK*/, CJ.PERIOD_BEGIN,e.DATE_END,e.sack

			--Договрники
			INSERT INTO #SALARY_SUM_DATA (PERS_LINK, t_dog, PERIOD_BEGIN, SUMMA_ALL, SUMMA_NO, SUMMA_ALL_I, SUMMA_NO_I, SUMMA_ALL_E, SUMMA_NO_E, INV 
					)
			select
				CJ.PERS_LINK, 
				T_DOG = 2,
				CJ.PERIOD_BEGIN,
				SUMMA_ALL = SUM(SUMMA),
				SUMMA_NO = SUM(SUMMA) - ISNULL((SELECT SUM(B1.SUMMA_BASE) FROM #DGH_FAKT_BASE1 B1 WHERE B1.PERS_LINK = CJ.PERS_LINK AND B1.MONTH_BASE = Month(CJ.PERIOD_BEGIN)),0), --на которые не начисляются страховые взносы
				SUMMA_ALL_I = 0,
				SUMMA_NO_I = 0,
				SUMMA_ALL_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END),
				SUMMA_NO_E = SUM(CASE WHEN F.ENVD = 1 THEN SUMMA ELSE 0 END)  - ISNULL((SELECT SUM(B.SUMMA_BASE) FROM #DGH_FAKT_BASE B WHERE B.PERS_LINK = CJ.PERS_LINK AND B.MONTH_BASE = Month(CJ.PERIOD_BEGIN) AND B.ENVD = 1),0),
				INV =  dbo.is_invalid(CJ.PERS_LINK,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN))
					
			from 
				#CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
				INNER JOIN dbo.SAL_SFIN F on F.LINK = CJ.LINK_VKR
				INNER JOIN DBO.PERSON P1 ON P1.LINK = CJ.PERS_LINK
				--LEFT JOIN #PERS_INV I ON I.PERS_LINK = CJ.PERS_LINK
			where 	
				P.[OBJECT] = 1
			GROUP BY
				CJ.PERS_LINK,/* I.PERS_LINK,*/ CJ.PERIOD_BEGIN, P1.RESIDENT, p1.birthdate

				--корректировка в соотвествие с тем, в каком месяце кто был инвалидом
			UPDATE D SET 
				SUMMA_ALL_I = (CASE WHEN EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_ALL ELSE 0 END), 
				SUMMA_NO_I = (CASE WHEN EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_NO ELSE 0 END), 
				SUMMA_ALL_E = (CASE WHEN NOT EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_ALL_E ELSE 0 END), 
				SUMMA_NO_E = (CASE WHEN NOT EXISTS (SELECT * FROM dbo.PERS_INVALID I1 WHERE I1.PERS_LINK = D.PERS_LINK AND dbo.DateEndOfMonth(PERIOD_BEGIN) BETWEEN ISNULL(I1.DATE_BEGIN,PERIOD_BEGIN) AND  ISNULL(I1.DATE_END,dbo.DateEndOfMonth(PERIOD_BEGIN))) THEN SUMMA_NO_E ELSE 0 END)

			FROM #SALARY_SUM_DATA D
			WHERE INV =2 --которые имели инвалидность в каком-то месяце периода	

---------<<<<<<<<< #SPR_ESN_K (корректирующие) для определения скидочной части (кусок ИЗ РСВ)
		create table #SPR_ESN1_K ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0 , PF_NUM VARCHAR (14), FACE_GROUP TINYINT, I TINYINT, E TINYINT , SP VARCHAR(4))

		Insert InTo #SPR_ESN1_K ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS , PF_NUM, FACE_GROUP, I, E, SP)
		Select [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0 THEN 3 
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END ) AS FACE_GROUP, 
			dbo.is_invalid(REF_PHYS_PERS,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH_BASE,@nYEAR1_K))),
			F.ENVD,
			SP = isnull(s4.code,'')
		from dbo.SA_ESN_VIEW(@nYEAR1_K, @nMONTH_3_K, @LINK_DEP, 0) S
			inner join PERSON P on S.REF_PHYS_PERS = P.link
			inner join dbo.SAL_SFIN F on F.LINK = S.LINK_VKR
			LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = S.SPECO AND s4.spr_code = 'SPO_USL_TRUDA'
		WHERE  WAY_CALC not in (5)

		--Суммы по договорникам
		INSERT INTO #SPR_ESN1_K 
			([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, PF_NUM, FACE_GROUP, I, E)
		SELECT 
			MONTH(G.[DATE]) AS MONTH_BASE, GT.SUMMA_BASE, 0, 0, GT.SUMMA, GT.WAY_CALC, GT.PERS_LINK, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0  THEN 3
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END) AS FACE_GROUP , 
			dbo.is_invalid(GT.PERS_LINK,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,G.[MONTH],@nYEAR1_K))),
			F.ENVD
		FROM 
			DOCUMENTS_DGH G INNER JOIN DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
			inner join PERSON P on GT.PERS_LINK = P.link
			inner join dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
		WHERE 
			FLAG_JC = 1
			AND GT.WAY_CALC  not in (5)
			AND YEAR(G.[DATE]) = @nYEAR1_K
			AND MONTH(G.[DATE]) <= @nMONTH_3_K
			AND LINK_DEP = @DEP_LINK


		DELETE FROM #SPR_ESN1_K
		WHERE  EXISTS (SELECT * FROM dbo.KJ_PERS_PENSION K WHERE K.PERS_LINK = REF_PHYS_PERS AND K.CHECK_SZV = 0)
---------->>>>>>>>>>

		DECLARE @PREDEL_K NUMERIC(18,2)
		SET @PREDEL_K = (SELECT TOP 1 PREDEL FROM DICTIONARY_RANGE WHERE TARIF = 1 AND YEAR([DATE]) =  @nYEAR1_K)
		
		--Данные о начисленной зарплате
		SELECT 
			PERS_LINK,
			T_DOG = MIN(T_DOG),
			/*MON = Month(PERIOD_BEGIN),*/ 
			SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO), 
			SUMMA_ALL_I = SUM(SUMMA_ALL_I), SUMMA_NO_I = SUM(SUMMA_NO_I),
			SUMMA_ALL_E = SUM(SUMMA_ALL_E), SUMMA_NO_E = SUM(SUMMA_NO_E),
			SUMMA_ALL_D =  ISNULL((select SUM(SUMMA_ALL) FROM  #SALARY_SUM_DATA WHERE PERS_LINK = s.PERS_LINK AND t_dog=2 ),0) ,
			SUMMA_ALL_DO_I = (CASE WHEN SUM(SUMMA_ALL_I) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL_I) - SUM(SUMMA_NO_I)) END ),
			SUMMA_ALL_DO = (CASE WHEN SUM(SUMMA_ALL) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL) - SUM(SUMMA_NO)) END ),
			SUMMA_ALL_AFTER = (CASE WHEN SUM(SUMMA_ALL - SUMMA_ALL_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END ),
			SUMMA_ALL_AFTER_I = (CASE WHEN SUM(SUMMA_ALL_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END )
			,BASE_DOG = SUM(CASE WHEN T_DOG = 2 THEN SUMMA_ALL - SUMMA_NO ELSE 0 END),					
			SACK = MAX(SACK)								
		INTO #SALARY_SUM2_K
		FROM #SALARY_SUM_DATA_K s 
		GROUP BY
			pers_link--,SACK--, T_DOG--,Month(PERIOD_BEGIN)
		
		--Данные о начисленной зарплате с периодами (по кварталам)
		SELECT 
			PERS_LINK,
			T_DOG = MIN(T_DOG),
			PER_Q = PER_Q,
			SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO), 
			SUMMA_ALL_I = SUM(SUMMA_ALL_I), SUMMA_NO_I = SUM(SUMMA_NO_I),
			SUMMA_ALL_E = SUM(SUMMA_ALL_E), SUMMA_NO_E = SUM(SUMMA_NO_E),
			SUMMA_ALL_D =  ISNULL((select SUM(SUMMA_ALL) FROM  #SALARY_SUM_DATA WHERE PERS_LINK = s.PERS_LINK AND t_dog=2 ),0) ,
			SUMMA_ALL_DO_I = (CASE WHEN SUM(SUMMA_ALL_I) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL_I) - SUM(SUMMA_NO_I)) END ),
			SUMMA_ALL_DO = (CASE WHEN SUM(SUMMA_ALL) > @PREDEL THEN  @PREDEL ELSE (SUM(SUMMA_ALL) - SUM(SUMMA_NO)) END ),
			SUMMA_ALL_AFTER = (CASE WHEN SUM(SUMMA_ALL - SUMMA_ALL_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END ),
			SUMMA_ALL_AFTER_I = (CASE WHEN SUM(SUMMA_ALL_I)  > @PREDEL THEN  SUM(SUMMA_ALL) - @PREDEL ELSE 0 END )
			,BASE_DOG = SUM(CASE WHEN T_DOG = 2 THEN SUMMA_ALL - SUMMA_NO ELSE 0 END)					
											
		INTO #SALARY_SUM_PER_K
		FROM #SALARY_SUM_DATA_K s 
		GROUP BY
			pers_link , per_q--, T_DOG--,Month(PERIOD_BEGIN)	
			


		DROP TABLE #SALARY_SUM_DATA	
		DROP TABLE #DGH_FAKT_BASE
		DROP TABLE #DGH_FAKT_BASE1
		DROP TABLE #PERS_INV
		DROP TABLE #CALCULATE_JURNAL
		DROP TABLE #EMPL_DT		

		DROP TABLE #SALARY_SUM_DATA_K	
		DROP TABLE #DGH_FAKT_BASE_K
		DROP TABLE #DGH_FAKT_BASE1_K
		DROP TABLE #PERS_INV_K
		DROP TABLE #CALCULATE_JURNAL_K
		DROP TABLE #EMPL_DT_K				

		
		/*Корректирующие сведения по физ лицам для печати раздела 6.6*/
		SELECT year_edt = p.YEAR_EDT, 
				PER_EDT = p.PER_EDT, 
				link_dep = p.link_dep,
				link_pers = s.link_pers,
				Link_kateg = S.Link_kateg,
				pachka = s.pachka
		INTO #tmp_pers_r1
		FROM 	dbo.SA_SZV4_PACHKA P 
				INNER JOIN dbo.SZV4_SVEDENIA S ON P.link = S.link_up 															
		where
			P.link in (select link from #DOCS WHERE vid_kor = 2)
			and P.proverka = 1
			and P.vid_kor > 1
			and p.link_dep = @DEP_LINK


		CREATE TABLE #tmp_pers_kor_sum_R1 (link INT  , [date] DATETIME, YEAR_degin INT , per INT , vid_kor int, link_dep INT , proverka INT  , CODE VARCHAR(5), link_pers INT , 
										sum_doh NUMERIC(18,2), sum_str NUMERIC(18,2), sum_nak NUMERIC(18,2),sum_dop NUMERIC(18,2) , pachka int) 
	
		DECLARE @Cur_R1 CURSOR, @link_R1 int ,@LINK_pers_R1 INT, @year_edt_R1 INT , @per_edt_R1 INT , @Link_kateg_R1 INT ,@pachka_R1 int
		SET @Cur_R1 = CURSOR FORWARD_ONLY

		FOR SELECT LINK_pers, year_edt, per_edt, Link_kateg ,pachka FROM #tmp_pers_r1 ORDER by link_pers

		OPEN @Cur_R1
		FETCH NEXT FROM @Cur_R1 INTO @LINK_pers_R1, @year_edt_R1, @per_edt_R1 , @link_kateg_R1, @pachka_R1
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				
				
					SET @link_R1 = 0
					
					SELECT @link_R1 =max(pp.link)
					FROM SA_SZV4_PACHKA pp 
					INNER JOIN dbo.SZV4_SVEDENIA Ss ON ss.link_up = pp.link  
					WHERE  pp.proverka = 1 AND pp.vid_kor = 1 
										  AND pp.link_dep = @DEP_LINK 
										  AND pp.year_begin =@year_edt_R1  
										  AND pp.PER =@per_edt_R1 
										  AND @LINK_pers_R1 = ss.link_pers
										 /* AND @link_kateg_R1 = ss.link_kateg  */
										  AND pp.date = (SELECT MAX(p1.[date]) FROM SA_SZV4_PACHKA p1 
																INNER JOIN dbo.SZV4_SVEDENIA S1 ON s1.link_up = p1.link  
																WHERE  pp.proverka = 1 AND p1.vid_kor = 1 
																					  AND p1.link_dep = @DEP_LINK 
																					  AND p1.year_begin =@year_edt_R1  
																					  AND p1.PER =@per_edt_R1 
																					  AND @LINK_pers_R1 = s1.link_pers
																					  /*AND @link_kateg_R1 = s1.link_kateg*/ )
					
					INSERT INTO #tmp_pers_kor_sum_R1  (link, [date], YEAR_degin, per, vid_kor, link_dep, proverka , CODE, link_pers, 
										sum_doh, sum_str, sum_nak,sum_dop, pachka) 
					SELECT pp.link, pp.[date], pp.YEAR_begin, pp.per, pp.vid_kor, pp.link_dep, pp.proverka, CODE = k.code, ss.link_pers, 
										ss.sum_doh, ss.sum_str, ss.sum_nak,ss.sum_dop , pachka = @pachka_R1
					FROM SA_SZV4_PACHKA pp 
					INNER JOIN dbo.SZV4_SVEDENIA Ss ON ss.link_up = pp.link  
					INNER JOIN dbo.SA_PFR_KATEG K ON K.LINK = ss.LINK_KATEG AND pp.YEAR_begin BETWEEN YBEG AND YEND		
					WHERE pp.link = @link_R1 and pp.proverka = 1 
										 AND pp.vid_kor = 1 
										 AND pp.link_dep = @DEP_LINK 
										 AND pp.year_begin =@year_edt_R1  
										 AND pp.PER =@per_edt_R1 
										 AND ss.link_pers = @LINK_pers_R1
										 /*AND ss.link_kateg = @link_kateg_R1*/
										  

			END

			FETCH NEXT FROM @Cur_R1 INTO @LINK_pers_R1, @year_edt_R1, @per_edt_R1, @link_kateg_R1, @pachka_R1
		END

		CLOSE @Cur_R1
		DEALLOCATE @Cur_R1


		/******************* ИСХОДНЫЕ СВЕДЕНИЯ ********************/
		DECLARE @Cur1 CURSOR, @CODE varchar(4), @TYPE tinyint , @T_DOG tinyint, @PFNUMBER VARCHAR (14) , @FM VARCHAR(100),@IM VARCHAR(100),@OT VARCHAR(100),
		@pf_num1 VARCHAR(14) , @CODE_old VARCHAR(4), @TYPE_OLD TINYINT, @nom_pp INT, @DATE DATETIME
		set @pf_num1 = ''
		set @CODE_old = '' 
		set @TYPE_OLD = 0
		set @nom_pp = 1

		SET @Cur1 = CURSOR FORWARD_ONLY
		FOR SELECT  [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], MIN(DATE_BEGIN) AS DATE_BEGIN  
			FROM #SZV_ALL where [TYPE] = 1 
			GROUP BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE
			ORDER BY [FM],[IM],[OT],[PFNUMBER],DATE_BEGIN
		OPEN @Cur1
		FETCH NEXT FROM @Cur1 INTO  @CODE,@TYPE/*,@T_DOG*/,@PFNUMBER,@FM,@IM,@OT, @DATE
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				--- Заполнение информации по первому коду категории сотрудника (нр , оои, пнэд)
				IF (/*@T_DOG = 1 and */ @PFNUMBER <> @pf_num1 ) 
				BEGIN

					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44, COL45)
					SELECT CODE =  @nom_pp,
						   COL1 =  @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'400'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = CASE WHEN @CODE = 'ООИ' THEN ISNULL(SS.SUMMA_ALL_I,0) ELSE ISNULL(SS.SUMMA_ALL - SS.SUMMA_ALL_I ,0) END,
						   COL7 = 
								CASE WHEN @CODE = 'ООИ' THEN
										(CASE WHEN
											(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
											) > @PREDEL 
										THEN @PREDEL
										ELSE 
											(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
											)
										END)	
									ELSE
										(CASE WHEN 
											( ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
											) > @PREDEL 
										THEN @PREDEL
										ELSE 
											( ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0)  - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
											) 
										END) 
								 END,
						   COL8 = ISNULL(SS.BASE_DOG,0),
						   COL9 = CASE WHEN @CODE = 'ООИ' THEN
										(CASE WHEN
											(ISNULL(SS.SUMMA_ALL_I,0) - ISNULL(SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
											) > @PREDEL 
										THEN 
											(ISNULL(SS.SUMMA_ALL_I,0) - ISNULL(SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
											) - @PREDEL 
										ELSE 
											0
										END)	
									ELSE
										(CASE WHEN 
											(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
											) > @PREDEL
										THEN 
											(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
											) - @PREDEL
										ELSE 
											0
										END) 
								 END,
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT), 
						   COL44 = isnull([INSUR],0),
						   COL45 = ISNULL([sack],'')
					FROM #SZV_PC s LEFT JOIN #SALARY_SUM2 ss ON ss.pers_link = s.link_face
					WHERE 
						code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					
					select row_number() over (order by PER_EDT) as ID , 
							[PER_EDT] as k_PER_EDT, 
							YEAR_EDT as k_YEAR_EDT, 
							INSUR - (SELECT SUM(SUM_doh) FROM #tmp_pers_kor_sum_r1 WHERE CODE = 'НР' AND LINK_pers = s.link_face AND  per = s.[PER_EDT]  )  as k_INSUR, 
							GAIN - (SELECT SUM(SUM_NAK) FROM #tmp_pers_kor_sum_r1 WHERE CODE = 'НР' AND LINK_pers = s.link_face AND  per = s.[PER_EDT] ) as k_GAIN, 
							PFNUMBER as k_PFNUMBER , 
							FM as k_FM 
					INTO #TMP01
					from  #SZV_ALL s
					WHERE  [TYPE] = 2 AND id_ex =1 and FM = @FM AND PFNUMBER = @PFNUMBER

					UPDATE #TMP1
					SET COL19 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=1),
						COL20 = (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=1),
						COL21 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=1) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=1)  ELSE 0 END ),
						COL22 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=1) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=1) ELSE 0 END ),
						COL23 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=1) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=1) ELSE 0 END ), 
						COL24 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=2),
					    COL25 = (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=2), 
					    COL26 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=2) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=2)  ELSE 0 END ), 
					    COL27 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=2) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=2) ELSE 0 END ), 
					    COL28 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=2) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=2) ELSE 0 END ),
					    COL29 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=3),
					    COL30 = (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=3), 
					    COL31 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=3) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=3)  ELSE 0 END ), 
					    COL32 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=3) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=3) ELSE 0 END ), 
					    COL33 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=3) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=3) ELSE 0 END ),
					    COL34 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=4),
					    COL35 = (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=4), 
					    COL36 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=4) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=4)  ELSE 0 END ), 
					    COL37 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=4) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=4) ELSE 0 END ), 
					    COL38 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=4) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=4) ELSE 0 END ),
					    COL39 = (SELECT TOP 1 k_PER_EDT FROM #TMP01 where ID=5),
					    COL40 = (SELECT TOP 1 k_YEAR_EDT FROM #TMP01 where ID=5), 
					    COL41 = (CASE WHEN (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=5) >= '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=5)  ELSE 0 END ), 
					    COL42 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=5) < '2014' THEN (SELECT TOP 1 k_INSUR FROM #TMP01 where ID=5) ELSE 0 END ), 
					    COL43 = (case when (select TOP 1 k_YEAR_EDT FROM #TMP01 where ID=5) < '2014' THEN (SELECT TOP 1 k_GAIN FROM #TMP01 where ID=5) ELSE 0 END )--,
					FROM #TMP1
					WHERE #TMP1.COL5 = @CODE 
						AND #TMP1.COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), '') 
						AND #TMP1.COL2 = @PFNUMBER and #TMP1.COL16 = @FM and #TMP1.COL17 = @IM and #TMP1.COL18 = @OT


					drop table #TMP01

					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14,COL15, COL16,COL17, COL18 , COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'401'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M1]),
						   COL7 = SUM([B_BEF_M1]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M1] ELSE 0 END),
						   COL9 = SUM([B_AFT_M1]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year],''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'402'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M2]),
						   COL7 = SUM([B_BEF_M2]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M2] ELSE 0 END),
						   COL9 = SUM([B_AFT_M2]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'403'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M3]),
						   COL7 = SUM([B_BEF_M3]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M3] ELSE 0 END),
						   COL9 = SUM([B_AFT_M3]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
				END
		
				--- Заполнение информации по следующему коду категории сотрудника (если за расчетный период у сотрудника была не одна категория)
				IF /*@T_DOG = 1 and*/  @PFNUMBER = @pf_num1 and @CODE <> @CODE_old	and  @TYPE = @TYPE_OLD
				BEGIN 

					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44,COL45)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'410'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = CASE WHEN @CODE = 'ООИ' then ISNULL(SS.SUMMA_ALL_I,0) ELSE ISNULL(SS.SUMMA_ALL- SS.SUMMA_ALL_I,0) end,
						   COL7 = 
								CASE WHEN @CODE = 'ООИ' THEN
									--база по ООИ
									(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
									- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
									)
								ELSE
									--база по НР
									( (ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0)) - (ISNULL(SS.SUMMA_NO,0) -  ISNULL(SS.SUMMA_NO_I,0))
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
									)
								END
								- --сумма превышения
								CASE WHEN 
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) > @PREDEL
								THEN
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) - @PREDEL
								ELSE
									0
								END,	
														
						   COL8 = ISNULL(SS.BASE_DOG,0),

						   COL9 = 
								--сумма превышения
								CASE WHEN 
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) > @PREDEL
								THEN
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1 WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) - @PREDEL
								ELSE
									0
								END,
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   COL44 =  isnull([INSUR],0),
						   COL45 = ISNULL(SACK,'')
					FROM 
						#SZV_PC s LEFT JOIN #SALARY_SUM2 ss ON ss.pers_link = s.link_face
					WHERE 
						code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'411'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M1]),
						   COL7 = SUM([B_BEF_M1]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M1] ELSE 0 END),
						   COL9 = SUM([B_AFT_M1]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
						   
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'412'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M2]),
						   COL7 = SUM([B_BEF_M2]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M2] ELSE 0 END),
						   COL9 = SUM([B_AFT_M2]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'413'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M3]),
						   COL7 = SUM([B_BEF_M3]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M3] ELSE 0 END),
						   COL9 = SUM([B_AFT_M3]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
				END						

				--- заполняем пустые строки '410','411','412','413' 
			
				if not exists (select * from #tmp1 
								where COl2 = @PFNUMBER 
								and COL12 = (case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end)
								and COL4 = '410' ) AND NOT EXISTS (SELECT * FROM #SZV_ALL WHERE PFNUMBER = @PFNUMBER AND CODE != @CODE AND [TYPE] = 1) 
				begin 
						
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL(@PFNUMBER,''), 
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'410'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((SELECT TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = '', 
						   COL14 = '',
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL(@PFNUMBER,''),
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'411'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),'') , 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = '', 
						   COL14 = '',
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL(@PFNUMBER,''), 
						 COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'412'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),'') , 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = '', 		
						   COL14 = '',
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1		
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp, 
						   COL2 = ISNULL(@PFNUMBER,''),
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'413'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),'') , 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = 'Исходная' and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = '', 
						   COL14 = '',
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1	
				
				end 

					set @pf_num1 = @PFNUMBER
					set @CODE_old = @CODE
					set @TYPE_OLD = @TYPE
			END

			FETCH NEXT FROM @Cur1 INTO @CODE,@TYPE/*,@T_DOG*/,@PFNUMBER,@FM,@IM,@OT, @DATE
		END

		CLOSE @Cur1
		DEALLOCATE @Cur1

		/*****************************************************/
		-- Собираем информацию по Кореектирующим/Отменяющим
		/*****************************************************/
		DECLARE @Cur2 CURSOR , @PER_EDT1 INT, @PER_OLD INT
		set @pf_num1 = ''
		
		set @CODE_old = '' 
		set @TYPE_OLD = 0
		set @nom_pp = (SELECT MAX(CODE) FROM #TMP1 WHERE COL12= 'Исходная') + 1 
		
		SET @Cur2 = CURSOR FORWARD_ONLY
		FOR SELECT  [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], PER_EDT  FROM #SZV_ALL where /*T_DOG = 1 and*/ [TYPE] != 1 /*AND YEAR_EDT >=2014*/ GROUP BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE/*, [T_DOG]*/, PER_EDT ORDER BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE/*, [T_DOG]*/, PER_EDT
		OPEN @Cur2
		FETCH NEXT FROM @Cur2 INTO  @CODE,@TYPE,@PFNUMBER,@FM,@IM,@OT,@PER_EDT1
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				  
				--- Заполнение информации по первому коду категории сотрудника (нр , оои, пнэд)
				IF (/*@T_DOG = 1 and */ @PFNUMBER <> @pf_num1  OR ( @PFNUMBER = @pf_num1 AND  @PER_EDT1 <> @PER_OLD)) 
				BEGIN
					
				 					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44, COL45)
					SELECT CODE =  @nom_pp,
						   COL1 =  @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'400'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = CASE WHEN @CODE = 'ООИ' THEN ISNULL(SS.SUMMA_ALL_I,0) ELSE ISNULL(SS.SUMMA_ALL - SS.SUMMA_ALL_I,0) END,
						   COL7 = 
								CASE WHEN @CODE = 'ООИ' THEN
										(CASE WHEN
											(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) > @PREDEL_K 
										THEN @PREDEL_K
										ELSE 
											(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											)
										END)	
									ELSE
										(CASE WHEN 
											( ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) > @PREDEL_K 
										THEN @PREDEL_K
										ELSE 
											( ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) 
										END) 
								 END,								 

						   COL8 = ISNULL(SS.BASE_DOG,0),

						   COL9 = CASE WHEN @CODE = 'ООИ' THEN
										(CASE WHEN
											(ISNULL(SS.SUMMA_ALL_I,0) - ISNULL(SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) > @PREDEL_K 
										THEN 
											(ISNULL(SS.SUMMA_ALL_I,0) - ISNULL(SS.SUMMA_NO_I,0) 
											- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) - @PREDEL_K 
										ELSE 
											0
										END)	
									ELSE
										(CASE WHEN 
											(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) > @PREDEL_K
										THEN 
											(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
											- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face 
																						and month_base <= (case when @PER_EDT1  = 1 then  3
																						when @PER_EDT1  = 2 then 6
																						when @PER_EDT1  = 3 then 9
																						when @PER_EDT1  = 0 then 12 END )) ,0) ))
											) - @PREDEL_K
										ELSE 
											0
										END) 
								 END,
																			
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   COL44 = isnull([INSUR],0),
						   COL45 = ISNULL([SACK],'')
					FROM 
						#SZV_PC s LEFT JOIN #SALARY_SUM2_K ss ON ss.pers_link = s.link_face
					WHERE 
						code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER  AND PER_EDT = @PER_EDT1 
						
					

					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14,COL15, COL16,COL17, COL18 , COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'401'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M1]),
						   COL7 = SUM([B_BEF_M1]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M1] ELSE 0 END),
						   COL9 = SUM([B_AFT_M1]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE  code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER AND per_edt = @per_edt1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]

			
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'402'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M2]),
						   COL7 = SUM([B_BEF_M2]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M2] ELSE 0 END),
						   COL9 = SUM([B_AFT_M2]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER AND per_edt = @per_edt1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]

										
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),	
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'403'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M3]),
						   COL7 = SUM([B_BEF_M3]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M3] ELSE 0 END),
						   COL9 = SUM([B_AFT_M3]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL(CONVERT(VARCHAR(1),[per_edt]), ''), 
						   COL14 = ISNULL(CONVERT(VARCHAR(4),[year_edt]), ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_SUM WHERE code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER AND per_edt = @per_edt1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
					
					set @nom_pp = @nom_pp + 1
				END
					

		
				--- Заполнение информации по следующему коду категории сотрудника (если за расчетный период у сотрудника была не одна категория)
				IF /*@T_DOG = 1 and*/  @PFNUMBER = @pf_num1 and @CODE <> @CODE_old	and  @TYPE = @TYPE_OLD
				BEGIN 
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'410'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = CASE WHEN @CODE = 'ООИ' then ISNULL(SS.SUMMA_ALL_I,0) ELSE ISNULL(SS.SUMMA_ALL - SS.SUMMA_ALL_I,0) end,
						   COL7 = 
								CASE WHEN @CODE = 'ООИ' THEN
									--база по ООИ
									(ISNULL(SS.SUMMA_ALL_I - SS.SUMMA_NO_I,0) 
									- ( CONVERT(numeric(18,2),ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 2 AND ref_phys_pers = s.link_face) ,0) ))
									)
								ELSE
									--база по НР
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_ALL_I,0) - (ISNULL(SS.SUMMA_NO,0) - ISNULL(SS.SUMMA_NO_I,0))
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND I = 1 AND ref_phys_pers = s.link_face) ,0) ))
									)
								END
								- --сумма превышения
								CASE WHEN 
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) > @PREDEL_K
								THEN
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) - @PREDEL_K
								ELSE
									0
								END,
													
						   COL8 = ISNULL(SS.BASE_DOG,0),
						   
						   COL9 = 
								--сумма превышения
								CASE WHEN 
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) > @PREDEL_K
								THEN
									(ISNULL(SS.SUMMA_ALL,0) - ISNULL(SS.SUMMA_NO,0) 
									- ( CONVERT(numeric(18,2),ISNULL((SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN1_K WHERE WAY_CALC = 6 AND ref_phys_pers = s.link_face) ,0) ))
									) - @PREDEL_K
								ELSE
									0
								END,										
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM 
						#SZV_ALL s LEFT JOIN #SALARY_SUM2_K ss ON ss.pers_link = s.link_face
					WHERE 
						S.NUM = 1 AND code = @CODE and [TYPE] = @TYPE AND PFNUMBER = @PFNUMBER and FM = @FM					
					GROUP BY 
						[TYPE],CODE, [T_DOG],[FM],[IM],[OT],[PFNUMBER],[per],[year],[per_edt],[year_edt],[INSUR],[INC_M1],[INC_M2],[INC_M3],[B_BEF_M1],[B_BEF_M2],[B_BEF_M3], [B_AFT_M1],[B_AFT_M2],[B_AFT_M3],SS.SUMMA_ALL_I, SS.SUMMA_NO, SS.SUMMA_NO_I, SS.SUMMA_NO_E
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0),
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'411'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M1]),
						   COL7 = SUM([B_BEF_M1]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M1] ELSE 0 END),
						   COL9 = SUM([B_AFT_M1]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM 
						#SZV_ALL WHERE  code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER and per_edt = @per_edt1
					GROUP BY 
						[TYPE],CODE, [T_DOG],[FM],[IM],[OT],[PFNUMBER],[per],[year],[per_edt],[year_edt],[INSUR],[INC_M1],[INC_M2],[INC_M3],[B_BEF_M1],[B_BEF_M2],[B_BEF_M3], [B_AFT_M1],[B_AFT_M2],[B_AFT_M3]
					
					set @nom_pp = @nom_pp + 1
			
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'412'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M2]),
						   COL7 = SUM([B_BEF_M2]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M2] ELSE 0 END),
						   COL9 = SUM([B_AFT_M2]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						  COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_ALL WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER AND per_edt = @per_edt1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
										
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL([PFNUMBER],0), 
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'413'),
						   COL5 = CONVERT(VARCHAR(4),@CODE),
						   COL6 = SUM([INC_M3]),
						   COL7 = SUM([B_BEF_M3]),
						   COL8 = SUM(CASE WHEN T_DOG = 2 THEN [B_BEF_M3] ELSE 0 END),
						   COL9 = SUM([B_AFT_M3]),
						   COL10 = ISNULL([per],''), 
						   COL11 = ISNULL([year], ''), 
						   COL12 = ISNULL((case WHEN [TYPE] = 1 then 'Исходная' when [TYPE] = 2 then 'Корректирующая' else 'Отменяющая' end ), ''), 
						   COL13 = ISNULL([per_edt], ''), 
						   COL14 = ISNULL([year_edt], ''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					FROM #SZV_ALL WHERE code = @CODE and [TYPE] = @TYPE /*and T_DOG = @T_DOG*/ AND PFNUMBER = @PFNUMBER AND  per_edt = @PER_EDT1
					GROUP BY [PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]
										
					set @nom_pp = @nom_pp + 1
				END						

				--- заполняем пустые строки '410','411','412','413' 
			
				if not exists (select * from #tmp1 
								where COL2 = @PFNUMBER 
								and COL12 = (case WHEN @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end)
								and COL4 = '410' ) AND NOT EXISTS (SELECT * FROM #SZV_ALL WHERE PFNUMBER = @PFNUMBER AND CODE != @CODE AND [TYPE] = 1) 
				begin 
						
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,	
						   COL2 = ISNULL(@PFNUMBER,''), 
						   COL3 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),
						   COL4 = CONVERT(VARCHAR(4),'410'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL((select TOP 1 COL13 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL14 = ISNULL((select TOP 1 COL14 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						 COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL(@PFNUMBER,''),
						   COL3 = CONVERT(VARCHAR(100), '1 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'411'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL((select TOP 1 COL13 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL14 = ISNULL((select TOP 1 COL14 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13,COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp,
						   COL2 = ISNULL(@PFNUMBER,''), 
						   COL3 = CONVERT(VARCHAR(100), '2 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'412'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL((select TOP 1 COL13 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 		
						   COL14 = ISNULL((select TOP 1 COL14 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
					
					set @nom_pp = @nom_pp + 1		
					
					INSERT INTO #TMP1 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL11, COL12, COL13, COL14, COL15, COL16,COL17, COL18, COL44)
					SELECT CODE = @nom_pp,
						   COL1 = @nom_pp, 
						   COL2 = ISNULL(@PFNUMBER,''),
						   COL3 = CONVERT(VARCHAR(100), '3 месяц'),
						   COL4 = CONVERT(VARCHAR(4),'413'),
						   COL5 = CONVERT(VARCHAR(4),''),
						   COL6 = 0,
						   COL7 = 0,
						   COL8 = 0,
						   COL9 = 0,
						   COL10 = ISNULL((select TOP 1 COL10 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL11 = ISNULL((select TOP 1 COL11 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL12 = ISNULL((case WHEN @TYPE = 1 then 'Исходная' when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end), ''), 
						   COL13 = ISNULL((select TOP 1 COL13 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''), 
						   COL14 = ISNULL((select TOP 1 COL14 from #tmp1 where COl2 = @PFNUMBER and COL12 = (case when @TYPE = 2 then 'Корректирующая' else 'Отменяющая'end) and COL4 = '400'),''),
						   COL15 = @nom_pp,
						   COL16 = CONVERT(varchar(100),@FM),
						   COL17 = CONVERT(varchar(100),@IM),
						   COL18 = CONVERT(varchar(100),@OT),
						   0
						   
					set @nom_pp = @nom_pp + 1	
					--exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20141001', '20141231', 74578 ,1,  2190
		
				end 
			
					set @pf_num1 = @PFNUMBER
					set @CODE_old = @CODE
					set @TYPE_OLD = @TYPE
					SET @PER_OLD = @PER_EDT1
			END

			FETCH NEXT FROM @Cur2 INTO @CODE,@TYPE/*,@T_DOG*/,@PFNUMBER,@FM,@IM,@OT, @PER_EDT1
		END

		CLOSE @Cur2
		DEALLOCATE @Cur2
       
		SELECT DISTINCT 
			CODE = ROW_NUMBER() OVER (ORDER BY CODE),
			COL1 = ROW_NUMBER() OVER (ORDER BY COL1),
			COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, 
			COL11, COL12, COL13, COL14, COL15, COL16, COL17, COL18, COL19, COL20, 
			COL21, COL22, COL23, COL24, COL25, COL26, COL27, COL28, COL29, COL30, 
			COL31, COL32, COL33, COL34, COL35, COL36, COL37, COL38, COL39, COL40, 
			COL41, COL42, COL43, COL44, COL45	
		FROM #TMP1 where col5 <> '' ORDER BY  CODE, COL15
		
	drop table #SALARY_SUM2_K
	drop table #SPR_ESN1_K			
	drop table #SPR_ESN1
	drop table #SALARY_SUM2
	drop table #TMP1

	END  


	IF @REP = 2 
	BEGIN 	
		/*Информация по раздеру 6.6 Информация о корректирующих сведениях*/
		/*К Исходным  заполняется в формах  с типом сведений «исходная» в случае, если в последние три месяца отчетного периода плательщиком страховых взносов 
		* корректируются данные, представленные в предыдущие отчетные периоды.При наличии данных в подразделе 6.6 дополнительно, 
		* в обязательном порядке предоставляются корректирующие (отменяющие)  разделы 6 и (или)  формы СЗВ-6-1, и (или) СЗВ-6-2, и (или) СЗВ-6-4.
		*/
		/*Заполняются в исходных , если есть по ним корректирующие */
	
		--- Обьявляем даты корректирующих сведений
			DECLARE @BYDateK	datetime , @nYEAR_K INT, @nMON1 INT, @nMON2 INT, @nMON3 INT
	

			select top 1 
			@BYDateK = (convert(varchar(4),YEAR_EDT)+'0101'),
			@nYEAR_K = YEAR_EDT,
			@nMON1 = (case  PER_EDT when 1 then  1 when 2 then  4 when 3 then  7 when 4 then  10 else 10 end)
			from #SZV_ALL WHERE [TYPE] = 2
			
			SELECT  @nMON2 = @nMON1 +1 , 	
					@nMON3 = @nMON1 +2 	
					
----------<<<<<<<<< #SPR_ESN для определения скидочной части (кусок ИЗ РСВ)

		/*Корректирующие сведения по физ лицам*/
		SELECT year_edt = p.YEAR_EDT, 
				PER_EDT = p.PER_EDT, 
				link_dep = p.link_dep,
				link_pers = s.link_pers,
				Link_kateg = case when S.Link_kateg = 3 then 1 else S.Link_kateg  end ,
				pachka = s.pachka
		INTO #tmp_pers
		FROM 	dbo.SA_SZV4_PACHKA P 
				INNER JOIN dbo.SZV4_SVEDENIA S ON P.link = S.link_up 															
		where
			P.link in (select link from #DOCS WHERE vid_kor = 2)
			and P.proverka = 1
			and P.vid_kor > 1
			and p.link_dep = @DEP_LINK


		CREATE TABLE #tmp_pers_kor_sum (link INT  , [date] DATETIME, YEAR_degin INT , per INT , vid_kor int, link_dep INT , proverka INT  , CODE VARCHAR(5), link_pers INT , 
										sum_doh NUMERIC(18,2), sum_str NUMERIC(18,2), sum_nak NUMERIC(18,2),sum_dop NUMERIC(18,2) , pachka int) 
	
		DECLARE @Cur_R2 CURSOR, @link int ,@LINK_pers INT, @year_edt INT , @per_edt INT , @Link_kateg INT ,@pachka int
		SET @Cur_R2 = CURSOR FORWARD_ONLY

		FOR SELECT LINK_pers, year_edt, per_edt, Link_kateg ,pachka FROM #tmp_pers ORDER by link_pers

		OPEN @Cur_R2
		FETCH NEXT FROM @Cur_R2 INTO @LINK_pers, @year_edt, @per_edt , @link_kateg, @pachka
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				
				
					SET @link = 0
					
					SELECT @link =max(pp.link)
					FROM SA_SZV4_PACHKA pp 
					INNER JOIN dbo.SZV4_SVEDENIA Ss ON ss.link_up = pp.link  
					WHERE  pp.proverka = 1 AND pp.vid_kor = 1 
										  AND pp.link_dep = @DEP_LINK 
										  AND pp.year_begin =@year_edt  
										  AND pp.PER =@per_edt 
										  AND @LINK_pers = ss.link_pers
										  --AND @link_kateg = ss.link_kateg  
										  AND pp.date = (SELECT MAX(p1.[date]) FROM SA_SZV4_PACHKA p1 
																INNER JOIN dbo.SZV4_SVEDENIA S1 ON s1.link_up = p1.link  
																WHERE  pp.proverka = 1 AND p1.vid_kor = 1 
																					  AND p1.link_dep = @DEP_LINK 
																					  AND p1.year_begin =@year_edt  
																					  AND p1.PER =@per_edt 
																					  AND @LINK_pers = s1.link_pers
																					  /*AND @link_kateg = s1.link_kateg*/ )
					
					INSERT INTO #tmp_pers_kor_sum (link, [date], YEAR_degin, per, vid_kor, link_dep, proverka , CODE, link_pers, 
										sum_doh, sum_str, sum_nak,sum_dop, pachka) 
					SELECT pp.link, pp.[date], pp.YEAR_begin, pp.per, pp.vid_kor, pp.link_dep, pp.proverka, CODE = k.code, ss.link_pers, 
										ss.sum_doh, ss.sum_str, ss.sum_nak,ss.sum_dop , pachka = @pachka
					FROM SA_SZV4_PACHKA pp 
					INNER JOIN dbo.SZV4_SVEDENIA Ss ON ss.link_up = pp.link  
					INNER JOIN dbo.SA_PFR_KATEG K ON K.LINK = ss.LINK_KATEG AND pp.YEAR_begin BETWEEN YBEG AND YEND		
					WHERE pp.link = @link and pp.proverka = 1 
										 AND pp.vid_kor = 1 
										 AND pp.link_dep = @DEP_LINK 
										 AND pp.year_begin =@year_edt  
										 AND pp.PER =@per_edt 
										 AND ss.link_pers = @LINK_pers
										/* AND ss.link_kateg = @link_kateg*/
										  

			END

			FETCH NEXT FROM @Cur_R2 INTO @LINK_pers, @year_edt, @per_edt, @link_kateg, @pachka
		END

		CLOSE @Cur_R2
		DEALLOCATE @Cur_R2
--exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20141001', '20141231', 74578 ,1,  2191


---------->>>>>>>>>>
		create table #TMP2(CODE int identity(1,1) ,col1 int,   COL2 tinyint, COL3 varchar(4), COL4 numeric(18,2), COL5 numeric(18,2), COL6 numeric(18,2), COL7 VARCHAR(14), COL8 INT)

		INSERT INTO #TMP2 (COL2, COL3, COL4, COL5, COL6, COL7)
		SELECT 
			   COL2 = /*case when YEAR_EDT between '2011' and '2013'  then (case*/ [PER_EDT]/* when 1 then 1 when 2 then 2 when 3 then 3 when 4 then 4 else 0 end)
							when YEAR_EDT = '2014' then (case [PER_EDT] when 1 then 3 when 2 then 6 when 3 then 9 when 4 then 0 else null end) end */, 
			   COL3 = CONVERT(VARCHAR(4),YEAR_EDT),
			   COL4 = (CASE WHEN YEAR_EDT = '2014' THEN INSUR - (SELECT SUM(SUM_doh) FROM #tmp_pers_kor_sum WHERE CODE = 'НР' AND LINK_pers = s.link_face AND  per = s.per_edt )  ELSE 0 END ),
			   COL5 = (CASE WHEN YEAR_EDT < '2014' THEN INSUR - (SELECT SUM(SUM_doh) FROM #tmp_pers_kor_sum WHERE CODE = 'НР' AND LINK_pers = s.link_face  AND  per = s.per_edt )  ELSE 0 END ),
			   COL6 = (CASE WHEN YEAR_EDT < '2014' THEN GAIN - (SELECT SUM(SUM_NAK) FROM #tmp_pers_kor_sum WHERE CODE = 'НР' AND LINK_pers = s.link_face AND  per = s.per_edt )   ELSE 0 END ),
			   COL7 = CONVERT(VARCHAR(14),PFNUMBER)
		FROM #SZV_ALL s WHERE  [TYPE] = 2 AND id_ex =1 
		GROUP BY link_face, YEAR_EDT,  [PER_EDT] , INSUR , GAIN ,[FM],[IM],[OT], PFNUMBER 
		ORDER BY [FM],[IM],[OT],[PFNUMBER]
		
		UPDATE #TMP2 
			SET col1 = CODE , COL8 = CODE 

		
		SELECT * FROM #TMP2 ORDER BY CODE


		drop table #tmp_pers
		drop table #tmp_pers_kor_sum
		--DROP TABLE #SPR_ESN_K
		drop table #TMP2
		--GROUP BY [TYPE],CODE, [T_DOG],[FM],[IM],[OT],[PFNUMBER],[per],[year],[per_edt],[year_edt]	
	

	
	END	
	
	IF @REP = 3 
	BEGIN 	
		/*Информация по раздеру 6.7 Сведения о сумме выплат и иных вознаграждений в пользу физического лица, занятого на соответствующих видах работ, 
		* с которых начислены страховые взносы по дополнительному тарифу для отдельных категорий плательщиков страховых взносов, указанных в частях 1, 2 и 2.1 статьи 58.3 
		* Федерального закона от 24 июля 2009 г. № 212-ФЗ */

	/*****************************************************/
	-- Собираем информацию по Исходным пачками
	/*****************************************************/

		DECLARE @BYear_Date	datetime
			SET @BYear_Date = dbo.DateBeginOfYear (@dDate1)

		create table #SPR_ESN ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0 , PF_NUM VARCHAR (14), FACE_GROUP TINYINT, I TINYINT, E TINYINT , SP VARCHAR(4))

		Insert InTo #SPR_ESN ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS , PF_NUM, FACE_GROUP, I, E, SP)
		Select [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0 THEN 3 
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END ) AS FACE_GROUP, 
			dbo.is_invalid(REF_PHYS_PERS,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH_BASE,@nYEAR))),
			F.ENVD,
			SP = isnull(s4.code,'')
		from dbo.SA_ESN_VIEW(@nYEAR, @nMONTH3, @LINK_DEP, 0) S
			inner join PERSON P on S.REF_PHYS_PERS = P.link
			inner join dbo.SAL_SFIN F on F.LINK = S.LINK_VKR
			LEFT JOIN SA_SZV4_SPR  s4 ON  s4.link = S.SPECO AND s4.spr_code = 'SPO_USL_TRUDA'
		WHERE  WAY_CALC not in (5)

		--Суммы по договорникам
		INSERT INTO #SPR_ESN 
			([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, PF_NUM, FACE_GROUP, I, E)
		SELECT 
			MONTH(G.[DATE]) AS MONTH_BASE, GT.SUMMA_BASE, 0, 0, GT.SUMMA, GT.WAY_CALC, GT.PERS_LINK, p.INSUR_NUM ,
			( CASE WHEN P.RESIDENT = 0  THEN 3
				   WHEN YEAR(birthdate)<= 1966 THEN 1 
				   WHEN YEAR(birthdate)>= 1967 THEN 2 END) AS FACE_GROUP , 
			dbo.is_invalid(GT.PERS_LINK,dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,G.[MONTH],@nYEAR))),
			F.ENVD
			
		FROM 
			DOCUMENTS_DGH G INNER JOIN DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
			inner join PERSON P on GT.PERS_LINK = P.link
			inner join dbo.SAL_SFIN F on F.LINK = GT.LINK_VKR
		WHERE 
			FLAG_JC = 1
			AND GT.WAY_CALC  not in (5)
			AND YEAR(G.[DATE]) = @nYEAR
			AND MONTH(G.[DATE]) <= @nMONTH3
			AND LINK_DEP = @DEP_LINK


		DELETE FROM #SPR_ESN
		WHERE  EXISTS (SELECT * FROM dbo.KJ_PERS_PENSION K WHERE K.PERS_LINK = REF_PHYS_PERS AND K.CHECK_SZV = 0)


		/*UPDATE #SZV_ALL 
			SET [OSOB_SPO] =  SP 
			FROM #SPR_ESN   WHERE pf_num = #SZV_ALL.[PFNUMBER] AND WAY_CALC IN (10,11) AND MONTH_BASE = @nMONTH3  AND SUMMA_BASE <> 0 */    

		create table #TMP3(CODE int,col1 int,   COL2 varchar(100), COL3 varchar(4), COL4 varchar (4), COL5 numeric(18,2), COL6 numeric(18,2), COL7 VARCHAR(14), COL8 int, COL9 int, 
							COL10 VARCHAR(10), COL11 VARCHAR(10), COL12 VARCHAR(10),COL13 VARCHAR(30), COL14 VARCHAR(10), COL15 VARCHAR(100), COL16 VARCHAR(10),COL17 VARCHAR(100),
							COL18 VARCHAR(10), COL19 VARCHAR(10), COL20 VARCHAR(10),COL21 VARCHAR(30), COL22 VARCHAR(10), COL23 VARCHAR(100), COL24 VARCHAR(10), COL25 VARCHAR(100), 
							COL26 VARCHAR(10), COL27 VARCHAR(10), COL28 VARCHAR(10),COL29 VARCHAR(30), COL30 VARCHAR(10), COL31 VARCHAR(100), COL32 VARCHAR(10), COL33 VARCHAR(100),
							COL34 VARCHAR(10), COL35 VARCHAR(10), COL36 VARCHAR(10), COL37 VARCHAR(30), COL38 VARCHAR(10), COL39 VARCHAR(100), COL40 VARCHAR(10), COL41 VARCHAR(100), COL42 varchar(100), COL43 varchar(100), COL44 varchar(100),
							COL45 VARCHAR(300), COL46 VARCHAR(300))


		
		DECLARE @Cur3 CURSOR, @CODE1 varchar(4), @TYPE1 tinyint , @PFNUMBER1 VARCHAR (14) , @FM1 VARCHAR(100),@IM1 VARCHAR(100),@OT1 VARCHAR(100),
		@pf_num11 VARCHAR(14) ,@TYPE_OLD1 TINYINT, @nom_pp1 INT, @OSOB_SPO VARCHAR(4), @OSOB_SPO_old VARCHAR(4),
		@DateM1B DATETIME, @DateM2B DATETIME, @DateM3B DATETIME, @DateM1E DATETIME, @dateM2E DATETIME, @dateM3E DATETIME
		set @pf_num11 = ''
		set @OSOB_SPO_old = NULL 
		set @TYPE_OLD1 = 0
		set @nom_pp1 = 1
		
		SELECT @DateM1B = @dDate1,
			   @DateM2B =  dbo.ConvertDMY2Date(1,month(@dDate1)+1,YEAR(@dDate1)), 	
			   @DateM3B =  dbo.ConvertDMY2Date(1,month(@dDate1)+2,YEAR(@dDate1)), 
			   @DateM1E =  dbo.DateEndOfMonth(@DateM1B),
			   @DateM2E =  dbo.DateEndOfMonth(@DateM2B), 	
			   @DateM3E =  @dDate2

	--exec [dbo].RSA_RSV_1_PERS_UCH_SZV '20150401', '20150630', 74578 ,3,  2811
	
		SET @Cur3 = CURSOR FORWARD_ONLY
		FOR SELECT  [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], [OSOB_SPO]  
			FROM #SZV_ALL 
			where [TYPE] = 1  --AND ISNULL([OSOB_SPO],'') <> '' 
			GROUP BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE,id_ex, [OSOB_SPO] 
			ORDER BY [FM],[IM],[OT],[PFNUMBER],[TYPE],CODE,id_ex, [OSOB_SPO]
		OPEN @Cur3
		FETCH NEXT FROM @Cur3 INTO  @CODE1,@TYPE1,@PFNUMBER1,@FM1,@IM1,@OT1, @OSOB_SPO
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				
				SELECT @OSOB_SPO = ISNULL(@OSOB_SPO, '')
				select @OSOB_SPO_old = ISNULL(@OSOB_SPO_old, '')
				--- Заполнение информации по первому коду категории сотрудника (нр , оои, пнэд)
				IF (ltrim(rtrim(@PFNUMBER1)) <> ltrim(rtrim(@pf_num11)) ) 
				BEGIN

					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42, COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'700'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = CASE WHEN PER = 1 THEN  ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) ,0)
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																+ (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0)
									END ,
						   COL6 = CASE WHEN PER = 1 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)) 
															   + (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
								  END,
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE], 
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
						   
					FROM 
						#SZV_ALL s
						left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)					
					WHERE  
						s.code = @CODE1 and s.[TYPE] = @TYPE1 AND s.PFNUMBER = @PFNUMBER1 AND ISNULL(s.OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY 
						[TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3 ,s.OSOB_SPO,E.SP, e.PF_NUM 


					SELECT  @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'701'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL( (sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   ,0),
						   COL6 = ISNULL( (sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)		
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,s.OSOB_SPO,E.SP, e.PF_NUM 
					
		
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'702'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL( (sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   ,0),
						   COL6 = ISNULL( (sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,s.OSOB_SPO,E.SP, e.PF_NUM 
			
					set @nom_pp1 = @nom_pp1 + 1

					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'703'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@dateM3E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3	,s.OSOB_SPO,E.SP, e.PF_NUM 
					
					set @nom_pp1 = @nom_pp1 + 1
				
				END
				
					
				--- Заполнение информации по следующему коду категории сотрудника (если за расчетный период у сотрудника была не одна категория)
				IF @PFNUMBER1 = @pf_num11 and @OSOB_SPO <> @OSOB_SPO_old
				BEGIN 
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT distinct CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'710'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = CASE WHEN PER = 1 THEN  ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) ,0)
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																+ (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0)
									END ,
						   COL6 = CASE WHEN PER = 1 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)) 
															   + (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
								  END,
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO /*AND s.ID_EX = 2*/
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 
					
					set @nom_pp1 = @nom_pp1 + 1
				
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT distinct CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'711'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO /*AND s.ID_EX = 2*/
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 
				
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT distinct CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'712'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL  s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO /*AND s.ID_EX = 2*/
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end	,s.OSOB_SPO,E.SP, e.PF_NUM 	
				
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT distinct CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'713'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO /*AND s.ID_EX = 2*/
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 
				
					set @nom_pp1 = @nom_pp1 + 1
				END						
				--- заполняем пустые строки '410','411','412','413' 
 	
				if not exists (select * from #tmp3 
								where COL7 = @PFNUMBER1 
								and COL9 = @TYPE1
								and COL4 = '710' ) 
					AND NOT EXISTS (
						SELECT * FROM #SZV_ALL 
						WHERE PFNUMBER = @PFNUMBER1 
							AND ISNULL(OSOB_SPO,'') != ISNULL(@OSOB_SPO,'') 
							AND [TYPE] = 1
						) 
				begin 
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT 
						   CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'710'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
			
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'711'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
			
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'712'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)

					set @nom_pp1 = @nom_pp1 + 1		
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'713'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
	
					set @nom_pp1 = @nom_pp1 + 1	
				end 

					select	row_number() over (order by DATE_BEGIN) as ID ,
							FM1 = [FM]  ,
							IM1 = [IM],
							OT1 = [OT],
							PFNUMBER1 = [PFNUMBER], 
							T_DOG1= T_DOG,
							TYPE1 = [TYPE], 
							DATE_BEGIN1 = [DATE_BEGIN], 
							DATE_END1 = (CASE WHEN [DATE_END]> @dDate2 THEN @dDate2 ELSE [DATE_END] end) , 
							TU_CODE1 = [TU_CODE], 
							OS_CODE1 = [OS_CODE], 
							EX_CODE1 = [EX_CODE], 
							f_is_dop1 = [f_is_dop], 
							P_CODE1 = [P_CODE], 
							f_ud_dop1 = [f_ud_dop] 
					into #TMP03
					FROM #SZV_ALL  WHERE  id_ex IS NOT NULL AND YEAR(@dDate1)<=YEAR(Date_END) and MONTH(@dDate2) >= MONTH(Date_END) and MONTH(@dDate2) >= MONTH(Date_BEGIN) and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 and fm = @FM1 and T_DOG = 1
					GROUP BY [FM],[IM],[OT],[PFNUMBER], T_DOG,[TYPE], [DATE_BEGIN], [DATE_END] , [TU_CODE], [OS_CODE], [EX_CODE], [f_is_dop], [P_CODE], [f_ud_dop]
					ORDER BY  [FM],[IM],[OT],[PFNUMBER], T_DOG,[TYPE]
			
	
					UPDATE #TMP3
					set COL10 = (SELECT distinct convert(varchar(10),DATE_BEGIN1,104 ) FROM #TMP03 where ID=1 and FM1= @FM1),
						COL11 = (SELECT distinct convert(varchar(10),DATE_END1,104 ) FROM #TMP03 where ID=1 and FM1= @FM1),
						COL12 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP03 where ID=1 and FM1= @FM1) ,
						COL13 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP03 where ID=1 and FM1= @FM1),
						COL14 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP03 where ID=1 and FM1= @FM1), 
						COL15 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP03 where ID=1 and FM1= @FM1),
					    COL16 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP03 where ID=1 and FM1= @FM1), 
					    COL17 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP03 where ID=1 and FM1= @FM1), 
					    COL18 = (SELECT distinct convert(varchar(10),DATE_BEGIN1,104 ) FROM #TMP03 where ID=2 and FM1= @FM1), 
					    COL19 = (SELECT distinct convert(varchar(10),DATE_END1,104 ) FROM #TMP03 where ID=2 and FM1= @FM1),
					    COL20 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP03 where ID=2 and FM1= @FM1),
					    COL21 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP03 where ID=2 and FM1= @FM1),
						COL22 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP03 where ID=2 and FM1= @FM1), 
						COL23 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP03 where ID=2 and FM1= @FM1),
					    COL24 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP03 where ID=2 and FM1= @FM1), 
					    COL25 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP03 where ID=2 and FM1= @FM1),
					    COL26 = (SELECT distinct convert(varchar(10),DATE_BEGIN1,104 ) FROM #TMP03 where ID=3 and FM1= @FM1), 
					    COL27 = (SELECT distinct convert(varchar(10),DATE_END1,104 ) FROM #TMP03 where ID=3 and FM1= @FM1),
					    COL28 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP03 where ID=3 and FM1= @FM1),
					    COL29 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP03 where ID=3 and FM1= @FM1),
						COL30 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP03 where ID=3 and FM1= @FM1), 
						COL31 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP03 where ID=3 and FM1= @FM1),
					    COL32 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP03 where ID=3 and FM1= @FM1), 
					    COL33 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP03 where ID=3 and FM1= @FM1),
					    COL34 = (SELECT distinct convert(varchar(10),DATE_BEGIN1,104 ) FROM #TMP03 where ID=4 and FM1= @FM1), 
					    COL35 = (SELECT distinct convert(varchar(10),DATE_END1,104 ) FROM #TMP03 where ID=4 and FM1= @FM1),
					    COL36 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP03 where ID=4 and FM1= @FM1),
					    COL37 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP03 where ID=4 and FM1= @FM1),
						COL38 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP03 where ID=4 and FM1= @FM1), 
						COL39 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP03 where ID=4 and FM1= @FM1),
					    COL40 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP03 where ID=4 and FM1= @FM1), 
					    COL41 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP03 where ID=4 and FM1= @FM1),
					    
					    COL45 = CONVERT(VARCHAR(300),ISNULL((SELECT distinct isnull(convert(varchar(10),DATE_BEGIN1,104 ),' ') 
																	  + ',' + isnull(convert(varchar(10),DATE_END1,104 ),' ')
																	  + ',' + isnull(convert(varchar(10),TU_CODE1 ),' ') 
																	  + ',' + isnull(convert(varchar(30),OS_CODE1 ),' ') 
																	  + ','  + isnull(convert(varchar(10),EX_CODE1 ),' ')
																	 + ','  + isnull(convert(varchar(100),f_is_dop1 ),' ')
																	 + ','  + isnull(convert(varchar(10),P_CODE1) ,' ')
																	 + ','  + isnull(convert(varchar(100),f_ud_dop1),' ')			
																	 + ','  
					                                         FROM #TMP03 where ID=5 and FM1= @FM1),' ')), 
					    COL46 = CONVERT(VARCHAR(300),ISNULL((SELECT distinct isnull(convert(varchar(10),DATE_BEGIN1,104 ),' ') 
																	  + ',' + isnull(convert(varchar(10),DATE_END1,104 ),' ')
																	  + ',' + isnull(convert(varchar(10),TU_CODE1 ),' ') 
																	  + ',' + isnull(convert(varchar(30),OS_CODE1 ),' ') 
																	  + ','  + isnull(convert(varchar(10),EX_CODE1 ),' ')
																	 + ','  + isnull(convert(varchar(100),f_is_dop1 ),' ')
																	 + ','  + isnull(convert(varchar(10),P_CODE1) ,' ')
																	 + ','  + isnull(convert(varchar(100),f_ud_dop1),' ')			
																	 + ','  
					                                         FROM #TMP03 where ID=6 and FM1= @FM1),' '))
					    

					from #TMP3	
					WHERE #TMP3.COL9 = @TYPE1 
					and #TMP3.COL7 = @PFNUMBER1 AND #TMP3.COL3 = '700' /*and #TMP3.CODE =  @nom_pp1*/


					drop table #TMP03				


				
				 
					set @pf_num11 = @PFNUMBER1
					set @OSOB_SPO_old = @OSOB_SPO
					set @TYPE_OLD1 = @TYPE1
					
			
			END

			FETCH NEXT FROM @Cur3 INTO @CODE1,@TYPE1,@PFNUMBER1,@FM1,@IM1,@OT1, @OSOB_SPO
		END

		CLOSE @Cur3
		DEALLOCATE @Cur3
		
		
		
		
		/*****************************************************/
		-- Собираем информацию по Кореектирующим/Отменяющим
		/*****************************************************/
		--create table #TMP1(CODE int,col1 int,   COL2 varchar(14), COL3 varchar(100), COL4 varchar (4), COL5 varchar (4), COL6 numeric(18,2), COL7 numeric(18,2), COL8 numeric(18,2), COL9 numeric(18,2), COL10 varchar(1), COL11 varchar(4), COL12 varchar(15), COL13 varchar(1), COL14 varchar(4),COL15 int)
	

		DECLARE @Cur4 CURSOR
		set @pf_num11 = ''
		set @OSOB_SPO_old = ''  
		set @TYPE_OLD1 = 0
		set @nom_pp1 = (SELECT MAX(CODE) FROM #TMP3 WHERE COL9 = 1) + 1 
		
			
		SET @Cur4 = CURSOR FORWARD_ONLY
		FOR SELECT  [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], [OSOB_SPO]  FROM #SZV_ALL where /*T_DOG = 1 and */[TYPE] != 1 /*and year_edt >=2014*/  GROUP BY [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], [OSOB_SPO]ORDER BY [CODE],[TYPE],[PFNUMBER], [FM],[IM],[OT], [OSOB_SPO]
		OPEN @Cur4
		FETCH NEXT FROM @Cur4 INTO  @CODE1,@TYPE1,@PFNUMBER1,@FM1,@IM1,@OT1, @OSOB_SPO
		WHILE (@@fetch_status <> -1)
		BEGIN

			IF (@@fetch_status <> -2)
			BEGIN
				
				
				SELECT @OSOB_SPO = ISNULL(@OSOB_SPO, '')
				select @OSOB_SPO_old = ISNULL(@OSOB_SPO_old, '')	
				--- Заполнение информации по первому коду категории сотрудника (нр , оои, пнэд)
				IF (@PFNUMBER1 <> @pf_num11 ) 
				BEGIN
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'700'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = CASE WHEN PER = 1 THEN  ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) ,0)
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																+ (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0)
									END ,
						   COL6 = CASE WHEN PER = 1 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)) 
															   + (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
								  END,

						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt], INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3 , date_end,s.OSOB_SPO,E.SP, e.PF_NUM 
					

					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'701'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end ,s.OSOB_SPO,E.SP, e.PF_NUM 	
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'702'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end	,s.OSOB_SPO,E.SP, e.PF_NUM 
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'703'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt]	,INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 		
					
					set @nom_pp1 = @nom_pp1 + 1
				END
					
				
				--- Заполнение информации по следующему коду категории сотрудника (если за расчетный период у сотрудника была не одна категория)
				IF @PFNUMBER1 = @pf_num11 and @OSOB_SPO <> @OSOB_SPO_old
				BEGIN 
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'710'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = CASE WHEN PER = 1 THEN  ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
										WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																 + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																 + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																 + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																 + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) ,0)
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))  
																+ (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)) 
																+ (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))   
																+ (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END))
																+ (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0)
									END ,
						   COL6 = CASE WHEN PER = 1 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 2 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))  ,0)
									   WHEN PER = 3 THEN ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
													ELSE ISNULL( (sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 1 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 2 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 3 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 4 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 5 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 6 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))
															   + (sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 7 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 8 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 9 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)) 
															   + (sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 10 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))    
															   + (sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 11 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   
															   + (sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END) - sum(CASE WHEN MONTH_BASE= 12 AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END))   ,0)  
								  END,						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)		
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end	,s.OSOB_SPO,E.SP, e.PF_NUM 	
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'711'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM1E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 		
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'712'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM2E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)		
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end,s.OSOB_SPO,E.SP, e.PF_NUM 			
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'713'),
						   COL4 = CONVERT(VARCHAR(4),ISNULL(s.OSOB_SPO,'')),
						   COL5 = ISNULL((sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 10	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL6 = ISNULL( ( sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN SUMMA_BASE ELSE 0 END)- sum(CASE WHEN MONTH_BASE= month(@DateM3E) AND e.WAY_CALC = 11	 THEN DED_M + INV_M  ELSE 0 END)),0),
						   COL7 = ISNULL([PFNUMBER],0),
						   COL8 = @nom_pp1,
						   COL9 = [TYPE],
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					FROM #SZV_ALL s
					left JOIN #SPR_ESN  e ON 	e.PF_NUM = s.PFNUMBER AND ISNULL(e.SP,'') = ISNULL(s.OSOB_SPO,'') AND e.WAY_CALC IN (10,11)	
					WHERE  code = @CODE1 and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') = @OSOB_SPO AND s.ID_EX = 1
					GROUP BY [TYPE],CODE,[FM],[IM],[OT],[PFNUMBER],[per],[year],[TYPE],[per_edt],[year_edt],INC_T1M1,INC_T1M2,INC_T1M3, INC_T2M1,INC_T2M2,INC_T2M3,date_end	,s.OSOB_SPO,E.SP, e.PF_NUM  		
					
					set @nom_pp1 = @nom_pp1 + 1
				END						

				--- заполняем пустые строки '710','711','712','713' 
			
				if not exists (select * from #tmp3 
								where COL7 = @PFNUMBER1 
								and COL9 = @TYPE1
								and COL4 = '710' ) AND NOT EXISTS (SELECT * FROM #SZV_ALL WHERE PFNUMBER = @PFNUMBER1 AND ISNULL(OSOB_SPO,'') != @OSOB_SPO AND [TYPE] = 2) 
				begin 
						
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), 'Всего с начала расчетного периода, в том числе за последние три месяца отчетного периода:'),	
						   COL3 = CONVERT(VARCHAR(4),'710'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '1 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'711'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
					set @nom_pp1 = @nom_pp1 + 1
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '2 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'712'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
					set @nom_pp1 = @nom_pp1 + 1		
					
					INSERT INTO #TMP3 (CODE, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL42 , COL43, COL44)
					SELECT CODE =  @nom_pp1,
						   COL1 =  @nom_pp1,	
						   COL2 = CONVERT(VARCHAR(100), '3 месяц'),	
						   COL3 = CONVERT(VARCHAR(4),'713'),
						   COL4 = CONVERT(VARCHAR(4),''),
						   COL5 = 0,
						   COL6 = 0,
						   COL7 = ISNULL(@PFNUMBER1,''),
						   COL8 = @nom_pp1,
						   COL9 = @TYPE1,
						   COL42 = CONVERT(varchar(100),@FM1),
						   COL43 = CONVERT(varchar(100),@IM1),
						   COL44 = CONVERT(varchar(100),@OT1)
					
					set @nom_pp1 = @nom_pp1 + 1	
				
				end 


					select	row_number() over (order by DATE_BEGIN) as ID ,
							FM1 = [FM]  ,
							IM1 = [IM],
							OT1 = [OT],
							PFNUMBER1 = [PFNUMBER], 
							T_DOG1= T_DOG,
							TYPE1 = [TYPE], 
							DATE_BEGIN1 = [DATE_BEGIN], 
							DATE_END1 = (CASE WHEN [DATE_END] > @dDate2 THEN @dDate2 ELSE  [DATE_END] END )  , 
							TU_CODE1 = [TU_CODE], 
							OS_CODE1 = [OS_CODE], 
							EX_CODE1 = [EX_CODE], 
							f_is_dop1 = [f_is_dop], 
							P_CODE1 = [P_CODE], 
							f_ud_dop1 = [f_ud_dop] 
					into #TMP04
					FROM #SZV_ALL  WHERE  id_ex IS NOT NULL /*AND YEAR(@dDate1)<=YEAR(Date_END) and MONTH(@dDate2) >= MONTH(Date_END) and MONTH(@dDate2) >= MONTH(Date_BEGIN)*/ and [TYPE] = @TYPE1 AND PFNUMBER = @PFNUMBER1 and fm = @FM1 --and T_DOG = 1
					GROUP BY [FM],[IM],[OT],[PFNUMBER], T_DOG,[TYPE], [DATE_BEGIN], [DATE_END] , [TU_CODE], [OS_CODE], [EX_CODE], [f_is_dop], [P_CODE], [f_ud_dop]
					ORDER BY  [FM],[IM],[OT],[PFNUMBER], T_DOG,[TYPE]
				
				

					UPDATE #TMP3
					set COL10 = (SELECT distinct convert(varchar(10),DATE_BEGIN1, 104 ) FROM #TMP04 where ID=1 and FM1= @FM1),
						COL11 = (SELECT distinct convert(varchar(10),DATE_END1, 104 ) FROM #TMP04 where ID=1 and FM1= @FM1),
						COL12 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP04 where ID=1 and FM1= @FM1) ,
						COL13 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP04 where ID=1 and FM1= @FM1),
						COL14 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP04 where ID=1 and FM1= @FM1), 
						COL15 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP04 where ID=1 and FM1= @FM1),
					    COL16 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP04 where ID=1 and FM1= @FM1), 
					    COL17 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP04 where ID=1 and FM1= @FM1), 
					    COL18 = (SELECT distinct convert(varchar(10),DATE_BEGIN1 , 104 ) FROM #TMP04 where ID=2 and FM1= @FM1), 
					    COL19 = (SELECT distinct convert(varchar(10),DATE_END1, 104 ) FROM #TMP04 where ID=2 and FM1= @FM1),
					    COL20 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP04 where ID=2 and FM1= @FM1),
					    COL21 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP04 where ID=2 and FM1= @FM1),
						COL22 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP04 where ID=2 and FM1= @FM1), 
						COL23 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP04 where ID=2 and FM1= @FM1),
					    COL24 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP04 where ID=2 and FM1= @FM1), 
					    COL25 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP04 where ID=2 and FM1= @FM1),
					    COL26 = (SELECT distinct convert(varchar(10),DATE_BEGIN1, 104 ) FROM #TMP04 where ID=3 and FM1= @FM1), 
					    COL27 = (SELECT distinct convert(varchar(10),DATE_END1, 104 ) FROM #TMP04 where ID=3 and FM1= @FM1),
					    COL28 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP04 where ID=3 and FM1= @FM1),
					    COL29 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP04 where ID=3 and FM1= @FM1),
						COL30 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP04 where ID=3 and FM1= @FM1), 
						COL31 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP04 where ID=3 and FM1= @FM1),
					    COL32 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP04 where ID=3 and FM1= @FM1), 
					    COL33 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP04 where ID=3 and FM1= @FM1),
					    COL34 = (SELECT distinct convert(varchar(10),DATE_BEGIN1, 104 ) FROM #TMP04 where ID=4 and FM1= @FM1), 
					    COL35 = (SELECT distinct convert(varchar(10),DATE_END1, 104 ) FROM #TMP04 where ID=4 and FM1= @FM1),
					    COL36 = (SELECT distinct convert(varchar(10),TU_CODE1 ) FROM #TMP04 where ID=4 and FM1= @FM1),
					    COL37 = (SELECT distinct convert(varchar(30),OS_CODE1 ) FROM #TMP04 where ID=4 and FM1= @FM1),
						COL38 = (SELECT distinct convert(varchar(10),EX_CODE1 ) FROM #TMP04 where ID=4 and FM1= @FM1), 
						COL39 = (SELECT distinct convert(varchar(100),f_is_dop1 ) FROM #TMP04 where ID=4 and FM1= @FM1),
					    COL40 = (SELECT distinct convert(varchar(10),P_CODE1) FROM #TMP04 where ID=4 and FM1= @FM1), 
					    COL41 = (SELECT distinct convert(varchar(100),f_ud_dop1) FROM #TMP04 where ID=4 and FM1= @FM1),
						
					    COL45 = CONVERT(VARCHAR(300),ISNULL((SELECT distinct isnull(convert(varchar(10),DATE_BEGIN1,104 ),' ') 
																	  + ',' + isnull(convert(varchar(10),DATE_END1,104 ),' ')
																	  + ',' + isnull(convert(varchar(10),TU_CODE1 ),' ') 
																	  + ',' + isnull(convert(varchar(30),OS_CODE1 ),' ') 
																		+ ','  + isnull(convert(varchar(10),EX_CODE1 ),' ')
																	 + ','  + isnull(convert(varchar(100),f_is_dop1 ),' ')
																	 + ','  + isnull(convert(varchar(10),P_CODE1) ,' ')
																	 + ','  + isnull(convert(varchar(100),f_ud_dop1),' ')			
																	 + ','  
					                                         FROM #TMP04 where ID=5 and FM1= @FM1),' ')), 
					    COL46 = CONVERT(VARCHAR(300),ISNULL((SELECT distinct isnull(convert(varchar(10),DATE_BEGIN1,104 ),' ') 
																	  + ',' + isnull(convert(varchar(10),DATE_END1,104 ),' ')
																	  + ',' + isnull(convert(varchar(10),TU_CODE1 ), ' ') 
																	  + ',' + isnull(convert(varchar(30),OS_CODE1 ),' ') 
																		+ ','  + isnull(convert(varchar(10),EX_CODE1 ),' ')
																	 + ','  + isnull(convert(varchar(100),f_is_dop1 ),' ')
																	 + ','  + isnull(convert(varchar(10),P_CODE1) ,' ')
																	 + ','  + isnull(convert(varchar(100),f_ud_dop1),' ')
																	 + ','  			
															 FROM #TMP04 where ID=6 and FM1= @FM1),' '))
				
					
					from #TMP3	
					WHERE #TMP3.COL9 = @TYPE1 
					and #TMP3.COL7 = @PFNUMBER1 and  #TMP3.COL3 = '700'

				
					drop table #TMP04	


					set @pf_num11 = @PFNUMBER1
					set @OSOB_SPO_old = @OSOB_SPO
					set @TYPE_OLD1 = @TYPE1
					
			END

			FETCH NEXT FROM @Cur4 INTO @CODE1,@TYPE1,@PFNUMBER1,@FM1,@IM1,@OT1, @OSOB_SPO
		END

		CLOSE @Cur4
		DEALLOCATE @Cur4
		
		SELECT DISTINCT 
			CODE = ROW_NUMBER() OVER (ORDER BY CODE),
			COL1 = ROW_NUMBER() OVER (ORDER BY COL1),
			COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, 
			COL11, COL12, COL13, COL14, COL15, COL16, COL17, COL18, COL19, COL20, 
			COL21, COL22, COL23, COL24, COL25, COL26, COL27, COL28, COL29, COL30, 
			COL31, COL32, COL33, COL34, COL35, COL36, COL37, COL38, COL39, COL40, 
			COL41, COL42, COL43, COL44, COL45, COL46
		FROM #TMP3 where col5 <> 0 or col6 <> 0 or ISNULL(COL10,'') <> '' ORDER BY CODE, COL8

--RSA_RSV_1_PERS_UCH_szv '20140401', '20140630', 13488 , 3, 2786
		drop table #TMP3
	
	END		

	IF @REP = 4 
	BEGIN 	
		/*Заполнение подраздела 6.8 «Период работы за последние три месяца отчетного периода» раздела 6 Расчета*/
		create table #TMP4(CODE int identity(1,1) ,col1 int,   COL2 VARCHAR(10), COL3 VARCHAR(10), COL4 VARCHAR(10), COL5 VARCHAR(30), COL6 VARCHAR(10), COL7 varchar(100), COL8 VARCHAR(10), COL9 varchar(100), COL10 VARCHAR(14), COL11 INT , COL12 INT, COL13 VARCHAR(100), COL14 varchar(100), COL15 VARCHAR(100) )

		INSERT INTO #TMP4 (COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9, COL10, COL12, COL13, COL14, COL15 )
		SELECT 
			   COL2 = convert(varchar(10),(CASE WHEN [DATE_BEGIN] > @dDate2 THEN @dDate2 ELSE [DATE_BEGIN] END) , 104), 
			   COL3 = CONVERT(varchar(10),[DATE_END] , 104),
			   COL4 = CONVERT(VARCHAR(10),ISNULL([TU_CODE],'')),
			   COL5 = CONVERT(VARCHAR(30),ISNULL([OS_CODE],'')),
			   COL6 = CONVERT(VARCHAR(10),ISNULL([EX_CODE],'')),
			   COL7 = CONVERT(VARCHAR(100),ISNULL([f_is_dop],'')),
			   COL8 = CONVERT(VARCHAR(10),ISNULL([P_CODE],'')),
			   COL9 = CONVERT(VARCHAR(100),ISNULL([f_ud_dop],'')),
			   COL10 = CONVERT(VARCHAR(100),ISNULL([PFNUMBER],'')),
			   COL12 = ISNULL([TYPE],0),
			   COL13 = CONVERT(varchar(100),FM),
			   COL14 = CONVERT(varchar(100),IM),
			   COL15 = CONVERT(varchar(100),OT)
		FROM #SZV_ALL 
		WHERE 
			id_ex IS NOT NULL AND YEAR(@dDate1)<=YEAR(Date_END) and MONTH(@dDate2) >= MONTH(Date_END) and MONTH(@dDate2) >= MONTH(Date_BEGIN)
		GROUP BY 
			[FM],[IM],[OT],[PFNUMBER],[TYPE], [DATE_BEGIN], [DATE_END] , [TU_CODE], [OS_CODE], [EX_CODE], [f_is_dop], [P_CODE], [f_ud_dop]
		ORDER BY
			[FM],[IM],[OT],[PFNUMBER],[TYPE]

		UPDATE #TMP4 
			SET col1 = CODE , COL11 = CODE 

		SELECT * FROM #TMP4 ORDER BY CODE
		
		drop table #TMP4
		--GROUP BY [TYPE],CODE, [T_DOG],[FM],[IM],[OT],[PFNUMBER],[per],[year],[per_edt],[year_edt]	
		
	END	
	
	
		
		drop table #SZV_ALL
		--drop table #docs_kor_otm
		drop table #docs

END






GO


GRANT EXECUTE ON dbo.[RSA_RSV_1_PERS_UCH_SZV] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_6NDFL_REPORT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_6NDFL_REPORT]

GO
-- exec  SA_6NDFL_REPORT '2016', 1 , '1' ,95494

CREATE PROCEDURE dbo.SA_6NDFL_REPORT @cYear1 VARCHAR(4)/* ГОД */,
									 @nQuarter1 INT 	/* Квартал */,
									 @nMonth INT = 0 /*Месяц*/,
									 @nCheck1 INT = 0	/* Выводить информацию за указаный месяц */,
									 @cVal1 CHAR(1), @nOtborLink1 int  	/* Отбор подразделений*/
AS

DECLARE
	@DEP_LINK INT,
	@nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT

SET DATEFIRST 7

exec dbo.xd_whats_zb @DEP_LINK output

DECLARE @SUBDIV TABLE (LINK INT)

IF ISNULL(@cVal1,'0') <> '0' 
BEGIN
	INSERT INTO @SUBDIV (LINK) 
	SELECT RECORD FROM DBO.OBJECT_VAR_SUBDIV_HEAD WHERE LINK_UP = @nOtborLink1
	
END


/*****************************************/
-- Собираем физлиц из сотрудников и ГПХ - 

CREATE TABLE #FACES (LINK int,PERS_LINK int)

	INSERT INTO #FACES
	SELECT distinct PERS_LINK,PERS_LINK FROM dbo.sd_empl e WHERE e.DEP_LINK = @DEP_LINK 
			AND (
		ISNULL(@cVal1,'0') = '0'
			OR 
		ISNULL(@cVal1,'0') <> '0' AND  EXISTS(SELECT LINK FROM @SUBDIV WHERE link = e.SUBDIV_head )
		)
	
	INSERT INTO #FACES
	SELECT distinct PERS_LINK,PERS_LINK FROM dbo.SALARY_REESTR_DGH s WHERE s.DEP_LINK = @DEP_LINK
		AND NOT exists(SELECT PERS_LINK FROM #FACES WHERE pers_link = s.PERS_LINK )		



-----------------------------

	EXEC dbo.BufferClear
	EXEC dbo.BufferPushTable '#faces', 'REP6NDFL', 'pers_link'


IF @nQuarter1 = 1 
SELECT
	@nMONTH1 = 1,
	@nMONTH2 = 2,
	@nMONTH3 = 3
IF @nQuarter1 = 2
SELECT
	@nMONTH1 = 4,
	@nMONTH2 = 5,
	@nMONTH3 = 6	
IF @nQuarter1 = 3
SELECT
	@nMONTH1 = 7,
	@nMONTH2 = 8,
	@nMONTH3 = 9	
IF @nQuarter1 = 4
SELECT
	@nMONTH1 = 10,
	@nMONTH2 = 11,
	@nMONTH3 = 12			
	
DECLARE @BDATE DATETIME , @EDATE DATETIME

IF @nCheck1 = 0 
BEGIN
	SET @BDATE = dbo.ConvertDMY2Date(1,@nMONTH1,@cYear1)
	SET @EDATE = dbo.dateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH3,@cYear1))
END 
ELSE BEGIN 
		SET @BDATE = dbo.ConvertDMY2Date(1,@nMONTH,@cYear1)
		SET @EDATE = dbo.dateEndOfMonth(dbo.ConvertDMY2Date(1,@nMONTH,@cYear1))
	END 

--------------------------------------------
IF OBJECT_ID('tempdb..#FIZ_VID_DOH') IS NOT NULL DROP TABLE #FIZ_VID_DOH
CREATE TABLE #FIZ_VID_DOH(link_FACE INT, PERS_LINK INT, LINK_EMPL INT, INOSTR int, DIS TINYINT , DATE_DIS DATETIME ,link_doc  INT ,OBJ_CODE CHAR(30), OBJ_NAME varchar(254)
							, VID_DOH CHAR(3), mon int,summa_doh NUMERIC(18,2),summa_nal NUMERIC(18,2),DATE_DOH DATETIME,DATE_NAL datetime, DATE_ISCH DATETIME , DED tinyint , LINK_VED INT, SUM_DED NUMERIC(18,2))


--INSERT INTO #FIZ_VID_DOH(link_FACE, PERS_LINK, LINK_EMPL, INOSTR , DIS, DATE_DIS, link_doc  ,OBJ_CODE, OBJ_NAME, VID_DOH, mon,summa_doh,summa_nal,DATE_DOH,DATE_NAL, DATE_ISCH, DED)
EXEC dbo.SA_6NDFL_PREPARE_R2 @BDATE, @EDATE,'REP6NDFL', @DEP_LINK


-- EXECUTE KIR_EXEC_QUERY 20179,'''2016'',1,20185'

SELECT 
	  PERS_LINK = LINK_FACE
	  ,LINK_EMPL
	  , DGH  = 0
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
INTO #TAB_ZP	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'ZP'
GROUP BY link_FACE,LINK_EMPL,PERS_LINK,DIS, INOSTR, VID_DOH, mon,DATE_DOH, DATE_NAL, DATE_ISCH	  


SELECT 
	  PERS_LINK
	  ,link_EMPL = null
	  , DGH  = 1
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
INTO #TAB_DZP	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'DZP'
GROUP BY  link_FACE,PERS_LINK,DIS, INOSTR, VID_DOH, mon,DATE_DOH, DATE_NAL, DATE_ISCH	


SELECT
	  PERS_LINK = LINK_FACE
	  ,LINK_EMPL
	  , DGH  = 0
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
INTO #TAB_UV	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'UV'
GROUP BY link_FACE,LINK_EMPL,LINK_EMPL,PERS_LINK,DIS, INOSTR, VID_DOH, mon,DATE_DOH, DATE_NAL, DATE_ISCH	


SELECT
	  PERS_LINK = LINK_FACE
	  ,LINK_EMPL
	  , DGH  = 0
	  ,INOSTR 
	  ,DIS
	  ,VID_DOH
	  ,SUMMA_DOH = SUM(SUMMA_DOH)
	  ,SUMMA_NAL = SUM(SUMMA_NAL)
	  ,MON= MON
	  ,DATE_DOH 
	  ,DATE_NAL
	  ,DATE_ISCH
	  ,DED
INTO #TAB_DR	  
FROM #FIZ_VID_DOH 
WHERE VID_DOH = 'DR'
GROUP BY link_FACE,LINK_EMPL,DIS, INOSTR, VID_DOH, mon, DATE_DOH, DATE_NAL, DATE_ISCH,DED





CREATE TABLE #PAYS_TMP (VID_DOH CHAR(3), SUMMA_DOH NUMERIC(18,2), SUMMA_NAL NUMERIC(18,2), MON tinyint, DATE_DOH datetime, DATE_NAL datetime, DATE_ISCH DATETIME)
INSERT INTO #PAYS_TMP(VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH)

--SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
--FROM #TAB_DR TDR

SELECT TB.VID_DOH, SUMMA_DOH = SUM(TB.SUMMA_DOH), SUMMA_NAL = SUM(TB.SUMMA_NAL),MON,TB.DATE_DOH,TB.DATE_NAL, TB.DATE_ISCH
FROM 
(SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_ZP TZP
UNION ALL
SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_DZP TDZP
UNION ALL
SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_UV TUV
UNION ALL
SELECT VID_DOH, SUMMA_DOH, SUMMA_NAL,MON, DATE_DOH, DATE_NAL, DATE_ISCH
FROM #TAB_DR TDR) TB
GROUP BY TB.VID_DOH,MON, TB.DATE_DOH, TB.DATE_NAL, TB.DATE_ISCH--, TB.SUMMA_DOH, TB.SUMMA_NAL


CREATE TABLE #RAZD2 (LINK INT IDENTITY (1,1), COL2 VARCHAR(10),COL3 VARCHAR(10), COL4 VARCHAR(10), COL5 NUMERIC(18,2), COL6 NUMERIC(18,2))
INSERT INTO #RAZD2 ( COL2, COL3, COL4, COL5, COL6)
SELECT
	CONVERT (VARCHAR (10), A.DATE_DOH,104),
	CONVERT(VARCHAR (10), A.DATE_NAL,104),
	CONVERT(VARCHAR (10), A.DATE_ISCH,104),
	sum(A.SUMMA_DOH),
	SUM(A.SUMMA_NAL)
FROM 
	#PAYS_TMP  A
GROUP BY A.[mon],A.DATE_DOH, A.DATE_NAL,A.DATE_ISCH /*, B.PERIOD_ndfl*/
ORDER BY
	A.DATE_DOH, A.DATE_NAL,A.DATE_ISCH
	
/*SELECT
	CODE = REPLICATE( '0', 3-len(CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)) ))+CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)) ,
	COL1 = CONVERT(VARCHAR(4),RANK() OVER (ORDER BY link)),
	COL2,
	COL3,
	COL4,
	COL5,
	COL6
FROM
	#RAZD2 E
ORDER BY
	month(convert(datetime,COL2,104))
*/

-- соберем таблицу расшифровки из таблиц #TAB_nn  и таблицы  #Razd2 . 
-- Расставим группируя по датам  для каждой записи по сотруднику  линк по порядку из таблицы #Razd2 
SELECT CODE =  CONVERT(VARCHAR(4),REPLICATE( '0', 3-LEN(CONVERT(VARCHAR(4),r.link)))+ CONVERT(VARCHAR(4),r.link)),
	   PERS_LINK = CASE WHEN F.VID_DOH = 'DZP' THEN F.PERS_LINK ELSE F.LINK_FACE END,
	   LINK_EMPL = F.LINK_EMPL,
	   DGH  = CASE WHEN F.VID_DOH = 'DZP' THEN 1 ELSE 0 END,
	   FIO  = CASE WHEN F.VID_DOH = 'DZP' 
					THEN (p.FM+' '+p.IM +' '+ p.OT) 
					ELSE (SE.FM+' '+se.IM +' '+ se.OT) 
	          END ,
	   TAB  = CASE WHEN F.VID_DOH = 'DZP' 
					THEN '' 
					ELSE SE.TAB 
	          END ,
	   F.INOSTR,
	   F.DIS,
	   KAT = CASE WHEN F.VID_DOH = 'DZP' THEN 'Расчеты по ДГХ'
				  WHEN F.VID_DOH = 'ZP' THEN 'Зарплата'
				  WHEN F.VID_DOH = 'UV' THEN 'Увольнительные выплаты'
				  WHEN F.VID_DOH = 'DR' THEN 'Межрасчетные выплаты'
			 END,	  
	   F.LINK_DOC,
	   DOC_INF = LTRIM(RTRIM(SUBSTRING ((SELECT
							', '+ isnull(so1.NAME,'') + ' №' + ISNULL (sd1.number, '') +' от '+ ISNULL(convert(varchar(10),sd1.[DATE],102),'')
							FROM dbo.SDOC sd1
							LEFT JOIN dbo.s_objects so1 ON so1.LINK = sd1.[OBJECT]
	                        WHERE sd1.link =F.link_doc 
	                        FOR XML PATH ('')),
							2,
							1000) )) ,
							--sd.NUMBER,
	  -- DOC_DATE = sd.[DATE],
	  -- DOC_CODE = so.CODE,
	  -- DOC_NAME = so.NAME,
	   F.VID_DOH,
	   ved_TYPE = case when sdV1.TYP_PAYMENT = 1 THEN 'Зарплата'
						when sdV1.TYP_PAYMENT = 2 THEN 'Аванс'
						when sdV1.TYP_PAYMENT = 3 THEN 'Межрасчетные выплаты' 
						end,
	   VED_NUM = sdV.NUMBER,
	   VED_DATE = sdV.[DATE],
	   SUMMA_DOH = sum(F.SUMMA_DOH),
	   SUMMA_NAL = SUM(F.SUMMA_NAL),
	   F.MON,
	   DATE_DOH = CONVERT (VARCHAR (10),F.DATE_DOH,104),
	   DATE_NAL = CONVERT (VARCHAR (10),F.DATE_NAL,104),
	   DATE_ISCH = CONVERT (VARCHAR (10),F.DATE_ISCH,104),
	   SUM_DOH_GR = r.COL5,
	   SUM_NAL_GR = r.COL6,
 	   SUM_DED_GR = sum(F.SUM_DED)
INTO #FIZ_VID_DOH_RES
FROM #FIZ_VID_DOH F
INNER JOIN #RAZD2 r ON  r.COL2 = CONVERT (VARCHAR (10),F.DATE_DOH,104) AND r.COL3 = CONVERT (VARCHAR (10),F.DATE_NAL,104) AND r.COL4 = CONVERT (VARCHAR (10),F.DATE_ISCH,104)
LEFT JOIN dbo.SD_EMPL se ON se.pers_link = F.LINK_FACE AND se.link= f.link_empl  AND (se.DATE_END IS NULL OR se.DATE_END >=@BDATE) AND se.DATE_BEGIN IS NOT null 
LEFT JOIN dbo.PERSON  p  ON p.link = f.PERS_LINK 
--LEFT JOIN dbo.SDOC    sd ON sd.link =F.link_doc 
--LEFT JOIN dbo.s_objects so ON so.LINK = sd.[OBJECT]
LEFT JOIN dbo.SDOC    sdV ON sdV.link = F.link_ved
left JOIN dbo.SDOC_VEDOM sdV1 ON sdV1.LINK_UP = sdv.LINK
GROUP BY r.link , F.LINK_FACE,  F.PERS_LINK , F.LINK_EMPL , F.LINK_DOC, F.DATE_DOH,
		 p.FM,p.IM,p.OT,SE.FM,se.IM,se.OT,SE.TAB,F.INOSTR, 
		 F.DIS,  f.VID_DOH,sdV1.TYP_PAYMENT,sdV.NUMBER,sdV.[DATE],F.MON,F.DATE_DOH,F.DATE_NAL,F.DATE_ISCH,r.COL5,r.COL6
ORDER BY r.link,  se.FM /*,F.VID_DOH*/, f.PERS_LINK,f.link_empl, F.DATE_DOH --, so.CODE


-- EXECUTE KIR_EXEC_QUERY 20582,'''2016'',1,0,0,20586'
SELECT CODE,
	   PERS_LINK ,
	   LINK_EMPL,
	   DGH  ,
	   FIO,  
	   TAB ,
	   INOSTR,
	   DIS,
	   KAT ,	  
	  -- LINK_DOC,
	   DOC_INF = LTRIM(RTRIM(SUBSTRING ((SELECT
							', '+ isnull(f1.DOC_INF,'') 
							FROM #FIZ_VID_DOH_RES f1
							WHERE f1.FIO =F.FIO AND  f1.TAB = f.TAB AND f1.KAT = f.KAT AND f1.VED_NUM = f.VED_NUM AND  f1.VED_DATE = f.ved_date
	                        FOR XML PATH ('')),
							2,
							1000) )) ,
							--sd.NUMBER,
	  -- DOC_DATE = sd.[DATE],
	  -- DOC_CODE = so.CODE,
	  -- DOC_NAME = so.NAME,
	   VID_DOH,
	   ved_TYPE,
	   VED_NUM ,
	   VED_DATE,
	   SUMMA_DOH = SUM(SUMMA_DOH),
	   SUMMA_NAL = SUM(SUMMA_NAL),
	   MON,
	   DATE_DOH ,
	   DATE_NAL,
	   DATE_ISCH,
	   SUM_DOH_GR,
	   SUM_NAL_GR,
 	   SUM_DED_GR = sum(SUM_DED_GR)
FROM #FIZ_VID_DOH_RES f
GROUP BY f.CODE,f.PERS_LINK,f.LINK_EMPL,f.DGH,f.FIO,f.TAB,f.INOSTR,f.DIS,f.KAT,
		 f.VID_DOH,f.ved_TYPE,f.VED_NUM,f.VED_DATE,f.MON,f.DATE_DOH,f.DATE_NAL,
		 f.DATE_ISCH,f.SUM_DOH_GR,f.SUM_NAL_GR
ORDER BY f.CODE,f.KAT,f.FIO,f.TAB,f.VED_NUM,f.DATE_DOH	 

DROP TABLE #FIZ_VID_DOH
DROP TABLE #RAZD2

-- EXECUTE KIR_EXEC_QUERY 20582,'''2016'',2,0,0,20586'
	

RETURN 0




GO


GRANT EXECUTE ON dbo.[SA_6NDFL_REPORT] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SS_SPR_SZP_REP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SS_SPR_SZP_REP]

GO
CREATE PROC dbo.SS_SPR_SZP_REP 
	@varKSdDate1 DATETIME, /*Начало периода*/
	@varKSdDate2 DATETIME, /*Окончание периода*/
	@Date1 datetime,
	@LINK_EMPL int = NULL, /*Сотрудник*/
	@cNum_SPR varchar(20),	/*Номер справки*/
	@Link_GR_PAY int = null	/*Номер справки*/

	
AS
BEGIN
declare @DEP_LINK int,
		@Date_3mAGO datetime,
		/*@LINK_EMPL INT ,  /*Сотрудник*/ */
		/*@LINK_PERSON INT , /*Физ лицо*/*/
		@varKSnYear INT
exec dbo.xd_whats_zb @DEP_LINK output		
CREATE TABLE #EMPLS(LINK_EMPL INT, PERS_LINK INT, SYST_PAY TINYINT)

if @Date1 = dbo.DateEndOfMonth(@Date1)  
begin
	set @Date_3mAGO = dbo.DateBeginOfMonth(dateadd(MONTH, - 2, @Date1))	
end
else 
begin
	set @Date_3mAGO = dbo.DateBeginOfMonth(dateadd(MONTH, - 3, @Date1))	
end

if isnull(@LINK_EMPL,0) > 0
BEGIN
	INSERT INTO #EMPLS (PERS_LINK, LINK_EMPL, SYST_PAY)
	SELECT PERS_LINK, LINK, SYST_PAY FROM dbo.EMPL A
	WHERE 
		DEP_LINK = @DEP_LINK
		AND EXISTS ( SELECT * FROM dbo.EMPL E WHERE E.LINK = @LINK_EMPL AND E.PERS_LINK = A.PERS_LINK)
	
END

SELECT DISTINCT E.PERS_LINK INTO #PERS FROM #EMPLS E1 INNER JOIN dbo.EMPL E ON E1.LINK_EMPL = E.LINK
	

DECLARE @DEP_NAME VARCHAR(254), @DEP_FN VARCHAR(254), @INN VARCHAR(20), @KPP VARCHAR(20), @OKPO VARCHAR(40),@NOM_PF VARCHAR(20)	
SELECT TOP 1 @DEP_NAME = NAME, @DEP_FN = FULL_NAME, @INN = INN, @KPP = KPP , @OKPO = OKPO, @NOM_PF = PFNUMBER FROM dbo.DEPARTMENTS WHERE LINK = @DEP_LINK

--==========================================================
CREATE TABLE #RES(
	ORD TINYINT,
	LINK_FACE INT,
	[YEAR] int, 
	[MONTH] int,
	MONTH_NAME VARCHAR(20), 
	WORK NUMERIC(18,2),
	NORM NUMERIC(18,2),
	COMMENT varchar(1000), 
	SUMMA NUMERIC(20, 2),
	qprem numeric(20,2)
)

DECLARE @months_ex table (y int, m int, mname varchar(15))

DECLARE @y int
set @y =year(@varKSdDate1)

insert into @months_ex (y,m,mname)
select y,m,mname from DBO.months_ex(@varKSdDate1,@varKSdDate2)

--Список суммы последних квартальных премий
declare @qprem_sum numeric(18,2)

CREATE TABLE #QPREM (month_end int,year_end int, date1 datetime,date2 datetime, summa numeric(18,2) )
insert into #QPREM 
select j.month_end, j.year_end, j.date1, j.date2, sum(j.summa)
from
	#PERS as E
	inner join dbo.empl em  on EM.PERS_LINK = E.PERS_LINK
	inner join 	dbo.S_J_C_Short j on (J.LINK_EMPL = EM.LINK OR EM.PERS_LINK = J.LINK_FACE)
	inner join dbo.PAYS_REF PR on PR.LINK_PAYS = j.LINK_PAYS
where
	em.link = @LINK_EMPL
	and 
	PR.LINK_GROUPS = @Link_GR_PAY
	AND
	(year(j.date1) * 100 + month(j.date1)) between (year(@varKSdDate1) *100 +month(@varKSdDate1)) AND (year(@varKSdDate2) *100 + month(@varKSdDate2))
	AND
	(year(j.date2) * 100 + month(j.date2)) between (year(@varKSdDate1) *100 +month(@varKSdDate1)) AND (year(@varKSdDate2) *100 + month(@varKSdDate2))
	AND
	j.date2 = (select max(date2) from dbo.S_J_C_Short j 
									where e.PERS_LINK = J.LINK_FACE 
									and PR.LINK_PAYS = j.LINK_PAYS
									AND
										(year(j.date1) * 100 + month(j.date1)) between (year(@varKSdDate1) *100 +month(@varKSdDate1)) AND (year(@varKSdDate2) *100 + month(@varKSdDate2))
									AND
										(year(j.date2) * 100 + month(j.date2)) between (year(@varKSdDate1) *100 +month(@varKSdDate1)) AND (year(@varKSdDate2) *100 + month(@varKSdDate2))
									AND
										J.TYP_OPER = 1
									AND
										J.LINK_DEP = @DEP_LINK
									and J.WAY_CALC in (6,7)
									)
	AND
	J.TYP_OPER = 1
	AND
	J.LINK_DEP = @DEP_LINK
	and J.WAY_CALC in (6,7)
group by
	j.month_end,j.year_end, j.date1, j.date2


INSERT INTO #RES
SELECT
	ORD = ROW_NUMBER() OVER (PARTITION BY E.PERS_LINK ORDER BY MM.y, MM.m),
	E.PERS_LINK,
	MM.y, MM.m, MM.mname,
	work = 	MAX(
				(CASE WHEN e.SYST_PAY = 1 THEN 
				dbo.SA_GET_EMPL_WD (e.LINK_EMPL, 0, DEFAULT, dbo.ConvertDMY2Date(1,MM.m,MM.y), dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MM.m,MM.y)), DEFAULT, 0)
				ELSE 
				dbo.SA_GET_EMPL_WH (e.LINK_EMPL, 0, DEFAULT,  dbo.ConvertDMY2Date(1,MM.m,MM.y), dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MM.m,MM.y)), DEFAULT, 0)
				END)
				),
	NORM =	MAX(
				(CASE WHEN e.SYST_PAY = 1 THEN 
				dbo.NORM_DAY_DH (e.LINK_EMPL,  dbo.ConvertDMY2Date(1,MM.m,MM.y), dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MM.m,MM.y)))
				ELSE 
				dbo.NORM_HOUR_DH (e.LINK_EMPL,  dbo.ConvertDMY2Date(1,MM.m,MM.y), dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MM.m,MM.y)))
				END)
				),
	COMMENT   =  MAX(
					dbo.SA_GET_EMPL_NWD_COMMENT (e.LINK_EMPL,  DEFAULT,  dbo.ConvertDMY2Date(1,MM.m,MM.y), dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MM.m,MM.y)))
					),
	MAX(ISNULL(SUMMA,0)),
	qprem = CAST( 0 AS numeric(18,2))
	
from 	
	@months_ex MM
	INNER JOIN #EMPLS E ON 1=1
	LEFT JOIN 
		(SELECT 
			PERS_LINK = ISNULL(EM.PERS_LINK,JC.PERS_LINK),
			y, m,
			SUMMA = SUM(JC.SUMMA)
		FROM
			@months_ex M
			INNER JOIN dbo.CALCULATE_JURNAL JC ON M.y = YEAR(JC.PERIOD_BEGIN) AND M.m = MONTH(JC.PERIOD_BEGIN) 
			INNER JOIN dbo.PAYS P ON P.LINK = JC.LINK_PAYS
			INNER JOIN #EMPLS EM ON (EM.LINK_EMPL = JC.LINK_EMPL OR EM.PERS_LINK = JC.PERS_LINK)
		WHERE
			JC.LINK_DEP = @DEP_LINK
			AND EXISTS (SELECT * FROM dbo.PAYS_REF PR WHERE PR.LINK_GROUPS = @Link_GR_PAY AND PR.LINK_PAYS = JC.LINK_PAYS)			
			AND P.[OBJECT] = 1
			AND P.WAY_CALC not in (13, 14, 15, 6, 7) 
		group by
			ISNULL(EM.PERS_LINK,JC.PERS_LINK), y, m
		) T ON MM.y = T.y AND MM.m = T.M AND E.PERS_LINK = T.PERS_LINK
GROUP BY
	E.PERS_LINK, MM.y, MM.m, MM.mname, E.SYST_PAY, E.LINK_EMPL



-- подсчитаем среднюю зп за последних 3 месяца
declare @Count_rows3 int,
		@Count_rows2 int,
		@Count_rows1 int,
		@SUMMA1 NUMERIC(20, 2),
		@SUMMA2 NUMERIC(20, 2),
		@SUMMA3 NUMERIC(20, 2),
		@DF1  NUMERIC(18, 2),
		@DF2  NUMERIC(18, 2),
		@dF3  NUMERIC(18, 2),
		@DR1  NUMERIC(18, 2),
		@DR2  NUMERIC(18, 2),
		@dR3  NUMERIC(18, 2),
		@SR_SUM_3MONTH NUMERIC(20, 2),
		@QPREM_SUMM NUMERIC(20,2),
		@QPREM_MON1 INT,
		@QPREM_MON2 INT,
		@QPREM_MON3 INT,
		@QPREM_S1 NUMERIC(20, 3), 
		@QPREM_S2 NUMERIC(20, 3),
		@QPREM_S3 NUMERIC(20, 3)

if @Date1 = dbo.DateEndOfMonth(@Date1)  
	begin	
		set @Count_rows3 = (select count(*) from #RES)
		set @Count_rows2 = (@Count_rows3 - 1)
		SET @Count_rows1 = (@Count_rows3 - 2)
	end
else 
	begin
		set @Count_rows3 = ((select count(*) from #RES)-1)
 		set @Count_rows2 = (@Count_rows3 - 1)
		SET @Count_rows1 = (@Count_rows3 - 2)
 	end

--1. Количество фактически отработанных дней за 3 месяца 
SET @DF1 = (SELECT WORK FROM #RES WHERE ORD = @Count_rows1)
SET @DF2 = (SELECT WORK FROM #RES WHERE ORD = @Count_rows2)
SET @DF3 = (SELECT WORK FROM #RES WHERE ORD = @Count_rows3)

--2. Количество дней по графику за 3 месяца
SET @DR1 = (SELECT NORM FROM #RES WHERE ORD = @Count_rows1)
SET @DR2 = (SELECT NORM FROM #RES WHERE ORD = @Count_rows2)
SET @DR3 = (SELECT NORM FROM #RES WHERE ORD = @Count_rows3)

-- 3. подсчет последней Квартальной премии с разбивкой по трем последним месяцам 
if @Date1 = dbo.DateEndOfMonth(@Date1)  
	begin	
	   set @QPREM_SUMM = isnull((select Sum(summa) from #QPREM where month(date2) = convert( int ,(select  max([month]) from #RES  where [year] = year(@Date1)and [month] = (select  month(max(date2)) from #QPREM  )))),0)
	   set @QPREM_MON3 = convert( int ,(select  max([month]) from #RES  where [year] = year(@Date1) and [month] = (select  month(max(date2)) from #QPREM  )))
	   set @QPREM_MON2 = @QPREM_MON3 - 1 
	   set @QPREM_MON1 = @QPREM_MON3 - 2 	
	end
else 
	begin
	   set @QPREM_SUMM = isnull((select sum(summa) from #QPREM where month(date2) = convert( int ,(select  max([month]-1) from #RES  where [year] = year(@Date1) and [month] = (select  month(max(date2)) from #QPREM  )))),0)
	   set @QPREM_MON3 = convert( int ,(select  max([month]-1) from #RES  where [year] = year(@Date1) and [month] = (select  month(max(date2)) from #QPREM  )))	
 	   set @QPREM_MON2 = @QPREM_MON3 - 1 
 	   set @QPREM_MON1 = @QPREM_MON3 - 2 
 	end


-- сумма премии на первый месяц
IF ISNULL((@dR1 + @dR2 + @dR3),0)> 0
	begin
		SET @QPREM_S1  = isnull(((@QPREM_SUMM / (@dR1 + @dR2 + @dR3)) * @dR1),0)
	end	
ELSE 
	BEGIN
		SET @QPREM_S1 = isnull((@QPREM_SUMM * @dR1) ,0) 
	END	
-- сумма премии на второй месяц
IF ISNULL((@dR1 + @dR2 + @dR3),0)> 0
	begin
		SET @QPREM_S2  = isnull(((@QPREM_SUMM / (@dR1 + @dR2 + @dR3)) * @dR2),0)	
	end	
ELSE 
	BEGIN
		SET @QPREM_S2 = isnull((@QPREM_SUMM * @dR2) ,0) 
	END	
-- сумма премии на третий месяц
IF ISNULL((@dR1 + @dR2 + @dR3),0)> 0
	begin
		SET @QPREM_S3  = isnull(((@QPREM_SUMM / (@dR1 + @dR2 + @dR3)) * @dR3),0)	
	end	
ELSE 
	BEGIN
		SET @QPREM_S3 = isnull((@QPREM_SUMM * @dR3) ,0) 
	END	
-- обновление таблицы - к суммам по последним трем месяцам, прибавляется разбитая квартальная премия 
update #RES 
	set SUMMA =  case when SUMMA = 0 then 0 else (SUMMA + @QPREM_S1) end
from #RES where [month] = @QPREM_MON1 and [year] = year(@Date1)
update #RES 
	set SUMMA =  case when SUMMA = 0 then 0 else (SUMMA + @QPREM_S2) end
from #RES where [month] = @QPREM_MON2 and [year] = year(@Date1)
update #RES 
	set SUMMA =  case when SUMMA = 0 then 0 else  (SUMMA + @QPREM_S3) end 
from #RES where [month] = @QPREM_MON3 and [year] = year(@Date1)
---

--4. Сумма за 3 последних месяца		
SET @SUMMA1 = (SELECT SUMMA FROM #RES WHERE ORD = @Count_rows1)
SET @SUMMA2 = (SELECT SUMMA FROM #RES WHERE ORD = @Count_rows2)
SET @SUMMA3 = (SELECT SUMMA FROM #RES WHERE ORD = @Count_rows3)

--  Подсчет средней заработной платы за 3 последних месяца с учетом последней квартальной премии

if  isnull ((@dF1 + @dF2 + @dF3) , 0  ) > 0 AND ISNULL((@dR1 + @dR2 + @dR3) , 0) > 0 AND  ISNULL( (@SUMMA1 + @SUMMA2 + @SUMMA3),0) > 0 
	begin
		SET @SR_SUM_3MONTH  = (((@SUMMA1 + @SUMMA2 + @SUMMA3)/ (@dF1 + @dF2 + @dF3)) * (@dR1 + @dR2 + @dR3)) /3	
	end
else 
	BEGIN 
		IF ISNULL((@SUMMA1 + @SUMMA2 + @SUMMA3),0) > 0
			begin
				set @SR_SUM_3MONTH = (@SUMMA1 + @SUMMA2 + @SUMMA3) / 3 
			end	
		ELSE
			BEGIN  	
				set @SR_SUM_3MONTH = 0
			end	
	end
---
declare @work_date datetime
set @work_date = (select workdate from user_info)
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
SELECT	RR.*,
	[NUM_SPR]	= @cNum_SPR,
	[fio] 		= KU_EM.FIO,
	[date_beg] 	= KU_EM.DATE_BEGIN,
	[PERS_INN]	= KU_EM.INN,
	[subdiv] 	= KU_EM.SUBDIV_NAME,
	[link] 		= D.LINK,
	[dep_name] 	= D.FULL_NAME,
	[dep_inn] 	= case
				WHEN D.INN IS NOT NULL THEN D.INN
				ELSE NULL
			  end,
	[dep_buhph]	= (SELECT TOP 1 PHONE FROM DEPARTMENT_FACES WHERE LINK_UP = D.LINK AND NAME LIKE '%Главный бухгалтер%'),
	[dep_kadph]	= (SELECT TOP 1 PHONE FROM DEPARTMENT_FACES WHERE LINK_UP = D.LINK AND NAME LIKE '%Рук.кадровой службы%'),
	[DATE_FROM] = @varKSdDate1 ,
	[DATE_THRU] = @Date1,
	[DATE_DOC] = Getdate()		  
	FROM	(
	SELECT	@LINK_EMPL as empl_link,
		R.LINK_FACE,
		R.MONTH_NAME,
		R.[YEAR],
		R.SUMMA AS NACH,
		@SR_SUM_3MONTH as SR_SUMM,
		r.work ,
		r.norm,
		r.COMMENT
	FROM	#RES R 
	) RR  left join dbo.ku_empl_placing_fn(@work_date) KU_EM
	ON RR.empl_link = KU_EM.LINK left join DEPARTMENTS D
	ON D.LINK = KU_EM.DEP_LINK left join department_accounts DA
	ON D.MAIN_LINK = DA.LINK
--=====================================================================

END

RETURN 0



GO


GRANT EXECUTE ON dbo.[SS_SPR_SZP_REP] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_NDFL_NACHISL30]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_NDFL_NACHISL30]

GO
CREATE PROCEDURE DBO.SA_NDFL_NACHISL30 (@PERIOD_BEG DATETIME, @PERIOD_END DATETIME, @DEP_LINK INT, @SUMMA NUMERIC(18,2) OUTPUT)
--Начисленная сумма НДФЛ по организации за период с учётом остатка на начало года
AS
BEGIN

	IF @PERIOD_BEG IS NOT NULL AND @PERIOD_END IS NOT NULL BEGIN

		SET @SUMMA = ISNULL(
			(SELECT sum(summa) 
			FROM
				dbo.PAYS P 
				INNER JOIN dbo.DICTIONARY_TAX_SALARY T ON T.LINK = P.LINK AND T.WAY_CALC=5
				INNER JOIN dbo.CALCULATE_JURNAL SJ ON P.LINK = SJ.LINK_PAYS
			WHERE
				SJ.PERIOD_BEGIN BETWEEN @PERIOD_BEG AND @PERIOD_END
				AND SJ.LINK_DEP = @DEP_LINK 
			),0)	
			
		SET @SUMMA = @SUMMA + ISNULL( 
			(
				SELECT SUM(SR.NDFL) 
				FROM 
					dbo.SAL_REMAIN SR
					INNER JOIN dbo.EMPL E ON E.LINK = SR.LINK_EMPL
				WHERE 
					E.DEP_LINK = @DEP_LINK AND SR.YEAR_SAL = YEAR(@PERIOD_BEG)
			), 0)
	

	END
	
END
RETURN 0	



GO


GRANT EXECUTE ON dbo.[SA_NDFL_NACHISL30] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_NDFL_NACHISL35]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_NDFL_NACHISL35]

GO
CREATE PROCEDURE DBO.SA_NDFL_NACHISL35 (@PERIOD_BEG DATETIME, @PERIOD_END DATETIME, @DEP_LINK INT, @SUMMA NUMERIC(18,2) OUTPUT)
--Начисленная сумма НДФЛ по организации за период с учётом остатка на начало года
AS
BEGIN

	IF @PERIOD_BEG IS NOT NULL AND @PERIOD_END IS NOT NULL BEGIN

		SET @SUMMA = ISNULL(
			(SELECT sum(summa) 
			FROM
				dbo.PAYS P 
				INNER JOIN dbo.DICTIONARY_TAX_SALARY T ON T.LINK = P.LINK AND T.WAY_CALC=6
				INNER JOIN dbo.CALCULATE_JURNAL SJ ON P.LINK = SJ.LINK_PAYS
			WHERE
				SJ.PERIOD_BEGIN BETWEEN @PERIOD_BEG AND @PERIOD_END
				AND SJ.LINK_DEP = @DEP_LINK 
			),0)	
			
		SET @SUMMA = @SUMMA + ISNULL( 
			(
				SELECT SUM(SR.NDFL) 
				FROM 
					dbo.SAL_REMAIN SR
					INNER JOIN dbo.EMPL E ON E.LINK = SR.LINK_EMPL
				WHERE 
					E.DEP_LINK = @DEP_LINK AND SR.YEAR_SAL = YEAR(@PERIOD_BEG)
			), 0)
	

	END
	
END
RETURN 0	



GO


GRANT EXECUTE ON dbo.[SA_NDFL_NACHISL35] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[X_SAVE_DICTIONARY_DEPARTMENT3]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[X_SAVE_DICTIONARY_DEPARTMENT3]

GO

CREATE       PROCEDURE dbo.X_SAVE_DICTIONARY_DEPARTMENT3

	@varKSparLINK				INT,
	@TFOMS_REG_NUM varchar(15) = '',
	@TFOMS_KT varchar(2) = ''	,
	@varKScEMail varchar(254) = '',
	@intBUH_TYPE_PARM	TINYINT = 0,
	@FSS_KP_P1 INT = NULL, @FSS_KP_P2 INT = NULL, @FSS_KP_P3 INT = NULL, --реквизиты шифра страхователя для ФСС
	@CORP VARCHAR(5) = '',
	@iUchrLink int = null,
	@iIsUsed tinyint = 1,
	@strPHONE	VARCHAR (254) = '',
	@varKSparOKTMO          VARCHAR(11)	= '',
	@varKSparKCH			VARCHAR(1)	= '',
	@cSvodCode varchar(10)
AS
BEGIN
	DECLARE 
		@varKSSQLError	tinyint,
		@varKStrancount	int,
		@varKSEventText	varchar(254),
		@varKSObjLink    int,
		@varKSRowCount   int,
		@intBUH_TYPE	TINYINT 

	IF @FSS_KP_P1 IS NULL OR @FSS_KP_P1 = 0
		SET @FSS_KP_P1 = (SELECT TOP 1 LINK FROM dbo.SA_4FSS_KATEG_PLAT_P1 WHERE CODE = '071')

	IF @FSS_KP_P2 IS NULL OR @FSS_KP_P2 = 0
		SET @FSS_KP_P2 = (SELECT TOP 1 LINK FROM dbo.SA_4FSS_KATEG_PLAT_P2 WHERE CODE = '00')

	IF @FSS_KP_P3 IS NULL OR @FSS_KP_P3 = 0
		SET @FSS_KP_P3 = (SELECT TOP 1 LINK FROM dbo.SA_4FSS_KATEG_PLAT_P3 WHERE CODE = '00')

	SET @varKStrancount = @@TRANCOUNT
	SET IMPLICIT_TRANSACTIONS ON
	BEGIN TRAN
	COMMIT TRAN

	SELECT @intBUH_TYPE = BUH_TYPE FROM dbo.DICTIONARY_BUH_TYPE WHERE BUH_TYPE = @intBUH_TYPE_PARM
	SET @intBUH_TYPE = ISNULL (@intBUH_TYPE, 0)

	UPDATE dbo.DEPARTMENTS WITH (ROWLOCK) 
	SET 
		TFOMS_REG_NUM = @TFOMS_REG_NUM,
		TFOMS_KT = @TFOMS_KT,
		EMail = @varKScEMail,
		BUH_TYPE = @intBUH_TYPE,
		FSS_KP_P1 = @FSS_KP_P1,
		FSS_KP_P2 = @FSS_KP_P2,
		FSS_KP_P3 = @FSS_KP_P3,
		CORP = ISNULL(@CORP,''),
		UCHR_LINK = @iUchrLink,
		ISUSED = @iIsUsed,
		PHONE = LTRIM (ISNULL (@strPHONE, '')),
		OKTMO = LTRIM(ISNULL(@varKSparOKTMO,'')),
		KCH = LTRIM(ISNULL(@varKSparKCH,'')),
		SVOD_CODE = @cSvodCode
	WHERE LINK = @varKSparLINK
	
	SELECT @varKSSQLError = @@ERROR, @varKSRowCount = @@ROWCOUNT
	IF @varKSSQLError <> 0
	BEGIN
		ROLLBACK
		RETURN 7
	END
	IF @varKSRowCount = 0
	BEGIN
		ROLLBACK
		RETURN 2
	END

	IF @@TRANCOUNT > @varKStrancount
		COMMIT TRAN
	RETURN 0

END




GO


GRANT EXECUTE ON dbo.[X_SAVE_DICTIONARY_DEPARTMENT3] TO PUBLIC

GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_PRINT_127_ITOG_16]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RO_PRINT_127_ITOG_16]

GO

/*

	c Кейсистемс (Keysystems), 2010
	Печать форм 127 (для параметра "все атрибуты в один отчет)
	Печать с подитогами
*/


CREATE       PROCEDURE dbo.RO_PRINT_127_ITOG_16
	@LSF	bigint,
	@bDeleteEmptyRows BIT = NULL,  --  NULL - данные выбираются не для печати, 1 - удаление пустых строк (поле DEL = 1), 0 - не удалять.
	@data int=1, -- c_nastr не будет создаваться!
	@notNullCol tinyint = 0,
	@AtrInOnePage tinyint = 0,
	@WEB_excel tinyint = 0 -- 1 - вызывается для печати из WEB для excel-генератора
AS

declare @varKSiParam int, -- 0 - без подитогов, 1 бит - подитоги по ЭКР, 2 бит - подитоги по ВР, 3 бит - подитоги по ЦСР, 4 бит - подитоги по подразделу, 5 бит - подитоги по раздеру, 6 бит - подитоги по администратору
		@varKSiNoItog int, @iYear INT, @vcAtr VARCHAR(50), @varKSiRashEKR TINYINT, @varKSiNoItogRash TINYINT

SET @vcAtr = dbo.RN_GET_ATR_VALUE(@LSF, 'REPORTS_ATR_ADM')

set @varKSiParam = 0
set @varKSiNoItog = 0
SET @varKSiRashEKR = 3
SET @varKSiNoItogRash = 0

if object_id('tempdb..#Param_Print') is NOT NULL
begin
	select @varKSiParam = convert(int, Value) from #Param_Print where Param = 'Poditog'
	select @varKSiNoItog = convert(int, Value) from #Param_Print where Param = 'NoPoditog'
select @varKSiRashEKR = convert(int, Value) from #Param_Print where Param = 'RASH_EKR'
select @varKSiNoItogRash = convert(int, Value) from #Param_Print where Param = 'NoItog_Rash'
END


if isnull(@varKSiNoItog,0) = 1
begin
	exec dbo.RO_PRINT_NO_ITOG @LSF, @bDeleteEmptyRows, @data, @notNullCol, @AtrInOnePage, @WEB_excel
	return
end


IF @LSF is NULL
	return -1

declare @iLF int, @iLT INT, @dBeginDate DATETIME
select @iLF = Link_Form, @iYear = YEAR(begin_date), @dBeginDate = Begin_Date
from report_saved_forms where Link_Saved_Form = @LSF

if isnull(@WEB_excel, 0) <> 1
	select '' col1

-- таблица доходы
create table #doh (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(50), Col1 varchar(1500), Col2 varchar(1000), Col3 varchar(1000),  Col4 float, Col5 float, Col6 float, Col7 float, Col8 float, Col9 float)

insert #doh (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9)
exec dbo.rn_get_all_adm_table 	@LSF, 1, @bDeleteEmptyRows, @AtrInOnePage, 1

IF NOT EXISTS(SELECT * FROM #doh)
BEGIN
insert #doh (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9)
SELECT 0, 0, 0, @LSF, 0, -1, 0, 0, '00085000000000000000', 'Доходы - всего', '010', '85000000000000000', 0, 0, 0, 0, 0, 0
END

SELECT * FROM #doh


------------------------------------------------------------------------------------------------
--- ТАБЛИЦА РАСХОДЫ С ПОДИТОГАМИ
create table #rash (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(50), Col1 varchar(1500), Col2 varchar(1000), Col3 varchar(1000), Col4 varchar(1000), Col5 varchar(1000), Col6 float, Col7 float, Col8 float, Col9 float, Col10 float, Col11 float, Col12 float, Col13 float, Col14 varchar(50))

select * into #rash_itog from #rash

insert #rash (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14)
exec dbo.rn_get_all_adm_table 	@LSF, 2, @bDeleteEmptyRows, @AtrInOnePage, 1



IF @varKSiRashEKR = 1
BEGIN
UPDATE #rash
SET COL6 = 0,
COL7 = 0,
COL12 = 0,
COL13 = 0
WHERE RIGHT(RTRIM(CODE),3) <> '000'
END

IF @varKSiRashEKR = 2
BEGIN
UPDATE #rash
SET COL6 = 0,
COL7 = 0,
COL12 = 0,
COL13 = 0
WHERE RIGHT(RTRIM(CODE),2) <> '00'
END

IF @varKSiNoItogRash = 1
BEGIN
DELETE #rash
WHERE RIGHT(RTRIM(CODE),3) IN ('000', '100', '110', '120', '130', '140',
           '200', '210', '220', '230', '240', 
           '300', '310', '320',
           '400', '410',  '450', '460',
           '500', '510', '520',
           '600', '610', '620',
           '700',
           '800', '820', '830', '840', '850', '860')

IF @varKSiParam = 0
BEGIN
DELETE #rash
WHERE RIGHT(RTRIM(CODE),3) IN ('000') AND LEFT(code,7) NOT IN ('0009600', '0007900')
END

END

---------------------------------------------
/*col1 - наименование показателя
col2 - код строки
col3 - РЗПР
col4 - ЦСР
col5 - ВР
col6 - ЭКР
col15 - Код = АДМ(3) + РЗПР(4) + ЦСР(7) + ВР(3) + ЭКР(3)
*/
select @iLT = Link_Table from report_tables where Link_Form = @iLF and orders = 2
-- добавляем подитоги
if @varKSiParam & 2 = 2 -- подитоги по целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,14) + '000000', '', max(Col2),max(Col3), max(Col4), '000',sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), left(Col14,14) + '000000'
	from #rash
	where RIGHT(RTRIM(CODE),3) not IN ('000', '100', '110', '120', '130', '140',
           '200', '210', '220', '230', '240', 
           '300', '310', '320',
           '400', '410',  '450', '460',
           '500', '510', '520',
           '600', '610', '620',
           '700',
           '800', '820', '830', '840', '850', '860')
	group by left(Code,14) + '000000', left(Col14,14) + '000000'
end

if @varKSiParam & 4 = 4 -- подитоги по подразделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,7) + '0000000000000', '', max(Col2),max(Col3), '0000000', '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), left(col14,7) + '0000000000000'
	from #rash
	where RIGHT(RTRIM(CODE),3) not IN ('000', '100', '110', '120', '130', '140',
           '200', '210', '220', '230', '240', 
           '300', '310', '320',
           '400', '410',  '450', '460',
           '500', '510', '520',
           '600', '610', '620',
           '700',
           '800', '820', '830', '840', '850', '860')
	group by left(Code,7) + '0000000000000', left(col14,7) + '0000000000000'
end

if @varKSiParam & 8 = 8 -- подитоги по разделу
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,5) + '000000000000000', '', max(Col2),left(col3,2) + '00', '0000000', '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), left(col14,5) + '000000000000000'
	from #rash
	where RIGHT(RTRIM(CODE),3) not IN ('000', '100', '110', '120', '130', '140',
           '200', '210', '220', '230', '240', 
           '300', '310', '320',
           '400', '410',  '450', '460',
           '500', '510', '520',
           '600', '610', '620',
           '700',
           '800', '820', '830', '840', '850', '860')
	group by left(Code,5) + '000000000000000', left(Col14,5) + '000000000000000',left(col3,2) + '00'
end

if @varKSiParam & 16 = 16 -- подитоги по администратору
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,3) + '00000000000000000', '', max(Col2),'000', '0000000', '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13),  left(col14,3) + '00000000000000000'
	from #rash
	where  RIGHT(RTRIM(CODE),3) not IN ('000', '100', '110', '120', '130', '140',
           '200', '210', '220', '230', '240', 
           '300', '310', '320',
           '400', '410',  '450', '460',
           '500', '510', '520',
           '600', '610', '620',
           '700',
           '800', '820', '830', '840', '850', '860')
	group by left(Code,3) + '00000000000000000', left(Col14,3) + '00000000000000000'
end

if @varKSiParam & 32 = 32 -- обнуляем подпрограмму в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,12) + '00000000', '', max(Col2),max(Col3), max(Col4), '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), left(Col14,12) + '00000000'
	from #rash
	where  RIGHT(RTRIM(CODE),3) not IN ('000', '100', '110', '120', '130', '140',
           '200', '210', '220', '230', '240', 
           '300', '310', '320',
           '400', '410',  '450', '460',
           '500', '510', '520',
           '600', '610', '620',
           '700',
           '800', '820', '830', '840', '850', '860')
	group by left(Code,12) + '00000000', left(Col14,12) + '00000000'
end

if @varKSiParam & 64 = 64 -- обнуляем программу в целевой статье
begin
	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14)
	select 0, 0, 0, max(link_saved_form), 0, 0, 0, 0, left(Code,10) + '0000000000', '', max(Col2),max(Col3), max(Col4), '000', sum(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), left(Col14,10) + '0000000000'
	from #rash
	where RIGHT(RTRIM(CODE),3) not IN ('000', '100', '110', '120', '130', '140',
           '200', '210', '220', '230', '240', 
           '300', '310', '320',
           '400', '410',  '450', '460',
           '500', '510', '520',
           '600', '610', '620',
           '700',
           '800', '820', '830', '840', '850', '860')
	group by left(Code,10) + '0000000000', left(Col14,10) + '0000000000'
END

insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14)
SELECT 0,0,0,@LSF, 0, -1, 0, 0, '00096000000000000000', 'Расходы - всего', '', '', '', '', 0,0,0,0,0,0,0,0, '00096000000000000000'
WHERE NOT EXISTS(SELECT * FROM #rash WHERE code LIKE '%96000000000000%')

-- убираем целевые которых нет в справочнике
insert #rash
select distinct checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14
from #rash_itog A
WHERE
EXISTS (SELECT * FROM R_SPR_CSR_USER_2011 B WHERE ISNULL(begin_date,'20000101') <= @dBeginDate AND isnull(end_date,'20200101') >= @dBeginDate
AND SUBSTRING(A.CODE,8,7) = B.code)

/*Нужно выводить наименования расходов во всех стройчках*/
/*UPDATE #rash
SET COL1 = ''
WHERE  col5 <> '000'*/

if @iYear < 2011
exec ro_get_name_spr @iLT, 'COL5=SUBSTRING(CODE,15,3)=000#COL4=SUBSTRING(CODE,5,10)=0000000#COL3=SUBSTRING(CODE,1,4)=0000#RN_VIEW_KBK_ADM_M=LEFT(CODE,4)=000', '#rash', @varKScNameCode = 'CODE', @varKScNameName = 'COL1', @varKSiLSF = @LSF
else
exec ro_get_name_spr @iLT, 'COL5=SUBSTRING(CODE,15,3)=000#COL4=SUBSTRING(CODE,5,10)=0000000#COL3=SUBSTRING(CODE,1,4)=0000#R_SPR_ADM_2011=LEFT(CODE,4)=000', '#rash', @varKScNameCode = 'CODE', @varKScNameName = 'COL1', @varKSiLSF = @LSF
----------------------------------------------

--if @AtrInOnePage = 1 -- еще общий итог по администраторма
--begin
--	insert #rash_itog (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15)
--	select 0, 0, 0, max(link_saved_form), 0, -1, 0, 0, '00096000000000000000', 'Расходы - всего', max(Col2),'000', '9600000', '000', max(Col6), sum(Col7), sum(Col8), sum(Col9), sum(Col10), sum(Col11), sum(Col12), sum(Col13), sum(Col14), '00096000000000000000'
--	from #rash
--	where col6 = '000' and col5 <> '000'
--end

select * from #rash order by left(code, 3), orders, Code

drop table #rash_itog
drop table #rash
-------------------------------------------------------------------------------------------------

-- таблица источники
create table #ist (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(50), Col1 varchar(1000), Col2 varchar(1000), Col3 varchar(1000), Col4 float, Col5 float, Col6 float, Col7 float, Col8 float, Col9 float, Col10 varchar(50))

insert #ist exec dbo.rn_get_all_adm_table 	@LSF, 3, @bDeleteEmptyRows, @AtrInOnePage, 1

-- добавляем обязательные кода:
insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, -2, 0, 0, '00050090000000000000000', 'Источники финансирования дефицита бюджета - всего', '500', '90000000000000000', 0,0,0,0,0,0,'00050090000000000000000'
where not exists (select top 1 * from #ist where code =  '00050090000000000000000')

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, -1, 0, 0, '00052001000000000000000', 'источники внутреннего финансирования бюджета', '520', '01000000000000000', 0,0,0,0,0,0,'00052001000000000000000'
where not exists (select top 1 * from #ist where code =  '00052001000000000000000')

update #ist
set orders = 2
where col2 = '620'

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 1, 0, 0, '00062002000000000000000', 'источники внешнего финансирования бюджета', '620', '02000000000000000', 0,0,0,0,0,0,'00062002000000000000000'
where not exists (select top 1 * from #ist where code =  '00062002000000000000000')

update #ist
set orders = 3
where col2 like '7%'

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 3, 0, 0, CASE WHEN @AtrInOnePage = 1 THEN '000' ELSE RTRIM(@vcAtr) END  + '70001050000000000000', 'Изменение остатков средств', '700', '', 0,0,0,0,0,0,'00070001050000000000000'
where not exists (select top 1 * from #ist where substring(code,4, 20) =  '70001050000000000000')

update #ist
set orders = 5
where col2 = '710'

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 4, 0, 0, CASE WHEN @AtrInOnePage = 1 THEN '000' ELSE RTRIM(@vcAtr) END  + '71001050000000000500', 'увеличение остатков средств, всего', '710', '', 0,0,0,0,0,0,'00071001050000000000500'
where not exists (select top 1 * from #ist where substring(code,4, 20) =  '71001050000000000500')

update #ist
set orders = 7
where col2 = '720'

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 6, 0, 0, CASE WHEN @AtrInOnePage = 1 THEN '000' ELSE RTRIM(@vcAtr) END  + '72001050000000000600', 'уменьшение остатков средств, всего', '720', '', 0,0,0,0,0,0,'00072001050000000000600'
where not exists (select top 1 * from #ist where substring(code,4, 20) =  '72001050000000000600')

update #ist
set orders = 8
where col2 like '8%'

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 8, 0, 0, '00080004000000000000000', 'Изменение остатков по расчетам (стр.810 + 820)', '800', '04000000000000000', 0,0,0,0,0,0,'00080004000000000000000'
where not exists (select top 1 * from #ist where code =  '00080004000000000000000')

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 8, 0, 0, '00081005000000000000000', 'изменение остатков по расчетам с органами, организующими исполнение бюджета (стр.811 + 812)', '810', '05000000000000000', 0,0,0,0,0,0,'00081005000000000000000'
where not exists (select top 1 * from #ist where code =  '00081005000000000000000')

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 8, 0, 0, '00081106000000000000000', 'увеличение счетов расчетов (дебетовый остаток счета 121002000)', '811', '06000000000000000', 0,0,0,0,0,0,'00081106000000000000000'
where not exists (select top 1 * from #ist where code =  '00081106000000000000000')

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 8, 0, 0, '00081207000000000000000', 'уменьшение счетов расчетов (кредитовый остаток счета 130405000)', '812', '07000000000000000', 0,0,0,0,0,0,'00081207000000000000000'
where not exists (select top 1 * from #ist where code =  '00081207000000000000000')

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 8, 0, 0, '00082008000000000000000', 'Изменение остатков по внутренним расчетам (стр.821 + стр. 822)', '820', '08000000000000000', 0,0,0,0,0,0,'00082008000000000000000'
where not exists (select top 1 * from #ist where code =  '00082008000000000000000')

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 8, 0, 0, '00082109000000000000000', 'увеличение остатков по внутренним расчетам', '821', '09000000000000000', 0,0,0,0,0,0,'0082109000000000000000'
where not exists (select top 1 * from #ist where code =  '00082109000000000000000')

insert #ist (checked, Upd, del, link_saved_form, link_row, orders, Calc_orders, Print_NULL, Code, Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10)
select 0, 0, 0, 0, 0, 8, 0, 0, '00082201000000000000000', 'уменьшение остатков по внутренним расчетам', '822', '01000000000000000', 0,0,0,0,0,0,'00082201000000000000000'
where not exists (select top 1 * from #ist where code =  '00082201000000000000000')

select * from #ist order by orders, col2, code

drop table #ist

if isnull(@WEB_excel, 0) <> 1
	select cells as style,style as value from report_print_style where link_form=@iLF order by cells





GO


GRANT EXECUTE ON dbo.[RO_PRINT_127_ITOG_16] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_FaceCardOfTheEmployee]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_FaceCardOfTheEmployee]

GO

CREATE  PROCEDURE dbo.SA_FaceCardOfTheEmployee 
(
	@varKSstart_date DATETIME, 
    	@varKSEND_DATE DATETIME,	
	@LINK_EMPL int,
	@nCheck1 int	/* Показывать отчисления */,
	@nCheck2 int	/* Показывать вычеты */,
	@varKScVal1 char(1), @varKSnOtborLink1 int
)
AS

SET NOCOUNT ON

	/*Отбор по ВКР*/
	EXEC BufferClear
	DECLARE @varKSVKR_ID VARCHAR(100), @varKScWhere VARCHAR(1000)
	IF LEN(@varKScVal1) = 0 BEGIN
		SET @varKSVKR_ID = NULL
	END	 
	ELSE BEGIN
		SET @varKSVKR_ID = 'SALARY_SVOD1_VKR'
		SET @varKScWhere = 'LINK_UP = ' + STR(@varKSnOtborLink1)
		EXEC BufferPushTable 'OBJECT_VAR_SAL_SFIN', @varKSVKR_ID, 'RECORD', @varKScWhere
	END

	DECLARE @varKSCNT_N INT, @varKSCNT_U INT, @varKSCNT_O INT, @varKSCNT_V INT, @varKSCNT_P INT

	declare @code varchar(100), @list_kbk varchar(8000) 
	Set @list_kbk = ''

	Select code into #tmp from dbo.SAL_SFIN  where link in (SELECT LINK FROM dbo.BufferGetTableByID(@varKSVKR_ID))
	
	while exists (Select * from #tmp)
	begin
		Set @code = (select top 1 rtrim(ltrim(code))  from #tmp)
		Set @list_kbk = @list_kbk + @code + ', '
		delete from #tmp where rtrim(ltrim(code)) = @code
	end
	
	IF LEN(@list_kbk) = 0
	BEGIN	
		SET @list_kbk = 'По всем источникам'
	END	

	drop table #tmp

	/*Начисления за период*/
	Create table  #TMP_N (LINK_EMPL1 INT, M1 int, Y1 int, NN VARCHAR(254), SN NUMERIC(20,2) )

	INSERT INTO #TMP_N 
	SELECT SJC.LINK_EMPL, SJC.MONTH_BEGIN, SJC.YEAR_BEGIN, NAME_PAYS, SUM(SUMMA)
	FROM S_J_C_Short SJC
	WHERE 
		LINK_EMPL = @LINK_EMPL
		AND TYP_OPER = 1
		AND PERIOD_BEGIN >= @varKSstart_date AND PERIOD_END <= @varKSEND_DATE
		and (LEN(@varKScVal1) = 0 or SJC.LINK_VKR in 
			(SELECT LINK FROM dbo.BufferGetTableByID(@varKSVKR_ID) )
		)
	GROUP BY
		SJC.LINK_EMPL, SJC.MONTH_BEGIN, SJC.YEAR_BEGIN, NAME_PAYS

	SET @varKSCNT_N = (SELECT COUNT(DISTINCT NN) FROM #TMP_N )
	

	/*Удержания за период*/
	Create table #TMP_U (LINK_EMPL2 INT, M2 int, Y2 int, NU VARCHAR(254), SU NUMERIC(20,2) )

	INSERT INTO #TMP_U
	SELECT SJC.LINK_EMPL, SJC.MONTH_BEGIN, SJC.YEAR_BEGIN, NAME_PAYS, SUM(SUMMA)
	FROM S_J_C_Short SJC
	WHERE 
		LINK_EMPL = @LINK_EMPL
		AND TYP_OPER = 2
		AND PERIOD_BEGIN >= @varKSstart_date AND PERIOD_END <= @varKSEND_DATE
		and (LEN(@varKScVal1) = 0 or SJC.LINK_VKR in 
			(SELECT LINK FROM dbo.BufferGetTableByID(@varKSVKR_ID) )
		)
		and
		/*Не учитываем выплаты сотруднику*/
		LINK_DOC not in ( Select link from sdoc where object = (SELECT link FROM S_OBJECTS WHERE CODE = 'DOCUMENTS_DED_PAYROLL') )
	GROUP BY
		SJC.LINK_EMPL, SJC.MONTH_BEGIN, SJC.YEAR_BEGIN, NAME_PAYS

	SET @varKSCNT_U = (SELECT COUNT(DISTINCT NU) FROM #TMP_U )
	
	
	/*Отчисления за период*/
	Create table #TMP_O (LINK_EMPL3 INT, M3 int, Y3 int, [NO] VARCHAR(254), SO NUMERIC(20,2) )

	INSERT INTO #TMP_O
	SELECT SJC.LINK_EMPL, SJC.MONTH_BEGIN, SJC.YEAR_BEGIN, NAME_PAYS, SUM(SUMMA)
	FROM S_J_C_Short SJC
	WHERE 
		LINK_EMPL = @LINK_EMPL
		AND TYP_OPER = 3
		AND PERIOD_BEGIN >= @varKSstart_date AND PERIOD_END <= @varKSEND_DATE
		and (LEN(@varKScVal1) = 0 or SJC.LINK_VKR in 
			(SELECT LINK FROM dbo.BufferGetTableByID(@varKSVKR_ID) )
		)
		AND @nCheck1 = 1
	GROUP BY
		SJC.LINK_EMPL, SJC.MONTH_BEGIN, SJC.YEAR_BEGIN, NAME_PAYS

	SET @varKSCNT_O = (SELECT COUNT(DISTINCT NO) FROM #TMP_O )

	/*Вычеты за период*/
	Create table #TMP_V (LINK_EMPL4 INT, M4 int, Y4 int, NV VARCHAR(254), SV NUMERIC(20,2) )
	
	INSERT INTO #TMP_V
	Select D.LINK_EMPL, Month(D.DATE_DED), Year(D.DATE_DED), SUBSTRING(RTRIM(LTRIM(DD.sname)),1,254) , SUM(D.SUMMA)
	from 
		dbo.sal_ded_month D inner join dbo.DICTIONARY_TYP_DEDUCTION DD on DD.link = D.REF_DED
	where
		LINK_EMPL = @LINK_EMPL
		AND D.DATE_DED >= @varKSstart_date AND D.DATE_DED <= @varKSEND_DATE	
		AND (LEN(@varKScVal1) = 0 or D.LINK_VKR in 
				(SELECT LINK FROM dbo.BufferGetTableByID(@varKSVKR_ID) )
			)
		AND @nCheck2 = 1
	GROUP BY
		D.LINK_EMPL, Month(D.DATE_DED), Year(D.DATE_DED), SUBSTRING(RTRIM(LTRIM(DD.sname)),1,254)

	SET @varKSCNT_V = (SELECT COUNT(DISTINCT NV) FROM #TMP_V )	

	/*выплачено за период*/
	Create table #TMP_P (LINK_EMPL5 INT, M5 int, Y5 int, NP VARCHAR(254), SP NUMERIC(20,2) )

	INSERT INTO #TMP_P
	SELECT SJC.LINK_EMPL, SJC.MONTH_BEGIN, SJC.YEAR_BEGIN, NAME_PAYS, SUM(SUMMA)
	FROM S_J_C_Short SJC
	WHERE 
		LINK_EMPL = @LINK_EMPL
		AND TYP_OPER = 2
		AND PERIOD_BEGIN >= @varKSstart_date AND PERIOD_END <= @varKSEND_DATE
		and (LEN(@varKScVal1) = 0 or SJC.LINK_VKR in 
			(SELECT LINK FROM dbo.BufferGetTableByID(@varKSVKR_ID) )
		)
		and
		/*учитываем выплаты сотруднику*/
		LINK_DOC in ( Select link from dbo.sdoc where object = (SELECT link FROM dbo.S_OBJECTS WHERE CODE = 'DOCUMENTS_DED_PAYROLL') )
	GROUP BY
		SJC.LINK_EMPL, SJC.MONTH_BEGIN, SJC.YEAR_BEGIN, NAME_PAYS

	SET @varKSCNT_P = (SELECT COUNT(DISTINCT NP) FROM #TMP_P )



	DECLARE 
		@varKSTABLE_N VARCHAR(120), @varKSTABLE_U VARCHAR(120), @varKSTABLE_O VARCHAR(120), 
		@varKSTABLE_V VARCHAR(120), @varKSTABLE_P VARCHAR(120), @varKSTABLE_OUT VARCHAR(120)

	EXEC X_GET_TABLE_NAME @varKSTABLE_N OUTPUT

	Select 	@varKSTABLE_U = @varKSTABLE_N + '_2', 
		@varKSTABLE_O = @varKSTABLE_N + '_3', 
		@varKSTABLE_V = @varKSTABLE_N + '_4',
		@varKSTABLE_P = @varKSTABLE_N + '_5',
		@varKSTABLE_OUT = @varKSTABLE_N + '_6'

	SET 	@varKSTABLE_N = @varKSTABLE_N + '_1'

	EXEC M_CROSS_TABLE
		'LINK_EMPL1, Y1, M1',
		'NN', 'VARCHAR(254)',
		'SN', 'NUMERIC(20,2)', 'SUM(SN) AS SN',
		'#TMP_N', @varKSTABLE_N
--------

	EXEC M_CROSS_TABLE
		'LINK_EMPL2, Y2, M2',
		'NU', 'VARCHAR(254)',
		'SU', 'NUMERIC(20,2)', 'SUM(SU) AS SU',
		'#TMP_U', @varKSTABLE_U
--------

	EXEC M_CROSS_TABLE
		'LINK_EMPL3, Y3, M3',
		'NO', 'VARCHAR(254)',
		'SO', 'NUMERIC(20,2)', 'SUM(SO) AS SO',
		'#TMP_O', @varKSTABLE_O
--------

	EXEC M_CROSS_TABLE
		'LINK_EMPL4, Y4, M4',
		'NV', 'VARCHAR(254)',
		'SV', 'NUMERIC(20,2)', 'SUM(SV) AS SV',
		'#TMP_V', @varKSTABLE_V

--------

	EXEC M_CROSS_TABLE
		'LINK_EMPL5, Y5, M5',
		'NP', 'VARCHAR(254)',
		'SP', 'NUMERIC(20,2)', 'SUM(SP) AS SP',
		'#TMP_P', @varKSTABLE_P


	CREATE TABLE #PERIOD( NPP INT, [DATE] DATETIME )
	DECLARE @I DATETIME, @NPP int
	SELECT  @I = dbo.DateBeginOfMonth(@varKSstart_date), @NPP = 1
	WHILE (Year(@I) * 100 + month(@I)) <= (Year(@varKSEND_DATE) * 100 + month(@varKSEND_DATE))
	begin
		INSERT INTO #PERIOD (NPP, [DATE])
		Select @NPP,  @I
		SELECT @I = dateadd(Month,1,@I) ,  @NPP = @NPP + 1
	end
	


	CREATE TABLE #RES0
	(
		NPP int,
		[date] datetime,
		[PERIOD] varchar(20),
		[LINK_EMPL] INT, 
		[FIO] 	VARCHAR(254),
		[TN] 	VARCHAR(16), 
		[SUBDIV] VARCHAR(254),
		[POST] 	VARCHAR(254),
		[DAYS]	NUMERIC(18,2),
		[HOURS]	NUMERIC(18,2),
		[SUM_N] NUMERIC(18,2), /*начислено*/
		[SUM_U] NUMERIC(18,2), /*удержано*/
		[SUM_O] NUMERIC(18,2), /*отчислено*/
		[SUM_V] NUMERIC(18,2), /*вычеты*/
		[SUM_P] NUMERIC(18,2),  /*выплачено*/
		[DEBT_O] NUMERIC(18,2),  /*Долг предприятия*/
		[DEBT_E] NUMERIC(18,2),  /*Долг сотрудника*/
		[KBK_CODE] varchar(8000)

	)

	INSERT INTO #RES0 (NPP, [date], [PERIOD], [LINK_EMPL], [FIO], [TN], [SUBDIV], [POST], [KBK_CODE])
	SELECT 
		P.NPP,
		P.[DATE],
		PERIOD = RTRIM((Select MON from MONTHS where NUM = MONTH(P.[DATE]))) + ',' + convert(varchar(4), YEAR(P.[DATE])),
		[LINK_EMPL] = EP.LINK,
		[FIO] = SUBSTRING( LTRIM(RTRIM(dbo.ku_GetPersFIO(EP.PERS_LINK))),1, 254) ,
		[TN] = SUBSTRING(LTRIM(RTRIM(EP.TAB)),1,6),
		[SUBDIV] =SUBSTRING( LTRIM(RTRIM(EP.SUBDIV_NAME)),1, 254) ,
		[POST] = SUBSTRING( LTRIM(RTRIM(convert(varchar(50),EP.post_name))),1, 254) ,
		@list_kbk
	FROM 
		KU_EMPL_PLACING EP, #PERIOD P
	where 
		EP.LINK = @LINK_EMPL
	order by
		NPP

	UPDATE #RES0
	SET
		[DAYS] = ISNULL(CONVERT(NUMERIC(4,0),dbo.WORKDAYS_DH([LINK_EMPL], dbo.DateBeginOfMonth([DATE]), dbo.DateEndOfMonth([DATE]), DEFAULT)),0),
		[HOURS] = ISNULL(CONVERT(NUMERIC(10,2),dbo.WORKHOURS_DH([LINK_EMPL], dbo.DateBeginOfMonth([DATE]), dbo.DateEndOfMonth([DATE]), DEFAULT)),0),
		[SUM_N] = (SELECT SUM(SN) FROM #TMP_N WHERE LINK_EMPL1 = [LINK_EMPL] AND Y1 = YEAR([DATE]) AND M1 = MONTH([DATE])),
		[SUM_U] = (SELECT SUM(SU) FROM #TMP_U WHERE LINK_EMPL2 = [LINK_EMPL] AND Y2 = YEAR([DATE]) AND M2 = MONTH([DATE])),
		[SUM_O] = (SELECT SUM(SO) FROM #TMP_O WHERE LINK_EMPL3 = [LINK_EMPL] AND Y3 = YEAR([DATE]) AND M3 = MONTH([DATE])),
		[SUM_V] = (SELECT SUM(SV) FROM #TMP_V WHERE LINK_EMPL4 = [LINK_EMPL] AND Y4 = YEAR([DATE]) AND M4 = MONTH([DATE])),
		[SUM_P] = (SELECT SUM(SP) FROM #TMP_P WHERE LINK_EMPL5 = [LINK_EMPL] AND Y5 = YEAR([DATE]) AND M5 = MONTH([DATE]))

	UPDATE #RES0
	SET
		[DEBT_O] = (CASE WHEN (COALESCE([SUM_N],0) - COALESCE([SUM_U],0) - COALESCE([SUM_P],0)) > 0 
				THEN (COALESCE([SUM_N],0) - COALESCE([SUM_U],0) - COALESCE([SUM_P],0))
				ELSE 0 END),

		[DEBT_E] = (CASE WHEN (COALESCE([SUM_N],0) - COALESCE([SUM_U],0) - COALESCE([SUM_P],0)) < 0 
				THEN ABS(COALESCE([SUM_N],0) - COALESCE([SUM_U],0) - COALESCE([SUM_P],0))
				ELSE 0 END),
		[DAYS] = (CASE WHEN [DAYS] = 0 THEN 
				ISNULL(CONVERT(NUMERIC(4,0), ROUND(dbo.WORKHOURS_TABMES([LINK_EMPL],YEAR([date])*100+MONTH([date]),Default,Default)/(8 * dbo.ku_GetEmplNumStake([LINK_EMPL],DEFAULT) ),0) ),0)
			ELSE [DAYS]
			END),
		[HOURS] = (CASE WHEN [HOURS] = 0 THEN 
				ISNULL(CONVERT(NUMERIC(10,2),dbo.WORKHOURS_TABMES([LINK_EMPL],YEAR([date])*100+MONTH([date]),Default,Default)),0)
			ELSE [HOURS]
			END)



	EXEC ( '
	SELECT  T1.*, T2.*, T3.*, T6.*, T4.*, T5.* INTO ' + @varKSTABLE_OUT + ' 
	FROM #RES0 T1 LEFT OUTER JOIN ' + @varKSTABLE_N + ' T2 
		ON (T1.LINK_EMPL = T2.LINK_EMPL1 AND YEAR(T1.date) = T2.Y1 AND MONTH(T1.date) = T2.M1) 
	LEFT OUTER JOIN ' + @varKSTABLE_U + ' T3 
		ON (T1.LINK_EMPL = T3.LINK_EMPL2 AND YEAR(T1.date) = T3.Y2 AND MONTH(T1.date) = T3.M2) 
	LEFT OUTER JOIN ' + @varKSTABLE_O + ' T4 
		ON (T1.LINK_EMPL = T4.LINK_EMPL3 AND YEAR(T1.date) = T4.Y3 AND MONTH(T1.date) = T4.M3) 
	LEFT OUTER JOIN ' + @varKSTABLE_V + ' T5 
		ON (T1.LINK_EMPL = T5.LINK_EMPL4 AND YEAR(T1.date) = T5.Y4 AND MONTH(T1.date) = T5.M4) 
	LEFT OUTER JOIN ' + @varKSTABLE_P + ' T6 
		ON (T1.LINK_EMPL = T6.LINK_EMPL5 AND YEAR(T1.date) = T6.Y5 AND MONTH(T1.date) = T6.M5) 
	')


	DECLARE @varKSSQL_STR VARCHAR(4000), @varKSFIELD_NAME VARCHAR(100), @varKSI int
	SET @varKSI=1
	WHILE @varKSI<=@varKSCNT_N BEGIN
		SET @varKSFIELD_NAME= 'NN_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = (SELECT TOP 1 ' + @varKSFIELD_NAME 
			+ ' FROM ' + @varKSTABLE_N
			+ ' WHERE ' + @varKSFIELD_NAME+ '  IS NOT NULL ) ' 
		EXEC (@varKSSQL_STR)
		SET @varKSFIELD_NAME= 'SN_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE  ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = 0
			     WHERE ' + @varKSFIELD_NAME+ '  IS NULL ' 
		EXEC (@varKSSQL_STR)
		SET @varKSI=@varKSI+1
	END
	IF @varKSCNT_N=0 BEGIN
		EXEC (' ALTER TABLE ' + @varKSTABLE_OUT + ' ADD NN_0 VARCHAR(254), SN_0 NUMERIC(20,2) ')
	END

	SET @varKSI=1
	WHILE @varKSI<=@varKSCNT_U BEGIN
		SET @varKSFIELD_NAME= 'NU_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = (SELECT TOP 1 ' + @varKSFIELD_NAME 
			+ ' FROM ' + @varKSTABLE_U
			+ ' WHERE ' + @varKSFIELD_NAME+ '  IS NOT NULL ) ' 
		EXEC (@varKSSQL_STR)
		SET @varKSFIELD_NAME= 'SU_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE  ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = 0
			     WHERE ' + @varKSFIELD_NAME+ '  IS NULL ' 
		EXEC (@varKSSQL_STR)
		SET @varKSI=@varKSI+1
	END
	IF @varKSCNT_U=0 BEGIN
		EXEC (' ALTER TABLE ' + @varKSTABLE_OUT + ' ADD NU_0 VARCHAR(254), SU_0 NUMERIC(20,2) ')
	END

	SET @varKSI=1
	WHILE @varKSI<=@varKSCNT_O BEGIN
		SET @varKSFIELD_NAME= 'NO_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = (SELECT TOP 1 ' + @varKSFIELD_NAME 
			+ ' FROM ' + @varKSTABLE_O
			+ ' WHERE ' + @varKSFIELD_NAME+ '  IS NOT NULL ) ' 
		EXEC (@varKSSQL_STR)
		SET @varKSFIELD_NAME= 'SO_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE  ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = 0
			     WHERE ' + @varKSFIELD_NAME+ '  IS NULL ' 
		EXEC (@varKSSQL_STR)
		SET @varKSI=@varKSI+1
	END
	IF @varKSCNT_O=0 BEGIN
		EXEC (' ALTER TABLE ' + @varKSTABLE_OUT + ' ADD NO_0 VARCHAR(254), SO_0 NUMERIC(20,2) ')
	END

	SET @varKSI=1
	WHILE @varKSI<=@varKSCNT_V BEGIN
		SET @varKSFIELD_NAME= 'NV_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = (SELECT TOP 1 ' + @varKSFIELD_NAME 
			+ ' FROM ' + @varKSTABLE_V
			+ ' WHERE ' + @varKSFIELD_NAME+ '  IS NOT NULL ) ' 
		EXEC (@varKSSQL_STR)
		SET @varKSFIELD_NAME= 'SV_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE  ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = 0
			     WHERE ' + @varKSFIELD_NAME+ '  IS NULL ' 
		EXEC (@varKSSQL_STR)
		SET @varKSI=@varKSI+1
	END
	IF @varKSCNT_V=0 BEGIN
		EXEC (' ALTER TABLE ' + @varKSTABLE_OUT + ' ADD NV_0 VARCHAR(254), SV_0 NUMERIC(20,2) ')
	END

	SET @varKSI=1
	WHILE @varKSI<=@varKSCNT_P BEGIN
		SET @varKSFIELD_NAME= 'NP_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = (SELECT TOP 1 ' + @varKSFIELD_NAME 
			+ ' FROM ' + @varKSTABLE_P
			+ ' WHERE ' + @varKSFIELD_NAME+ '  IS NOT NULL ) ' 
		EXEC (@varKSSQL_STR)
		SET @varKSFIELD_NAME= 'SP_' + RTRIM(LTRIM(STR(@varKSI))) 
		SET @varKSSQL_STR = ' UPDATE  ' + @varKSTABLE_OUT 
			+ '  SET ' + @varKSFIELD_NAME + ' = 0
			     WHERE ' + @varKSFIELD_NAME+ '  IS NULL ' 
		EXEC (@varKSSQL_STR)
		SET @varKSI=@varKSI+1
	END
	IF @varKSCNT_P=0 BEGIN
		EXEC (' ALTER TABLE ' + @varKSTABLE_OUT + ' ADD NP_0 VARCHAR(254), SP_0 NUMERIC(20,2) ')
	END
---Select * from dbo.MONTHS


DROP TABLE #TMP_N
DROP TABLE #TMP_U
DROP TABLE #TMP_O
DROP TABLE #TMP_V
DROP TABLE #TMP_P
DROP TABLE #RES0
DROP TABLE #PERIOD

exec ('DROP TABLE ' + @varKSTABLE_N)
exec ('DROP TABLE ' + @varKSTABLE_U)
exec ('DROP TABLE ' + @varKSTABLE_O) 
exec ('DROP TABLE ' + @varKSTABLE_V)
exec ('DROP TABLE ' + @varKSTABLE_P)

SET NOCOUNT OFF

EXEC ('SELECT * FROM ' + @varKSTABLE_OUT + ' ORDER BY 1')

exec ('DROP TABLE ' + @varKSTABLE_OUT)

RETURN 0






GO


GRANT EXECUTE ON dbo.[SA_FaceCardOfTheEmployee] TO PUBLIC

GO


--Расширенные свойства--


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[I_REPORT_FORMULA_6_NDFL_RAZD1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[I_REPORT_FORMULA_6_NDFL_RAZD1]

GO

CREATE procedure dbo.I_REPORT_FORMULA_6_NDFL_RAZD1
	@varKSOUT_VAL varchar(50) OUTPUT,
	@varKScCode	char(10) = '',
	@varKSiCol	smallint = '0'
AS
DECLARE @varKSname VARCHAR(100), 
	@varKSSQL VARCHAR(8000)
	SET @varKSname = (SELECT ID FROM BUFFER WHERE LINK = -116 AND SID = SUSER_SID() )

	CREATE     TABLE #TMP(
		SUMM NUMERIC(18,2))
	SET @varKSSQL = '

		INSERT INTO #TMP
		SELECT  COL3
		FROM ' + @varKSname + ' 
		WHERE CODE_STR=' + ltrim(@varKScCode)

	EXEC (@varKSSQL)

	IF @varKSiCol = 3
		SET @varKSOUT_VAL = (SELECT  SUMM FROM #TMP)
	DROP TABLE #TMP
	SELECT @varKSOUT_VAL = ISNULL(@varKSOUT_VAL, '')



GO


GRANT EXECUTE ON dbo.[I_REPORT_FORMULA_6_NDFL_RAZD1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RI_REPORT_FORMULA_6_NDFL_RAZD1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RI_REPORT_FORMULA_6_NDFL_RAZD1]

GO


/*
c Кейсистемс (Keysystems), 2005
*/
CREATE               PROCEDURE dbo.RI_REPORT_FORMULA_6_NDFL_RAZD1
	@res varchar(50) output, @varcStr varchar(250), @vardBegin datetime = '20150101', @vardEnd datetime = '20151231', @variCol int, @variRow int, @variLSF int
AS
	declare @tmp int, @cStr varchar(250), @cSubStr1 varchar(250)
	set @cStr = @varcStr
	set @res = ''
	
	exec dbo.RO_FORMULA_FUNCTIONS 1, @cStr output, @cSubStr1 output, ','

	if LEN(@cStr) = 0
	begin
		set @cStr = @cSubStr1
		set @cSubStr1 = ''
	end
	if @cStr = ''
		return 0
	set @tmp = CONVERT(int, @cStr)

	exec dbo.I_REPORT_FORMULA_6_NDFL_RAZD1 @res output, @cSubStr1, @tmp








GO


GRANT EXECUTE ON dbo.[RI_REPORT_FORMULA_6_NDFL_RAZD1] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_BI_DICTION_BUDG_TYPE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_BI_DICTION_BUDG_TYPE]
GO

CREATE PROCEDURE dbo.SYNCH_BI_DICTION_BUDG_TYPE (@DB NVARCHAR(254), @LINK_JOURN_TAB INT)
AS
BEGIN
/*
Синхронизация Справочник бюджетов
*/

DECLARE @varKStrancount	int
		
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, CODE VARCHAR(10), NAME VARCHAR(254), CODE_EL VARCHAR(2), NUM INT)

DECLARE @SQL NVARCHAR(4000)

SET @SQL = 
N'	
INSERT INTO #DICT (LINK, CODE, NAME, CODE_EL, NUM)
SELECT D.LINK, LEFT(D.CODE,10), LEFT(D.FULL_NAME,254), CODE_EL = LEFT(BT.CODE_EL,2), NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,10) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.DEPARTMENTS D
	inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR on GR.DEP_LINK = D.LINK
	inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G on GR.GROUP_LINK = G.LINK and G.[SYS] = 2
	LEFT JOIN ' + @DB + 'dbo.BUDGET B ON B.BUDG = D.LINK
	LEFT JOIN ' + @DB + 'dbo.BUDGET_TYPE BT ON BT.LINK = B.[TYPE]
WHERE
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 1
		WHERE
			D.LINK_DEP = D1.LINK)
	AND
	LEFT(D.CODE,10) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Добавление записи в качестве неопределенного бюджета

IF NOT EXISTS (SELECT * FROM dbo.[KL_BUDG_TYPE] WHERE [Code]='--') 
	INSERT INTO dbo.[KL_BUDG_TYPE](Code, Name, System, OUTCODE, CODE_EL)
	VALUES ('--', 'Бюджет не определен', 1, '', '')

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,''),
	A.CODE_EL = ISNULL(T.CODE_EL,'')
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.KL_BUDG_TYPE A ON T.CODE = A.CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')
	OR
	A.CODE_EL <> ISNULL(T.CODE_EL,'')	

INSERT INTO dbo.KL_BUDG_TYPE (CODE, NAME, CODE_EL, [System], [OUTCODE]) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.CODE,
	ISNULL(T.NAME,''),
	ISNULL(T.CODE_EL,''),
	0,
	''
FROM
	#DICT T
WHERE
	NOT EXISTS (SELECT * FROM dbo.KL_BUDG_TYPE A WHERE A.CODE = T.CODE)

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN

END

GO


GRANT EXECUTE ON dbo.[SYNCH_BI_DICTION_BUDG_TYPE] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BI_SAVE_KBK_IVF]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BI_SAVE_KBK_IVF]

GO



/*
© Кейсистемс (Keysystems), 2005
*/

CREATE	PROCEDURE dbo.BI_SAVE_KBK_IVF
	@varKSparLINK	int	OUTPUT,
	@varKSparNAME	VARCHAR(250) = '',
	@varKSLink_Adm	int = null,
	@varKSLink_IVF	int,
	@iProgLink		int,
	@varKSLink_SGU  INT,
	@iUsed			tinyint,
	@iType			tinyint,
	@cDelim			char(1)
AS
DECLARE @varKSERROR	tinyint,
	@varKSRowCount	INT,
	@varKSstrVALUE	varchar(7000),
	@varKStrancount	int,
	@varKSEventText	varchar(254),
	@varKSintObj	int,
	@varKSCode	char(30)
SET LOCK_TIMEOUT 30000
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

	IF @varKSparNAME IS NULL OR @varKSparNAME = ''
	BEGIN
		ROLLBACK
		RETURN 5
	END
	IF @varKSLink_IVF IS NULL OR @varKSLink_IVF = 0
	BEGIN
		ROLLBACK
		RETURN 5
	END
	IF @iProgLink IS NULL OR @iProgLink = 0
	BEGIN
		ROLLBACK
		RETURN 5
	END
	IF @varKSLink_Adm IS NULL OR @varKSLink_Adm = 0
	BEGIN
		ROLLBACK
		RETURN 5
	END
/*	IF @varKSLink_SGU IS NULL OR @varKSLink_SGU = 0
	BEGIN
		ROLLBACK
		RETURN 5
	END*/

	if (select count(*) from KL_IVF where link = @varKSLink_IVF)<>1
	OR (select count(*) from KL_ADMIN_BS where link = @varKSLink_Adm)<>1
	OR (select count(*) from KL_PROG where link = @iProgLink)<>1
	BEGIN
		ROLLBACK
		RETURN 5
	END
	
	SET @varKSCode = coalesce ((SELECT code FROM KL_ADMIN_BS WHERE link = @varKSLink_Adm),'000') + @cDelim +
			coalesce ((SELECT code FROM KL_IVF WHERE link = @varKSLink_IVF),'0000000000') + --@cDelim +
			coalesce ((SELECT code FROM KL_PROG WHERE link = @iProgLink),'0000') +
			coalesce ((SELECT code FROM KOSGU WHERE link = @varKSLink_SGU),'')
	
	If (select count(*) from KL_KBK WHERE LINK <> @varKSparLINK and CODE = @varKSCode
		and TYPE = @iType) <> 0 
	BEGIN
		ROLLBACK
		RETURN 4
	END
	
	If (Select count(*) from KL_KBK where link = @varKSparLINK) > 0
	BEGIN
		UPDATE KL_KBK
		SET	TYPE = @iType,
			CODE = @varKSCode,
			NAME = @varKSparNAME,
			Link_Adm = @varKSLink_Adm,
			USED = @iUsed	 
		WHERE LINK = @varKSparLINK
		IF @varKSERROR <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
		DELETE FROM KL_KBK_KD WHERE LINK_KBK = @varKSparLINK
		DELETE FROM KL_VKR WHERE LINK_KBK = @varKSparLINK
	END
	ELSE
	BEGIN
		INSERT INTO KL_KBK(Type, code, name, link_adm, USED)
			VALUES(@iType, @varKSCode, @varKSparNAME, @varKSLink_Adm, @iUsed)
		SELECT @varKSERROR = @@ERROR, @varKSparLINK = @@IDENTITY
		IF @varKSERROR <> 0 or coalesce(@varKSparLINK,0) <= 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
	END

	IF (select count(*) from KL_KBK_IVF where link_kbk = @varKSparLINK) = 1
	BEGIN
		UPDATE KL_KBK_IVF
			SET LINK_IVF = @varKSLink_IVF,
				LINK_PROG = @iProgLink,
				LINK_SGU = @varKSLink_SGU
			WHERE LINK_KBK = @varKSparLINK
		
		SELECT @varKSERROR = @@ERROR
		IF @varKSERROR <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
	END
	ELSE
	BEGIN
		INSERT INTO KL_KBK_IVF 
			(Link_KBK, Link_IVF, LINK_PROG,LINK_SGU)
		VALUES (@varKSparLINK, @varKSLink_IVF, @iProgLink,@varKSLink_SGU)
		SELECT @varKSERROR = @@ERROR
		IF @varKSERROR <> 0
		BEGIN
			ROLLBACK
			RETURN 7
		END
	END
	
	SELECT @varKSEventText = 'КБК. Источник финанс. ' + @varKSCode + ' ' + @varKSparNAME, @varKSintObj = LINK FROM S_OBJECTS WHERE CODE = 'BI_DICTION_KBK'
	EXECUTE WF_GENERATEEVENT 'Сохранение строки справочника', @varKSEventText, @varKSintObj, 'KL_KBK', @varKSparLINK
IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN
RETURN 0





GO


GRANT EXECUTE ON dbo.[BI_SAVE_KBK_IVF] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RA_EXPORT_FORM_0503074_2015]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RA_EXPORT_FORM_0503074_2015]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 2009

*******************************************************************************/
--  create table #FileExportReport (txt varchar(8000), NameFile varchar(100), orders int)
CREATE PROCEDURE dbo.[RA_EXPORT_FORM_0503074_2015]
  	@iLINK_SAVED_FORM INT,	                  -- Линк выгружаемой формы
	@vcFILE_NAME	   VARCHAR(100)='' OUTPUT, -- Имя текстового файла
	@iMODE	         INT=1                   -- Формат: 1-внутренний, 2-минфиновский
 AS
/*
drop table #FileExportReport
create table #FileExportReport (txt varchar(8000), NameFile varchar(100),[NameFileArh] varchar(100),  orders int)
declare @vcFILE_NAME  VARCHAR(100)
exec RA_EXPORT_FORM_0503074_2015 42204 , @vcFILE_NAME OUTPUT , 1

*/
--set @iLINK_SAVED_FORM = 42185
DECLARE @vcFILE_NAME_ARH VARCHAR(100),
        @liLINK_DEP      INT,
		  @vcCODE_FORM     VARCHAR(50),
		  @liLINK_FORM     INT,        
		  @lvcVB			    VARCHAR(4),
		  @lvcKBP		    VARCHAR(50),
		  @lvcUTVCH		    VARCHAR(6),
		  @lvcDT			    VARCHAR(12),
		  @lvcStr		    VARCHAR(8000),
        @lsVERSION       SMALLINT,
        @vcVersion       VARCHAR(50),

  @iLT  int,
  @iTOrd  int,
  @iTType int,
  @iLCCol int,
  @iLC  int,
  @iCType int,
  @iCLen  int,
  @iCEdt  int,
  @cRunStr  varchar(8000),
  @IsForm127  int,
  @cTmpStr27  varchar(200),
  @ckod varchar(200)

DECLARE @tabRD TABLE ([RD] CHAR(2),[TXT] VARCHAR(8000),[ORDER] INT IDENTITY(1,1))
DECLARE @tabExport TABLE ([TXT] VARCHAR(8000), [ORDER] INT IDENTITY(1,1))


SELECT @liLINK_FORM = [LINK_FORM], 
		 @liLINK_DEP = [LINK_ORGANIZATION]
FROM dbo.[REPORT_SAVED_FORMS]
WHERE [LINK_SAVED_FORM] = @iLINK_SAVED_FORM


IF @iMODE=1
BEGIN
	EXEC dbo.[RA_EXPORT_FORM_STANDART] @iLINK_SAVED_FORM,
												  @vcFILE_NAME OUTPUT,
												  @iMODE,
                                      @vcFILE_NAME_ARH OUTPUT


	DELETE FROM #FileExportReport WHERE txt LIKE ('РД=6')
	
	INSERT @tabExport([TXT])
	SELECT [TXT]
	FROM #FileExportReport
	WHERE [ORDERS] <= (SELECT MIN([ORDERS])
							 FROM #FileExportReport
							 WHERE [TXT] IN ('РД=1','#'))

	INSERT @tabRD([RD],[TXT])
   SELECT [TABLE],
			 RTRIM([SHIFR])+'#'+RTRIM([KODS])+'|'+LTRIM(STR([GR3],15,2))+'|'+LTRIM(STR([GR4],15,2))+'|'+LTRIM(STR([GR5],15,2))--+ 
			 /*(CASE WHEN [TABLE] = '06' THEN  '|'+LTRIM(STR([GR6],15,2))+'|'+LTRIM(STR([GR7],15,2))+'|'+LTRIM(STR([GR8],15,2))+'|'+LTRIM(STR([GR9],15,2)) 
				   ELSE '' 
			  END)*/
										
	FROM dbo.[RO_FORM14_2015](@iLINK_SAVED_FORM, DEFAULT, 0) 
	WHERE [TABLE_NAME]=0 AND NOT ([GR3]=0 AND [GR4]=0 AND [GR5]=0 /*AND [GR6]=0 AND [GR7]=0 AND [GR8]=0 AND [GR9]=0*/) 
	ORDER BY [TABLE],[SHIFR],[KODS]

	INSERT @tabExport([TXT])
	SELECT [TXT] 
	FROM @tabRD 
	WHERE [RD]='01'
	ORDER BY [ORDER]

	INSERT @tabExport([TXT]) VALUES ('РД=2')

	INSERT @tabExport([TXT])
	SELECT [TXT]
	FROM @tabRD
	WHERE [RD]='02'
	ORDER BY [ORDER]

	INSERT @tabExport([TXT]) VALUES ('РД=3')

	INSERT @tabExport([TXT])
	SELECT [TXT]
	FROM @tabRD
	WHERE [RD]='03'
	ORDER BY [ORDER]

   INSERT @tabExport([TXT]) VALUES ('РД=4')

	INSERT @tabExport([TXT])
	SELECT [TXT]
	FROM @tabRD
	WHERE [RD]='04'
	ORDER BY [ORDER]

   INSERT @tabExport([TXT]) VALUES ('РД=5')

	INSERT @tabExport([TXT])
	SELECT [TXT]
	FROM #FileExportReport
	WHERE LEFT([TXT],3) BETWEEN '510' AND '660'
	

END
ELSE BEGIN
	SELECT @lvcVB = [VID],
			 @lvcKBP = LTRIM(RTRIM([IST])),
			 @lvcUTVCH = [UTVCH]
	FROM dbo.[I_REPORT_OPTIONS_FORM14]

   SET @lvcKBP = ISNULL(@lvcKBP,'')

   IF OBJECT_ID('tempdb..#tabExportOutput') IS NOT NULL
   BEGIN
      SELECT @vcVersion = [VERSION]
      FROM #tabExportOutput 
   END

   IF @vcVersion IS NOT NULL
   BEGIN
      IF dbo.[RA_ISNUMERIC](REPLACE(@vcVersion,'.','')) = 1
      BEGIN
         SET @lsVersion = CAST(@vcVersion AS INT)
      END
   END

	SELECT @lsVERSION = CASE 
                          WHEN @lsVersion IS NULL THEN [A].[VERSION] + 1
                          ELSE @lsVERSION
                       END,
          @lvcDT = CONVERT(VARCHAR(12),[BEGIN_DATE]+1,104),			 
			 @vcCODE_FORM = LTRIM(RTRIM([B].[EXPORTCODE])),
			 @vcFILE_NAME = @vcCODE_FORM +
								 CASE MONTH([BEGIN_DATE]+1)
									 WHEN 1 THEN 'Y'
									 WHEN 10 THEN 'N'
									 ELSE 'Q'
								 END +
                         RIGHT(CAST(@lsVERSION AS VARCHAR(50)),1) + 
								 '.txt',
          @vcFILE_NAME_ARH = CASE @vcCODE_FORM 
                                WHEN '014mo' THEN '6'
                                ELSE '4'
    END + 
                             CASE 
                                WHEN LEN(@lvcKBP) < 3 THEN REPLICATE('0',3-LEN(@lvcKBP)) 
                                ELSE ''
                             END + @lvcKBP +
/*                             
                             CASE MONTH([BEGIN_DATE]+1)
 									     WHEN 1 THEN 'Y'
									     WHEN 10 THEN 'N'
									     ELSE 'Q'
								     END +
*/								     
                             REPLACE(LEFT(CONVERT(VARCHAR(50),[BEGIN_DATE]+1,104),5),'.','') + 
                             RIGHT(CAST(@lsVERSION AS VARCHAR(50)),1) + 
								     '.arj'
                             


	FROM dbo.[REPORT_SAVED_FORMS] [A]
	JOIN dbo.[REPORT_FORMS]			[B] ON [A].[LINK_FORM] = [B].[LINK_FORM]
	WHERE [LINK_SAVED_FORM] = @iLINK_SAVED_FORM	



	IF @vcCODE_FORM IN ('014mo')
	BEGIN	
		SET @lvcVB = '6'
	END

	INSERT @tabExport([TXT]) VALUES ('#%')
	INSERT @tabExport([TXT]) VALUES ('КОДФ='+@vcCODE_FORM)
	INSERT @tabExport([TXT]) VALUES ('РДТ='+@lvcDT)
	INSERT @tabExport([TXT]) VALUES ('ВИД='+@lvcVB)
	INSERT @tabExport([TXT]) VALUES ('ИСТ='+@lvcKBP)

	IF @lvcVB IN ('3','5')
	BEGIN
		INSERT @tabExport([TXT]) VALUES ('УТВЧ='+@lvcUTVCH)
	END


-- вытащим данные по Ф14
  DECLARE curTable CURSOR STATIC LOCAL FOR
  SELECT [SHIFR],
			RTRIM([KBK]),
			[TABLE],
			[KODS],
			CASE 
            WHEN [GR3_FORMULA] = 'ЗАПРЕТ()' THEN 0
            ELSE [GR3]
         END,
			CASE 
            WHEN [GR4_FORMULA] = 'ЗАПРЕТ()' THEN 0
            ELSE [GR4]
         END,
			CASE 
            WHEN [GR5_FORMULA] = 'ЗАПРЕТ()' THEN 0
            ELSE [GR5]
		 END/*,
		 CASE 
            WHEN [GR6_FORMULA] = 'ЗАПРЕТ()' THEN 0
            ELSE [GR6]
         END,
         CASE 
            WHEN [GR7_FORMULA] = 'ЗАПРЕТ()' THEN 0
            ELSE [GR7]
         END,
         CASE 
            WHEN [GR8_FORMULA] = 'ЗАПРЕТ()' THEN 0
            ELSE [GR8]
         END,
         CASE 
            WHEN [GR9_FORMULA] = 'ЗАПРЕТ()' THEN 0
            ELSE [GR9]
         END*/
         
			
	FROM dbo.[RO_FORM14_2015](@iLINK_SAVED_FORM, DEFAULT, 0) 
	WHERE [TABLE_NAME]=0 AND NOT ([GR3]=0 AND [GR4]=0 AND [GR5]=0 /*AND [GR6]=0 AND [GR7]=0 AND [GR8]=0 AND [GR9]=0*/) AND 
			[SHIFR] IN (SELECT [SHIFR] 
							FROM dbo.[REPORT_FORM14_RAZD_NAME]
							WHERE [CHILDRENS]=1) 
	ORDER BY [SHIFR],[TABLE],[KODS]

	OPEN curTable

	DECLARE @lnGR3		NUMERIC(20,2),
			  @lnGR4		NUMERIC(20,2),
			  @lnGR5		NUMERIC(20,2),
			 /* @lnGR6		NUMERIC(20,2),
			  @lnGR7		NUMERIC(20,2),
			  @lnGR8		NUMERIC(20,2),
			  @lnGR9		NUMERIC(20,2),
			  */@lvcKODS	VARCHAR(10),
			  @lvcTABLE VARCHAR(2),
			  @lvcRD			 VARCHAR(2),
			  @lvcSHIFR		 VARCHAR(10),
			  @lvcRDOld		 VARCHAR(2),
			  @lvcRazd		 VARCHAR(10),
			  @lvcCSR		 VARCHAR(10),
			  @lvcRash		 VARCHAR(10),
			  @lvcKBK		 VARCHAR(50),
			  @liFirstStr	 INT,
			  @liHeader		 INT,
			  @lbIsNewTB	 BIT,
			  @lvcTABLE_OLD VARCHAR(2),
			  @lvcSHIFR_OLD VARCHAR(10)
  
	SELECT @liFirstStr=1,
			 @liHeader=1,
			 @lbIsNewTB=1,
			 @lvcSHIFR_OLD='',
			 @lvcTABLE_OLD=''

	FETCH NEXT 
	FROM curTable 
	INTO @lvcSHIFR,
		  @lvcKBK,
		  @lvcTABLE,
		  @lvcKODS,
		  @lnGR3,
		  @lnGR4,
		  @lnGR5/*,
		  @lnGR6,
		  @lnGR7,
		  @lnGR8,
		  @lnGR9*/

	WHILE @@FETCH_STATUS = 0
	BEGIN	
		
		
		
   	EXEC dbo.[RO_FORMULA_FUNCTIONS] 1,@lvcKBK OUTPUT,@lvcRazd OUTPUT,' '
		EXEC dbo.[RO_FORMULA_FUNCTIONS] 1,@lvcKBK OUTPUT,@lvcCSR OUTPUT,' '
		EXEC dbo.[RO_FORMULA_FUNCTIONS] 1,@lvcKBK OUTPUT,@lvcRash OUTPUT,' '

		IF @lvcTABLE<>@lvcTABLE_OLD
		BEGIN
			SET @lbIsNewTB=1
		END
		ELSE BEGIN
			SET @lbIsNewTB=0
		END

	   IF @lvcSHIFR<>@lvcSHIFR_OLD
		BEGIN
		  SET @liHeader=1
		  SET @lbIsNewTB=1
		END 
		ELSE BEGIN
			SET @liHeader=0
		END

		IF @liHeader=1 
      BEGIN
			SELECT @lvcSHIFR_OLD=@lvcSHIFR,
					 @lvcTABLE_OLD=@lvcTABLE

	      IF @liFirstStr=0
			BEGIN
       		INSERT @tabExport([TXT]) VALUES ('#%')
			END
         INSERT @tabExport([TXT]) VALUES ('РЗПР='+@lvcRazd)
         INSERT @tabExport([TXT]) VALUES ('ЦСТ='+@lvcCSR)
         INSERT @tabExport([TXT]) VALUES ('ВР='+@lvcRash)
         INSERT @tabExport([TXT]) VALUES ('КСТР='+@lvcSHIFR)
         INSERT @tabExport([TXT]) VALUES ('#')
		END 
		
	   IF @lbIsNewTB=1 
      BEGIN
            INSERT @tabExport([TXT]) VALUES ('#@')
            INSERT @tabExport([TXT]) VALUES ('ТБ='+@lvcTABLE)
            INSERT @tabExport([TXT]) VALUES ('#$')
      END 
    --данные
      IF @lvcTABLE='01'
		BEGIN
			INSERT @tabExport([TXT]) VALUES (RTRIM(@lvcKODS)+'|'+LTRIM(str(@lnGR3,15,0))+'|'+LTRIM(str(@lnGR4,15,0)))
		END

      IF @lvcTABLE='02'
		BEGIN
			INSERT @tabExport([TXT]) VALUES (RTRIM(@lvcKODS)+'|'+LTRIM(str(@lnGR3,15,0))+'|'+LTRIM(str(@lnGR4,15,0))+'|'+LTRIM(str(@lnGR5,15,0)))
		END

      IF @lvcTABLE='03'
		BEGIN
			INSERT @tabExport([TXT]) VALUES (RTRIM(@lvcKODS)+'|'+LTRIM(str(@lnGR3,15,0)))
		END

      IF @lvcTABLE='04'
		BEGIN
			INSERT @tabExport([TXT]) VALUES (RTRIM(@lvcKODS)+'|'+LTRIM(str(@lnGR3,15,0))+'|'+LTRIM(str(@lnGR4,15,0)))
		END
	 /* IF @lvcTABLE='05'
		BEGIN
			INSERT @tabExport([TXT]) VALUES (RTRIM(@lvcKODS)+'|'+LTRIM(str(@lnGR3,15,0))+'|'+LTRIM(str(@lnGR4,15,0))+'|'+LTRIM(str(@lnGR5,15,0))+'|'+LTRIM(str(@lnGR6,15,0))+'|'+LTRIM(str(@lnGR7,15,0))+'|'+LTRIM(str(@lnGR8,15,0))+'|'+LTRIM(str(@lnGR9,15,0)))
		END	
	  IF @lvcTABLE='06'
		BEGIN
			INSERT @tabExport([TXT]) VALUES (RTRIM(@lvcKODS)+'|'+LTRIM(str(@lnGR3,15,0))+'|'+LTRIM(str(@lnGR4,15,0))+'|'+LTRIM(str(@lnGR5,15,0))+'|'+LTRIM(str(@lnGR6,15,0))+'|'+LTRIM(str(@lnGR7,15,0))+'|'+LTRIM(str(@lnGR8,15,0))+'|'+LTRIM(str(@lnGR9,15,0)))
		END
		*/
		SELECT @liFirstStr=0,
				 @lvcSHIFR_OLD=@lvcSHIFR,
				 @lvcTABLE_OLD=@lvcTABLE

		FETCH NEXT 
		FROM curTable 
		INTO @lvcSHIFR,
			  @lvcKBK,
			  @lvcTABLE,
			  @lvcKODS,
			  @lnGR3,
			  @lnGR4,
			  @lnGR5/*,
			  @lnGR6,
			  @lnGR7,
			  @lnGR8,
			  @lnGR9*/

		IF @lvcTABLE <> @lvcTABLE_OLD OR 
			@lvcSHIFR <> @lvcSHIFR_OLD-- таблица закончилась или раздел закончился
		BEGIN
			INSERT @tabExport([TXT]) VALUES ('#')
		END
	END
      

	 /**/
	INSERT @tabExport([TXT]) VALUES ('#')
	INSERT @tabExport([TXT]) VALUES ('#%')
	
	IF @vcCODE_FORM <> '014mo'
	BEGIN
	
    INSERT @tabExport([TXT]) VALUES ('РЗПР=-')
    INSERT @tabExport([TXT]) VALUES ('ЦСТ=-')
    INSERT @tabExport([TXT]) VALUES ('ВР=-')
    INSERT @tabExport([TXT]) VALUES ('КСТР=-')
	INSERT @tabExport([TXT]) VALUES ('#')
	INSERT @tabExport([TXT]) VALUES ('#@')
    INSERT @tabExport([TXT]) VALUES ('ТБ=05')
    INSERT @tabExport([TXT]) VALUES ('#$')

	EXEC dbo.[RA_EXPORT_FORM_STANDART] @iLINK_SAVED_FORM,
												  @vcFILE_NAME OUTPUT,
												  @iMODE,
                                      @vcFILE_NAME_ARH OUTPUT


	DELETE FROM #FileExportReport WHERE txt LIKE ('РД=6')

	INSERT @tabExport([TXT])
	SELECT [TXT]
	FROM #FileExportReport
	WHERE LEFT([TXT],3) BETWEEN '610' AND '760'
	/**/
	END	

	INSERT @tabExport([TXT]) VALUES ('#')
	INSERT @tabExport([TXT]) VALUES ('#&')

	SELECT @lvcStr = 'Руководитель: ' + RTRIM([CHIEF]) 
	FROM dbo.[PrintDoc_GetDepData2](@liLINK_DEP)

	IF ISNULL(@lvcStr, '') <> ''
	BEGIN
		INSERT @tabExport([TXT]) VALUES (@lvcStr)
	END

	SELECT @lvcStr = 'Главный бухгалтер: ' + RTRIM([GLBUH]) 
	FROM dbo.[PrintDoc_GetDepData2] (@liLINK_DEP)

	IF ISNULL(@lvcStr, '') <> ''
	BEGIN
		INSERT @tabExport([TXT]) VALUES (@lvcStr)
	END

	INSERT @tabExport([TXT]) VALUES ('#')
	INSERT @tabExport([TXT]) VALUES ('#*')
	EXEC [ВЕРСИЯ] @lvcStr OUTPUT, 0
	INSERT @tabExport([TXT]) VALUES ('ППО=' + 'Свод-КС ' + RTRIM(@lvcStr))
	INSERT @tabExport([TXT]) VALUES ('#')
	INSERT @tabExport([TXT]) VALUES ('##')	
	
END


DELETE #FileExportReport	

INSERT #FileExportReport ([TXT],[NameFile],[NameFileArh],[ORDERS])
SELECT [TXT],@vcFILE_NAME,@vcFILE_NAME_ARH,[ORDER] 
FROM @tabExport
ORDER BY [ORDER]



GO


GRANT EXECUTE ON dbo.[RA_EXPORT_FORM_0503074_2015] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_BI_DICTION_ADMIN_BS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_BI_DICTION_ADMIN_BS]
GO

CREATE PROCEDURE dbo.SYNCH_BI_DICTION_ADMIN_BS (@DB NVARCHAR(254), @LINK_JOURN_TAB INT)
AS
BEGIN
/*
Синхронизация Администраторы бюджетных средств
*/

DECLARE @varKStrancount	int
		
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, CODE VARCHAR(3), NAME VARCHAR(254), BUDG_CODE VARCHAR(10), NUM INT)

DECLARE @SQL NVARCHAR(4000)

SET @SQL = 
N'	
INSERT INTO #DICT (LINK, CODE, NAME, BUDG_CODE, NUM)
SELECT D.LINK, LEFT(D.CODE,3), LEFT(D.FULL_NAME,254), LEFT(DB.CODE,10), NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,3) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.DEPARTMENTS D
	INNER join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR on GR.DEP_LINK = D.LINK
	INNER join ' + @DB + 'dbo.DEPARTMENT_GROUPS G on GR.GROUP_LINK = G.LINK and G.[SYS] = 10
	LEFT JOIN ' + @DB + 'dbo.ADMIN_BS A ON A.LINK_UP = D.LINK
	LEFT JOIN ' + @DB + 'dbo.DEPARTMENTS DB ON DB.LINK = A.BUDG_LINK
WHERE
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 1
		WHERE
			D.LINK_DEP = D1.LINK)
	AND
	LEFT(D.CODE,3) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Связанные таблицы

--Бюджеты (Уровни бюджетов)
CREATE TABLE #TAB1 (LINK INT, CODE VARCHAR(10))
INSERT INTO #TAB1 (LINK, CODE)
SELECT LINK, CODE
FROM ( SELECT LINK, CODE, NUM = ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY CODE_EL DESC, LINK) FROM dbo.KL_BUDG_TYPE ) T
WHERE T.NUM = 1

DECLARE @DEF_BUDG INT
SET @DEF_BUDG = (SELECT TOP 1 LINK FROM dbo.[KL_BUDG_TYPE] WHERE CODE = '--')

-----Добавление записи в качестве неопределенного администратора

IF NOT EXISTS (SELECT * FROM dbo.[KL_ADMIN_BS] WHERE [Code]='---') 
	INSERT INTO dbo.[KL_ADMIN_BS](Code, Name, Link_Budg)
	VALUES ('---', 'Администратор не определен', 4)

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,''),
	A.LINK_BUDG = ISNULL(T1.LINK,A.LINK_BUDG)
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.KL_ADMIN_BS A ON T.CODE = A.CODE
	LEFT JOIN #TAB1 T1 ON T1.CODE = T.BUDG_CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')
	OR
	(ISNULL(A.LINK_BUDG,0) <> ISNULL(T1.LINK,0) AND T1.LINK IS NOT NULL)


INSERT INTO dbo.KL_ADMIN_BS (CODE, NAME, LINK_BUDG ) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.CODE,
	ISNULL(T.NAME,''),
	ISNULL(T1.LINK,@DEF_BUDG)
FROM
	#DICT T
	LEFT JOIN #TAB1 T1 ON T1.CODE = T.BUDG_CODE
WHERE
	NOT EXISTS (SELECT * FROM dbo.KL_ADMIN_BS A WHERE A.CODE = T.CODE)

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB


IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN

END

GO


GRANT EXECUTE ON dbo.[SYNCH_BI_DICTION_ADMIN_BS] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_BI_DICTION_CSR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_BI_DICTION_CSR]
GO

CREATE PROCEDURE dbo.SYNCH_BI_DICTION_CSR (@DB NVARCHAR(254), @LINK_JOURN_TAB INT)
AS
BEGIN
/*
Синхронизация Целевая статья расходов
*/

DECLARE @varKStrancount	int
		
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, CODE VARCHAR(10), NAME VARCHAR(250), NUM INT)

DECLARE @SQL NVARCHAR(4000)

SET @SQL = 
N'	
INSERT INTO #DICT (LINK, CODE, NAME, NUM)

SELECT D.LINK, LEFT(D.CODE,10), LEFT(D.SNAME,250), NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,10) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.KL_TARGET_ITEM D
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(DATEB,''19800101'') AND ISNULL(DATEE,''20490101'')	
	AND
	LEN(LTRIM(RTRIM(D.CODE))) = 10
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 1
		WHERE
			D.LINK_DEP = D1.LINK)
	AND
	LEFT(D.CODE,10) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Добавление записи в качестве неопределенного бюджета

IF NOT EXISTS (SELECT * FROM dbo.[KL_TARGET_ITEM] WHERE [Code]= REPLICATE('-',10)) 
	INSERT INTO dbo.[KL_TARGET_ITEM](CODE, NAME)
	SELECT REPLICATE('-',10), 'Неизвестный подраздел'

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,'')
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.[KL_TARGET_ITEM] A ON T.CODE = A.CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')

INSERT INTO dbo.[KL_TARGET_ITEM] (CODE, NAME) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.CODE,
	ISNULL(T.NAME,'')
FROM
	#DICT T
WHERE
	NOT EXISTS (SELECT * FROM dbo.[KL_TARGET_ITEM] A WHERE A.CODE = T.CODE)

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN

END

GO


GRANT EXECUTE ON dbo.[SYNCH_BI_DICTION_CSR] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_PROV_DATA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_PROV_DATA]

GO


CREATE   PROCEDURE dbo.SD_PROV_DATA
	@varKSnMonth INT,
	@varKSnYear INT
AS

/*Очистить старые сообщения об ошибках*/
delete from SAL_WORNINGS WHERE SID = SUSER_SID() AND TASK ='SALARY'

---
declare @DEP_LINK int
exec dbo.xd_whats_zb @DEP_LINK output

/*Удаляем все документы по зарплате из G_PROV за заданный период только по активной подотчетной организации*/
EXEC dbo.SD_PROV_DELETE @varKSnMonth, @varKSnYear

--------------------
/*Формирование проводок начисления для штатников, кроме НДФЛ и ЕСН и формирование для внештатников*/
EXEC dbo.SA_CREATE_PROV_N @varKSnMonth, @varKSnYear, @DEP_LINK

/*Формирование проводок по удержаниям НДФЛ и другим*/
EXEC dbo.SA_CREATE_PROV_U @varKSnMonth, @varKSnYear, @DEP_LINK

/*Формирование проводок по удержанию из зарплаты при выплате через банкомат штатным сотрудникам и внештатникам*/
EXEC dbo.SA_CREATE_PROV_VEDOM @varKSnMonth, @varKSnYear, @DEP_LINK

/*Формирование проводок по ЕСН*/
EXEC dbo.SA_CREATE_PROV_O @varKSnMonth, @varKSnYear, @DEP_LINK

--/*Формирование XML с проводками для синхронизации */
--EXEC dbo.SA_CREATE_XML_TO_SYNCH @varKSnMonth, @varKSnYear, @DEP_LINK

GO


GRANT EXECUTE ON dbo.[SD_PROV_DATA] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_BI_DICTION_EXP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_BI_DICTION_EXP]
GO

CREATE PROCEDURE dbo.SYNCH_BI_DICTION_EXP (@DB NVARCHAR(254), @LINK_JOURN_TAB INT)
AS
BEGIN
/*
Синхронизация Классификатор расходов
*/

DECLARE @varKStrancount	int
		
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, CODE VARCHAR(3), NAME VARCHAR(254), LNAME VARCHAR(1000), NUM INT)

DECLARE @SQL NVARCHAR(4000)

SET @SQL = 
N'	
INSERT INTO #DICT (LINK, CODE, NAME, LNAME, NUM)

SELECT D.LINK, LEFT(D.CODE,3), LEFT(D.SNAME,250), LEFT(D.NAME,1000), NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,3) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.KL_EXPEND D
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(DATEB,''19800101'') AND ISNULL(DATEE,''20490101'')	
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 1
		WHERE
			D.LINK_DEP = D1.LINK)
	AND
	LEFT(D.CODE,3) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Добавление записи в качестве неопределенного бюджета

IF NOT EXISTS (SELECT * FROM dbo.[KL_EXPEND] WHERE [Code]='---') 
	INSERT INTO dbo.[KL_EXPEND](CODE, NAME, LNAME)
	VALUES ('---', 'Неизвестный подраздел', 'Неизвестный подраздел')

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,''),
	A.LNAME = ISNULL(T.LNAME,'')
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.[KL_EXPEND] A ON T.CODE = A.CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')
	OR
	A.LNAME <> ISNULL(T.LNAME,'')	

INSERT INTO dbo.[KL_EXPEND] (CODE, NAME, LNAME) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.CODE,
	ISNULL(T.NAME,''),
	ISNULL(T.LNAME,'')
FROM
	#DICT T
WHERE
	NOT EXISTS (SELECT * FROM dbo.[KL_EXPEND] A WHERE A.CODE = T.CODE)

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN

END

GO


GRANT EXECUTE ON dbo.[SYNCH_BI_DICTION_EXP] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RSA_6NDFL_01012016_PREPARE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RSA_6NDFL_01012016_PREPARE]

GO

CREATE PROCEDURE dbo.RSA_6NDFL_01012016_PREPARE
	@Res float output, @varcStr varchar(250), @vardBegin datetime = '20150101', @vardEnd datetime = '20151231', @variCol int, @variRow int, @variLSF int


AS BEGIN

SET NOCOUNT ON

/*declare
	@varKScYear varchar(4),			
	@nPERIOD int,
	@varKSnFirstNum INT,
	@nCHECK_S int,					   /*Определить перечисленную сумму по проводкам*/
	@nSumm_For_Check numeric(18,2), /*Перечисленная сумма НДФЛ за период*/			
	@varKScVal1 char(1), @varKSnOtborLink1 int,	
	@varKScVal2 char(1), @varKSnOtborLink2 int,
	@nLinkEmpl int,
	@LINK_PERS INT*/



DECLARE @DEP_LINK INT,
		@START_DATE DATETIME, 
		@END_DATE DATETIME 

DECLARE @FILTER_SUBDIV_NAME VARCHAR(254) , @FILTER_SUBDIV_LINK INT
SET @FILTER_SUBDIV_NAME = (SELECT DBO.RN_GET_ATR_VALUE(@variLSF, 'REPORTS_FILTER_SUBDIV'))

IF @FILTER_SUBDIV_NAME IS NOT NULL
	SET @FILTER_SUBDIV_LINK = 
		( SELECT TOP 1 LINK FROM DBO.REPORT_KBK 
		  WHERE 
		   ('№' + CONVERT(VARCHAR(3),PROPERTY) + ' - ' +  NAME ) =  @FILTER_SUBDIV_NAME
			AND 
			CODE_FORM='FILTER_NABOR' AND CODE='REPORTS_FILTER_SUBDIV')

DECLARE @BUFFER_SUBDIV VARCHAR(20) 
DECLARE @SUBDIV TABLE (LINK INT)

IF @FILTER_SUBDIV_LINK IS NOT NULL 
BEGIN

	EXEC DBO.GETRANDSTR 20, @BUFFER_SUBDIV OUT

	INSERT INTO @SUBDIV (LINK) 
	SELECT LINK FROM DBO.RN_VIEW_FILTER WHERE LINK_SELF = @FILTER_SUBDIV_LINK

END


SELECT @DEP_LINK = Link_Organization from report_saved_forms where link_saved_form =  @variLSF
set @res = 0
SELECT @START_DATE = @vardBegin, @END_DATE = @vardEnd

DECLARE @BYearDate	datetime
SET @BYearDate = dbo.DateBeginOfYear (@START_DATE)

declare @EndYear datetime
Set @EndYear = dbo.DateEndOfYear(@START_DATE)

DECLARE @varKSnYear INT,
		@nMonth INT 				
Set @nMonth = ISNULL(month(@vardEnd),12)

SET @varKSnYear = CAST(year(@vardBegin) AS INT)	



	CREATE TABLE #RES0 (
		ID INT IDENTITY,
		NOM_SPR INT,
		LINK_FACE INT,
		SEX INT,
		INNFIZ VARCHAR(20),
		NUMB_SERT VARCHAR(20),
		STATUS VARCHAR(1),
		FIO VARCHAR(254),
		FM VARCHAR(254),
		IM VARCHAR(254),
		OT VARCHAR(254),
		KDVD VARCHAR(4),
		SERNOM VARCHAR(254), 
		BIRTH DATETIME,
		GRAZD VARCHAR(3),
		KSTR VARCHAR(3),
		LINK_ADR INT,
		IND_ADR VARCHAR(10),
		REGION VARCHAR(4),
		RAION VARCHAR(254),
		GOROD VARCHAR(254),
		NASEL VARCHAR(254),
		STREET VARCHAR(254),
		HOUSE VARCHAR(20),
		KORP VARCHAR(10),
		FLAT VARCHAR(10),

		KSTR_ino VARCHAR(3),
		Adr_ino VARCHAR(200),

		O_OKATO VARCHAR(14),
		O_OKTMO VARCHAR(11),
		O_KPP VARCHAR(9),		

		ksv1 varchar(3), ssv1 numeric(11,2),
		ksv2 varchar(3), ssv2 numeric(11,2),
		ksv3 varchar(3), ssv3 numeric(11,2),
		ksv4 varchar(3), ssv4 numeric(11,2),
		ksv5 varchar(3), ssv5 numeric(11,2),
		ksv6 varchar(3), ssv6 numeric(11,2),
		ksv7 varchar(3), ssv7 numeric(11,2),
		ksv8 varchar(3), ssv8 numeric(11,2),
		ksv9 varchar(3), ssv9 numeric(11,2),
		ksv10 varchar(3), ssv10 numeric(11,2),
		ksv11 varchar(3), ssv11 numeric(11,2),
		ksv12 varchar(3), ssv12 numeric(11,2),
		ssv numeric(11,2), siv numeric(11,2),
		osd13 numeric(11,2), sdo13 numeric(11,2), 
		nalogn13 numeric(18), nalogu13 numeric(18),
		NALOG13S numeric(18),
		osd30 numeric(11,2), sdo30 numeric(11,2), 
		nalogn30 numeric(18), nalogu30 numeric(18),
		NALOG30S numeric(18),
		osd35 numeric(11,2), sdo35 numeric(11,2), 
		nalogn35 numeric(18), nalogu35 numeric(18),
		NALOG35S numeric(18),
		err int,
		S_5_6 NUMERIC(18,2), S_5_7 NUMERIC(18,2),		
		dolg_np numeric(8), dolg_na numeric(8),
		kbkcode1 varchar(30), kbkcode2 varchar(30), kbkcode3 varchar(30), kbkcode4 varchar(30), 
		kbksum1 numeric(18,2), kbksum2 numeric(18,2),kbksum3 numeric(18,2),kbksum4 numeric(18,2),
		VIFNSPL numeric(18,2),
		ZSummPL numeric(18,2),
		UdSumPL numeric(18,2),
		VzkIFNS numeric(18,2)

	)	


CREATE TABLE #FACES (LINK int,PERS_LINK int)

	INSERT INTO #FACES
	SELECT distinct PERS_LINK,PERS_LINK FROM dbo.sd_empl WHERE DEP_LINK = @DEP_LINK 
			AND (
		@BUFFER_SUBDIV IS NULL 
			OR 
		@BUFFER_SUBDIV IS NOT NULL AND SUBDIV_head IN (SELECT LINK FROM @SUBDIV)
		)
	
	INSERT INTO #FACES
	SELECT distinct PERS_LINK,PERS_LINK FROM dbo.SALARY_REESTR_DGH WHERE DEP_LINK = @DEP_LINK
		AND PERS_LINK NOT IN (SELECT PERS_LINK FROM #FACES)		

/*
declare  @Res float 
set @Res = ''
 EXEC RSA_6NDFL_01012016_PREPARE @Res output, '', '20160101', '20161231',2,1,553


*/

	-----------------------------
	delete  from dbo.SAL_DED_MONTH
	where 
	YEAR(DATE_DED) =@varKSnYear 
	AND
	Month(DATE_DED) <= @nMonth
	AND
	LINK_EMPL IN (Select EM.LINK from dbo.EMPL EM INNER JOIN #FACES F on EM.PERS_LINK = F.PERS_LINK)
	AND
	LINK IN 
	(
		select D.LINK 
		from dbo.SAL_DED_MONTH D inner join dbo.empl E on D.link_empl = E.link
		where YEAR(D.DATE_DED) = @varKSnYear AND Month(D.DATE_DED) <= @nMonth  
		and not exists (Select * from dbo.CALCULATE_JURNAL JC where YEAR(JC.PERIOD_BEGIN) = @varKSnYear AND Month(JC.PERIOD_BEGIN) <= @nMonth AND JC.LINK_EMPL = E.LINK AND JC.LINK_VKR = D.LINK_VKR)
	)
	

	-----------------------------

	EXEC dbo.BufferClear
	EXEC dbo.BufferPushTable '#faces', 'REP2NDFL', 'pers_link'

			
	create table #S_J_C_SHORT (LINK_FACE int,PERS_LINK int, link_empl int, link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), link_inc int, period_begin datetime, date1 datetime, link_dep int)

	Insert into #S_J_C_SHORT (LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep)
	Select E.PERS_LINK, JC.PERS_LINK, JC.LINK_EMPL, P.LINK, link_vkr, ISNULL(JC.LINK_EKR,P.LINK_EKR), P.TYP_PER, P.OBJECT, summa, P.LINK_INC,
		period_begin = (Case 
						when JC.DATE_BEGIN < JC.period_begin and year(JC.DATE_BEGIN) = year(JC.period_begin) and d.code = 'DOCUMENTS_ADD_TABEL'
						then JC.DATE_BEGIN else JC.period_begin 
					end) ,
		JC.DATE_BEGIN,
		JC.LINK_DEP  
	from 
		dbo.CALCULATE_JURNAL JC 
		INNER JOIN dbo.NDFL_GroupTax() T ON JC.LINK_PAYS=T.LINK_PAYS
		LEFT JOIN dbo.EMPL E ON JC.LINK_EMPL = E.LINK
		LEFT JOIN dbo.PAYS P ON JC.LINK_PAYS = P.LINK
		LEFT JOIN (Select d.link, o.code from sdoc d inner join dbo.s_objects o on d.object = o.link) d on jc.LINK_DOC = d.link
	where
		(
				(ISNULL(d.code,'') <> 'DOCUMENTS_ADD_TABEL') and @nMonth >= month(JC.PERIOD_BEGIN) and @varKSnYear = year(JC.PERIOD_BEGIN)
				or 
				ISNULL(d.code,'') = 'DOCUMENTS_ADD_TABEL'
				and (@nMonth >= month(JC.DATE_BEGIN) or @nMonth >= month(JC.PERIOD_BEGIN) )
				and (@varKSnYear = year(JC.DATE_BEGIN) or @varKSnYear = year(JC.PERIOD_BEGIN) )

			)
		AND  
			(	-->>NEW
			E.PERS_LINK in (select PERS_LINK from #FACES )
			or
			JC.PERS_LINK in (select PERS_LINK from #FACES )
			)	
		AND JC.LINK_DEP = @DEP_LINK 
	
	union all --Удержания
	SELECT   LINK_FACE, PERS_LINK, link_empl, link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep
	from dbo.S_J_C_SHORT SJC 
		LEFT JOIN DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC 
	where 
		SJC.LINK_DEP = @DEP_LINK
		and YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		and TYP_OPER = 2

CREATE TABLE #S_J_C_SHORT_RES ( link_pays int, link_vkr int, link_ekr int, typ_per tinyint, typ_oper tinyint, summa numeric(18,2), link_inc int, period_begin datetime, date1 datetime, link_dep int)
	
INSERT INTO #S_J_C_SHORT_RES ( link_pays, link_vkr, link_ekr, typ_per, typ_oper, summa, link_inc, period_begin, date1, link_dep) 		
SELECT link_pays,
	   link_vkr, 
	   link_ekr, 
	   typ_per, 
	   typ_oper, 
	   sum(summa), 
	   link_inc, 
	   period_begin, 
	   date1, 
	   link_dep
FROM #S_J_C_SHORT
GROUP BY link_pays,link_vkr,link_ekr,typ_per,typ_oper,link_inc,period_begin,date1,link_dep


-----------------------------------------------------------
--Для обособленных подразделений
DECLARE @DATE DATETIME
SET @DATE = DBO.ConvertDMY2Date(1,@nMonth, @varKSnYear)
SET @DATE = DBO.DateEndOfMonth(@DATE)

CREATE TABLE #E_SUBDIV (EMPL_LINK INT, SUBDIV_LINK INT)
INSERT INTO #E_SUBDIV (EMPL_LINK, SUBDIV_LINK)
SELECT EMPL_LINK, SUBDIV_LINK
FROM DBO.SA_EMPLS_INFO(@DATE, DEFAULT)
WHERE [STATUS] = 1 OR [STATUS] = 3

CREATE TABLE #S_OBOSOB (SUBDIV_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #S_OBOSOB (SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP)
SELECT SUBDIV_LINK, O_OKATO,  O_OKTMO, O_KPP 
FROM [dbo].SUBDIVISION(@DATE) 
WHERE OBOSOB = 1

CREATE TABLE #P_OBOSOB (PERS_LINK INT, O_OKATO VARCHAR(14), O_OKTMO VARCHAR(11), O_KPP VARCHAR(9))
INSERT INTO #P_OBOSOB(PERS_LINK, O_OKATO, O_OKTMO, O_KPP)
SELECT E.PERS_LINK, SO.O_OKATO , SO.O_OKTMO, SO.O_KPP 
FROM 
	#S_OBOSOB SO INNER JOIN #E_SUBDIV ES ON SO.SUBDIV_LINK = ES.SUBDIV_LINK
	INNER JOIN DBO.EMPL E ON E.LINK = ES.EMPL_LINK

-----------------------------------------------------------
	INSERT INTO #RES0 (
		LINK_FACE,
		SEX,
		INNFIZ, --NALOG,
		NUMB_SERT,
		STATUS,
		FIO,
		FM, IM, OT,
		KDVD,
		SERNOM, 
		BIRTH,
		GRAZD,
		KSTR,
		LINK_ADR,
		IND_ADR,
		REGION,
		RAION,
		GOROD,
		NASEL,
		STREET,
		HOUSE,
		KORP,
		FLAT, 
		KSTR_ino,
		Adr_ino,
		ERR,
		O_OKATO,
		O_OKTMO,
		O_KPP
	)

	SELECT 	distinct 
		P.LINK, P.SEX, P.INN, /*P.IFNS,*/ P.INSUR_NUM, 
		CASE 
			WHEN P.RESIDENT  IS NULL THEN ''
			WHEN P.RESIDENT = 1 THEN '1'
			WHEN P.RESIDENT = 0 THEN '2'
			WHEN P.RESIDENT = 2 THEN '2'
		END,
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT),
		RTRIM(P.FM), RTRIM(P.IM), RTRIM(P.OT),
		[KDVD] = (SELECT TOP 1 CODE FROM FACE_DOCUMENT WHERE LINK = P.DOC_LINK),
		P.DOC_NUM,
		P.BIRTHDATE,
		GRAZD= (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK),
		KSTR= (case when (SELECT TOP 1 CODE FROM CITIZENSHIP WHERE LINK = P.CITIZ_LINK) = '1' then '643' else '' END),
		ADR.LINK_ADDR,
		ADR.IND_ADR,
		ADR.REGION,
		ADR.RAION,
		ADR.GOROD,
		ADR.NASEL,
		ADR.STREET,
		ADR.HOUSE,
		ADR.KORP,
		ADR.FLAT,
		KSTR_ino = '',
		Adr_ino = '',
		0,
		PO.O_OKATO,
		PO.O_OKTMO,
		PO.O_KPP
	FROM 
		#FACES F 
		INNER JOIN PERSON P ON P.LINK = F.PERS_LINK
		INNER JOIN (SELECT LINK_FACE from #S_J_C_Short SJC where LINK_FACE is not null
			UNION SELECT LINK_FACE= PERS_LINK from #S_J_C_Short SJC where PERS_LINK is not null) J on P.LINK = J.LINK_FACE
		LEFT OUTER JOIN dbo.NDFL_GET_ADDRESS() ADR ON P.LINK = ADR.LINK_FACE
		LEFT JOIN #P_OBOSOB PO ON PO.PERS_LINK = F.PERS_LINK
	ORDER BY 
		RTRIM(P.FM) + ',' + RTRIM(P.IM) + ',' + RTRIM(P.OT)



		
	select DISTINCT SJC.LINK_FACE, Y = year(SJC.PERIOD_BEGIN), M = month(SJC.PERIOD_BEGIN),		
					PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
						WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
						WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
						WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
						WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
					END ,  
					LINK_INC, LINK_VKR  
	into #spr_pays_kbk
	from 	#S_J_C_SHORT SJC
	LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
	 where SJC.TYP_OPER = 1

	CREATE TABLE #PAYS_0_tmp
	(
		ID INT IDENTITY,
		LINK_FACE INT,
		mes int, PERC_TAX INT , 
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	CREATE TABLE #PAYS_0
	(
		ID INT IDENTITY,
		LINK_FACE INT, 
		mes int, PERC_TAX INT ,  
		LINK_INC INT, CODE_INC VARCHAR(4), SUMMA_INC NUMERIC(13,2),
		LINK_DED INT, CODE_DED VARCHAR(3), SUMMA_DED NUMERIC(13,2)
	)

	INSERT INTO #PAYS_0_tmp
	(LINK_FACE, mes, PERC_TAX,
	LINK_INC, CODE_INC, SUMMA_INC,
	LINK_DED, CODE_DED, SUMMA_DED)
	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
						WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
						WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
						WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
						WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
					END ,
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM 
		#S_J_C_SHORT SJC 
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.LINK_FACE = F.PERS_LINK
	WHERE 
		SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.PERS_LINK,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK 
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED, DTI.FLAG

	---<< Добавление информации по внештатникам	
	union all 

	SELECT 
		F.PERS_LINK,
		mes = MONTH(SJC.PERIOD_BEGIN),
		PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
				WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
				WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
				WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
				WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
			END ,
		LINK_INC, ISNULL(DTI.SNAME,'0000'),
		SUM(SUMMA) AS SUMMA_INC,
		DTI.REF_DEDUCT AS LINK_DED, DTI.COD_DED,
		CAST(0 AS NUMERIC(20,2)) AS SUMMA_DED
	FROM #S_J_C_SHORT SJC 	
		LEFT JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC --AND DTI.SNAME <> '0000'
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 	SJC.TYP_OPER = 1
		AND
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and
		Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND
		ISNULL(SJC.LINK_FACE,0) = 0
		AND
		SJC.LINK_DEP = @DEP_LINK
	GROUP BY 
		F.PERS_LINK, SJC.TYP_PER, SJC.PERIOD_BEGIN, LINK_INC, DTI.REF_DEDUCT, ISNULL(DTI.SNAME,'0000'), DTI.COD_DED, DTI.FLAG
	ORDER BY 
		1, ISNULL(DTI.SNAME,'0000'), COD_DED

	--- Авансовые платежи , как в Налоговой декларации ПФР 
	--- --------------------------------------------------
	/*create table #SPR_ESN ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(12,2) default 0.00, DED_M numeric(12,2) default 0.00, INV_M numeric(12,2) default 0.00, SUMMA numeric(12,2) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0)

	INSERT INTO #SPR_ESN ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS)
	Select [MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS
	from dbo.SA_ESN_VIEW(@varKSnYear, @nMonth, @DEP_LINK, 0)
	
	SELECT * FROM #SPR_ESN
	*/-----------------------------------------------------
	-----------------------------------------------------
-- select( 8297996.42 - 1019455.00) * 0.13

	INSERT INTO #PAYS_0
	Select LINK_FACE, mes,perc_tax, LINK_INC, CODE_INC, sum(SUMMA_INC), LINK_DED, CODE_DED, sum(SUMMA_DED)
	from #PAYS_0_tmp
	group by LINK_FACE, mes,perc_tax, LINK_INC, CODE_INC, LINK_DED, CODE_DED
	having Sum(SUMMA_INC) <> 0

	drop table #PAYS_0_tmp

	---->>
	--СКИДКИ
	SELECT D.LINK_FACE, D.mes, kbk.perc_tax, SUM(D.SUMMA) as SUMMA, D.REF_DED INTO #DED 
	FROM 
		dbo.SA_NDFL_MONTH_DED_ALL(@varKSnYear) D 
		inner join #spr_pays_kbk kbk on kbk.LINK_FACE = d.LINK_FACE and kbk.m = d.mes and kbk.link_inc = d.REF_INC and kbk.LINK_VKR = d.LINK_VKR
	where 
		kbk.y = @varKSnYear
		and kbk.m <= @nMonth
	GROUP BY 
		D.LINK_FACE, d.mes, d.REF_DED, kbk.perc_tax


	UPDATE #PAYS_0
	SET SUMMA_DED = 
		(SELECT SUM(SUMMA) FROM #DED D WHERE D.LINK_FACE = R.LINK_FACE AND D.REF_DED = R.LINK_DED AND D.mes = R.mes ) 
	FROM #PAYS_0 R 
	WHERE LINK_DED IS NOT NULL

	update #PAYS_0 
		Set CODE_DED = ''
		where ISNULL(SUMMA_DED,0) = 0


	CREATE TABLE #P0 (LINK_FACE INT, ID1 INT)

	--- 1
	CREATE TABLE #PAYS1_TMP (LINK_FACE INT , SM NUMERIC(18,2) , [MONTH] INT, PERC_TAX INT ) 
	INSERT INTO #PAYS1_TMP (LINK_FACE, SM, [MONTH], PERC_TAX) 
		SELECT EP.PERS_LINK, ISNULL(SUM(SJ.summa), 0) , MONTH(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END) , 																																
				PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
				WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
				WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
				WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
				WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
			END 
		
		FROM SALARY_JURNAL_CALCULAT_SHORT SJ 
		INNER JOIN dbo.NDFL_GroupTax() T ON SJ.link_PAYS=T.LINK_PAYS
		INNER JOIN dbo.KU_EMPL_PLACING EP ON EP.LINK = SJ.LINK_EMPL
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.dictionary_typ_incoms dti ON dti.link = SJ.LINK_INC
		WHERE 
			SJ.PERIOD_BEGIN >= @BYearDate AND SJ.PERIOD_END <=@vardEND
--			(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_BEGIN WHEN SJ.TYP_PER = 2 THEN SJ.DATE1 END) >= @varKSdDate1 
--			AND (CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END)<=@varKSdDate2
			AND EP.DEP_LINK = @DEP_LINK
		GROUP BY EP.PERS_LINK, MONTH(CASE WHEN SJ.TYP_PER = 1 THEN SJ.PERIOD_END WHEN SJ.TYP_PER = 2 THEN SJ.DATE2 END) , DTI.FLAG




	CREATE TABLE #PAYS1(LINK_FACE INT, SM NUMERIC(11,2), MONTH_NUM INT, PERC_TAX int)
	INSERT INTO #PAYS1
	SELECT LINK_FACE, SM, [MONTH], PERC_TAX 	 
	FROM #PAYS1_TMP ORDER BY  [MONTH], LINK_FACE

	DROP TABLE #PAYS1_TMP
	---<< Добавление информации по внештатникам
	insert into #pays1

	SELECT 
		F.PERS_LINK,
		SUM(SUMMA) AS SUMMA_INC,
		Month(SJC.PERIOD_BEGIN),
		PERC_TAX = CASE WHEN ISNULL(DTI.FLAG,0) = 0 THEN 0 
				WHEN ISNULL(DTI.FLAG,0) = 1 THEN 0
				WHEN ISNULL(DTI.FLAG,0) = 2 THEN 13
				WHEN ISNULL(DTI.FLAG,0) = 3 THEN 30
				WHEN ISNULL(DTI.FLAG,0) = 4 THEN 35  
			END 
	FROM 
		#S_J_C_SHORT SJC 
		INNER JOIN dbo.DICTIONARY_TYP_INCOMS DTI ON DTI.LINK = SJC.LINK_INC
		INNER JOIN #FACES F ON SJC.PERS_LINK = F.PERS_LINK
	WHERE 
		YEAR(SJC.PERIOD_BEGIN) = @varKSnYear
		and Month(SJC.PERIOD_BEGIN) <= @nMonth
		AND ISNULL(SJC.LINK_FACE,0) = 0
		AND SJC.LINK_DEP = @DEP_LINK 
	GROUP BY F.PERS_LINK, SJC.PERIOD_BEGIN, DTI.FLAG


	---->>

	SELECT LINK_FACE, SUM(SM) AS SM, PERC_TAX
	INTO #PAYS_R
	FROM #PAYS1
	GROUP BY LINK_FACE,PERC_TAX


	INSERT INTO #PAYS1
	SELECT 
		EP.PERS_LINK, -SUM(SUMMA), MONTH(DATE_DED),NULL
	FROM    
		dbo.empl EP 
		inner join SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND [TYPE] = 2)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
	where 
		EP.DEP_LINK = @DEP_LINK	
	GROUP BY 
		EP.PERS_LINK, MONTH(DATE_DED)




	CREATE TABLE #PAYS3(ID INT IDENTITY, LINK_FACE INT, LINK_DED INT, CODE_DED VARCHAR(6), SUMMA NUMERIC(18,2), SUMMA_FAKT NUMERIC(18,2))
	--Стандартные и скидки на мат помощь
	--ПО СОТРУДНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.empl EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BYearDate) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE


	--ПО ДОГОВОРНИКАМ
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, 
		CONVERT(NUMERIC(18,2), SUM((case when KOEF_VKR is not null then DTD.SUMMA * KOEF_VKR else DTD.SUMMA end) * ISNULL(S.KOL,0) )), 
		SUM(S.SUMMA) 
	FROM 
		dbo.REESTR_DGH EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_DGH AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND S.[TYPE] = 1)
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
		INNER JOIN dbo.Salary_deductions(@BYearDate) DTD on DTD.REF_PAY = S.REF_DED
	where 
		T.NUMBER IN (	1, --Стандартные
						6 --скидки на мат помощь 
						)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE
		
	--UPDATE #PAYS3
	--SET
	--	SUMMA = (Select sum(SUM_DED) from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	
	--where
	--	exists (Select * from dbo.TAX_DEDUCTIONS TD where TD.LINK_DEP = @DEP_LINK AND TD.link_person = #PAYS3.LINK_FACE and TD.LINK_DICTION = #PAYS3.LINK_DED and TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)	

	UPDATE #PAYS3
	SET
		SUMMA = ISNULL(SUMMA_FAKT,0)
	where
		ISNULL(SUMMA,0) = 0

	--Прочие вычеты (имущественные, добровольное пенс страхование и пр.)
	INSERT INTO #PAYS3 (LINK_FACE, LINK_DED, CODE_DED, SUMMA, SUMMA_FAKT)
	SELECT 	
		EP.PERS_LINK, min(S.REF_DED), T.CODE, SUM(S.SUMMA), SUM(S.SUMMA) 
	FROM 
		dbo.EMPL EP 
		INNER JOIN SAL_DED_MONTH S ON (EP.LINK = S.LINK_EMPL AND YEAR(DATE_DED) = @varKSnYear and Month(DATE_DED) <= @nMonth AND TYPE = 1)
		--INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = EP.pers_link --Было: EP.LINK
		INNER JOIN dbo.DICTIONARY_TYP_DEDUCTION T ON T.LINK = S.REF_DED 
	where 
		T.NUMBER NOT IN (	1, --Стандартные
							6 --скидки на мат помощь 
							)
		AND			
		EP.DEP_LINK = @DEP_LINK	and S.SUMMA <> 0
	GROUP BY 
		EP.PERS_LINK, T.CODE


/*
declare  @Res float 
set @Res = ''
  EXEC RSA_6NDFL_01012016_PREPARE @Res output, '', '20160101', '20160331',1 ,0  ,703

*/	

	-- Общая сумма имущ. вычетов
	update #RES0
	Set siv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0),
		ssv = ISNULL( (Select sum(P3.SUMMA_FAKT) from #PAYS3 P3 where R.LINK_FACE = P3.LINK_FACE and P3.LINK_DED NOT IN (SELECT DISTINCT LINK_DICTION FROM TAX_DEDUCTIONS td WHERE TD.LINK_DEP = @DEP_LINK AND TD.[YEAR] = @varKSnYear and TD.Month1 <= @nMonth)),0)		
	from #RES0 R

--SELECT * FROM #RES0

	--
	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV1 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV1 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV2 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV2 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV3 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV3 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV4 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV4 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV5 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV5 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV6 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV6 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV7 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV7 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R

		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV8 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV8 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV9 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV9 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV10 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV10 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV11 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV11 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS3 GROUP BY LINK_FACE

	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET KSV12 = (SELECT top 1 P00.CODE_DED FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET SSV12 = (SELECT top 1 P00.SUMMA FROM #PAYS3 P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		DELETE FROM #PAYS3 WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END



	UPDATE #RES0 SET OSD13 = ISNULL((SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE AND PR.PERC_TAX = 13),0) FROM #RES0 R
	UPDATE #RES0 SET OSD30 = ISNULL((SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE AND PR.PERC_TAX = 30),0) FROM #RES0 R
	UPDATE #RES0 SET OSD35 = ISNULL((SELECT top 1 SM FROM #PAYS_R PR WHERE PR.LINK_FACE = R.LINK_FACE AND PR.PERC_TAX = 35),0) FROM #RES0 R

	----
	UPDATE #RES0 SET SDO13 = OSD13 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0  WHERE PERC_TAX = 13 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE

	UPDATE #RES0 SET SDO30 = OSD30 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0  WHERE PERC_TAX = 30 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE
	
	UPDATE #RES0 SET SDO35 = OSD35 - ISNULL(SK.SUM_SK, 0.00)
			- ISNULL(SSV1,0.00) - ISNULL(SSV2,0.00) - ISNULL(SSV3,0.00) - ISNULL(SSV4,0.00)
			- ISNULL(SSV5,0.00) - ISNULL(SSV6,0.00) - ISNULL(SSV7,0.00) - ISNULL(SSV8,0.00)
			- ISNULL(SSV9,0.00) - ISNULL(SSV10,0.00) - ISNULL(SSV11,0.00) - ISNULL(SSV12,0.00)
	from #RES0 R LEFT JOIN (Select LINK_FACE, SUM_SK= SUM(SUMMA_DED) from #PAYS_0  WHERE PERC_TAX = 35 GROUP BY LINK_FACE) SK ON R.LINK_FACE = SK.LINK_FACE

	-----
	UPDATE #RES0 SET SDO13 = 0 WHERE SDO13 < 0
	UPDATE #RES0 SET SDO30 = 0 WHERE SDO30 < 0
	UPDATE #RES0 SET SDO35 = 0 WHERE SDO35 < 0
	

	CREATE TABLE #NDFL_TAX(LINK_TAX INT, PERC_TAX INT )
	INSERT INTO #NDFL_TAX
	SELECT LINK, PERC_TAX = CASE WHEN P.WAY_CALC = 4 THEN 13 
								 WHEN P.WAY_CALC = 5 THEN 30
								 WHEN P.WAY_CALC = 6 THEN 35  end	
	FROM PAYS P WHERE P.OBJECT = 2 AND P.WAY_CALC IN (4,5,6)
	
	--- 13%
	Create table #NDLF13_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF13 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF13_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  AND  T.PERC_TAX = 13
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX AND  T.PERC_TAX = 13  
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF13 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF13_tmp group by LINK
	
	drop table #NDLF13_tmp


	-- 30% 
		Create table #NDLF30_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF30 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF30_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  AND  T.PERC_TAX = 30
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX AND  T.PERC_TAX = 30  
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF30 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF30_tmp group by LINK
	
	drop table #NDLF30_tmp
	
	-- 35% 
		Create table #NDLF35_tmp (LINK int, SUMMA numeric(18,2))
	Create table #NDLF35 (LINK int, SUMMA numeric(18,2))

	insert into  #NDLF35_tmp (LINK, SUMMA)
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM 
		#S_J_C_Short SJC 
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.LINK_FACE --Было: EP.LINK
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX  AND  T.PERC_TAX = 35
	WHERE 
		YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY 
		B.LINK
	---<< Добавление информации по внештатникам
	union all
	SELECT B.LINK AS LINK, SUM(SUMMA) AS SUMMA
	FROM #S_J_C_Short SJC 
		INNER JOIN #NDFL_TAX T ON SJC.LINK_PAYS = T.LINK_TAX AND  T.PERC_TAX = 35
		INNER JOIN dbo.BufferGetTableById('REP2NDFL') B ON B.LINK = SJC.PERS_LINK --Было: EP.LINK
	WHERE YEAR(PERIOD_BEGIN) = @varKSnYear 
		and month(PERIOD_BEGIN) <= @nMonth
		and ISNULL(SJC.LINK_FACE,0) = 0
		and sjc.LINK_DEP = @DEP_LINK	
	GROUP BY B.LINK

	insert into #NDLF35 (LINK, SUMMA)
	Select LINK, Sum(SUMMA) from #NDLF35_tmp group by LINK
	
	drop table #NDLF35_tmp
	

	--->>

	UPDATE #RES0 SET NALOGU13 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF13 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN13 = SDO13 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX AND T.PERC_TAX =13 WHERE TARIF = 1)
								ELSE 0.30 END)
	
	UPDATE #RES0 SET NALOGU30 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF30 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN30 = SDO30 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX  AND T.PERC_TAX =30 WHERE TARIF = 1)
								ELSE 0.30 END)	
	
	UPDATE #RES0 SET NALOGU35 = ISNULL((SELECT SUM(SUMMA) FROM #NDLF35 N WHERE N.LINK = R.LINK_FACE), 0) FROM #RES0 R
	UPDATE #RES0 SET NALOGN35 = SDO35 * (CASE WHEN STATUS = '1' THEN 
		( SELECT  top 1 [PERCENT] / 100 FROM DICTIONARY_RANGE R inner join #NDFL_TAX T on R.LINK_PAYS = T.LINK_TAX  AND T.PERC_TAX =35 WHERE TARIF = 1)
								ELSE 0.30 END)														



	--Перечисленная сумма по всем за период
	DECLARE @SUMMA_PLAT_ALL NUMERIC(18,2)
		
/*	IF @nCHECK_S = 0
		BEGIN
			SET @SUMMA_PLAT_ALL =  @nSumm_For_Check 	
		END
	ELSE
		BEGIN 
*/			EXEC dbo.SA_NDFL_PLAT @varKSnYear, @DATE, @DEP_LINK, @SUMMA_PLAT_ALL OUT
/*		END */
	--Начисленная сумма по всем за период
	DECLARE @SUMMA_NACH_ALL NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL @varKSnYear, @DATE, @DEP_LINK, @SUMMA_NACH_ALL OUT
	
	--Начисленная сумма 30% по всем за период
	DECLARE @SUMMA_NACH_ALL30 NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL30 @varKSnYear, @DATE, @DEP_LINK, @SUMMA_NACH_ALL30 OUT
	
	--Начисленная сумма 35% по всем за период
	DECLARE @SUMMA_NACH_ALL35 NUMERIC(18,2)
	EXEC dbo.SA_NDFL_NACHISL35 @varKSnYear, @DATE, @DEP_LINK, @SUMMA_NACH_ALL35 OUT
	
	--Перечисленная за сотрудника 13%	
	UPDATE #RES0 SET NALOG13S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL > 0 THEN (NALOGU13	/ @SUMMA_NACH_ALL) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG13S = CASE WHEN NALOG13S > NALOGU13 THEN NALOGU13 ELSE NALOG13S END

	UPDATE #RES0 SET NOM_SPR = ID --+ @varKSnFirstNum - 1
	
	--Перечисленная за сотрудника 30%	
	UPDATE #RES0 SET NALOG30S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL30 > 0 THEN (NALOGU30/ @SUMMA_NACH_ALL30) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG30S = CASE WHEN NALOG30S > NALOGU30 THEN NALOGU30 ELSE NALOG30S END

	UPDATE #RES0 SET NOM_SPR = ID --+ @varKSnFirstNum - 1

	--Перечисленная за сотрудника 35%	
	UPDATE #RES0 SET NALOG35S = CONVERT(NUMERIC(18,0), ISNULL( @SUMMA_PLAT_ALL * CASE WHEN @SUMMA_NACH_ALL35 > 0 THEN (NALOGU35	/ @SUMMA_NACH_ALL35) ELSE 0 END, 0))
	UPDATE #RES0 SET NALOG35S = CASE WHEN NALOG35S > NALOGU35 THEN NALOGU35 ELSE NALOG35S END

	UPDATE #RES0 SET NOM_SPR = ID --+ @varKSnFirstNum - 1	

	---Учет переплаты/недоплаты НДФЛ из остатков с прошлого года
	UPDATE A SET 
		S_5_6 = (CASE WHEN R.NDFL > 0 THEN R.NDFL ELSE 0 END),
		S_5_7 = (CASE WHEN R.NDFL <= 0 THEN - R.NDFL ELSE 0 END)
	FROM
		#RES0 A INNER JOIN 
		(SELECT E.PERS_LINK, NDFL = SUM(SR.NDFL) FROM dbo.SAL_REMAIN SR INNER JOIN dbo.EMPL E ON E.LINK = SR.LINK_EMPL WHERE SR.YEAR_SAL = @varKSnYear GROUP BY E.PERS_LINK) R 
			ON R.PERS_LINK = A.LINK_FACE
			
		
	--	
	UPDATE #RES0 SET DOLG_NP = CASE WHEN NALOGN13 - NALOGU13 > 0 THEN NALOGN13 - NALOGU13 ELSE 0 END - ISNULL(S_5_6,0)
	UPDATE #RES0 SET DOLG_NA = CASE WHEN NALOGU13 - NALOGN13 > 0 THEN NALOGU13 - NALOGN13 ELSE 0 END - ISNULL(S_5_7,0)


	--^^^^^^^^^Распределение налога по КБК^^^^^^^^^^
	create table  #PAYS_NDFL (ID INT IDENTITY, LINK_FACE int, LINK_PAYS int, kbk_code varchar(30), SUMMA numeric(18,2))

	INSERT INTO #PAYS_NDFL (LINK_FACE, LINK_PAYS, kbk_code, SUMMA)
	SELECT LINK_FACE, SJC.LINK_PAYS, left(kbk.CODE,30), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.PERS_LINK,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)
	GROUP BY 
		LINK_FACE, LINK_PAYS, kbk.CODE

	union all ---<< Добавление информации по внештатникам	

	SELECT  PERS_LINK, SJC.LINK_PAYS, left(kbk.CODE,20), sum(SJC.SUMMA)
	FROM #S_J_C_SHORT SJC inner join dbo.SAL_SFIN kbk on SJC.LINK_VKR = kbk.LINK
	WHERE 
			YEAR(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) = @varKSnYear
		and
			month(CASE WHEN SJC.TYP_PER = 1 THEN SJC.PERIOD_BEGIN WHEN SJC.TYP_PER = 2 THEN SJC.DATE1 END) <= @nMonth
		AND	ISNULL(SJC.LINK_FACE,0) = 0
		AND	SJC.LINK_PAYS IN (Select LINK_TAX from #NDFL_TAX)

	GROUP BY 
		PERS_LINK, LINK_PAYS, kbk.CODE
	ORDER BY 
		1, 2, 3


	DELETE FROM #P0

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode1 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum1 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode2 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum2 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode3 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum3 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	INSERT INTO #P0
	SELECT LINK_FACE, MIN(ID) FROM #PAYS_NDFL GROUP BY LINK_FACE
	IF @@ROWCOUNT <> 0 BEGIN
		UPDATE #RES0
		SET kbkcode4 = (SELECT top 1 P00.kbk_code FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
		UPDATE #RES0
		SET kbksum4 = (SELECT top 1 P00.SUMMA FROM #PAYS_NDFL P00, #P0 P0 WHERE P0.ID1 = P00.ID AND P0.LINK_FACE = R.LINK_FACE) FROM #RES0 R
	
		DELETE FROM #PAYS_NDFL WHERE ID IN (SELECT ID1 FROM #P0)
		DELETE FROM #P0
	END

	-------------------------------------
	update #res0
	set 	VIFNSPL =0, ZSummPL =0, UdSumPL =0, VzkIFNS =0


	DECLARE @varKSCNT INT

	SELECT @varKSCNT  = COUNT(*) FROM #RES0

	SELECT TOP 1 
		LTRIM(RTRIM(STR(@varKSCNT))) AS DOCCOUNT, 
		ISNULL(IMNS, '') AS NALOG,
		ISNULL(dd.INN, '') AS INN,
		ISNULL(KPP, '') AS KPP,
		ISNULL(OKATO, '')  AS OKATO,
		ISNULL(OKTMO, '')AS OKTMO,
		convert(varchar (254),(ISNULL(FULL_NAME, ''))) AS FULL_NAME,
		ISNULL(DOTF.PHONE, '') AS PHONE,
		ISNULL(RTRIM(FM), '') + ' ' + ISNULL(RTRIM(IM), '') + ' ' + ISNULL(RTRIM(OT), '') AS GLBUH,
		ISNULL(RTRIM(FM), '') AS FM,
		ISNULL(RTRIM(IM), '') AS IM, 
		ISNULL(RTRIM(OT), '') AS OT,
		ISNULL(RTRIM(DOTF.NAME), '') AS Dolzh
	INTO #DEP
	FROM DICTIONARY_DEPARTMENT DD 
	LEFT OUTER JOIN DICTIONARY_OTV_FACE DOTF ON 
		(DOTF.DEP_LINK = DD.LINK
		AND DOTF.NAME = 'Главный бухгалтер')
	LEFT OUTER JOIN KU_EMPL_PLACING EP ON DOTF.FACE_LINK = EP.LINK
	WHERE DD.link = @DEP_LINK



	DECLARE @varKScInn VARCHAR(254), @varKScKPP VARCHAR(254), @varKSFULL_NAME varchar(254), 
		@varKSNALOG VARCHAR(254), @varKSOKATO VARCHAR(254), @varKSOKTMO VARCHAR(254), @varKSPHONE VARCHAR(254), 
		@varKSGLBUH VARCHAR(254), 
		@varKSRESULT BIT

	SELECT 
		@varKScInn = INN, @varKScKPP = KPP,
		@varKSFULL_NAME = FULL_NAME, 
		@varKSNALOG = NALOG, @varKSOKATO = Replace(OKATO,' ',''), @varKSOKTMO = Replace(OKTMO,' ',''),
		@varKSPHONE = PHONE, 
		@varKSGLBUH  = GLBUH
	FROM #DEP

	/*заявленные имущественные вычеты*/  -- DED_TYPE = 1 - имущественные, 2-  социальные
/*	CREATE TABLE #td (LINK_PERSON INT ,NUM_REF VARCHAR(15),DATE_REF DATETIME,IFNS_CODE VARCHAR(20),DED_TYPE TINYINT)
	INSERT INTO #td (LINK_PERSON ,NUM_REF,DATE_REF,IFNS_CODE,DED_TYPE)
	Select LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 1 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER ='4')  )
	UNION SELECT 
		   LINK_PERSON, 
		   NUM_REF, 
		   DATE_REF, 
		   IFNS_CODE,
		   DED_TYPE = 2 
	from dbo.TAX_DEDUCTIONS td
	where TD.LINK_DEP = @DEP_LINK AND link =  (select min(link) from dbo.TAX_DEDUCTIONS td1 where TD1.LINK_DEP = @DEP_LINK AND td1.LINK_PERSON =  td.LINK_PERSON and td1.[YEAR] = @varKSnYear and td1.Month1 <= @nMonth AND TD1.LINK_DICTION IN (SELECT  LINK FROM DICTIONARY_TYP_DEDUCTION  WHERE NUMBER IN('11','12','13')) )
*/

	declare @KBK_DEFAULT varchar(254)
	Set @KBK_DEFAULT = (select Top 1 CODE_KBK from dbo.sd_empl where LINK_KBK > 0)

	UPDATE #RES0 Set kbkcode1 = @KBK_DEFAULT, kbksum1 = 0 where ISNULL(kbksum1,0) = 0

/*	/*Контроль имущественных вычетов*/
	INSERT INTO #LOG (LINK, NUMBER, DETAIL)
	SELECT LINK_FACE, '',  'Указаны не все данные в уведомлении на имущественный вычет'  + ' ' + ISNULL(FM, '') + ' ' + ISNULL(IM, '') + ' '  + ISNULL(Ot, '')
	FROM #RES0 inner join  #td on #RES0.LINK_FACE = #td.LINK_PERSON 
	WHERE rtrim(ltrim(ISNULL(NUM_REF,''))) = '' or rtrim(ltrim(ISNULL(IFNS_CODE,''))) = '' or DATE_REF is null AND OSD13 > 0 

*/	CREATE TABLE #RES_OUT (ID INT,LINK_FACE INT,mes INT,LINK_INC INT,CODE_INC VARCHAR(4),SUMMA_INC NUMERIC(18,2),LINK_DED INT,CODE_DED VARCHAR(3),SUMMA_DED NUMERIC(18,2),ID2 INT)

	INSERT INTO #RES_OUT (ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2)
	SELECT ID, LINK_FACE, mes, LINK_INC, CODE_INC, SUMMA_INC, LINK_DED, CODE_DED, SUMMA_DED, ID2 = 0 
	FROM #PAYS_0 
	ORDER BY LINK_FACE, MES, CODE_INC
	
	---СОРТИРОВКА
	CREATE TABLE #RES_OUT_ORD (NUM_PP INT IDENTITY(1,1), ID INT, LINK_FACE INT)
	INSERT INTO #RES_OUT_ORD (ID, LINK_FACE)
	SELECT ID, LINK_FACE FROM #PAYS_0 ORDER BY LINK_FACE, MES, CODE_INC
	--
	CREATE TABLE #RES_OUT_ORD2 (LINK_FACE INT, MIN_NUM INT)
	INSERT INTO #RES_OUT_ORD2 (LINK_FACE, MIN_NUM)
	SELECT LINK_FACE, MIN(NUM_PP) FROM #RES_OUT_ORD GROUP BY LINK_FACE
	---СОРТИРОВКА ДЛЯ КАЖДОГО ФИЗЛИЦА
	UPDATE R
	SET R.ID2 = O.NUM_PP - O2.MIN_NUM + 1
	FROM 
		#RES_OUT R 
		INNER JOIN #RES_OUT_ORD O ON O.ID = R.ID
		INNER JOIN #RES_OUT_ORD2 O2 ON O2.LINK_FACE = R.LINK_FACE

	CREATE TABLE #ORDERS (ID int)
	DECLARE @SQL VARCHAR(1000)
	SET @SQL = 'ALTER TABLE #ORDERS ADD [NOM_SPR] INT IDENTITY(' + RTRIM(str(ISNULL(1,1))) + ',1)'
	EXEC(@SQL)

	INSERT INTO #ORDERS (ID) 
	SELECT DISTINCT ID 
	FROM #RES0 
	WHERE LINK_FACE IN ( Select DISTINCT LINK_FACE from #RES_OUT where [ID2]%2 = 1 )
			--AND ISNULL(OSD13,0) > 0
	ORDER BY ID

	--UPDATE #ORDERS SET NOM_SPR = NOM_SPR + @varKSnFirstNum - 1

	--- общее количество документов
	UPDATE #DEP SET DOCCOUNT = ISNULL((SELECT MAX(NOM_SPR) FROM #ORDERS),0)
	-------------------
	/*SELECT 
		R.ID, O.NOM_SPR, R.LINK_FACE, R.SEX, R.INNFIZ, R.NUMB_SERT, R.STATUS, 
		R.FIO, R.FM, R.IM, R.OT, R.KDVD, R.SERNOM, R.BIRTH, R.GRAZD, R.KSTR, 
		R.LINK_ADR, R.IND_ADR, R.REGION, R.RAION, R.GOROD, R.NASEL, R.STREET, 
		R.HOUSE, R.KORP, R.FLAT, R.KSTR_ino, R.Adr_ino, 
		R.ksv1, R.ssv1, R.ksv2, R.ssv2, R.ksv3, R.ssv3, R.ksv4, R.ssv4, R.ksv5, R.ssv5, R.ksv6, R.ssv6, 
		R.ksv7, R.ssv7, R.ksv8, R.ssv8, R.ksv9, R.ssv9, R.ksv10, R.ssv10, R.ksv11, R.ssv11, R.ksv12, R.ssv12, 
		R.ssv, R.siv, R.osd13, R.sdo13, R.nalogn13, R.nalogu13, R.nalog13s, R.err, R.S_5_6, R.S_5_7, R.dolg_np, R.dolg_na, 
		R.kbkcode1, R.kbkcode2, R.kbkcode3, R.kbkcode4, R.kbksum1, R.kbksum2, R.kbksum3, R.kbksum4, 
		R.VIFNSPL, R.ZSummPL, R.UdSumPL, R.VzkIFNS, 
		--ndoc_td = td1.NUM_REF , -- на имущественные вычеты
		--ddoc_td = td1.DATE_REF,
		--ifnsdoc_td = td1.ifns_code,
		--nDoc_SD = td2.NUM_REF, -- на социальные вычеты 
		--dDoc_SD = td2.DATE_REF,
		--ifnsdoc_sd = td2.ifns_code,
		--nalog	= @varKSNALOG,
		KPP1 = ISNULL(R.O_KPP,@varKScKPP),
		OKATO1 = replace(ISNULL(R.O_OKATO,@varKSOKATO),' ',''),
		OKATO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKATO else '' end),
		OKATO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKATO else '' end),
		OKATO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKATO else '' end),
		OKTMO1 = replace(ISNULL(R.O_OKATO,@varKSOKTMO),' ',''),
		OKTMO2 = (Case when ISNULL(kbksum2,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO3 = (Case when ISNULL(kbksum3,0) <> 0 then @varKSOKTMO else '' end),
		OKTMO4 = (Case when ISNULL(kbksum4,0) <> 0 then @varKSOKTMO else '' end),
		T.M1, T.CINC1, T.SINC1, T.CDED1, T.SDED1, T.M2, T.CINC2, T.SINC2, T.CDED2, T.SDED2--,
		--td1.LINK_PERSON/*, #td.NUM_REF, #td.DATE_REF, #td.IFNS_CODE*/
	FROM #RES0 R 
		INNER JOIN #ORDERS O ON O.ID = R.ID
		INNER JOIN ( 
			Select	T1.LINK_FACE, M1= T1.MES, CINC1= T1.CODE_INC, SINC1= T1.SUMMA_INC, CDED1= T1.CODE_DED, SDED1= T1.SUMMA_DED, M2= T2.MES, CINC2= T2.CODE_INC, SINC2= T2.SUMMA_INC, CDED2= T2.CODE_DED, SDED2= T2.SUMMA_DED
			from	(Select * from #RES_OUT where [ID2]%2 = 1) T1 left join (Select * from #RES_OUT where [ID2]%2 = 0) T2 on T1.link_FACE = T2.LINK_FACE AND T1.[ID2] = (T2.[ID2]-1)
		) T on R.LINK_FACE = T.LINK_FACE
	--	LEFT OUTER JOIN   #td td1 on R.LINK_FACE = td1.LINK_PERSON AND td1.DED_TYPE = 1 /*имущественные вычеты*/
	--	LEFT OUTER JOIN   #td td2 on R.LINK_FACE = td2.LINK_PERSON AND td2.DED_TYPE = 2 /*социальные вычеты*/
	--where OSD13 > 0 
	ORDER BY O.NOM_SPR, T.M1, T.CINC1, T.M2, T.CINC2
	
	*/

	-------------------------------------------
	--- собираем результирующий курсор с разбивкой по процентам 
	------------------------------------------
	CREATE TABLE #RES_OUT_MAIN (ID INT IDENTITY(1,1),PERC_TAX INT,SUMMA_INC NUMERIC(18,2),SUMMA_DED NUMERIC(18,2))

	INSERT INTO #RES_OUT_MAIN (PERC_TAX, SUMMA_INC, SUMMA_DED)
	SELECT PERC_TAX, SUM(SUMMA_INC), SUM(SUMMA_DED)
	FROM #PAYS_0 
	GROUP BY PERC_TAX
	ORDER BY PERC_TAX
	
	IF NOT EXISTS (SELECT * FROM #RES_OUT_MAIN WHERE PERC_TAX = 30)
	   INSERT INTO #RES_OUT_MAIN(PERC_TAX, SUMMA_INC, SUMMA_DED)
	   SELECT PERC_TAX = 30 ,
			  SUMMA_INC = NULL, 
			  SUMMA_DED = NULL
	IF NOT EXISTS (SELECT * FROM #RES_OUT_MAIN WHERE PERC_TAX = 35)
	   INSERT INTO #RES_OUT_MAIN(PERC_TAX, SUMMA_INC, SUMMA_DED)
	   SELECT PERC_TAX = 35 ,
			  SUMMA_INC = NULL, 
			  SUMMA_DED = NULL		  
	-------------------

/*
declare  @Res float 
set @Res = ''
  EXEC RSA_6NDFL_01012016_PREPARE @Res output, '', '20160101', '20160331',1 ,0  ,703

*/	


	CREATE TABLE  #RES0_PERC (ID INT , PERC_TAX INT, COUNT_FIZL INT, SUMMA_INC NUMERIC(18,2), SUMMA_DED NUMERIC(18,2)  ,ssv NUMERIC(18,2), siv NUMERIC(18,2), osd NUMERIC(18,2), sdo NUMERIC(18,2), nalogn NUMERIC(18,2), nalogu NUMERIC(18,2), nalogs NUMERIC(18,2), S_5_6 NUMERIC(18,2), S_5_7 NUMERIC(18,2), dolg_np NUMERIC(18,2),dolg_na NUMERIC(18,2)  )
	INSERT INTO  #RES0_PERC(ID, PERC_TAX,COUNT_FIZL,SUMMA_INC, SUMMA_DED, ssv, siv, osd, sdo, nalogn, nalogu, nalogs, S_5_6, S_5_7, dolg_np,dolg_na)
	SELECT ID = 1 , 
		   PERC_TAX = 13,
		   ISNULL(COUNT(LINK_FACE),NULL),
		   SUMMA_INC = NULL,
		   SUMMA_DED = NULL,
		   ISNULL(SUM(ssv),NULL), 
		   ISNULL(SUM(siv),NULL), 
		   osd = ISNULL(SUM(osd13),NULL), 
		   sdo = ISNULL(SUM(sdo13),NULL), 
		   nalogn = ISNULL(SUM(nalogn13),NULL), 
		   nalogu = ISNULL(SUM(nalogu13),NULL), 
		   nalogs = ISNULL(SUM(nalog13s),NULL), 
		  ISNULL( SUM(S_5_6),NULL) , 
		   ISNULL(SUM(S_5_7),NULL) , 
		   ISNULL(SUM(dolg_np),NULL),
		   ISNULL(SUM(dolg_na),NULL)
	FROM #RES0  r
	WHERE isnull(osd13,0) <> 0
	UNION ALL 
		SELECT ID = 2 , 
		   PERC_TAX = 30,
		    ISNULL(COUNT(LINK_FACE),NULL),
		   SUMMA_INC = NULL,
		   SUMMA_DED = NULL,
		    ISNULL(SUM(ssv),NULL), 
		    ISNULL(SUM(siv),NULL), 
		   osd =  ISNULL(SUM(osd30),NULL), 
		   sdo =  ISNULL(SUM(sdo30),NULL), 
		   nalogn =  ISNULL(SUM(nalogn30),NULL), 
		   nalogu =  ISNULL(SUM(nalogu30),NULL), 
		   nalogs =  ISNULL(SUM(nalog30s),NULL), 
		    ISNULL(SUM(S_5_6),NULL) , 
		    ISNULL(SUM(S_5_7),NULL) , 
		    ISNULL(SUM(dolg_np),NULL),
		    ISNULL(SUM(dolg_na),NULL)
	FROM #RES0  r
	WHERE isnull(osd30,0) <> 0	
	UNION ALL 
		SELECT ID = 3 , 
		   PERC_TAX = 35,
		   ISNULL(COUNT(LINK_FACE),NULL),
		   SUMMA_INC = NULL,
		   SUMMA_DED = NULL,
		   ISNULL(SUM(ssv),NULL), 
		   ISNULL(SUM(siv),NULL), 
		   osd = ISNULL(SUM(osd35),NULL), 
		   sdo = ISNULL(SUM(sdo35),NULL), 
		   nalogn = ISNULL(SUM(nalogn35),NULL), 
		   nalogu = ISNULL(SUM(nalogu35),NULL), 
		   nalogs = ISNULL(SUM(nalog35s),NULL), 
		   ISNULL(SUM(S_5_6),NULL) , 
		   ISNULL(SUM(S_5_7),NULL) , 
		   ISNULL(SUM(dolg_np),NULL),
		   ISNULL(SUM(dolg_na),NULL)
	FROM #RES0  r
	WHERE isnull(osd35,0) <> 0	
	
	update  P
	SET   SUMMA_INC = RO.SUMMA_INC ,
		SUMMA_DED = RO.SUMMA_DED
	FROM #RES0_PERC P 
	INNER JOIN #RES_OUT_MAIN RO ON RO.PERC_TAX = P.PERC_TAX 

--SELECT * FROM #RES0_PERC	
	
CREATE TABLE #RES2(CODE_STR VARCHAR(10), COL3 NUMERIC(20,2))

	
INSERT INTO #RES2 SELECT '010', ISNULL(PERC_TAX,13) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '020', isnull(OSD,0) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '025', 0 FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '030', isnull(ssv,0)+isnull(siv,0)+isnull(SUMMA_DED,0) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '040', isnull(nalogn,0) FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '045', 0 FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '050', 0 FROM #RES0_PERC WHERE  ID = 1 
INSERT INTO #RES2 SELECT '1010',ISNULL(PERC_TAX,30) FROM #RES0_PERC WHERE  ID = 2
INSERT INTO #RES2 SELECT '1020', isnull(OSD,0) FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1025', 0 FROM #RES0_PERC WHERE  ID = 2
INSERT INTO #RES2 SELECT '1030', isnull(ssv,0)+isnull(siv,0)+isnull(SUMMA_DED,0) FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1040', isnull(nalogn,0) FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1045', 0 FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '1050', 0 FROM #RES0_PERC WHERE  ID = 2 
INSERT INTO #RES2 SELECT '2010', ISNULL(PERC_TAX,35) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2020', isnull(OSD,0) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2025', 0 FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2030', isnull(ssv,0)+isnull(siv,0)+isnull(SUMMA_DED,0) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2040', isnull(nalogn,0) FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2045', 0 FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '2050', 0 FROM #RES0_PERC WHERE  ID = 3 
INSERT INTO #RES2 SELECT '3060', SUM(isnull(COUNT_FIZL,0)) FROM #RES0_PERC   
INSERT INTO #RES2 SELECT '3070', SUM(isnull(nalogu,0)) FROM #RES0_PERC   
INSERT INTO #RES2 SELECT '3080', SUM(isnull(dolg_np,0)) FROM #RES0_PERC  
INSERT INTO #RES2 SELECT '3090', SUM(isnull(dolg_na,0)) FROM #RES0_PERC 

SELECT * FROM #RES2
/* Завершаем - списываем значения во временную таблицу */
DECLARE @Table_Razd1 VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @Table_Razd1 OUTPUT
EXEC ('select * INTO ' + @Table_Razd1 + ' from #RES2 order by code_str')
EXEC dbo.BufferPush -116, @Table_Razd1

	-----------------------------------------------------
	---------------------------------------------------

	---
	--SELECT *, CAST(  (CAST (DOCCOUNT AS INT) - @varKSCNT) AS VARCHAR(254) ) AS DOCCOUNT2 FROM #DEP 
	---	

/*	UPDATE L SET
		NUMBER = O.NOM_SPR
	FROM 
		#LOG L
		INNER JOIN #RES0 R ON L.LINK = R.LINK_FACE
		INNER JOIN #ORDERS O ON O.ID = R.ID
	
	SELECT * FROM #LOG ORDER BY LINK, ERR
*/	---
--	EXEC dbo.BufferClear

	DROP TABLE #FACES
	DROP TABLE #S_J_C_SHORT
	DROP TABLE #S_J_C_SHORT_RES
/*	DROP TABLE #E_SUBDIV
	DROP TABLE #S_OBOSOB
	DROP TABLE #P_OBOSOB	
	DROP TABLE #LOG	
*/	DROP TABLE #RES0	
	DROP TABLE #ORDERS				

END











GO


GRANT EXECUTE ON dbo.[RSA_6NDFL_01012016_PREPARE] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SZVM_EXPORT_v2_40]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SZVM_EXPORT_v2_40]

GO

/*EXEC dbo.BK_SELECT_EXPORT_FORMAT 2486*/
/*exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451*/
CREATE      PROCEDURE [dbo].SA_SZVM_EXPORT_v2_40 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT  ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))


INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------


DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT,
		@Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = Begin_Date,
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS
WHERE LINK_SAVED_FORM = @link


DECLARE
	@first_month_of_quarter TINYINT,
	@second_month_of_quarter TINYINT,
	@third_month_of_quarter TINYINT

IF @Period_Number = 1
	SELECT @first_month_of_quarter = 1, @second_month_of_quarter = 2, @third_month_of_quarter = 3
IF @Period_Number = 2
	SELECT @first_month_of_quarter = 4, @second_month_of_quarter = 5, @third_month_of_quarter = 6
IF @Period_Number = 3
	SELECT @first_month_of_quarter = 7, @second_month_of_quarter = 8, @third_month_of_quarter = 9
IF @Period_Number = 4
	SELECT @first_month_of_quarter = 10, @second_month_of_quarter = 11, @third_month_of_quarter = 12

SELECT  @first_month_of_quarter = ISNULL(@first_month_of_quarter,1), @second_month_of_quarter = ISNULL(@second_month_of_quarter,2), @third_month_of_quarter = ISNULL(@third_month_of_quarter,3)


SELECT top 1
	DD1.OKPO AS OKPO1,
	DD1.INN AS INN1, DD1.KPP AS KPP1,
	FULL_NAME = UPPER(DD1.FULL_NAME),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	DD1.OGRN AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE  ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	CHIEF.FM as CHIEF_FM,
	CHIEF.IM as CHIEF_IM,
	CHIEF.OT as CHIEF_OT,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	DD1.OGRN,
	DD1.OKATO,
	DD1.OKTMO,
	DD1.OKVED,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	PFNUMBER = ltrim(rtrim(DD1.PFNUMBER)),
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TaxType = DD1.FSS_KP_PC1,
	TaxType2 = DD1.FSS_KP_PC2,
	TaxType3 = DD1.FSS_KP_PC3
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP

/*exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451*/

DECLARE @TYPE_FORM VARCHAR(5), @NumDot INT
SELECT @TYPE_FORM = ISNULL(dbo.RN_GET_ATR_VALUE(@LINK, 'RB_VIEW_ATR_TYPE_KORR'),'Исхд')
--SET @NumDot = CASE WHEN ISNUMERIC(@NumDotC) =1 THEN CONVERT(INT,@NumDotC) ELSE 0 END

DECLARE @Cur0 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @Cur CURSOR, @Cur1 CURSOR, @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254)

DECLARE @lcFNAME varchar(254),
		@lcFidNAME VARCHAR(254),
        @GUID UNIQUEIDENTIFIER
SET @GUID = NEWID()


SELECT @lcFNAME ='ПФР_'+ PFNUMBER + '_'+LEFT(REPLACE(PFNUMBER,'-',''),6)+'_СЗВ-М_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_'+ltrim(rtrim(@GUID))+'.XML' FROM #DEP_DATA
SELECT @lcFidNAME ='ПФР_'+ PFNUMBER + '_'+LEFT(REPLACE(PFNUMBER,'-',''),6)+'_СЗВ-М_' + CONVERT(VARCHAR(8),ltrim(rtrim(replace(convert(varchar(10),@modify_date,102),'.',''))))  + '_'+ltrim(rtrim(@GUID))+'' FROM #DEP_DATA

--SELECT convert(varchar(10),@modify_date,104)



INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'UTF-8' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="UTF-8"?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<ЭДПФР xmlns="http://пф.рф/ВС/СЗВ-М/2016-04-01" xmlns:УТ="http://пф.рф/унифицированныеТипы/2014-01-01" xmlns:АФ="http://пф.рф/АФ" xmlns:xs="http://www.w3.org/2001/XMLSchema">'
UNION ALL SELECT @lcFNAME, SPACE(1) + '<СЗВ-М>'



/** Титул **/
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<ТипФормы>1</ТипФормы>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<Страхователь>'

		UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегНомер>'+RTRIM(LTRIM(PFNUMBER))+'</РегНомер>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<НаименованиеКраткое>'+RTRIM(LTRIM(ORGNAME))+'</НаименованиеКраткое>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<ИНН>'+RTRIM(LTRIM(COALESCE(INN1,'')))+'</ИНН>' FROM #DEP_DATA
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<КПП>'+RTRIM(LTRIM(KPP1))+'</КПП>' FROM #DEP_DATA
	UNION ALL SELECT @lcFNAME, SPACE(2) + '</Страхователь>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '<ОтчетныйПериод>'
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<Месяц>'+RTRIM(LTRIM(CONVERT(char(2),month(@End_Date))))+'</Месяц>' 
		UNION ALL SELECT @lcFNAME, SPACE(3) + '<КалендарныйГод>'+CONVERT(VARCHAR(4),@YEAR)+'</КалендарныйГод>'
	UNION ALL SELECT @lcFNAME, SPACE(2) + '</ОтчетныйПериод>'
	
--  /** Раздел I **/



CREATE TABLE #TAB_1 (NUM_PP  INT identity(1,1) , FIO VARCHAR(254),FM VARCHAR(100), IM VARCHAR(100) , OT VARCHAR(100),  INSUR_NUM VARCHAR(15), INN VARCHAR(12))

CREATE TABLE #TEMP_1 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TEMP_1  (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, DEFAULT, DEFAULT) T ORDER BY T.COL , t.ROW_CODE


INSERT INTO #TAB_1 ( FIO, FM, IM, OT, INSUR_NUM, INN)
SELECT DISTINCT
	--NUM_PP = (SELECT TOP 1 ROW_CODE FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	FIO = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	FM = (SELECT TOP 1 left(STR_VAL, PATINDEX ( '% %' , STR_VAL)) FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	IM = (SELECT TOP 1 SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,PATINDEX ( '% %' ,SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1)))  FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	OT = (SELECT TOP 1 SUBSTRING(SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1), PATINDEX('% %', SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1)), LEN(SUBSTRING(STR_VAL,PATINDEX ( '% %' ,STR_VAL)+1,LEN(STR_VAL)-PATINDEX ( '% %' ,STR_VAL)+1))) FROM #TEMP_1 T WHERE T.COL = 2 AND T.ROW_CODE = T1.ROW_CODE),
	INSUR_NUM = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 3 AND T.ROW_CODE = T1.ROW_CODE),
	INN = (SELECT TOP 1 STR_VAL FROM #TEMP_1 T WHERE T.COL = 4 AND T.ROW_CODE = T1.ROW_CODE)
FROM
	#TEMP_1 T1 


DECLARE  @DEP_LINK1 INT , @ID1 INT /*Номер записи*/ , @nYear int, @nMonth int
set @ID1 = 0
--SET @nYear = year(@dDate1)
--set @nMonth = month(@dDate1)


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<СписокЗЛ>' 

SET @Cur1 = CURSOR FORWARD_ONLY
FOR select NUM_PP from #TAB_1  ORDER BY NUM_PP
	
OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @ID1

	WHILE (@@fetch_status <> -1)
	BEGIN
		IF (@@fetch_status <> -2)
		BEGIN
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME,SPACE(3) + '<ЗЛ НомерПП="'+RTRIM(LTRIM(STR(@ID1)))+'">' + CHAR(13) + CHAR(10)
								+ SPACE(4) + '<ФИО>' + CHAR(13) + CHAR(10)
									+ SPACE(5) + '<УТ:Фамилия>'+ RTRIM(LTRIM(COALESCE(FM,''))) +'</УТ:Фамилия>' + CHAR(13) + CHAR(10)
									+ SPACE(5) + '<УТ:Имя>'+RTRIM(LTRIM(COALESCE(IM,'')))+'</УТ:Имя>' + CHAR(13) + CHAR(10)
									+ SPACE(5) + '<УТ:Отчество>'+ RTRIM(LTRIM(COALESCE(OT,''))) +'</УТ:Отчество>' + CHAR(13) + CHAR(10)
								+ SPACE(4) + '</ФИО>' + CHAR(13) + CHAR(10)
								+ SPACE(4) + '<СНИЛС>'+ RTRIM(LTRIM(COALESCE(INSUR_NUM,''))) +'</СНИЛС>' + CHAR(13) + CHAR(10)
								+ SPACE(4) + (CASE WHEN COALESCE(INN,'') = '' THEN  '' 
										 WHEN len(COALESCE(INN,'')) <> 12  THEN    '' 
										 else '<ИНН>'+RTRIM(LTRIM(INN))+'</ИНН>' END )	 + CHAR(13) + CHAR(10)
						 + SPACE(3) + '</ЗЛ>'  
				FROM
					#TAB_1
				WHERE 
					NUM_PP = @ID1 
	
		END
		
		FETCH NEXT FROM @Cur1 INTO @ID1



	END

	CLOSE @Cur1
	DEALLOCATE @Cur1
	--exec [dbo].[SA_SZVM_EXPORT_v2_40]       42451

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '</СписокЗЛ>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(2) + '<ДатаЗаполнения>'+CONVERT(VARCHAR(10),ltrim(rtrim(replace(convert(varchar(10),@modify_date,126),'.',''))))+'</ДатаЗаполнения>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(1) + '</СЗВ-М>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '<СлужебнаяИнформация>'
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(2) + '<АФ:GUID>'+RTRIM(LTRIM(COALESCE(@GUID,'')))+'</АФ:GUID>' + CHAR(13) + CHAR(10)
				   + SPACE(2) + '<АФ:ДатаВремя>'+CONVERT(VARCHAR(25),ltrim(rtrim(replace(convert(varchar(19),GETDATE(),126 ),'.','')+'+03:00')))+'</АФ:ДатаВремя>' + CHAR(13) + CHAR(10)
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
	SELECT @lcFNAME, SPACE(1) + '</СлужебнаяИнформация>'

	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(0) + '</ЭДПФР>'



SET NOCOUNT OFF


select * from #OUTPUT order by [ID]











GO


GRANT EXECUTE ON dbo.[SA_SZVM_EXPORT_v2_40] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_BI_DICTION_DIV]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_BI_DICTION_DIV]
GO

CREATE PROCEDURE dbo.SYNCH_BI_DICTION_DIV (@DB NVARCHAR(254), @LINK_JOURN_TAB INT)
AS
BEGIN
/*
Синхронизация Функциональная классификация расходов
*/

DECLARE @varKStrancount	int
		
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, CODE VARCHAR(4), NAME VARCHAR(254), LNAME VARCHAR(1000), NUM INT)

DECLARE @SQL NVARCHAR(4000)

SET @SQL = 
N'	
INSERT INTO #DICT (LINK, CODE, NAME, LNAME, NUM)

SELECT D.LINK, LEFT(D.CODE,4), LEFT(D.SNAME,250), LEFT(D.NAME,1000), NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,4) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.KL_DIVISION D
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(DATEB,''19800101'') AND ISNULL(DATEE,''20490101'')	
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 1
		WHERE
			D.LINK_DEP = D1.LINK)
	AND
	LEFT(D.CODE,4) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Добавление записи в качестве неопределенного бюджета

IF NOT EXISTS (SELECT * FROM dbo.[KL_DIVISION] WHERE [Code]='----') 
	INSERT INTO dbo.[KL_DIVISION](CODE, NAME, LNAME)
	VALUES ('----', 'Неизвестный подраздел', 'Неизвестный подраздел')

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,''),
	A.LNAME = ISNULL(T.LNAME,'')
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.[KL_DIVISION] A ON T.CODE = A.CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')
	OR
	A.LNAME <> ISNULL(T.LNAME,'')	

INSERT INTO dbo.[KL_DIVISION] (CODE, NAME, LNAME) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.CODE,
	ISNULL(T.NAME,''),
	ISNULL(T.LNAME,'')
FROM
	#DICT T
WHERE
	NOT EXISTS (SELECT * FROM dbo.[KL_DIVISION] A WHERE A.CODE = T.CODE)

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN

END

GO


GRANT EXECUTE ON dbo.[SYNCH_BI_DICTION_DIV] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[script]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[script]

GO

CREATE PROCEDURE dbo.script ( @type varchar(1) = NULL, @obj_name varchar(254) = null, @col_name varchar(254) = null, @isNewCol tinyint = 0 )
--скриптование процедур, вьюх и функций по линку или наименованию
AS

SET NOCOUNT ON

IF @type IS NULL OR @obj_name IS NULL
BEGIN
	Print 'Скриптование всего:'
	Print 'script {тип}, {код (наименование) объекта} [,наименование колонки] [,0|1 - добавление (изменение) колонки]'
	Print '=========================================================================================================='
	Print 'O - объект S_OBJETCS'
	Print 'R - объект OBJETC_VAR (отчет)'
	Print 'N - объект S_NAVIGATOR'
	Print 'T - Заскриптовать содержимое таблицы'
	Print 'P - Заскриптовать доступ к объекту S_OBJETCS'
	Print 'X - Заскриптовать создание объекта базы (структура таблицы, вьюхи, процедуры, функции, триггеры, контсрейнты)'
END

Set @type = LTRIM(RTRIM(@type))
Set @obj_name = LTRIM(RTRIM(@obj_name))
Set @col_name = LTRIM(RTRIM(@col_name))

IF @type = 'O'
	EXEC DBO.SCRIPTSOBJ @obj_name

IF @type = 'T'
	EXEC dbo.scriptTable @obj_name, @col_name

IF @type = 'R'
	EXEC dbo.scriptObjectVar @obj_name

IF @type = 'N'
	EXEC dbo.ScriptNavigatorObj @obj_name

IF @type = 'P'
	EXEC dbo.SCRIPTSOBJPERM @obj_name

IF @type = 'X'
	EXEC dbo.scriptsysobj @obj_name, @col_name, @isNewCol


SET NOCOUNT OFF

RETURN 0




GO


GRANT EXECUTE ON dbo.[script] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_BI_DICTION_INCOME]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_BI_DICTION_INCOME]
GO

CREATE PROCEDURE dbo.SYNCH_BI_DICTION_INCOME (@DB NVARCHAR(250), @LINK_JOURN_TAB INT)
AS
BEGIN
/*
Синхронизация Классификатор доходов
*/

DECLARE @varKStrancount	int
		
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, CODE VARCHAR(10), NAME VARCHAR(250), LNAME VARCHAR(1000), NUM INT)

DECLARE @SQL NVARCHAR(4000)

SET @SQL = 
N'	
INSERT INTO #DICT (LINK, CODE, NAME, LNAME, NUM)

SELECT D.LINK, LEFT(D.CODE,10), LEFT(D.SNAME,250), LEFT(D.NAME,1000), NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,10) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.KL_KD D
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(DATEB,''19800101'') AND ISNULL(DATEE,''20490101'')	
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 1
		WHERE
			D.LINK_DEP = D1.LINK)
	AND
	LEFT(D.CODE,10) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Добавление записи в качестве неопределенного бюджета

IF NOT EXISTS (SELECT * FROM dbo.KL_KD WHERE [Code]= REPLICATE('-',10)) 
	INSERT INTO dbo.KL_KD(CODE, NAME, LNAME)
	SELECT REPLICATE('-',10), 'Неизвестный подраздел', 'Неизвестный подраздел'

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,''),
	A.LNAME = ISNULL(T.LNAME,'')
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.KL_KD A ON T.CODE = A.CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')
	OR
	A.LNAME <> ISNULL(T.LNAME,'')	

INSERT INTO dbo.KL_KD (CODE, NAME, LNAME) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.CODE,
	ISNULL(T.NAME,''),
	ISNULL(T.LNAME,'')
FROM
	#DICT T
WHERE
	NOT EXISTS (SELECT * FROM dbo.KL_KD A WHERE A.CODE = T.CODE)

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN

END

GO


GRANT EXECUTE ON dbo.[SYNCH_BI_DICTION_INCOME] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_SMETA_OPTION]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_SMETA_OPTION]
GO

CREATE PROCEDURE [dbo].SYNCH_SMETA_OPTION
	@VAL TINYINT OUTPUT,
	@OPT_CODE VARCHAR(254)
AS
BEGIN
	
	SET @VAL = (
		SELECT TOP 1 [Active] 
		FROM dbo.[SYNCH_SMETA_SMART_OPT] 
		WHERE [opt_code] = @OPT_CODE
		AND
		EXISTS (SELECT * FROM dbo.S_OPTIONS WHERE [SID] IS NULL AND ISNULL(VALUE,'') <> ''
						AND [OBJECT] = (SELECT LINK FROM dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_SERVER_NAME'))
		AND
		EXISTS (SELECT * FROM dbo.S_OPTIONS WHERE [SID] IS NULL AND ISNULL(VALUE,'') <> ''
						AND [OBJECT] = (SELECT LINK FROM dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_BASE_NAME'))
		AND
		EXISTS (SELECT * FROM dbo.S_OPTIONS WHERE [SID] IS NULL AND ISNULL(VALUE,'') <> ''
						AND [OBJECT] = (SELECT LINK FROM dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_USER_NAME'))																
	)

END

GO

GRANT EXECUTE ON dbo.[SYNCH_SMETA_OPTION] TO PUBLIC
GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_VIEW_FORM14_NASTR_2015]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RO_VIEW_FORM14_NASTR_2015]

GO



/*
c Кейсистемс (Keysystems), 2005
*/
CREATE               PROCEDURE dbo.RO_VIEW_FORM14_NASTR_2015
  @varKSiLSF    int,
  @varKScShifr    varchar(50) = NULL,
  @varKSNotPrintNull  bit = 0, -- если 0, то пустые не выводить
  @varKSPrint   tinyint = 0, -- если 1, то данные для печати в старом генераторе (на всякий случай), 2 - новый генератор
  @tmode INT = 0 -- 0 стандартный, 1 - краткий вариант (без подитогов)
AS
declare @LinkForm int, @kbk varchar(50), @shifr varchar(10),@print INT, @code_320 CHAR(3)
declare @t_Form14 table (Shifr varchar(10), KBK varchar(50), [Table] char(2), Kods varchar(50), Name varchar(250), GR3 numeric(20,2), GR3_Name varchar(250), GR3_Formula varchar(250), GR4 numeric(20,2), GR4_Name varchar(250), GR4_Formula varchar(250), GR5 numeric(20,2), GR5_Name varchar(250), GR5_Formula varchar(250), 
/*GR6 numeric(20,2), GR6_Name varchar(250), GR6_Formula varchar(250), 
GR7 numeric(20,2), GR7_Name varchar(250), GR7_Formula varchar(250),
GR8 numeric(20,2), GR8_Name varchar(250), GR8_Formula varchar(250), 
GR9 numeric(20,2), GR9_Name varchar(250), GR9_Formula varchar(250),*/
Table_Name tinyint default(0), Link_Table int,
  GR3_LEN int,
  GR4_LEN int,
  GR5_LEN INT/*,
  GR6_LEN int,
  GR7_LEN int,
  GR8_LEN int,
  GR9_LEN int*/)

IF (SELECT RF.Code FROM dbo.[REPORT_FORMS] rf JOIN dbo.[REPORT_SAVED_FORMS] rsf ON rsf.[Link_Form] = rf.[Link_Form] WHERE rsf.[Link_Saved_Form] = @varKSiLSF) LIKE '0503074%'
   SET  @code_320 = '320'
ELSE
   SET  @code_320 = '300'   

if @varKSPrint = 0
begin
  select 0 as checked, 0 as UPD, 0 as del, * from dbo.RO_FORM14_2015(@varKSiLSF, @varKScShifr, @varKSNotPrintNull)   order by shifr, [table], kods
	return 0
END

------------------- ПЕЧАТЬ ----------------------
IF EXISTS(SELECT * FROM dbo.[BufferGetTableByID]('PRINT_14'))
begin 
	set @tmode = CASE WHEN (SELECT top 1 link FROM dbo.[BufferGetTableByID]('PRINT_14')) = 0 THEN 1 ELSE 0 END
end   


IF @tmode = 0
  insert @t_Form14
  select * 		
  from dbo.RO_FORM14_2015(@varKSiLSF, @varKScShifr, 1) f
ELSE
  insert @t_Form14
  SELECT * 
  from dbo.RO_FORM14_2015(@varKSiLSF, @varKScShifr, 1)
  WHERE  SHIFR IN (SELECT SHIFR FROM REPORT_FORM14_RAZD_NAME WHERE CHILDRENS = 1 OR SHIFR IN ('00001', '00322'))


--  select   @varKSiLSF, @varKScShifr, @varKSNotPrintNull

  delete @t_form14
  where Table_Name = 1

  -- для печати
  declare @t_form14_print table (shifr varchar(50), kbk1 varchar(150), Name varchar(250), kods1 varchar(150), [Table] char(2), Table_Name varchar(100), GR3_1 numeric(20,2), GR4_1 numeric(20,2), GR5_1 numeric(20,2)/*, GR6_1 numeric(20,2), GR7_1 numeric(20,2), GR8_1 numeric(20,2), GR9_1 numeric(20,2)*/, kbk2 varchar(150) , name_str2 varchar(254), GR3_2 numeric(20,2), GR4_2 numeric(20,2), GR5_2 numeric(20,2)/*, GR6_2 numeric(20,2), GR7_2 numeric(20,2), GR8_2 numeric(20,2), GR9_2 numeric(20,2)*/, kbk3 varchar(50), name_str3 varchar(254), GR3_3 numeric(20,2), GR4_3 numeric(20,2), GR5_3 numeric(20,2)/*, GR6_3 numeric(20,2), GR7_3 numeric(20,2), GR8_3 numeric(20,2), GR9_3 numeric(20,2)*/, kbk4 varchar(150), name_str4 varchar(254), GR3_4 numeric(20,2), GR4_4 numeric(20,2), GR5_4 numeric(20,2), [str] varchar(20))
  declare @t_form14_print_vb table (shifr varchar(50), kbk1 varchar(150), Name varchar(250), kods1 varchar(150), [Table] char(2), Table_Name varchar(100), GR3_1 numeric(20,2), GR4_1 numeric(20,2), GR5_1 numeric(20,2)/*, GR6_1 numeric(20,2), GR7_1 numeric(20,2), GR8_1 numeric(20,2), GR9_1 numeric(20,2)*/, kbk2 varchar(150) , name_str2 varchar(254), GR3_2 numeric(20,2), GR4_2 numeric(20,2), GR5_2 numeric(20,2)/*, GR6_2 numeric(20,2), GR7_2 numeric(20,2), GR8_2 numeric(20,2), GR9_2 numeric(20,2)*/, kbk3 varchar(50), name_str3 varchar(254), GR3_3 numeric(20,2), GR4_3 numeric(20,2), GR5_3 numeric(20,2)/*, GR6_3 numeric(20,2), GR7_3 numeric(20,2), GR8_3 numeric(20,2), GR9_3 numeric(20,2)*/, kbk4 varchar(150), name_str4 varchar(254), GR3_4 numeric(20,2), GR4_4 numeric(20,2), GR5_4 numeric(20,2), [str] varchar(20))

  delete @t_form14 where shifr = '00000'

  update @t_form14
  set kbk = ''
  where kbk is null

  declare @i int,@name_14 varchar(250)
  set @i = 0


  while exists (select * from @t_form14 where kbk not like '9000%')
  begin
    select top 1 @kbk = kbk, @shifr = shifr from @t_form14 order by kbk,shifr -- desc
    if @i % 4 = 0
      insert @t_form14_print (shifr, kbk1, Name, kods1, [Table], GR3_1, GR4_1, GR5_1/*, GR6_1, GR7_1, GR8_1, GR9_1*/, kbk2, name_str2, GR3_2, GR4_2, GR5_2/*, GR6_2, GR7_2, GR8_2, GR9_2*/, kbk3, name_str3, GR3_3, GR4_3, GR5_3/*, GR6_3, GR7_3, GR8_3, GR9_3*/, kbk4, name_str4, GR3_4, GR4_4, GR5_4)
        select @shifr, @kbk+'-'+rtrim(@shifr), Name, kods, [Table], GR3, GR4, GR5/*, GR6, GR7, GR8, GR9*/, '','', 0, 0, 0/*, 0, 0, 0, 0*/, '','', 0, 0, 0/*, 0, 0, 0, 0*/, '','', 0, 0, 0
        from @t_form14
        where shifr = @shifr

    if @i % 4 = 1
      update @t_form14_print
        set kbk2 = @kbk+'-'+rtrim(@shifr), name_str2= (SELECT top 1 NAME_str FROM REPORT_FORM14_RAZD_NAME WHERE shifr = a.shifr AND razd_code = LEFT(a.kbk,4)),
        GR3_2 = GR3, GR4_2 = GR4, GR5_2 = GR5/*, GR6_2 = GR6, GR7_2 = GR7, GR8_2 = GR8, GR9_2 = GR9*/
        from @t_form14 A
        where kods = kods1 and A.shifr = @shifr and kbk2 = ''
    
    if @i % 4 = 2
      update @t_form14_print
        set kbk3 = @kbk+'-'+rtrim(@shifr), name_str3 = (SELECT top 1 NAME_str FROM REPORT_FORM14_RAZD_NAME WHERE shifr =a.shifr AND razd_code = LEFT(a.kbk,4)), 
        GR3_3 = GR3, GR4_3 = GR4, GR5_3 = GR5/*, GR6_3 = GR6, GR7_3 = GR7, GR8_3 = GR8, GR9_3 = GR9*/
        from @t_form14 A
        where kods = kods1 and A.shifr = @shifr and kbk3 = ''
  
    if @i % 4 = 3
     begin
      update @t_form14_print
        set kbk4 = @kbk+'-'+rtrim(@shifr), name_str2 = (SELECT top 1 NAME_str FROM REPORT_FORM14_RAZD_NAME WHERE shifr = a.shifr AND razd_code = LEFT(a.kbk,4)), 
        GR3_4 = GR3, GR4_4 = GR4, GR5_4 = GR5
        from @t_form14 A
        where kods = kods1 and A.shifr = @shifr and kbk4 = ''
--        select  @shifr,@kbk
--        select * from @t_form14_print
     end
    set @i = @i + 1

    delete @t_form14 where shifr = @shifr
  end
--внебюджет
  set @i = 0

  while exists (select * from @t_form14 where kbk like '9000%')
  begin
    select top 1 @kbk = kbk, @shifr = shifr from @t_form14 order by kbk,shifr -- desc

    if @i % 4 = 0
      insert @t_form14_print_vb (shifr, kbk1, NAME, kods1, [Table], GR3_1, GR4_1, GR5_1/*, GR6_1, GR7_1, GR8_1, GR9_1*/, kbk2, name_str2, GR3_2, GR4_2, GR5_2/*, GR6_2, GR7_2, GR8_2, GR9_2*/, kbk3, name_str3, GR3_3, GR4_3, GR5_3/*, GR6_3, GR7_3, GR8_3, GR9_3*/, kbk4, name_str4, GR3_4, GR4_4, GR5_4)
        select @shifr, @kbk+'-'+rtrim(@shifr), Name, kods, [Table], GR3, GR4, GR5/*, GR6, GR7, GR8, GR9*/, '','', 0, 0, 0/*, 0, 0, 0, 0*/, '','', 0, 0, 0/*, 0, 0, 0, 0*/, '','', 0, 0, 0
        from @t_form14
        where shifr = @shifr

    if @i % 4 = 1
      update @t_form14_print_vb
        set kbk2 = @kbk+'-'+rtrim(@shifr), name_str2 = (SELECT top 1 NAME_str FROM REPORT_FORM14_RAZD_NAME WHERE shifr = a.shifr AND razd_code = LEFT(a.kbk,4)), 
        GR3_2 = GR3, GR4_2 = GR4, GR5_2 = GR5/*, GR6_2 = GR6, GR7_2 = GR7, GR8_2 = GR8, GR9_2 = GR9*/
        from @t_form14 A
        where kods = kods1 and A.shifr = @shifr and kbk2 = ''
    
    if @i % 4 = 2
      update @t_form14_print_vb
        set kbk3 = @kbk+'-'+rtrim(@shifr), name_str3 = (SELECT top 1 NAME_str FROM REPORT_FORM14_RAZD_NAME WHERE shifr = a.shifr AND razd_code = LEFT(a.kbk,4)), 
        GR3_3 = GR3, GR4_3 = GR4, GR5_3 = GR5/*, GR6_3 = GR6, GR7_3 = GR7, GR8_3 = GR8, GR9_3 = GR9*/
        from @t_form14 A
        where kods = kods1 and A.shifr = @shifr and kbk3 = ''
  
    if @i % 4 = 3
     begin
      update @t_form14_print_vb
        set kbk4 = @kbk+'-'+rtrim(@shifr), name_str4 = (SELECT top 1 NAME_str FROM REPORT_FORM14_RAZD_NAME WHERE shifr = a.shifr AND razd_code = LEFT(a.kbk,4)), 
        GR3_4 = GR3, GR4_4 = GR4, GR5_4 = GR5
        from @t_form14 A
        where kods = kods1 and A.shifr = @shifr and kbk4 = ''
--        select  @shifr,@kbk
--        select * from @t_form14_print
     end
    set @i = @i + 1
    delete @t_form14 where shifr = @shifr
  end

declare  @code_form varchar(20)
  select @code_form=code from report_forms where link_form in (select link_form from report_saved_forms where link_saved_form=@varKSiLSF)

--чтобы печаталось все
IF @code_form not like '%mo%'
begin
IF @varKSNotPrintNull=990
	begin
		delete @t_form14_print where gr3_1=0 and gr4_1=0 and gr5_1=0 /*and gr6_1=0 and gr7_1=0 and gr8_1=0 and gr9_1=0 */and gr3_2=0 and gr4_2=0 and gr5_2=0  /*and gr6_2=0 and gr7_2=0 and gr8_2=0 and gr9_2=0*/ and gr3_3=0 and gr4_3=0 and gr5_3=0 /*and gr6_3=0 and gr7_3=0 and gr8_3=0 and gr9_3=0*/ and gr3_4=0 and gr4_4=0 and gr5_4=0
		delete @t_form14_print_vb where gr3_1=0 and gr4_1=0 and gr5_1=0 /*and gr6_1=0 and gr7_1=0 and gr8_1=0 and gr9_1=0*/ and gr3_2=0 and gr4_2=0 and gr5_2=0  /*and gr6_2=0 and gr7_2=0 and gr8_2=0 and gr9_2=0*/ and gr3_3=0 and gr4_3=0 and gr5_3=0 /*and gr6_3=0 and gr7_3=0 and gr8_3=0 and gr9_3=0*/ and gr3_4=0 and gr4_4=0 and gr5_4=0

		insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select '010',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print) A  where not exists( select * from @t_form14_print B where  kods1 < '200' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 
			
		insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select '200',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print) A  where not exists( select * from @t_form14_print B where  kods1 >= '200' and kods1 < @code_320 and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 

		insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select @code_320,kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print) A  where not exists( select * from @t_form14_print B where  kods1 >= @code_320 and kods1 <= '481' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 

		/*insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select '510',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print) A  where not exists( select * from @t_form14_print B where  kods1 >= '510' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 
		*/
		insert @t_form14_print_vb (kods1,kbk1, kbk2, kbk3, kbk4)
		select '010',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print_vb) A  where not exists( select * from @t_form14_print_vb B where  kods1 < '200' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 
			
		insert @t_form14_print_vb (kods1,kbk1, kbk2, kbk3, kbk4)
		select '200',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print_vb) A  where not exists( select * from @t_form14_print_vb B where  kods1 >= '200' and kods1 < @code_320 and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 

		insert @t_form14_print_vb (kods1,kbk1, kbk2, kbk3, kbk4)
		select @code_320,kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print_vb) A  where not exists( select * from @t_form14_print_vb B where  kods1 >= @code_320 and kods1 <= '481' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 

		/*insert @t_form14_print_vb (kods1,kbk1, kbk2, kbk3, kbk4)
		select '510',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print_vb) A  where not exists( select * from @t_form14_print_vb B where  kods1 >= '510' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 
	*/
	end


  if not exists(select * from @t_form14_print) and not exists(select * from @t_form14_print_vb)
		insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select '010','','','',''
		union 
		select '200','','','',''
		union 
		select @code_320,'','','',''

	
		
end
else
begin
IF @varKSNotPrintNull=990
	begin
		delete @t_form14_print where gr3_1=0 and gr4_1=0 and gr5_1=0 /*and gr6_1=0 and gr7_1=0 and gr8_1=0 and gr9_1=0*/ and gr3_2=0 and gr4_2=0 and gr5_2=0  /*and gr6_2=0 and gr7_2=0 and gr8_2=0 and gr9_2=0*/ and gr3_3=0 and gr4_3=0 and gr5_3=0 /*and gr6_3=0 and gr7_3=0 and gr8_3=0 and gr9_3=0 */and gr3_4=0 and gr4_4=0 and gr5_4=0
		delete @t_form14_print_vb where gr3_1=0 and gr4_1=0 and gr5_1=0 /*and gr6_1=0 and gr7_1=0 and gr8_1=0 and gr9_1=0*/ and gr3_2=0 and gr4_2=0 and gr5_2=0  /*and gr6_2=0 and gr7_2=0 and gr8_2=0 and gr9_2=0*/ and gr3_3=0 and gr4_3=0 and gr5_3=0 /*and gr6_3=0 and gr7_3=0 and gr8_3=0 and gr9_3=0 */and gr3_4=0 and gr4_4=0 and gr5_4=0

		insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select '010',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print) A  where not exists( select * from @t_form14_print B where  kods1 <= '080' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 
			
		insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select '200',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print) A  where not exists( select * from @t_form14_print B where  kods1 >= '200' and kods1 <= '290' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 

		insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select '300',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print) A  where not exists( select * from @t_form14_print B where  kods1 >= '300' AND kods1 <= '481' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 

	/*insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select '510',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print) A  where not exists( select * from @t_form14_print B where  kods1 >= '510' and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 
*/
	
		insert @t_form14_print_vb (kods1,kbk1, kbk2, kbk3, kbk4)
		select '010',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print_vb) A  where not exists( select * from @t_form14_print_vb B where  kods1 <= '080' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 
			
		insert @t_form14_print_vb (kods1,kbk1, kbk2, kbk3, kbk4)
		select '200',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print_vb) A  where not exists( select * from @t_form14_print_vb B where  kods1 >= '200' and kods1 <= '290' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 

		insert @t_form14_print_vb (kods1,kbk1, kbk2, kbk3, kbk4)
		select '300',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print_vb) A  where not exists( select * from @t_form14_print_vb B where  kods1 >= '300' AND kods1 <= '481' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 

		/*insert @t_form14_print_vb (kods1,kbk1, kbk2, kbk3, kbk4)
		select '410',kbk1,kbk2,kbk3,kbk4 
		from (select distinct kbk1,kbk2,kbk3,kbk4 from @t_form14_print_vb) A  where not exists( select * from @t_form14_print_vb B where  kods1 >= '510' and A.kbk1=B.kbk1 and A.kbk2=B.kbk2 and A.kbk3=B.kbk3 and A.kbk4=B.kbk4) 
		*/
	end
end



  if not exists(select * from @t_form14_print) and not exists(select * from @t_form14_print_vb)
		insert @t_form14_print (kods1,kbk1, kbk2, kbk3, kbk4)
		select '010','','','',''
		union 
		select '200','','','',''
		union 
		select '300','','','',''
		union 
		select '410','','','',''

declare @t_Name_List table (kbk varchar(50), orders int IDENTITY(1,1))
declare @str_vb int

if @varKSPrint = 2
begin
	update @t_form14_print
	set [Table] = '03'
	where [Table] = '04'
	update @t_form14_print_vb
	set [Table] = '03'
	where [Table] = '04'
	
	/*update @t_form14_print
	set [Table] = '04'
	where [Table] = '05'
	update @t_form14_print
	set [Table] = '04'
	where [Table] = '06'
*/
	insert @t_Name_List (kbk)
	select distinct kbk1
	from @t_form14_print

	set  @str_vb = isnull((select max(orders) from @t_Name_List),0)

	insert @t_Name_List (kbk)
	select distinct kbk1
	from @t_form14_print_vb


	update @t_form14_print
	set Table_Name = case [Table] when '01' then 'Расходы' when '02' then 'Численность' when '03' then 'Справка' /*when '04' then 'Сведения'*/ end + case N.orders when 1 then '' else ' (' + LTRIM(RTRIM(STR(N.orders))) + ')' end,
		[str]=case [Table] when '01' then (case N.orders when 1 then '' else 'Форма 14,стр.'+LTRIM(RTRIM(STR((N.orders-1)*3+1))) end) when '02' then 'Форма 14,стр.'+LTRIM(RTRIM(STR((N.orders-1)*3+2))) when '03' then 'Форма 14,стр.'+LTRIM(RTRIM(STR(N.orders*3))) /*when '04' then 'Форма 14,стр.'+LTRIM(RTRIM(STR(N.orders*3+1))) */ end
	from @t_form14_print P left join @t_Name_List N on P.kbk1 = N.kbk

	update @t_form14_print_vb
	set Table_Name = case [Table] when '01' then 'Расходы' when '02' then 'Численность' when '03' then 'Справка' /*when '04' then 'Сведения'*/ end + case N.orders when 1 then '' else ' (' + LTRIM(RTRIM(STR(N.orders))) + ')' end,
		[str] = case [Table] when '01' then (case N.orders - @str_vb when 1 then '' else 'Форма 14,стр.'+LTRIM(RTRIM(STR((N.orders-@str_vb-1)*3+1))) end) when '02' then 'Форма 14,стр.'+LTRIM(RTRIM(STR((N.orders-@str_vb-1)*3+2))) when '03' then 'Форма 14,стр.'+LTRIM(RTRIM(STR((N.orders-@str_vb)*3)))  /*when '04' then 'Форма 14,стр.'+LTRIM(RTRIM(STR((N.orders-@str_vb)*3+1)))*/ end
	from @t_form14_print_vb P left join @t_Name_List N on P.kbk1 = N.kbk



end

  select [Tabl_Prn] = kbk1 + '|' + kbk2 + '#' + kbk3 + '/' + kbk4,
[Tabl_Prn1] = kbk1 + '|' + kbk2 + '#' + kbk3 + '/' + kbk4 + '*',
    kods1 as kods, [code] = kbk1 + '|' + kbk2 + '#' + kbk3 + '/' + kbk4 + kods1, 1 as budg,  * 
  from @t_form14_print
  union 
  select [Tabl_Prn] = kbk1 + '|' + kbk2 + '#' + kbk3 + '/' + kbk4,
[Tabl_Prn1] = kbk1 + '|' + kbk2 + '#' + kbk3 + '/' + kbk4 + '*',
    kods1 as kods, [code] = kbk1 + '|' + kbk2 + '#' + kbk3 + '/' + kbk4 + kods1, 0 as budg, * 
  from @t_form14_print_vb








GO


GRANT EXECUTE ON dbo.[RO_VIEW_FORM14_NASTR_2015] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_DOCUMENTS_SALARY]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_DOCUMENTS_SALARY]

GO

CREATE  PROCEDURE [dbo].[SYNCH_DOCUMENTS_SALARY] @DB NVARCHAR(254), @LINK_JOURN_TAB INT
/*
Передача проводок по зарплате в ПК Смета-Смарт
*/
AS
BEGIN

DECLARE @varKStrancount	int
DECLARE @err INT
DECLARE @SQL NVARCHAR(4000)
DECLARE @ERR_MSG VARCHAR(256)
DECLARE @COLLATE VARCHAR(254)


SET @SQL = 
N'	
SET @COLLATE = (SELECT TOP 1 ''COLLATE '' + CAST (SERVERPROPERTY(''Collation'') AS VARCHAR(100)) FROM ' + @DB + 'dbo.DEPARTMENTS_DATE)
'	
EXEC SP_EXECUTESQL @SQL, N'@COLLATE VARCHAR(254) OUTPUT', @COLLATE = @COLLATE OUTPUT

--Период редактирования в смете-смарт
CREATE TABLE #DEPARTMENTS_DATE (
	[INN] varchar(13),
	[KPP] varchar(9),
	[BEGINDATE] datetime,
	[ENDDATE] datetime)

SET @SQL = 
N'	
INSERT INTO #DEPARTMENTS_DATE ([INN],[KPP],[BEGINDATE],[ENDDATE])
SELECT D.INN, D.KPP, DD.[BEGINDATE], DD.[ENDDATE]
FROM 
	' + @DB + 'dbo.DEPARTMENTS_DATE DD
	INNER JOIN ' + @DB + 'dbo.DEPARTMENTS D ON D.LINK = DD.DEP_LINK
WHERE
	ISNULL(D.INN ' + @COLLATE + ','') <> ''''
	AND
	ISNULL(D.KPP' + @COLLATE + ','') <> ''''
'	
EXEC SP_EXECUTESQL @SQL

--ПРОВЕРКА НА ДУБЛИ СРЕДИ УЧРЕЖДЕНИЙ СМЕТЫ-СМАРТ
SET @ERR_MSG = 
	SUBSTRING((
			SELECT ',' + LTRIM(RTRIM(INN)) + '/' + LTRIM(RTRIM(KPP))
				FROM #DEPARTMENTS_DATE
				GROUP BY INN, KPP
				HAVING COUNT(*) > 1
				ORDER BY ',' + LTRIM(RTRIM(INN)) + '/' + LTRIM(RTRIM(KPP))
			FOR XML PATH('')
		), 2, 3000)

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт учреждения с одинаковыми ИНН/КПП: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

------------------
DECLARE @PERIOD DATETIME
SET @PERIOD = 
	(SELECT TOP 1 PERIOD
	FROM 
		[dbo].[SYNCH_SMETA_SMART_JOURN] J
		INNER JOIN [dbo].[SYNCH_SMETA_SMART_TAB] T ON T.[LINK_UP] = J.[LINK]
	WHERE
		T.LINK = @LINK_JOURN_TAB)

---------------------
DECLARE @iOBJECT INT
SET @SQL = 
N'	
SELECT @iOBJECT = LINK FROM ' + @DB + 'dbo.S_OBJECTS so WHERE so.CODE ' + @COLLATE + ' = ''DOC_SALARY''
'	
EXEC SP_EXECUTESQL @SQL, N'@iOBJECT INT OUTPUT', @iOBJECT = @iOBJECT OUTPUT

------------------
DECLARE @LINK_DOCUMENTS_SALARY INT
SET @LINK_DOCUMENTS_SALARY = (SELECT TOP 1 LINK FROM dbo.S_OBJECTS WHERE CODE = 'DOCUMENTS_SALARY')

------------------
CREATE TABLE #DOC (DEP INT, LINK INT, DATE_PROV DATETIME,[GUID] uniqueidentifier)
SET @SQL = 
N'	
INSERT INTO #DOC (DEP, LINK, DATE_PROV,[GUID])
SELECT G.DEP, G.LINK, G.DATE_PROV, G.[GUID]
FROM
	dbo.G_PROV G
WHERE
	G.[OBJECT] = @LINK_DOCUMENTS_SALARY
	AND
	YEAR(G.[DATE_PROV]) = YEAR(@PERIOD)
	AND
	MONTH(G.[DATE_PROV]) = MONTH(@PERIOD)
	AND
	EXISTS (SELECT * FROM dbo.G_PROV1 G1 INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK WHERE G1.LINK_UP = G.LINK)
'	
EXEC SP_EXECUTESQL @SQL, N'@LINK_DOCUMENTS_SALARY INT, @PERIOD DATETIME', @LINK_DOCUMENTS_SALARY=@LINK_DOCUMENTS_SALARY, @PERIOD=@PERIOD


--ПРОВЕРКА НА НАЛИЧИЕ УЧРЕЖДЕНИЙ В СМЕТЕ-СМАРТ
SET @ERR_MSG = NULL
SET @ERR_MSG = 
	SUBSTRING((
				SELECT ',' + LTRIM(RTRIM(D.INN)) + '/' + LTRIM(RTRIM(D.KPP))
				FROM
					dbo.DEPARTMENTS D
					INNER JOIN #DOC G ON D.LINK = G.DEP
				WHERE
					NOT EXISTS (SELECT * FROM #DEPARTMENTS_DATE DD WHERE DD.INN = D.INN AND DD.KPP = D.KPP)
				GROUP BY D.INN, D.KPP
				ORDER BY ',' + LTRIM(RTRIM(D.INN)) + '/' + LTRIM(RTRIM(D.KPP))	
			FOR XML PATH('')
		), 2, 3000)
		
IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт нет учр. ИНН/КПП: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

----
CREATE TABLE #DEPARTMENTS_SMETA_KS (LINK1 INT, LINK2 INT)

SET @SQL = 
N'
INSERT INTO #DEPARTMENTS_SMETA_KS (LINK1, LINK2)
SELECT D1.LINK, D2.LINK
FROM 
	dbo.DEPARTMENTS D1 
	INNER JOIN ' + @DB + 'dbo.DEPARTMENTS D2 ON D1.INN = D2.INN ' + @COLLATE + ' AND D1.KPP = D2.KPP ' + @COLLATE + ' 
WHERE
	(D1.TYPE = 4 OR D1.ZB =1)
	AND
	EXISTS (SELECT * FROM #DOC T WHERE D1.LINK = T.DEP) 
	AND
	EXISTS (SELECT * FROM ' + @DB + 'dbo.DEPARTMENTS_DATE DD2 WHERE DD2.DEP_LINK = D2.LINK) 	
	AND
	EXISTS (SELECT * FROM dbo.DEPARTMENTS_OBJECT DD1 WHERE DD1.DEPARTMENT = D1.LINK) 		
'
EXEC SP_EXECUTESQL @SQL


---Нужно, что бы под указанным логином хотябы раз зашли в смету для инициализации
DECLARE @LOGIN VARCHAR(254)

SET @LOGIN = (SELECT TOP 1 VALUE FROM dbo.S_OPTIONS WHERE [SID] IS NULL AND ISNULL(VALUE,'') <> ''
						AND [OBJECT] = (SELECT LINK FROM dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_USER_NAME'))

SET @SQL = 
N'
SET @RES = 0
IF EXISTS (SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS_OBJECT A 
			INNER JOIN ' + @DB + 'dbo.S_USERS SU ON SU.UID = A.[USER_ID] 
			INNER JOIN ' + @DB + 'dbo.DEPARTMENTS D ON D.LINK = A.DEPARTMENT
			INNER JOIN ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR ON GR.DEP_LINK = D.LINK
			INNER JOIN ' + @DB + 'dbo.DEPARTMENT_GROUPS G ON GR.GROUP_LINK = G.LINK
		WHERE 
			SU.LOGINAME = @LOGIN AND G.[SYS] = 3)	

	SET @RES = 1
'
DECLARE @RES TINYINT
EXEC SP_EXECUTESQL @SQL, N'@RES TINYINT OUTPUT, @LOGIN VARCHAR(254)', @RES = @RES OUTPUT, @LOGIN = @LOGIN

IF @RES = 0
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('Необходимо выполнить тестовый вход в ПК Смета-Смарт под логином "' + @LOGIN + '" для инициализации.',256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END



--Удалить ранее созданные документы по зарплате
SET @SQL = 
N'
CREATE TABLE #CHOICE (LINK INT)

--Какие документы нужно удалить
INSERT INTO #CHOICE (LINK)
SELECT LINK
FROM ' + @DB + 'dbo.G_PROV G
WHERE 
	DEP IN (SELECT T.LINK2 FROM #DOC D INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = D.DEP)
	AND
	(
		[OBJECT] = @iOBJECT AND NOT EXISTS (SELECT * FROM #DOC T WHERE T.[GUID] = G.[GUID])
			OR
		[OBJECT] IS NULL AND EXISTS (SELECT * FROM #DOC T WHERE T.[GUID] = G.[GUID])	
	)
	AND
	(
		YEAR([DATE_PROV]) = YEAR(@PERIOD) AND MONTH([DATE_PROV]) = MONTH(@PERIOD)
		OR --Предполагается, что дата проведения и дата документа всегда одинаковые
		YEAR([DATE]) = YEAR(@PERIOD) AND MONTH([DATE]) = MONTH(@PERIOD)
	)	

--- Удалить БО по устаревшим документам
UPDATE G SET G.DATE_PROV = NULL
FROM ' + @DB + 'dbo.G_PROV G INNER JOIN #CHOICE C ON C.LINK = G.LINK

--- Удалить документы
DELETE G FROM ' + @DB + 'dbo.G_PROV G INNER JOIN #CHOICE C ON C.LINK = G.LINK

--- Исключить добавление существующих документов
DELETE T
FROM 
	#DOC T
WHERE
	 EXISTS (SELECT * FROM ' + @DB + 'dbo.G_PROV G2 WHERE G2.[OBJECT] IS NOT NULL AND G2.[GUID] = T.[GUID])
'
EXEC SP_EXECUTESQL @SQL, N'@iOBJECT INT, @PERIOD DATETIME', @iOBJECT=@iOBJECT, @PERIOD=@PERIOD

--
CREATE TABLE #ACCOUNT (DEP INT, CODE VARCHAR(30), LINK1 INT, LINK2 INT)
INSERT INTO #ACCOUNT (DEP, CODE, LINK1)
SELECT DISTINCT G.DEP, LTRIM(RTRIM(ACCOUNT.CODE)), ACCOUNT
FROM
	#DOC A
	INNER JOIN dbo.G_PROV G ON A.LINK = G.LINK
	INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK
	INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
	INNER JOIN dbo.G_PROV_AP GAP ON GAP.LINK_UP = G2.LINK
	INNER JOIN [dbo].[S_ACCOUNTS] ACCOUNT ON ACCOUNT.LINK = GAP.ACCOUNT

--ПРОВЕРКА НА НЕДОСТАЮЩИЕ СЧЕТА
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#ACCOUNT K
				INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = K.DEP
				INNER JOIN ' + @DB + 'dbo.V_DEP VD ON VD.LINK = T.LINK2
			WHERE
				NOT EXISTS (SELECT * FROM ' + @DB + 'dbo.[S_ACCOUNTS] A WHERE A.LINK_DEP = VD.LINK_CB AND LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE )
			FOR XML PATH('''')
		), 2, 3000)
'	
EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт не найдены счета: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

--ПРОВЕРКА НА ДУБЛИ СЧЕТОВ
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#ACCOUNT  K
				INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = K.DEP
				INNER JOIN ' + @DB + 'dbo.V_DEP VD ON VD.LINK = T.LINK2
				INNER JOIN ' + @DB + 'dbo.[S_ACCOUNTS] A ON A.LINK_DEP = VD.LINK_CB AND LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
			GROUP BY
				K.CODE
			HAVING
				COUNT(*) > 1		
			FOR XML PATH('''')
		), 2, 3000)
'	
EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт дублируются счета: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

--УСТАНОВКА СООТВЕТСТВИЙ СЧЕТОВ
SET @ERR_MSG = NULL
SET @SQL = 
N'
UPDATE K SET LINK2 = A.LINK
FROM
	#ACCOUNT K
	INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = K.DEP
	INNER JOIN ' + @DB + 'dbo.V_DEP VD ON VD.LINK = T.LINK2
	INNER JOIN ' + @DB + 'dbo.[S_ACCOUNTS] A ON A.LINK_DEP = VD.LINK_CB AND LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
'	
EXEC SP_EXECUTESQL @SQL

--
CREATE TABLE #KBK (DEP INT, CODE VARCHAR(30), LINK1 INT, LINK2 INT)
INSERT INTO #KBK (DEP, CODE, LINK1)
SELECT DISTINCT G.DEP, LTRIM(RTRIM(KBK.CODE)), KBK
FROM
	#DOC A
	INNER JOIN dbo.G_PROV G ON A.LINK = G.LINK
	INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK
	INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
	INNER JOIN dbo.G_PROV_AP GAP ON GAP.LINK_UP = G2.LINK
	INNER JOIN [dbo].[KL_KBK] KBK ON KBK.LINK = KBK

--ПРОВЕРКА НА НЕДОСТАЮЩИЕ КБК
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#KBK K
				INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = K.DEP
				INNER JOIN ' + @DB + 'dbo.V_DEP VD ON VD.LINK = T.LINK2
			WHERE
				NOT EXISTS (SELECT * FROM ' + @DB + 'dbo.[KL_KBK] A WHERE A.LINK_DEP = VD.LINK_CB AND LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE)
			FOR XML PATH('''')
		), 2, 3000)
'	
EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT


IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт не найдены КБК: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

--ПРОВЕРКА НА ДУБЛИ КБК
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#KBK K
				INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = K.DEP
				INNER JOIN ' + @DB + 'dbo.V_DEP VD ON VD.LINK = T.LINK2
				INNER JOIN ' + @DB + 'dbo.[KL_KBK] A ON A.LINK_DEP = VD.LINK_CB AND LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
			GROUP BY
				K.CODE
			HAVING
				COUNT(*) > 1		
			FOR XML PATH('''')
		), 2, 3000)
'	
EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт дублируются КБК: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

--УСТАНОВКА СООТВЕТСТВИЙ КБК
SET @ERR_MSG = NULL
SET @SQL = 
N'
UPDATE K SET LINK2 = A.LINK
FROM
	#KBK K
	INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = K.DEP
	INNER JOIN ' + @DB + 'dbo.V_DEP VD ON VD.LINK = T.LINK2
	INNER JOIN ' + @DB + 'dbo.[KL_KBK] A ON A.LINK_DEP = VD.LINK_CB AND LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
'	
EXEC SP_EXECUTESQL @SQL


--
CREATE TABLE #EKR (DEP INT, CODE VARCHAR(4), LINK1 INT, LINK2 INT)
INSERT INTO #EKR (DEP, CODE, LINK1)
SELECT DISTINCT G.DEP, LTRIM(RTRIM(EKR.CODE)), EKR
FROM
	#DOC A
	INNER JOIN dbo.G_PROV G ON A.LINK = G.LINK
	INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK
	INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
	INNER JOIN dbo.G_PROV_AP GAP ON GAP.LINK_UP = G2.LINK
	INNER JOIN [dbo].[KOSGU] EKR ON EKR.LINK = EKR	

--ПРОВЕРКА НА НЕДОСТАЮЩИЕ ЭКР
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#EKR K
			WHERE
				NOT EXISTS (SELECT * FROM ' + @DB + '[dbo].[KOSGU] A WHERE LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE)
			FOR XML PATH('''')
		), 2, 3000)
'	
EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт не найдены ЭКР: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END


--ПРОВЕРКА НА ДУБЛИ ЭКР
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#EKR K
				INNER JOIN ' + @DB + '[dbo].[KOSGU] A ON LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
			GROUP BY
				K.CODE
			HAVING
				COUNT(*) > 1		
			FOR XML PATH('''')
		), 2, 3000)
'	

EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт дублируются СГУ: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

--УСТАНОВКА СООТВЕТСТВИЙ ЭКР
SET @ERR_MSG = NULL
SET @SQL = 
N'
UPDATE K SET LINK2 = A.LINK
FROM
	#EKR K
	INNER JOIN ' + @DB + '[dbo].[KOSGU] A ON LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
'	
EXEC SP_EXECUTESQL @SQL


--
CREATE TABLE #SGU (DEP INT, CODE VARCHAR(4), LINK1 INT, LINK2 INT)
INSERT INTO #SGU (DEP, CODE, LINK1)
SELECT DISTINCT G.DEP, LTRIM(RTRIM(SGU.CODE)), SGU
FROM
	#DOC A
	INNER JOIN dbo.G_PROV G ON A.LINK = G.LINK
	INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK
	INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
	INNER JOIN dbo.G_PROV_AP GAP ON GAP.LINK_UP = G2.LINK
	INNER JOIN [dbo].[KOSGU] SGU ON SGU.LINK = SGU

--ПРОВЕРКА НА НЕДОСТАЮЩИЕ СГУ
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#SGU K
			WHERE
				NOT EXISTS (SELECT * FROM ' + @DB + '[dbo].[KOSGU] A WHERE LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE)
			FOR XML PATH('''')
		), 2, 3000)
'	
EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт не найдены СГУ: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END


--ПРОВЕРКА НА ДУБЛИ СГУ
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#SGU K
				INNER JOIN ' + @DB + '[dbo].[KOSGU] A ON LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
			GROUP BY
				K.CODE
			HAVING
				COUNT(*) > 1		
			FOR XML PATH('''')
		), 2, 3000)
'	

EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт дублируются СГУ: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

--УСТАНОВКА СООТВЕТСТВИЙ СГУ
SET @ERR_MSG = NULL
SET @SQL = 
N'
UPDATE K SET LINK2 = A.LINK
FROM
	#SGU K
	INNER JOIN ' + @DB + '[dbo].[KOSGU] A ON LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
'	
EXEC SP_EXECUTESQL @SQL

--
CREATE TABLE #KAU (DEP INT, CODE VARCHAR(10), LINK1 INT, LINK2 INT)
INSERT INTO #KAU (DEP, CODE, LINK1)
SELECT DISTINCT G.DEP, LTRIM(RTRIM(KAU.CODE)), KAU
FROM
	#DOC A
	INNER JOIN dbo.G_PROV G ON A.LINK = G.LINK
	INNER JOIN dbo.G_PROV1 G1 ON G1.LINK_UP = G.LINK
	INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
	INNER JOIN dbo.G_PROV_AP GAP ON GAP.LINK_UP = G2.LINK
	INNER JOIN [dbo].[KAU] KAU ON KAU.LINK = KAU		

--ПРОВЕРКА НА НЕДОСТАЮЩИЕ КАУ
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#KAU K
				INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = K.DEP
				INNER JOIN ' + @DB + 'dbo.V_DEP VD ON VD.LINK = T.LINK2
			WHERE
				NOT EXISTS (SELECT * FROM ' + @DB + 'dbo.[KAU] A WHERE A.LINK_DEP = VD.LINK_CB AND LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE)
			FOR XML PATH('''')
		), 2, 3000)
'	
EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт не найдены КАУ: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

--ПРОВЕРКА НА ДУБЛИ КАУ
SET @ERR_MSG = NULL
SET @SQL = 
N'
SET @ERR_MSG = 
	SUBSTRING((
			SELECT DISTINCT '','' + K.CODE
			FROM
				#KAU K
				INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = K.DEP
				INNER JOIN ' + @DB + 'dbo.V_DEP VD ON VD.LINK = T.LINK2
				INNER JOIN ' + @DB + 'dbo.[KAU] A ON A.LINK_DEP = VD.LINK_CB AND LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
			GROUP BY
				K.CODE
			HAVING
				COUNT(*) > 1		
			FOR XML PATH('''')
		), 2, 3000)
'	
EXEC SP_EXECUTESQL @SQL, N'@ERR_MSG VARCHAR(256) OUTPUT', @ERR_MSG = @ERR_MSG OUTPUT

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт дублируются КАУ: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

--УСТАНОВКА СООТВЕТСТВИЙ КАУ
SET @ERR_MSG = NULL
SET @SQL = 
N'
UPDATE K SET LINK2 = A.LINK
FROM
	#KAU K
	INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = K.DEP
	INNER JOIN ' + @DB + 'dbo.V_DEP VD ON VD.LINK = T.LINK2
	INNER JOIN ' + @DB + 'dbo.[KAU] A ON A.LINK_DEP = VD.LINK_CB AND LTRIM(RTRIM(A.CODE ' + @COLLATE + ' )) = K.CODE
'	
EXEC SP_EXECUTESQL @SQL

--ПРОВЕРКА НА ДУБЛИ СРЕДИ УЧРЕЖДЕНИЙ СМЕТЫ-КС
SET @ERR_MSG = NULL
SET @ERR_MSG = 
	SUBSTRING((
				SELECT ',' + LTRIM(RTRIM(INN)) + '/' + LTRIM(RTRIM(KPP))
				FROM
					dbo.DEPARTMENTS D
				WHERE
					EXISTS ( SELECT * FROM #DOC G WHERE D.LINK = G.DEP )
				GROUP BY INN, KPP
				HAVING COUNT(*) > 1
				ORDER BY ',' + LTRIM(RTRIM(INN)) + '/' + LTRIM(RTRIM(KPP))	
			FOR XML PATH('')
		), 2, 3000)
		
IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Зарплата-КС учреждения с одинаковыми ИНН/КПП: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END


--ПРОВЕРКА НА ЗАКРЫТЫЙ ПЕРИОД РЕДАКТИРОВАНИЯ В СМЕТЕ-СМАРТ
SET @ERR_MSG = NULL
SET @ERR_MSG = 
	SUBSTRING((
				SELECT ',' + LTRIM(RTRIM(D.INN)) + '/' + LTRIM(RTRIM(D.KPP))
				FROM
					dbo.DEPARTMENTS D
					INNER JOIN #DOC G ON D.LINK = G.DEP
					INNER JOIN #DEPARTMENTS_DATE DD ON DD.INN = D.INN AND DD.KPP = D.KPP
				WHERE
					NOT G.[DATE_PROV] BETWEEN DD.[BEGINDATE] AND DD.[ENDDATE]
				GROUP BY D.INN, D.KPP
				ORDER BY ',' + LTRIM(RTRIM(D.INN)) + '/' + LTRIM(RTRIM(D.KPP))	
			FOR XML PATH('')
		), 2, 3000)
		

IF @ERR_MSG IS NOT NULL
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = LEFT('В Смета-Смарт закрыт период редактирования для учр. ИНН/КПП: ' + @ERR_MSG,256)
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

----------
CREATE TABLE #G_PROV ([LINK1] int ,[LINK2] int, [DEP1] INT, [DEP2] INT)
CREATE TABLE #G_PROV1 ([LINK1] int ,[LINK2] int, [DEP1] INT, [DEP2] INT)
CREATE TABLE #G_PROV2 ([LINK1] int ,[LINK2] int, [ACC_DT] INT, [ACC_KT] INT, [DEP1] INT, [DEP2] INT)
CREATE TABLE #VIBOR_ECON_OPER ([ACC_DT] INT, [ACC_KT] INT, [DEP] INT, [ECON_OPER] INT)

--SET @varKStrancount = @@TRANCOUNT
--SET IMPLICIT_TRANSACTIONS ON
--BEGIN TRAN
--COMMIT TRAN

create table #EXEC (text varchar(8000), id int identity(1,1))
INSERT INTO #EXEC ([text]) SELECT
'
INSERT INTO ' + @DB + 'dbo.G_PROV
	(NUMBER, DATE, [OBJECT], DATE_PROV, SUMMA, COMMENT, GET_STORE, DEP, ACC, DOC_STATUS,[GUID], LINK_INS)
SELECT 
	 NUMBER     = LTRIM(RTRIM(g.NUMBER))
	,DATE       = g.DATE
	,[OBJECT]   = ' + CONVERT(VARCHAR(20),@iOBJECT) + '
	,DATE_PROV  = g.DATE_PROV
	,SUMMA      = g.SUMMA
	,COMMENT    = g.COMMENT
	,GET_STORE  = 0
	,DEP        = T.LINK2
	,ACC        = D.MAIN_LINK
	,DOC_STATUS = 0
	,[GUID] = G.[GUID]
	,LINK_INS   = g.LINK
FROM 
	dbo.G_PROV g
	INNER JOIN #DOC R ON R.LINK = G.LINK
	INNER JOIN #DEPARTMENTS_SMETA_KS T ON T.LINK1 = G.DEP
	INNER JOIN ' + @DB + 'dbo.DEPARTMENTS D ON D.LINK = T.LINK2
WHERE
	 NOT EXISTS (SELECT * FROM ' + @DB + 'dbo.G_PROV G2 WHERE G2.[OBJECT] IS NOT NULL AND G2.[GUID] = G.[GUID])	

INSERT INTO #G_PROV ([LINK1],[LINK2], [DEP1], [DEP2])
SELECT G_1.LINK, G_2.LINK, G_1.DEP, G_2.DEP
FROM 
	#DOC R
	INNER JOIN dbo.G_PROV G_1 ON G_1.LINK = R.LINK
	INNER JOIN ' + @DB + 'dbo.G_PROV G_2 ON G_2.LINK_INS = G_1.LINK
WHERE
	 G_2.[OBJECT] IS NOT NULL 	
'

IF EXISTS (SELECT text FROM #EXEC)
	EXEC @err = dbo.ssp_execresultset 'select text from #EXEC order by id'

DELETE #EXEC
INSERT INTO #EXEC ([text]) SELECT
'
INSERT INTO ' + @DB + 'dbo.G_PROV1 (LINK_UP, NAME_OPER, ORDERS, [LINK_INS])
SELECT DISTINCT
	LINK_UP     = T.LINK2
	,NAME_OPER  = g1.NAME_OPER
	,ORDERS     = 1
	,[LINK_INS] = g1.LINK
FROM 
	#G_PROV T
	INNER JOIN dbo.G_PROV1 g1 ON g1.LINK_UP = T.LINK1

INSERT INTO #G_PROV1 ([LINK1],[LINK2], [DEP1], [DEP2])
SELECT G1_1.LINK, G1_2.LINK, T.[DEP1], T.[DEP2]
FROM 
	#G_PROV T
	INNER JOIN dbo.G_PROV1 G1_1 ON G1_1.LINK_UP = T.LINK1
	INNER JOIN ' + @DB + 'dbo.G_PROV1 G1_2 ON G1_2.LINK_INS = G1_1.LINK
'

IF EXISTS (SELECT text FROM #EXEC)
	EXEC @err = dbo.ssp_execresultset 'select text from #EXEC order by id'
	

DELETE #EXEC
INSERT INTO #EXEC ([text]) SELECT
'
INSERT INTO ' + @DB + 'dbo.G_PROV2 (LINK_UP, SUMMA, QUANTITY, PRICE, STORNO, NAME, ORDERS, [LINK_INS])
SELECT
	LINK_UP     = T.LINK2
	,SUMMA      = G2.SUMMA
	,QUANTITY   = G2.QUANTITY
	,PRICE      = CASE WHEN G2.QUANTITY <> 0 THEN G2.SUMMA / G2.QUANTITY ELSE 0 END
	,STORNO     = G2.STORNO
	,[NAME]     = G2.NAME
	,ORDERS     = 1
	,[LINK_INS] = G2.LINK
FROM
	#G_PROV1 T 
	INNER JOIN dbo.G_PROV2 G2 ON G2.LINK_UP = T.LINK1
	
INSERT INTO #G_PROV2 ([LINK1],[LINK2], [DEP1], [DEP2], [ACC_DT], [ACC_KT])
SELECT G2_1.LINK, G2_2.LINK, T.[DEP1], T.[DEP2], ACCOUNT0.LINK2, ACCOUNT1.LINK2
FROM 
	#G_PROV1 T
	INNER JOIN dbo.G_PROV2 G2_1 ON G2_1.LINK_UP = T.LINK1
	INNER JOIN ' + @DB + 'dbo.G_PROV2 G2_2 ON G2_2.LINK_INS = G2_1.LINK
	LEFT JOIN dbo.G_PROV_AP GAP0 ON GAP0.LINK_UP = G2_1.LINK AND GAP0.DB_KR = 0	
	LEFT JOIN #ACCOUNT ACCOUNT0 ON ACCOUNT0.LINK1 = GAP0.ACCOUNT
	LEFT JOIN dbo.G_PROV_AP GAP1 ON GAP1.LINK_UP = G2_1.LINK AND GAP1.DB_KR = 1
	LEFT JOIN #ACCOUNT ACCOUNT1 ON ACCOUNT1.LINK1 = GAP1.ACCOUNT
'

IF EXISTS (SELECT text FROM #EXEC)
	EXEC @err = dbo.ssp_execresultset 'select text from #EXEC order by id'


--Установка ХО
--уникальные корреспонденции
INSERT INTO #VIBOR_ECON_OPER ([ACC_DT], [ACC_KT], [DEP])
SELECT DISTINCT [ACC_DT], [ACC_KT], [DEP2]
FROM #G_PROV2


DELETE #EXEC
INSERT INTO #EXEC ([text]) SELECT
'
DECLARE @Cur1 CURSOR, @ACC_DT INT, @ACC_KT INT, @DEP INT, @XO INT
SET @Cur1 = CURSOR FORWARD_ONLY

FOR select [ACC_DT], [ACC_KT], [DEP] from #VIBOR_ECON_OPER order by [ACC_DT], [ACC_KT], [DEP]

OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @ACC_DT, @ACC_KT, @DEP
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN
		SET @XO = 0
			EXECUTE ' + @DB + 'dbo.LOCATE_ECON_OPER
						@Found_XO = @XO OUTPUT, @intDt = @ACC_DT, @intKt = @ACC_KT, @iObj = ' + CONVERT(VARCHAR(20),@iOBJECT) + ', @iDep = @DEP
		UPDATE #VIBOR_ECON_OPER SET [ECON_OPER] = @XO WHERE ACC_DT= @ACC_DT AND ACC_KT= @ACC_KT AND DEP= @DEP			
	END

	FETCH NEXT FROM @Cur1 INTO @ACC_DT, @ACC_KT, @DEP
END

CLOSE @Cur1
DEALLOCATE @Cur1

-----------------
UPDATE G2 SET
	G2.ECON_OPER = B.[ECON_OPER]
FROM
	#G_PROV2 T
	INNER JOIN dbo.G_PROV2 C ON C.LINK = T.LINK1
	INNER JOIN ' + @DB + 'dbo.G_PROV2 G2 ON G2.LINK = T.LINK2
	INNER JOIN #VIBOR_ECON_OPER B ON T.[DEP2] = B.[DEP] 
									AND ISNULL(T.[ACC_DT],0) = ISNULL(B.[ACC_DT],0)
									AND ISNULL(T.[ACC_KT],0) = ISNULL(B.[ACC_KT],0)
WHERE
	C.ECON_OPER IS NOT NULL															
'

IF EXISTS (SELECT text FROM #EXEC)
	EXEC @err = dbo.ssp_execresultset 'select text from #EXEC order by id'
	
---------------------------------------------------------
DELETE #EXEC
INSERT INTO #EXEC ([text]) SELECT
'
INSERT INTO ' + @DB + 'dbo.G_PROV_AP 
(LINK_UP, DB_KR, ACCOUNT, KBK, EKR, DEP, KAU, INDATE, SGU)
SELECT 
	LINK_UP     = T.LINK2
	,DB_KR      = GAP.DB_KR
	,ACCOUNT    = ACCOUNT.LINK2
	,KBK        = KBK.LINK2
	,EKR        = EKR.LINK2
	,DEP        = DEP.LINK2
	,KAU        = KAU.LINK2
	,INDATE     = GAP.INDATE
	,SGU        = SGU.LINK2
FROM 
	#G_PROV2 T
	INNER JOIN dbo.G_PROV_AP GAP ON GAP.LINK_UP = T.LINK1
	INNER JOIN #ACCOUNT ACCOUNT ON ACCOUNT.LINK1 = GAP.ACCOUNT
	LEFT JOIN #KBK KBK ON KBK.LINK1 = GAP.KBK
	LEFT JOIN #EKR EKR ON EKR.LINK1 = GAP.EKR
	LEFT JOIN #SGU SGU ON SGU.LINK1 = GAP.SGU
	LEFT JOIN #KAU KAU ON KAU.LINK1 = GAP.KAU
	LEFT JOIN #DEPARTMENTS_SMETA_KS DEP ON DEP.LINK1 = GAP.DEP
'
IF EXISTS (SELECT text FROM #EXEC)
	EXEC @err = dbo.ssp_execresultset 'select text from #EXEC order by id'

------Заполнение таблицы G_PROV_FIELDS
DELETE #EXEC
INSERT INTO #EXEC ([text]) SELECT
'
DECLARE @Cur1 CURSOR, @LINK INT
SET @Cur1 = CURSOR FORWARD_ONLY

FOR select LINK2 from #G_PROV

OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @LINK
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN
		--Для быстрого вычисления списка КАУ по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_KAU_1 @LINK_DOC = @LINK

		--Для быстрого вычисления списка Доп. классификации по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_DOP_CLASSIF_1 @LINK_DOC = @LINK

		--Для быстрого вычисления списка ЕКР по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_EKR_1 @LINK_DOC = @LINK

		--Для быстрого вычисления списка Вид ФО по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_FIN_SOURCE_1 @LINK_DOC = @LINK

		--Для быстрого вычисления списка КБК по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_KBK_1 @LINK_DOC = @LINK

		----Для быстрого вычисления списка Документ-основание по документу, записываем этот список в таблицу G_PROV_FIELDS
		--EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_DOCBASE_1 @LINK_DOC = @LINK

		--Для быстрого вычисления наименования документа, корреспондента, признака "документ-основание" и признака "госконтракт"
		EXEC ' + @DB + 'dbo.XA_UPDATE_DOC_NAME_1 @LINK_DOC = @LINK
		
	END

	FETCH NEXT FROM @Cur1 INTO @LINK
END

CLOSE @Cur1
DEALLOCATE @Cur1
'

IF EXISTS (SELECT text FROM #EXEC)
	EXEC @err = dbo.ssp_execresultset 'select text from #EXEC order by id'


--УСТАНОВКА БО
SET @ERR_MSG = NULL
SET @SQL = 
N'
	DECLARE @RID uniqueidentifier
	SET @RID = NEWID()
	INSERT INTO ' + @DB + 'dbo.SYS_LINK(RID,LINK,OBJECT)
	SELECT @RID, LINK2, @iOBJECT FROM #G_PROV 
	
	EXEC ' + @DB + 'dbo.GEN_JURN_BO @RID = @RID, @cMode=''all''
	
	DELETE ' + @DB + 'dbo.SYS_LINK WHERE RID = @RID
'	
EXEC SP_EXECUTESQL @SQL, N'@iOBJECT INT', @iOBJECT = @iOBJECT

------Заполнение таблицы G_PROV_FIELDS
DELETE #EXEC
INSERT INTO #EXEC ([text]) SELECT
'
DECLARE @Cur1 CURSOR, @LINK INT
SET @Cur1 = CURSOR FORWARD_ONLY

FOR 
	SELECT GAP.AP1
	FROM 
		' + @DB + 'dbo.G_PROV1 G1 
		INNER JOIN ' + @DB + 'dbo.G_PROV2 G2 ON G2.LINK_UP = G1.LINK
		INNER JOIN ' + @DB + 'dbo.G_PROV_AP GAP ON GAP.LINK_UP = G2.LINK
		INNER JOIN #G_PROV T ON T.LINK2 = GAP.AP1

OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @LINK
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN
		--Для быстрого вычисления списка КАУ по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_KAU_1 @LINK_DOC = @LINK

		--Для быстрого вычисления списка Доп. классификации по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_DOP_CLASSIF_1 @LINK_DOC = @LINK

		--Для быстрого вычисления списка ЕКР по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_EKR_1 @LINK_DOC = @LINK

		--Для быстрого вычисления списка Вид ФО по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_FIN_SOURCE_1 @LINK_DOC = @LINK

		--Для быстрого вычисления списка КБК по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_KBK_1 @LINK_DOC = @LINK

		--Для быстрого вычисления списка Документ-основание по документу, записываем этот список в таблицу G_PROV_FIELDS
		EXEC ' + @DB + 'dbo.XA_UPDATE_G_PROV_DOCBASE_1 @LINK_DOC = @LINK

		--Для быстрого вычисления наименования документа, корреспондента, признака "документ-основание" и признака "госконтракт"
		EXEC ' + @DB + 'dbo.XA_UPDATE_DOC_NAME_1 @LINK_DOC = @LINK				
	END

	FETCH NEXT FROM @Cur1 INTO @LINK
END

CLOSE @Cur1
DEALLOCATE @Cur1
'

IF EXISTS (SELECT text FROM #EXEC)
	EXEC @err = dbo.ssp_execresultset 'select text from #EXEC order by id'

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Док: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #G_PROV) 
		+ '; ' + (SELECT 'Пров: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #G_PROV2) 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

--Статус передачи документов
DELETE S FROM #G_PROV T INNER JOIN dbo.GP_EXCH_STATUS S ON S.LINK_GP = T.LINK1

INSERT INTO dbo.GP_EXCH_STATUS (LINK_GP,[STATUS],[DATE],[COMMENT])
SELECT LINK1, 1, GETDATE(), suser_sname() + '; ' + host_name() FROM #G_PROV

--IF @@TRANCOUNT > @varKStrancount
--	COMMIT TRAN

END


GO


GRANT EXECUTE ON dbo.[SYNCH_DOCUMENTS_SALARY] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[I_REPORT_FORMULA_14_PREPARE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[I_REPORT_FORMULA_14_PREPARE]

GO

/*
© Кейсистемс (Keysystems), 2008
*/


CREATE PROCEDURE dbo.I_REPORT_FORMULA_14_PREPARE
	@varKSOUT_VAL 	NUMERIC(20) OUTPUT,
	@varKSBDAte		datetime,
	@varKSEndDate	datetime,
	@DEP_LINK	int
AS BEGIN
	DECLARE @varKSPeople_Count VARCHAR(100), @varKSVKR varchar(100)
	EXEC dbo.X_GET_TABLE_NAME @varKSPeople_Count OUTPUT
	EXEC dbo.X_GET_TABLE_NAME @varKSVKR OUTPUT
	
	EXEC dbo.BufferClear

declare 
	@varKSd1	datetime,
	@varKSd2	datetime,
	@varKSd3	datetime,
	@varKSd4	datetime,
	@varKSd5	datetime,
	@varKSd6	datetime,
	@varKSd7	datetime,
	@varKSd8	datetime,
	@varKSd9	datetime,
	@varKSd10	datetime,
	@varKSd11	datetime,
	@varKSd12	datetime,
	@varKSEDate	datetime

set @varKSd1 = convert(varchar, YEAR(@varKSBDAte))+'0101' 
set @varKSd2 = dateadd(month,1,@varKSd1)
set @varKSd3 = dateadd(month,2,@varKSd1)
set @varKSd4 = dateadd(month,3,@varKSd1)
set @varKSd5 = dateadd(month,4,@varKSd1)
set @varKSd6 = dateadd(month,5,@varKSd1)
set @varKSd7 = dateadd(month,6,@varKSd1)
set @varKSd8 = dateadd(month,7,@varKSd1)
set @varKSd9 = dateadd(month,8,@varKSd1)
set @varKSd10 = dateadd(month,9,@varKSd1)
set @varKSd11 = dateadd(month,10,@varKSd1)
set @varKSd12 = dateadd(month,11,@varKSd1)
set @varKSEDate = dateadd(year,1,@varKSd1)

CREATE TABLE #VKR(link_vkr int, code varchar(250), l int IDENTITY(1, 1), shifr varchar(10))

CREATE  TABLE #People_Count (
	link_empl int, 
	m1 INT,m2 INT,m3 INT,m4 INT, m5 INT,m6 INT,m7 INT,m8 INT, m9 INT,m10 INT,m11 INT,m12 INT,
	Kateg char(3), 
	KAT_GOS_CODE char(1), 
	GR_GOS_CODE tinyint,
	gossl int, 
	ETS_RAZR int, 
	voinotn varchar(2), 
	F14 tinyint, 
	link_vkr int)

--Источники по умолчанию для сотрудников
CREATE TABLE #EI (LINK_EMPL INT, LINK_SFIN INT, STAFF_LINK INT)
INSERT INTO #EI (LINK_EMPL, LINK_SFIN, STAFF_LINK)
SELECT empl_link, LINK_KBK, STAFF_LINK FROM dbo.SA_EMPLS_INFO(@varKSEndDate,DEFAULT) ORDER BY EMPL_LINK


--Источники, по которым сотрудники имели доход
CREATE TABLE #EMPLS_SFIN (PERS_LINK INT, LINK_EMPL INT, LINK_KBK INT, STAFF_LINK INT, F14 TINYINT, SUMMA NUMERIC(18,2), LINK_EKR INT)
INSERT INTO #EMPLS_SFIN (PERS_LINK, LINK_EMPL, LINK_KBK, STAFF_LINK, F14, SUMMA, LINK_EKR)
SELECT E.PERS_LINK, E.LINK, F.KBK, EI.STAFF_LINK, P.F14, SUM(CJ.SUMMA), CJ.LINK_EKR
FROM
	dbo.EMPL E 
	INNER JOIN #EI EI ON E.LINK = EI.LINK_EMPL
	INNER JOIN dbo.CALCULATE_JURNAL CJ ON CJ.LINK_EMPL = E.LINK
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = ISNULL(CJ.LINK_VKR,EI.LINK_SFIN)
	INNER JOIN dbo.PAYS P ON P.LINK = CJ.LINK_PAYS
WHERE
	E.DEP_LINK = @DEP_LINK
	AND
	YEAR(CJ.period_begin) = YEAR(@varKSBDAte) and MONTH(CJ.period_begin) <= MONTH(@varKSEndDate)
	AND
	P.[OBJECT] = 1 
GROUP BY
	E.PERS_LINK, E.LINK, F.KBK, EI.STAFF_LINK,  P.F14, CJ.LINK_EKR 

CREATE TABLE #EMPLS_SFIN2 (PERS_LINK INT, LINK_EMPL INT, LINK_KBK INT, STAFF_LINK INT, F14 TINYINT)
INSERT INTO #EMPLS_SFIN2 (PERS_LINK, LINK_EMPL, LINK_KBK, STAFF_LINK, F14)
SELECT DISTINCT PERS_LINK, LINK_EMPL, LINK_KBK, STAFF_LINK, F14 FROM #EMPLS_SFIN

----
INSERT INTO #People_Count
SELECT 
	EF.LINK_EMPL, 
	(case	when ONF.date_begin<=@varKSd1 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd2 then datediff(day,@varKSd1,@varKSd2)		
		when ONF.date_begin<=@varKSd1 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd2  then datediff(day,@varKSd1,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd1  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd2 and ONF.date_begin<@varKSd2 then datediff(day,ONF.date_begin,@varKSd2) 		
		when ONF.date_begin>@varKSd1  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd2  and ONF.date_begin<@varKSd2 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m1,
	(case	when ONF.date_begin<=@varKSd2 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd3 then datediff(day,@varKSd2,@varKSd3)		
		when ONF.date_begin<=@varKSd2 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd3  then datediff(day,@varKSd2,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd2  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd3 and ONF.date_begin<@varKSd3 then datediff(day,ONF.date_begin,@varKSd3) 		
		when ONF.date_begin>@varKSd2  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd3  and ONF.date_begin<@varKSd3 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m2,
	(case	when ONF.date_begin<=@varKSd3 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd4 then datediff(day,@varKSd3,@varKSd4)		
		when ONF.date_begin<=@varKSd3 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd4  then datediff(day,@varKSd3,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd3  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd4 and ONF.date_begin<@varKSd4 then datediff(day,ONF.date_begin,@varKSd4) 		
		when ONF.date_begin>@varKSd3  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd4  and ONF.date_begin<@varKSd4 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m3,
	(case	when ONF.date_begin<=@varKSd4 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd5 then datediff(day,@varKSd4,@varKSd5)		
		when ONF.date_begin<=@varKSd4 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd5  then datediff(day,@varKSd4,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd4  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd5 and ONF.date_begin<@varKSd5 then datediff(day,ONF.date_begin,@varKSd5) 		
		when ONF.date_begin>@varKSd4  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd5  and ONF.date_begin<@varKSd5 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m4,
	(case	when ONF.date_begin<=@varKSd5 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd6 then datediff(day,@varKSd5,@varKSd6)		
		when ONF.date_begin<=@varKSd5 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd6  then datediff(day,@varKSd5,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd5  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd6 and ONF.date_begin<@varKSd6 then datediff(day,ONF.date_begin,@varKSd6) 		
		when ONF.date_begin>@varKSd5  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd6  and ONF.date_begin<@varKSd6 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m5,
	(case	when ONF.date_begin<=@varKSd6 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd7 then datediff(day,@varKSd6,@varKSd7)		
		when ONF.date_begin<=@varKSd6 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd7  then datediff(day,@varKSd6,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd6  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd7 and ONF.date_begin<@varKSd7 then datediff(day,ONF.date_begin,@varKSd7) 		
		when ONF.date_begin>@varKSd6  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd7  and ONF.date_begin<@varKSd7 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m6,
	(case	when ONF.date_begin<=@varKSd7 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd8 then datediff(day,@varKSd7,@varKSd8)		
		when ONF.date_begin<=@varKSd7 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd8  then datediff(day,@varKSd7,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd7  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd8 and ONF.date_begin<@varKSd8 then datediff(day,ONF.date_begin,@varKSd8) 		
		when ONF.date_begin>@varKSd7  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd8  and ONF.date_begin<@varKSd8 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m7,
	(case	when ONF.date_begin<=@varKSd8 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd9 then datediff(day,@varKSd8,@varKSd9)		
		when ONF.date_begin<=@varKSd8 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd9  then datediff(day,@varKSd8,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd8  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd9 and ONF.date_begin<@varKSd9 then datediff(day,ONF.date_begin,@varKSd9) 		
		when ONF.date_begin>@varKSd8  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd9  and ONF.date_begin<@varKSd9 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m8,
	(case	when ONF.date_begin<=@varKSd9 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd10 then datediff(day,@varKSd9,@varKSd10)		
		when ONF.date_begin<=@varKSd9 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd10  then datediff(day,@varKSd9,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd9  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd10 and ONF.date_begin<@varKSd10 then datediff(day,ONF.date_begin,@varKSd10) 		
		when ONF.date_begin>@varKSd9  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd10  and ONF.date_begin<@varKSd10 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m9,
	(case	when ONF.date_begin<=@varKSd10 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd11 then datediff(day,@varKSd10,@varKSd11)		
		when ONF.date_begin<=@varKSd10 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd11  then datediff(day,@varKSd10,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd10  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd11 and ONF.date_begin<@varKSd11 then datediff(day,ONF.date_begin,@varKSd11) 		
		when ONF.date_begin>@varKSd10  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd1  and ONF.date_begin<@varKSd11 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m10,
	(case	when ONF.date_begin<=@varKSd11 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd12 then datediff(day,@varKSd11,@varKSd12)		
		when ONF.date_begin<=@varKSd11 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd12  then datediff(day,@varKSd11,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd11  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd12 and ONF.date_begin<@varKSd12 then datediff(day,ONF.date_begin,@varKSd12) 		
		when ONF.date_begin>@varKSd11  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd12  and ONF.date_begin<@varKSd12 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m11,
	(case	when ONF.date_begin<=@varKSd12 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSEDate then datediff(day,@varKSd12,@varKSEDate)		
		when ONF.date_begin<=@varKSd12 and coalesce(ODF.dis_date,@varKSEDate)<@varKSEDate  then datediff(day,@varKSd12,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd12  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSEDate and ONF.date_begin<@varKSEDate then datediff(day,ONF.date_begin,@varKSEDate) 		
		when ONF.date_begin>@varKSd12  and coalesce(ODF.dis_date,@varKSEDate)<@varKSEDate  and ONF.date_begin<@varKSEDate then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m12,

	K_CODE = K.CODE,
	KG_CODE = KG.CODE,
	GG_CODE = GG.CODE,
	s.gossl,
	ETS_RAZR = isnull(S.ETS_RAZR,0),
	V_code = isnull(V.code,''),
	EF.F14,
	EF.LINK_KBK
FROM 
	#EMPLS_SFIN2 EF
	INNER JOIN dbo.PERSON P ON P.link = EF.Pers_link
	left join dbo.new_face ONF on EF.LINK_EMPL = ONF.empl_link and onf.order_status = 1
	left join dbo.dis_face ODF on EF.LINK_EMPL = ODF.empl_link and odf.active = 1
	LEFT JOIN dbo.STAFF S ON S.LINK = EF.STAFF_LINK
	LEFT JOIN dbo.KATEG K ON K.LINK = s.KAT_link
	LEFT JOIN dbo.KAT_GOS KG ON KG.LINK = S.kat_gos_link
	LEFT JOIN dbo.GR_GOS GG ON GG.LINK = S.gr_gos_link
	left join dbo.VOINOTN V on P.Voinotn_link = V.link
WHERE
	ODF.dis_date IS NULL
	OR 
	ODF.dis_date > @varKSEndDate

UPDATE #People_Count SET m1=0 WHERE m1<0
UPDATE #People_Count SET m2=0 WHERE m2<0
UPDATE #People_Count SET m3=0 WHERE m3<0
UPDATE #People_Count SET m4=0 WHERE m4<0
UPDATE #People_Count SET m5=0 WHERE m5<0
UPDATE #People_Count SET m6=0 WHERE m6<0
UPDATE #People_Count SET m7=0 WHERE m7<0
UPDATE #People_Count SET m8=0 WHERE m8<0
UPDATE #People_Count SET m9=0 WHERE m9<0
UPDATE #People_Count SET m10=0 WHERE m10<0
UPDATE #People_Count SET m11=0 WHERE m11<0
UPDATE #People_Count SET m12=0 WHERE m12<0

--- список используемых в расчётах ВКР
CREATE TABLE #LIST_VKR (LINK_VKR INT)

--Список ВКР из операций по зарплате
INSERT INTO #LIST_VKR (LINK_VKR)
SELECT DISTINCT LINK_VKR FROM #People_count


--Список ВКР из проводок
DECLARE @varKSiLink	INT

SELECT @varKSiLink = link FROM dbo.S_ACCOUNTS WHERE code like '1.101.15%' --Вместо 101.05 теперь 101.15, 101.25, 101.35, 101.45
insert #LIST_VKR (link_vkr) select distinct kbk from dbo.ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM dbo.S_ACCOUNTS WHERE code like '1.101.25%' --Вместо 101.05 теперь 101.15, 101.25, 101.35, 101.45
insert #LIST_VKR (link_vkr) select distinct kbk from dbo.ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM dbo.S_ACCOUNTS WHERE code like '1.101.35%' --Вместо 101.05 теперь 101.15, 101.25, 101.35, 101.45
insert #LIST_VKR (link_vkr) select distinct kbk from dbo.ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM dbo.S_ACCOUNTS WHERE code like '1.101.45%' --Вместо 101.05 теперь 101.15, 101.25, 101.35, 101.45
insert #LIST_VKR (link_vkr) select distinct kbk from dbo.ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

--
SELECT @varKSiLink = link FROM S_ACCOUNTS WHERE code like '1.401.10%' --Вместо 401.01 теперь 401.10, 401.20
insert #LIST_VKR (link_vkr) select distinct kbk from ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM S_ACCOUNTS WHERE code like '1.401.20%' --Вместо 401.01 теперь 401.10, 401.20
insert #LIST_VKR (link_vkr) select distinct kbk from ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

-------
SELECT @varKSiLink = link FROM S_ACCOUNTS WHERE code like '1.303.02%' --  по 213 подстатье   303.10, 303.09, 303.07, 303.06, 303.02
insert #LIST_VKR (link_vkr) select distinct kbk from ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM S_ACCOUNTS WHERE code like '1.303.06%' --  по 213 подстатье   303.10, 303.09, 303.07, 303.06, 303.02
insert #LIST_VKR (link_vkr) select distinct kbk from ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM S_ACCOUNTS WHERE code like '1.303.07%' --  по 213 подстатье   303.10, 303.09, 303.07, 303.06, 303.02
insert #LIST_VKR (link_vkr) select distinct kbk from ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM S_ACCOUNTS WHERE code like '1.303.09%' --  по 213 подстатье   303.10, 303.09, 303.07, 303.06, 303.02
insert #LIST_VKR (link_vkr) select distinct kbk from ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM S_ACCOUNTS WHERE code like '1.303.10%' --  по 213 подстатье   303.10, 303.09, 303.07, 303.06, 303.02
insert #LIST_VKR (link_vkr) select distinct kbk from ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

--Преобразавание в линки из справочника свода
--Прежне линки и коды
CREATE TABLE #KBK_CODE (OLD_LINK INT, DIV_CODE VARCHAR(4), CSR_CODE VARCHAR(10), kbk14_link INT , kbk14_code VARCHAR (20))
INSERT INTO #KBK_CODE (OLD_LINK, DIV_CODE, CSR_CODE,kbk14_link,kbk14_code)
SELECT 
	K.LINK, DIV_CODE, CSR_CODE ,K.kbk14_link,K.kbk14_code
FROM 
	dbo.BI_DICTION_KBK_FULL K
	INNER JOIN #LIST_VKR P ON P.link_vkr = K.LINK
WHERE
	K.kbk14_link IS NOT null
	--K.EXP_CODE = '012'	--Для формы 0503074. Для 0503075 = '500'


--Таблица перекодировки линков КБК
CREATE TABLE #TRANSLATE (NEW_LINK INT, OLD_LINK INT)
INSERT INTO #TRANSLATE (NEW_LINK, OLD_LINK)
SELECT DISTINCT A.link, B.OLD_LINK
from 
	dbo.report_form14_razd_name A
	INNER JOIN #KBK_CODE B ON /*A.razd_code = B.DIV_CODE and LEFT(A.cel_st_code,5) = LEFT(B.CSR_CODE,5)*/  A.link =  B.kbk14_link 
where 
	A.childrens=1
	AND
	@varKSEndDate BETWEEN ISNULL(BEGIN_DATE,@varKSEndDate) AND ISNULL(END_DATE,@varKSEndDate)	


--	Из справочника выбираются используемые КБК с новыми линками
insert #VKR (link_vkr,shifr)
SELECT DISTINCT A.link,A.shifr 
from 
	dbo.report_form14_razd_name A
	INNER JOIN #TRANSLATE T ON T.NEW_LINK = A.LINK
where 
	A.childrens=1
	AND
	@varKSEndDate BETWEEN ISNULL(BEGIN_DATE,@varKSEndDate) AND ISNULL(END_DATE,@varKSEndDate)

-- дописываются коды
update V
set 
	V.code = A.code
from 
	#VKR V
	INNER JOIN #TRANSLATE T ON T.NEW_LINK = V.link_vkr
	INNER JOIN dbo.kl_kbk A ON T.OLD_LINK = A.LINK

--
while not exists(select * from #VKR where l >= 3)
	insert #VKR (link_vkr, code) values (-1, ' ')

--

EXEC('select * INTO ' + @varKSVKR + ' from #VKR')
EXEC('DELETE FROM dbo.BUFFER WHERE SID = USER_SID() AND LINK = -102')
EXEC dbo.BufferPush -102, @varKSVKR
drop table #VKR

-- Перекодировать линки КБК на линки из справочника свода
UPDATE C SET
	C.link_vkr = T.NEW_LINK
FROM
	#People_Count C
	INNER JOIN #TRANSLATE T ON T.OLD_LINK = C.link_vkr


EXEC ('select * INTO ' + @varKSPeople_Count + ' from #People_Count ')
EXEC('DELETE FROM dbo.BUFFER WHERE SID = USER_SID() AND LINK = -100')
EXEC dbo.BufferPush -100, @varKSPeople_Count

----
DECLARE @varKSSalary_List VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @varKSSalary_List OUTPUT

CREATE TABLE #SALARY_LIST (
	LINK_EMPL INT,
	KAT_GOS_CODE CHAR(2),
	GR_GOS_CODE CHAR(1),
	KATEG CHAR(3),
	GOSSL INT,
	SUMMA NUMERIC(20,2),
	F14 TINYINT,
	ETS_RAZR INT,
	VOINOTN VARCHAR(2),
	LINK_VKR INT,
	ST VARCHAR(10),
	STR_PROV VARCHAR(3)
)



--213 статья
DECLARE @LinkEKR213 int
SELECT @LinkEKR213 = LINK FROM dbo.DICTIONARY_ITEM WHERE CODE = '213'

INSERT INTO #Salary_List
SELECT
	E.LINK_EMPL,
	E.KAT_GOS_CODE, 
	E.GR_GOS_CODE,
	E.Kateg,
	E.gossl,
	S.summa, 
	S.F14,		
	E.ETS_RAZR,
	E.voinotn,
	T.NEW_LINK,
	EKR.code,
	NULL
FROM
	(SELECT DISTINCT PC.LINK_EMPL, PC.KAT_GOS_CODE, PC.GR_GOS_CODE, PC.Kateg, PC.gossl, PC.ETS_RAZR, PC.voinotn FROM #People_Count PC) E
	INNER JOIN #EMPLS_SFIN S ON E.LINK_EMPL = S.LINK_EMPL
	INNER JOIN #TRANSLATE T ON T.OLD_LINK = S.LINK_KBK
	INNER JOIN dbo.KOSGU EKR ON EKR.LINK = S.LINK_EKR
--WHERE
--	S.link_ekr <> @LinkEKR213




--В данные по людям добавляем данные по проводкам
CREATE TABLE #ACCOUNTS_SUM (STR_PROV VARCHAR(3), LINK_VKR INT, SUMMA NUMERIC(18,2))
/*081*/
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '081', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '2.106.04', '2.302.02', 2, @DEP_LINK) where kbk is not null
--
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '081', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '106.14,106.24,106.34,106.44', '1.302.12', 2, @DEP_LINK) where kbk is not null
--
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '081', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '401.01,401.20', '302.07,302.09,302.06,302.25,302.26,302.34', 1, @DEP_LINK) where kbk is not null
/*083*/
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA) 
SELECT '083', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '208.02,208.12', '201.04,201.34,304.05,201.01,201.11,201.21', 1, @DEP_LINK) where kbk is not null
--
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '083', kbk, -summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '201.34,201.04', '208.02,208.12', 2, @DEP_LINK) where kbk is not null
/*092*/ 
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '092', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '208.05,208.09,208.22,208.26', '201.04,201.34,304.05,201.01,201.11,201.21', 1, @DEP_LINK) where kbk is not null
--
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '092', kbk, -summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '201.34,201.04', '208.05,208.09,208.22,208.26', 2, @DEP_LINK) where kbk is not null
--/*094*/ 
--INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
--SELECT '094', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '401.01,401.20', '208.18,208.91,302.18,302.91', 1, @DEP_LINK) where kbk is not null
/*094*/ 
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '094', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '401.01,401.20', '105.03,105.23,105.33,104.05,104.15,104.25,104.35,104.45', 1, @DEP_LINK) where kbk is not null

/*095*/ 
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '095', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '303.10, 303.09, 303.07, 303.06, 303.02', '201.34,304.05,201.01,201.11,201.21', 1, @DEP_LINK) where kbk is not null


/*450 Служебные легковые автомобили, состоящие на балансе государственного органа*/
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT 
	'450', R.KBK, SUM(R.D_QUANTITY) 
FROM 
	dbo.S_ACCOUNTS A 
	INNER JOIN dbo.ARestTableByDate(@varKSEndDate, NULL) R ON A.LINK = R.ACCOUNT
WHERE
	R.DEP_LINK = @DEP_LINK
	AND
	A.ZABALANS = 0
	AND
	(
		A.CODE LIKE '%101.05%' OR A.CODE LIKE '%101.25%' OR A.CODE LIKE '%101.15%' OR A.CODE LIKE '%101.35%' OR A.CODE LIKE '%101.45%'
	)
GROUP BY
	R.KBK
	
	
	

-- Перекодировать линки КБК на линки из справочника свода
UPDATE C SET
	C.link_vkr = T.NEW_LINK
FROM
	#ACCOUNTS_SUM C
	INNER JOIN #TRANSLATE T ON T.OLD_LINK = C.link_vkr

	
INSERT INTO #SALARY_LIST (STR_PROV, LINK_VKR, SUMMA)
SELECT STR_PROV, LINK_VKR, SUM(SUMMA)
FROM #ACCOUNTS_SUM
GROUP BY STR_PROV, LINK_VKR


EXEC ('select * INTO ' + @varKSSalary_List + ' from #Salary_List ')
EXEC('DELETE FROM dbo.BUFFER WHERE SID = USER_SID() AND LINK = -101')
EXEC dbo.BufferPush -101, @varKSSalary_List

--
DECLARE @STAFF_TABLE VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @STAFF_TABLE OUTPUT

CREATE TABLE #STAFF (
	GOSSL INT,
	KAT_GOS_CODE CHAR(2),
	GR_GOS_CODE CHAR(1),
	LINK_VKR INT,
	STAKES NUMERIC(18,2),	
)

INSERT INTO #STAFF
SELECT 
	s.gossl, 
	s.kat_gos_code, 
	s.gr_gos_code, 
	T.NEW_LINK,
	SUM(num_stake)
FROM
	dbo.dictionary_staff_fn(@varKSEDate) s 
	INNER join SAL_SFIN B on B.LINK = s.link_kbk
	INNER JOIN #TRANSLATE T ON T.OLD_LINK = B.KBK
WHERE 
	s.dep_link = @Dep_Link 
	and 
	deleted=0 
	and 
	s.subdiv_name is not null
GROUP BY
	s.gossl, 
	s.kat_gos_code, 
	s.gr_gos_code, 
	T.NEW_LINK


EXEC ('select * INTO ' + @STAFF_TABLE + ' from #STAFF ')
EXEC('DELETE FROM dbo.BUFFER WHERE SID = USER_SID() AND LINK = -103')
EXEC dbo.BufferPush -103, @STAFF_TABLE	

	set @varKSOUT_VAL = 0

END






GO


GRANT EXECUTE ON dbo.[I_REPORT_FORMULA_14_PREPARE] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SYNC_JOURNAL_TAB_SEL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SYNC_JOURNAL_TAB_SEL]

GO
-- EXEC SA_SYNC_JOURNAL_TAB_SELECT
CREATE PROCEDURE [dbo].SA_SYNC_JOURNAL_TAB_SEL

AS
DECLARE @varKSERROR	tinyint,
	@varKStrancount	int, 
	@varKSRowCount int

SELECT NOM_PP = CONVERT(VARCHAR(4), ROW_NUMBER() OVER (ORDER BY  so.[order], so2.[order] )) , link_o = so.link, order_o = so.[order], opt_name , opt_code, link_o2 = so2.link, ORDER_o2 = so2.[order] , NAME, CODE, COMMAND    
				 FROM dbo.SYNCH_SMETA_SMART_opt so 
    			 INNER join  dbo.SYNCH_SMETA_SMART_opt2 so2  ON so.link = so2.link_up 
    			WHERE so2.ACTIVE = 1
    			AND so.ACTIVE = 1 
ORDER BY so.[order] , so2.[order]  			


RETURN 0



GO


GRANT EXECUTE ON dbo.[SA_SYNC_JOURNAL_TAB_SEL] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_BB_DICTION_PROG]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_BB_DICTION_PROG]
GO

CREATE PROCEDURE dbo.SYNCH_BB_DICTION_PROG (@DB NVARCHAR(50), @LINK_JOURN_TAB INT)
AS
BEGIN
/*
Синхронизация Классификатор программ
*/


DECLARE @varKStrancount	int
		
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, CODE VARCHAR(4), NAME VARCHAR(50), LNAME VARCHAR(1000), NUM INT)

DECLARE @SQL NVARCHAR(4000)

SET @SQL = 
N'	
INSERT INTO #DICT (LINK, CODE, NAME, LNAME, NUM)

SELECT D.LINK, LEFT(D.CODE,4), LEFT(D.SNAME,50), LEFT(D.NAME,1000), NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,4) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.KL_PROG D
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(DATEB,''19800101'') AND ISNULL(DATEE,''20490101'')	
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 1
		WHERE
			D.LINK_DEP = D1.LINK)
	AND
	LEFT(D.CODE,4) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Добавление записи в качестве неопределенного бюджета

IF NOT EXISTS (SELECT * FROM dbo.KL_PROG WHERE [Code]= REPLICATE('-',4)) 
	INSERT INTO dbo.KL_PROG(CODE, NAME, LNAME)
	SELECT REPLICATE('-',4), 'Неизвестный подраздел', 'Неизвестный подраздел'

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,''),
	A.LNAME = ISNULL(T.LNAME,'')
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.KL_PROG A ON T.CODE = A.CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')
	OR
	A.LNAME <> ISNULL(T.LNAME,'')	

INSERT INTO dbo.KL_PROG (CODE, NAME, LNAME) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.CODE,
	ISNULL(T.NAME,''),
	ISNULL(T.LNAME,'')
FROM
	#DICT T
WHERE
	NOT EXISTS (SELECT * FROM dbo.KL_PROG A WHERE A.CODE = T.CODE)

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN

END

GO


GRANT EXECUTE ON dbo.[SYNCH_BB_DICTION_PROG] TO PUBLIC

GO

GO
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SD_REP_ADD_CHILD]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SD_REP_ADD_CHILD]

GO
 ---exec SD_REP_ADD_CHILD '20120101','20161031'
CREATE PROCEDURE dbo.SD_REP_ADD_CHILD
	@varKSDATE1 datetime,
	@varKSDATE2 datetime
AS

DECLARE @DEP_LINK INT
SET @DEP_LINK = NULL


IF @DEP_LINK is null
	exec dbo.xd_whats_zb @DEP_LINK OUTPUT
---
CREATE TABLE #TAB_CH (LINK INT, NUMBER varchar(30), DEP_LINK INT , NAME_DEP VARCHAR(254),  DATE_DOC DATETIME, ORDERS INT, LINK_VCH INT, LINK_EMPL INT, 
					 TAB VARCHAR(10), FIO VARCHAR(100),LINK_SFIN INT,
					 CODE_SFIN VARCHAR(30) , TYP_CALC INT ,NAME_CALC VARCHAR(18),BASE_SUM NUMERIC(18,2),[DAYS] int,[HOURS] NUMERIC(18,2),
					 DAYS_NORM INT ,HOURS_NORM NUMERIC(18,2),SUMMA_NEW NUMERIC(18,2),SUMMA_OLD NUMERIC(18,2),SUMMA NUMERIC(18,2), PERC INT,
					 DATE_BEG datetime,DATE_END datetime,REGION NUMERIC(10,2),REGSUM NUMERIC(18,2),NORTH NUMERIC(10,2),NORTHSUM NUMERIC(18,2),
					 SUBDIV_NAME VARCHAR(254),POST_NAME VARCHAR(254),LINK_PAYS int,CODE_PAYS VARCHAR(10),NAME_PAYS VARCHAR(60))

INSERT INTO #TAB_CH (LINK, NUMBER, DEP_LINK, NAME_DEP,  DATE_DOC, ORDERS, LINK_VCH, LINK_EMPL, TAB, FIO, LINK_SFIN,
					 CODE_SFIN, TYP_CALC, NAME_CALC, BASE_SUM, [DAYS], [HOURS],
					 DAYS_NORM, HOURS_NORM, SUMMA_NEW, SUMMA_OLD, SUMMA, PERC,
					 DATE_BEG, DATE_END, REGION, REGSUM, NORTH, NORTHSUM,
					 SUBDIV_NAME, POST_NAME, LINK_PAYS, CODE_PAYS, NAME_PAYS)
SELECT ct.LINK, 
	   c.NUMBER, 
	   c.LINK_DEP, 
	   c.NAME_DEP, 
	   DATE_DOC = c.DATE ,
	   ORDERS = ROW_NUMBER() OVER (PARTITION BY ct.code_pays ORDER BY c.link), 
	   LINK_VCH = ct.LINK_VAC_CHILD, 
	   ct.LINK_EMPL, 
	   ct.TAB, 
	   ct.FIO, 
	   ct.LINK_SFIN,
	   ct.CODE_SFIN, 
	   ct.TYP_CALC, 
	   ct.NAME_CALC, 
	   ct.BASE_SUM, 
	   [DAYS] = ( SELECT DateDiff(day,convert( datetime , ct.DATE_BEG, 104), convert( datetime ,ct.DATE_END, 104)))+1 , 
	   ct.[HOURS],
	   ct.DAYS_NORM, 
	   ct.HOURS_NORM, 
	   ct.SUMMA_NEW, 
	   ct.SUMMA_OLD, 
	   ct.SUMMA, 
	   PERC = (SELECT top 1 sa.perc
				FROM  VAC_CHILD vc 
				INNER JOIN  sdoc_adis_table1 sa ON sa.LINK_UP = vc.link_r 
				WHERE vc.link = ct.LINK_VAC_CHILD ),
   	   DATE_BEG = convert( datetime , ct.DATE_BEG, 104), 
   	   DATE_END = convert( datetime ,ct.DATE_END, 104), 
   	   ct.REGION, 
   	   ct.REGSUM, 
   	   ct.NORTH, 
   	   ct.NORTHSUM,
	   ct.SUBDIV_NAME, 
	   ct.POST_NAME, 
	   ct.LINK_PAYS, 
	   ct.CODE_PAYS, 
	   ct.NAME_PAYS 
FROM dbo.DOCUMENTS_ADD_CHILD c 
inner JOIN DOCUMENTS_ADD_CHILD_TABLE ct  ON ct.link = c.link
WHERE c.link_dep = @DEP_LINK 
AND c.FLAG_JC = 1 
AND convert(DATETIME,ct.DATE_END,104)  between  convert(DATETIME,@varKSDATE1, 104 )  AND convert(DATETIME,@varKSDATE2, 104 )


SELECT * FROM #TAB_CH
ORDER BY CODE_PAYS, ORDERS, DATE_DOC, NUMBER, FIO

DROP TABLE #TAB_CH




GO


GRANT EXECUTE ON dbo.[SD_REP_ADD_CHILD] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_6NDFL_EXPORT_TEST]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_6NDFL_EXPORT_TEST]

GO
CREATE PROCEDURE dbo.SA_6NDFL_EXPORT_TEST (@Res tinyint output, @link int, @m int) 
AS
BEGIN

/* declare @Res tinyint
 set @Res = 0
 exec SA_6NDFL_EXPORT_TEST @Res output, 2501, 3
 */
	DECLARE @LINK_DEP INT
	SELECT @LINK_DEP = LINK_ORGANIZATION FROM dbo.REPORT_SAVED_FORMS WHERE LINK_SAVED_FORM = @link

	SELECT 				
		D.PFNUMBER,
		D.TFOMS_REG_NUM,
		D.OKATO AS OKATO,
		D.OKTMO,
		D.INN,
		D.OKVED,
		D.KPP,
		D.OKPO,
		D.OGRN,
		D.OKOPF,
		D.OKFS,
		GB_PHONE = GLBUH.PHONE,
		D.KLADR_LINK,
		D.TFOMS_KT,
		GLBUH_FIO = GLBUH.FM,
		DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
		DD2.NALOG AS SONO
		
	INTO #TMP	
	FROM 
		dbo.DEPARTMENTS D
		LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON D.IMNS_LINK = DD2.LINK
		LEFT JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = d.link
	WHERE 
		D.LINK = @LINK_DEP
	
	
	
	SET @Res = 1		
	CREATE TABLE #ERR_MSG (MSG_BEFORE VARCHAR(254),Msg VARCHAR(254),msg_after VARCHAR(254))

	IF EXISTS (SELECT * FROM #TMP WHERE LEN(LTRIM(RTRIM(ISNULL(IMNS_SONO,'')))) = 0) BEGIN
		SET @Res = 0
		INSERT INTO #ERR_MSG (MSG_BEFORE, Msg, msg_after)
		SELECT
			MSG_BEFORE = 'Не указаны следующие реквизиты:',
			Msg = 'Код ИФНС в собственных реквизитах организации.',
			msg_after  = 'Невозможно создать файл.'
	END

	IF EXISTS (SELECT * FROM #TMP WHERE LEN(LTRIM(RTRIM(ISNULL(SONO,'')))) = 0) BEGIN
		SET @Res = 0
		INSERT INTO #ERR_MSG (MSG_BEFORE, Msg, msg_after)
		SELECT
			MSG_BEFORE = 'Не указаны следующие реквизиты:',
			Msg = 'Код ИФНС в собственных реквизитах организации.',
			msg_after  = 'Невозможно создать файл.'
	END		
	
	IF EXISTS (SELECT * FROM #TMP WHERE LEN(LTRIM(RTRIM(ISNULL(KPP,'')))) = 0) BEGIN
		SET @Res = 0
		INSERT INTO #ERR_MSG (MSG_BEFORE, Msg, msg_after)
		SELECT
			MSG_BEFORE = 'Не указаны следующие реквизиты:',
			Msg = 'КПП',
			msg_after  = 'Необходимо указать КПП в настройках организации на вкладке РЕКВИЗИТЫ.'
	END	

	IF EXISTS (SELECT * FROM #TMP WHERE LEN(LTRIM(RTRIM(ISNULL(INN,'')))) = 0) BEGIN
		SET @Res = 0
		INSERT INTO #ERR_MSG (MSG_BEFORE, Msg, msg_after)
		SELECT
			MSG_BEFORE = 'Не указаны следующие реквизиты:',
			Msg = 'ИНН',
			msg_after  = 'Необходимо указать ИНН в настройках организации на вкладке РЕКВИЗИТЫ.'
	END	

	IF EXISTS (SELECT * FROM #TMP WHERE LEN(LTRIM(RTRIM(ISNULL(OKTMO,'')))) = 0) BEGIN
		SET @Res = 0
		INSERT INTO #ERR_MSG (MSG_BEFORE, Msg, msg_after)
		SELECT
			MSG_BEFORE = 'Неверно указаны следующие реквизиты:',
			Msg = 'OKTMO',
			msg_after  = 'Необходимо указать OKTMO в настройках организации на вкладке РЕКВИЗИТЫ.'
	END		

	
	/*IF EXISTS (SELECT * FROM #TMP WHERE LEN(LTRIM(RTRIM(ISNULL(TFOMS_REG_NUM,'')))) = 0) BEGIN
		SET @Res = 0
		INSERT INTO #ERR_MSG (MSG_BEFORE, Msg, msg_after)
		SELECT
			MSG_BEFORE = 'Не указаны следующие реквизиты:',
			Msg = 'Регистрационный номер в ТФОМС.',
			msg_after  = 'Необходимо указать Регистрационный номер в ТФОМС в настройках организации на вкладке ПРОЧИЕ.'
	END	*/

	
	SELECT * FROM #ERR_MSG	
	
END







GO


GRANT EXECUTE ON dbo.[SA_6NDFL_EXPORT_TEST] TO PUBLIC

GO



GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SALARY_DOC_RESERV_RASCHET2]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SALARY_DOC_RESERV_RASCHET2]

GO

/*
© Кейсистемс (Keysystems), 2005
*/
CREATE PROCEDURE dbo.SALARY_DOC_RESERV_RASCHET2
	@LINK int

AS

--[SALARY_DOC_RESERV_RASCHET2] 32353

BEGIN

DECLARE @MONTH INT, @YEAR INT, @LINK_DEP INT
SELECT @MONTH = MONTH(SD.PERIOD), @YEAR = YEAR(SD.PERIOD), @LINK_DEP = S.LINK_DEP
FROM
	dbo.SDOC S with (nolock) 
	INNER JOIN dbo.SDOC_RESERV SD with (nolock) ON S.LINK = SD.LINK_UP
WHERE
	S.LINK = @LINK	

----Сумма начислений
--IF OBJECT_ID('TEMPDB..#J','U') IS NOT NULL
--	DROP TABLE #J
	
--CREATE TABLE #J (PERS INT, SUMMA NUMERIC(20,2))

--INSERT INTO #J (PERS, SUMMA)
--SELECT E.PERS_LINK, SUM(J.SUMMA)
--FROM
--	dbo.PAYS_REF PR 
--	INNER JOIN dbo.CALCULATE_JURNAL J ON J.LINK_PAYS = PR.LINK_PAYS
--	INNER JOIN dbo.EMPL E ON E.LINK = J.LINK_EMPL
--WHERE
--	PR.LINK_GROUPS = dbo.sa_get_option_by_code('DOCUMENTS_ADD_RESERV_OPT1')
--	AND
--	J.LINK_DEP = @LINK_DEP
--	AND
--	YEAR(J.PERIOD_BEGIN) = @YEAR
--	AND
--	MONTH(J.PERIOD_BEGIN) = @MONTH
--GROUP BY
--	E.PERS_LINK



IF OBJECT_ID('TEMPDB..#ST','U') IS NOT NULL
	DROP TABLE #ST
	
CREATE TABLE #ST ([PERCENT] NUMERIC(20,2))

--Общий тариф по травматизму
INSERT INTO #ST ([PERCENT])
SELECT TOP 1 [PERCENT]
FROM 
	dbo.PAYS P
	INNER JOIN dbo.DICTIONARY_RANGE DR ON P.LINK = DR.LINK_PAYS
WHERE
	P.[OBJECT] = 3 AND P.WAY_CALC = 5
	AND TARIF = 1
	AND DR.[DATE]= (SELECT TOP 1 [DATE] FROM dbo.DICTIONARY_RANGE DR1 
		WHERE DR1.TARIF = DR.TARIF AND LINK_PAYS = P.LINK AND [DATE] <= dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR)) ORDER BY [DATE] DESC) 

--Тариф по травматизму для инвалидов
IF OBJECT_ID('TEMPDB..#STI','U') IS NOT NULL
	DROP TABLE #STI
	
CREATE TABLE #STI (PERS_LINK INT, [PERCENT] NUMERIC(20,2))

INSERT INTO #STI (PERS_LINK, [PERCENT])
SELECT
	I.PERS_LINK, [PERCENT] = MP.summa
FROM	
	dbo.MINROT_PAYS MP
	INNER JOIN dbo.PERS_INVALID I ON 1=1
WHERE
	[OBJECT] = (SELECT TOP 1 LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T3')
	AND
	LINK_MINROT = (SELECT TOP 1 LINK FROM dbo.MINROT WHERE PERIOD<=dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR)) ORDER BY PERIOD DESC)
	AND
	dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR)) BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')	



--Тариф по физлицам (пока на основе рассчитанных стр. взносов)
DECLARE @LinkEKR_R211 int
SELECT @LinkEKR_R211 = LINK FROM dbo.DICTIONARY_ITEM WHERE CODE = 'R211'

IF OBJECT_ID('TEMPDB..#S','U') IS NOT NULL
	DROP TABLE #S
	
CREATE TABLE #S (PERS INT, [PERCENT] NUMERIC(20,2))

/*
Вычисление тарифов по страховым взносам как в расчете страховых взносов
*/

--INSERT INTO #S (PERS, [PERCENT])
--SELECT E.PERS_LINK, SUM(J.SUMMA)/(SUM(J.SUMMA_BASE)/SUM(1)) * 100
--FROM
--	dbo.PAYS P 
--	INNER JOIN dbo.CALCULATE_JURNAL J ON J.LINK_PAYS = P.LINK
--	INNER JOIN dbo.EMPL E ON E.LINK = J.LINK_EMPL
--WHERE
--	P.[OBJECT] = 3 AND P.WAY_CALC <> 5
--	AND
--	J.LINK_DEP = @LINK_DEP
--	AND
--	YEAR(J.PERIOD_BEGIN) = @YEAR
--	AND
--	MONTH(J.PERIOD_BEGIN) = @MONTH	
--	AND
--	J.LINK_EKR <> @LinkEKR_R211
--GROUP BY
--	E.PERS_LINK
--HAVING
--	SUM(J.SUMMA_BASE) > 0


--Остаток неиспользованных дней отпуска
IF OBJECT_ID('TEMPDB..#VAC','U') IS NOT NULL
	DROP TABLE #VAC
	
CREATE TABLE #VAC (LINK_EMPL INT, [SUMMA] INT)

INSERT INTO #VAC (LINK_EMPL, [SUMMA])
SELECT
	LINK, ISNULL([not_us_o],0) + ISNULL([not_us_D],0)
FROM	
	dbo.ku_EmplNormVacationR(dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR)))

DECLARE @DAYS INT
SET @DAYS = 
	datediff(
		day,
		dbo.DateBeginOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR)),
		dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR))
	) + 1

--SELECT 
--	datediff(
--		day,
--		dbo.DateBeginOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR)),
--		dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR))
--	) + 1
--	-
--	(		
--	SELECT 
--		COUNT(DH.[DAY])
--	FROM
--		dbo.days_ex(
--			dbo.DateBeginOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR)), 
--			dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR))
--			) A
--		INNER JOIN dbo.HOLIDAYS DH ON day(A.[DATE]) = DH.[DAY] and month(A.DATE) = DH.[MONTH] AND YEAR(A.DATE) = DH.[YEAR] AND DH.TYPE_HOL = 1
--	)		

DELETE FROM dbo.SDOC_RESERV_TABLE WHERE LINK_UP = @LINK

INSERT INTO dbo.SDOC_RESERV_TABLE (LINK_UP, ORDERS, LINK_EMPL, SUMMA_BASE, AMOUNT_DED, SUMMA_DED, AMOUNT_TR, SUMMA_TR, OST_VAC_D, SUMMA_RESERV)

SELECT 
	LINK_UP = @LINK
	,ORD = ROW_NUMBER () OVER (ORDER BY P.FM,P.IM,P.OT)
	,LINK_EMPL = E.LINK
	,SUMMA_BASE = 0--ISNULL(J.SUMMA,0)
	,PERCENT_S = ISNULL(S.[PERCENT],0)
	,SUMMA_S = 0--ROUND(ISNULL(J.SUMMA,0) * ISNULL(S.[PERCENT],0) / 100,2)
	,PERCENT_T = COALESCE(STI.[PERCENT],ST.[PERCENT],0)
	,SUMMA_ST = 0--ROUND(ISNULL(J.SUMMA,0) * COALESCE(STI.[PERCENT],ST.[PERCENT],0) / 100,2)
	,DAYS_VAC = ISNULL(VAC.SUMMA,0)
	,SUUMA_R = 0
		--(
		--	ISNULL(J.SUMMA,0)
		--+	ROUND(ISNULL(J.SUMMA,0) * ISNULL(S.[PERCENT],0) / 100,2)
		--+	ROUND(ISNULL(J.SUMMA,0) * COALESCE(STI.[PERCENT],ST.[PERCENT],0) / 100,2)
		--) 
		--/ (@DAYS)
		--* (ISNULL(VAC.SUMMA,0) / 12)

FROM
	DBO.EMPL E with (nolock)
	--Заполняем сотрудником с последним приказом о приеме
	INNER JOIN (
		/*выбор последних линков сотрудников для статусов основной и внешний совместитель
		берется последний табельный, если увольнялся, затем заново принимался*/
		SELECT E.DEP_LINK, E.PERS_LINK, E.LINK, E.TAB, NUM = ROW_NUMBER () OVER (PARTITION BY E.DEP_LINK, E.PERS_LINK ORDER BY DATE_BEGIN DESC)
			FROM dbo.EMPL E INNER JOIN dbo.ITEM_MOVE IM ON E.LINK = IM.EMPL_LINK
				WHERE IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND (IM.[STATUS]=1 OR IM.[STATUS]=3) AND DATE_BEGIN <= dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR))
		/*выбор линков сотрудников для статусов внутренний совместитель*/
		UNION ALL
		SELECT E.DEP_LINK, E.PERS_LINK, E.LINK, E.TAB, NUM = 1
			FROM dbo.EMPL E INNER JOIN dbo.ITEM_MOVE IM ON E.LINK = IM.EMPL_LINK
				WHERE IM.ACTIVE = 1 AND IM.NEW_FACE=1 AND IM.[STATUS]=2 AND DATE_BEGIN <= dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR))
		) T ON T.DEP_LINK = E.DEP_LINK AND E.LINK = T.LINK AND T.NUM = 1	
	INNER JOIN DBO.PERSON P with (nolock) ON E.PERS_LINK = P.LINK
	LEFT JOIN DBO.ITEM_DIS_FACE IDF with (nolock) ON IDF.EMPL_LINK = E.LINK AND IDF.ACTIVE=1 AND COALESCE(IDF.DIS_DATE,'20490101') < dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,@MONTH,@YEAR))	
	--LEFT JOIN #J J ON J.PERS = E.PERS_LINK
	LEFT JOIN #S S ON S.PERS = E.PERS_LINK
	LEFT JOIN #ST ST ON 1=1
	LEFT JOIN #STI STI ON STI.PERS_LINK = E.PERS_LINK
	LEFT JOIN #VAC VAC ON VAC.LINK_EMPL = E.LINK
WHERE
	E.DEP_LINK = @LINK_DEP
	AND
	COALESCE(IDF.LINK,0) = 0

declare @p1 float
set @p1=0
exec SA_N_VAC_FILL @p1 output,'DOCUMENTS_CALC_AVG',1,0,17381,50621,2,2,'20160101','20160131','20160101',0,0,74578
select @p1


RETURN 0


END 



GO


GRANT EXECUTE ON dbo.[SALARY_DOC_RESERV_RASCHET2] TO PUBLIC

GO


--dbo.[SALARY_DOC_RESERV_RASCHET2] 20457 


--declare @p1 float
--set @p1=0
--exec SA_N_VAC_FILL @p1 output,'DOCUMENTS_CALC_AVG',1,0,17381,50621,2,2,'20160101','20160131','20160101',0,0,74578
--select @p1


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_BI_DICTION_IVF]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_BI_DICTION_IVF]
GO

CREATE PROCEDURE dbo.SYNCH_BI_DICTION_IVF (@DB NVARCHAR(250), @LINK_JOURN_TAB INT)
AS
BEGIN
/*
Синхронизация Источники финансирования
*/

DECLARE @varKStrancount	int
		
SET @varKStrancount = @@TRANCOUNT
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRAN
COMMIT TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, CODE VARCHAR(10), NAME VARCHAR(250), LNAME VARCHAR(1000), NUM INT)

DECLARE @SQL NVARCHAR(4000)

SET @SQL = 
N'	
INSERT INTO #DICT (LINK, CODE, NAME, LNAME, NUM)

SELECT D.LINK, LEFT(D.CODE,10), LEFT(D.SNAME,250), LEFT(D.NAME,1000), NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,10) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.KL_IVF D
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(DATEB,''19800101'') AND ISNULL(DATEE,''20490101'')	
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 1
		WHERE
			D.LINK_DEP = D1.LINK)
	AND
	LEFT(D.CODE,10) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Добавление записи в качестве неопределенного бюджета

IF NOT EXISTS (SELECT * FROM dbo.KL_IVF WHERE [Code]= REPLICATE('-',10)) 
	INSERT INTO dbo.KL_IVF(CODE, NAME, LNAME)
	SELECT REPLICATE('-',10), 'Неизвестный подраздел', 'Неизвестный подраздел'

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,''),
	A.LNAME = ISNULL(T.LNAME,'')
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.KL_IVF A ON T.CODE = A.CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')
	OR
	A.LNAME <> ISNULL(T.LNAME,'')	

INSERT INTO dbo.KL_IVF (CODE, NAME, LNAME) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.CODE,
	ISNULL(T.NAME,''),
	ISNULL(T.LNAME,'')
FROM
	#DICT T
WHERE
	NOT EXISTS (SELECT * FROM dbo.KL_IVF A WHERE A.CODE = T.CODE)

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

IF @@TRANCOUNT > @varKStrancount
	COMMIT TRAN

END

GO


GRANT EXECUTE ON dbo.[SYNCH_BI_DICTION_IVF] TO PUBLIC

GO

GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_RSV1_EXPORT_0700_2014]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_RSV1_EXPORT_0700_2014]

GO

CREATE   PROCEDURE [dbo].SA_RSV1_EXPORT_0700_2014 ( @Link int /*Ссылка на расчет*/ )
AS

CREATE TABLE #OUTPUT (ID int identity(1,1), F_NAME VARCHAR(254), OUT_TEXT TEXT)

SET NOCOUNT ON

--Строка заголовка
CREATE TABLE #TASK_PROP (ID int identity(1,1), VAL VARCHAR (254))

INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MAJOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_MINOR',1
INSERT INTO #TASK_PROP (VAL) exec dbo.X_GET_PROP_CLIENT 'PROJECT','VERSION_FIX',1

declare @NAME_PROG varchar(254), @VERS_PROG VARCHAR(254), @WORK_END VARCHAR(254)
Select @NAME_PROG = UPPER(RTRIM(LTRIM([NAME]))),
	@VERS_PROG = (SELECT RTRIM(LTRIM(VAL)) FROM #TASK_PROP WHERE [ID] = 1)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 2)
	+ (SELECT REPLACE(STR(RTRIM(LTRIM(VAL)),2),' ','0') FROM #TASK_PROP WHERE [ID] = 3)
from dbo.DICTIONARY_TASK where CODE = 'SALARY'
--------------------------------------------
-- Проставлять ОКАТО или ОКТМО по настройке
DECLARE @OKATO_OR_OKTMO int
SET @OKATO_OR_OKTMO = dbo.SA_GET_OPTION_BY_CODE('NASTR_USE_OKATO_OKTMO')

DECLARE @ATR_TYPE_KOR INT
SET @ATR_TYPE_KOR  = (SELECT DBO.RN_GET_ATR_VALUE(@Link, 'REPORTS_ATR_TYPE_KOR'))	

--Атрибут "Прекращение деятельности"
SET @WORK_END = (SELECT DBO.RN_GET_ATR_VALUE(@Link, 'REPORTS_ATR_LIKVID'))
SET @WORK_END = CASE WHEN @WORK_END LIKE 'ДА' THEN 'Л' ELSE '' END
	
DECLARE @LINK_DEP INT, @YEAR INT, @Version TINYINT, @Period_Number TINYINT, @LINK_FORM INT, @Begin_Date DATETIME, @End_Date DATETIME, @modify_date DATETIME
SELECT
	@LINK_DEP = LINK_ORGANIZATION,
	@YEAR = YEAR(Begin_Date),
	@Version = [Version],
	@Period_Number = Period_Number,
	@LINK_FORM = LINK_FORM,
	@Begin_Date = dbo.DateBeginOfYear(Begin_Date),
	@End_Date = dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,Period_Number*3,YEAR(Begin_Date))),
	@modify_date = modify_date
FROM dbo.REPORT_SAVED_FORMS WHERE LINK_SAVED_FORM = @link

SELECT top 1
	DD1.OKPO AS OKPO1,
	RIGHT(REPLICATE('0',12) + LTRIM(RTRIM(DD1.INN)), 12) AS INN1,
	DD1.KPP AS KPP1,
	FULL_NAME = CONVERT(VARCHAR(160),UPPER(DD1.FULL_NAME)),
	UPPER(DD1.NAME) AS ORGNAME,
	DD2.NALOG AS IMNS_SONO, DD2.NAME AS IMNS_NAME,
	DD2.NALOG AS SONO,
	RIGHT(REPLICATE('0',15) + LTRIM(RTRIM(DD1.OGRN)), 15) AS OGRN1,
	LTRIM(RTRIM(dbo.GetAddressBykladr(DD1.REF_LINK_A)))
		+ CASE WHEN ISNULL(DD1.HOUSE, '') = '' THEN '' ELSE ' ' + LTRIM(RTRIM(DD1.HOUSE)) END
		+ CASE WHEN ISNULL(DD1.FLAT, '') = '' THEN '' ELSE ' - ' + LTRIM(RTRIM(DD1.FLAT)) END
	AS ADDR_STR,
	CAST(NULL AS DATETIME) AS DATE_END,
	UPPER(RTRIM(CHIEF.FM) + ' ' + LEFT(CHIEF.IM, 1) + '. ' + LEFT(CHIEF.OT,1) + '.') AS CHIEF_FIO,
	RTRIM(CHIEF.PHONE) AS CH_PHONE,
	UPPER(RTRIM(GLBUH.FM) + ' ' + LEFT(GLBUH.IM, 1) + '. ' + LEFT(GLBUH.OT,1) + '.') AS GLBUH_FIO,
	RTRIM(GLBUH.PHONE) AS GL_PHONE,
	OGRN = RIGHT(REPLICATE('0',15) + LTRIM(RTRIM(DD1.OGRN)), 15),
	DD1.OKATO,
	DD1.OKTMO,
	OKVED = (CASE WHEN LEN(ltrim(rtrim(DD1.OKVED)))<8 AND RIGHT(DD1.OKVED,1) = '.' THEN STUFF(DD1.OKVED,LEN(ltrim(rtrim(DD1.OKVED))),1,'') ELSE DD1.OKVED end) ,
	DD1.OKPO,
	DD1.FSS_REG_NUM, --Регистрационный номер (код) страхователя ТФОМС
	DD1.FSS_KOD_P, --Код подчиненности - код, состоящий из пяти цифр, указывающий на территориальный орган Фонда, в котором страхователь зарегистрирован в текущий момент;	
	DD1.FSS_KOD_DOP, --Дополнительный код предусмотрен для обособленных подразделений организаций
	DD1.OKOPF, --- код Общероссийского классификатора организационно-правовых форм;
	DD1.OKFS, --- код Общероссийского классификатора форм собственности;
	DD1.PFNUMBER,
	DA.PINDEX, REGION = UPPER(DA.REGION), DA.REGCODE, RAION = UPPER(DA.RAION), GOROD = UPPER(DA.GOROD),
	NASEL = UPPER(DA.NASEL), STREET = UPPER(DA.STREET), DA.HOUSE, DA.KORP, DA.FLAT,
	TFOMS_RNUM = DD1.TFOMS_REG_NUM,
	TFOMS_KT = DD1.TFOMS_KT,
	TFOMS_KTI = '03',
	WORK_END = '1'
INTO #DEP_DATA	
FROM DICTIONARY_DEPARTMENT DD1
	LEFT OUTER JOIN DICTIONARY_DEPARTMENT DD2 ON DD1.IMNS_LINK = DD2.LINK
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') chief on chief.link_dep = dd1.link
	LEFT OUTER JOIN dbo.GetOtvFaceData(@LINK_DEP, 'Главный бухгалтер') GLBUH ON GLBUH.link_dep = dd1.link
	LEFT JOIN DBO.DEP_ADRESS(@LINK_DEP) DA ON 1=1
WHERE DD1.LINK = @LINK_DEP


/*Узнаем с какого номера начинаются пачки ондивидуальных сведений, для того чтобы вычислить номер пачки описи*/
IF OBJECT_ID('tempdb..#t_osn') IS NOT NULL DROP TABLE #t_osn
CREATE table #t_osn (code CHAR(10), COL1 INT , COL2 VARCHAR(10) , COL3 NUMERIC(18,2), COL4 NUMERIC(18,2), COL5 INT, COL6 VARCHAR(100), COL7 VARCHAR(10), col8 int , col9 int, col10 int, col11 int)
IF OBJECT_ID('tempdb..#t_kor') IS NOT NULL DROP TABLE #t_kor
CREATE table #t_kor (code CHAR(10), COL1 INT , COL2 CHAR(4) , COL3 NUMERIC(18,2), COL4 NUMERIC(18,2), COL5 VARCHAR(50), COL6 VARCHAR(50), COL7 VARCHAR(50), col8 int , col9 VARCHAR(100), col10 VARCHAR(10), col11 int, col12 int , col13 int, col14 VARCHAR(50), col15 VARCHAR(50), col16 VARCHAR(10))


INSERT INTO #t_osn /*(code, COL1, COL2, COL3, COL4, COL5, COL6, COL7, col8, col9, col10, col11)*/
exec [dbo].RSA_RSV_1_PERS_UCH @Begin_Date, @End_Date, @LINK_DEP ,0,  @link   

INSERT INTO #t_kor
exec [dbo].RSA_RSV_1_PERS_UCH @Begin_Date, @End_Date, @LINK_DEP ,1,  @link   

INSERT INTO #t_osn (code, COL1 , COL2 , COL4)
SELECT code, COL1 , COL2 , COL4
FROM #t_kor

DECLARE @NUM_P INT 
IF COALESCE(dbo.sa_get_option_by_code('SA_SZV4_OPT3'),0) = 1
	SET @NUM_P = (SELECT MIN(COALESCE(COL1,0))-1 FROM #t_osn) 
ELSE 
	SET @NUM_P = (SELECT MAX(COALESCE(COL1,0))+1 FROM #t_osn) 

drop table #t_osn 
drop table #t_kor

/**/





DECLARE @Cur0 CURSOR, @CurD0 CURSOR, @Cur00 CURSOR,@Cur000 CURSOR, @TAB_NUM TINYINT, @TAB_NAME VARCHAR(254), @TABD_NUM TINYINT, @TABD_NAME VARCHAR(254), @TAB1_NAME VARCHAR(254), @TAB1_NUM TINYINT, @Cur CURSOR, @Cur1 CURSOR , @Cur2 CURSOR , @NUM INT, @BLOK_NAME VARCHAR(254), @RAZDEL_NUM TINYINT, @RAZDEL_NAME VARCHAR(254),
		@CurI0 CURSOR,@CurI00 CURSOR,@CurI000 CURSOR,@CurI CURSOR, @CurI1 CURSOR, @CurI2 CURSOR

DECLARE @lcFNAME varchar(254)
SELECT @lcFNAME = 'PFR-700-Y-' + CONVERT(VARCHAR(4),@YEAR) + '-ORG-' + RTRIM(LTRIM(COALESCE(PFNUMBER,''))) + '-DCK-' + REPLACE(str((@NUM_P),5),' ','0') + '-DPT-000000-DCK-00000.XML' FROM #DEP_DATA

	--exec SA_RSV1_EXPORT_0700_2014   2565	


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, 'OEM' --Имя файла
UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="Windows-1251" ?>'
UNION ALL SELECT @lcFNAME, SPACE(0) + '<ФайлПФР xmlns="http://schema.pfr.ru">'
	UNION ALL SELECT @lcFNAME, SPACE(1) + '<ИмяФайла>' + RTRIM(LTRIM(@lcFNAME)) + '</ИмяФайла>'
	UNION ALL SELECT @lcFNAME, SPACE(1) + '<ЗаголовокФайла>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ВерсияФормата>07.00</ВерсияФормата>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ТипФайла>ВНЕШНИЙ</ТипФайла>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ПрограммаПодготовкиДанных>'
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<НазваниеПрограммы>' + @NAME_PROG + '</НазваниеПрограммы>'
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<Версия>' + @VERS_PROG + '</Версия>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '</ПрограммаПодготовкиДанных>'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ИсточникДанных>СТРАХОВАТЕЛЬ</ИсточникДанных> '
	UNION ALL SELECT @lcFNAME, SPACE(1) + '</ЗаголовокФайла>'
	UNION ALL SELECT @lcFNAME, SPACE(1) + '<ПачкаВходящихДокументов Окружение="Единичный запрос">'
	 UNION ALL SELECT @lcFNAME, SPACE(2) + '<РАСЧЕТ_ПО_СТРАХОВЫМ_ВЗНОСАМ_НА_ОПС_И_ОМС_ПЛАТЕЛЬЩИКАМИ_ПРОИЗВОДЯЩИМИ_ВЫПЛАТЫ_ФЛ_2015>'
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<НомерВпачке>1</НомерВпачке>'
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегистрационныйНомерПФР>' + LTRIM(RTRIM(ISNULL(PFNUMBER,''))) + '</РегистрационныйНомерПФР>' + CHAR(10) +
								 SPACE(3) + '<НомерКорректировки>' + CASE @Version WHEN 0 THEN '000' ELSE (REPLICATE('0',2) + ltrim(rtrim(CONVERT(varchar(3),@Version)))) END + '</НомерКорректировки>' + CHAR(10) +
								 SPACE(3) + '<КодОтчетногоПериода>' + CASE @Period_Number WHEN 1 THEN '3' WHEN 2 THEN '6' WHEN 3 THEN '9' ELSE '0' END +'</КодОтчетногоПериода>' + CHAR(10) +
								 SPACE(3) + '<КалендарныйГод>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),@YEAR),''))) + '</КалендарныйГод> ' + CHAR(10) +
							   CASE WHEN LTRIM(RTRIM(ISNULL(@WORK_END,''))) = 'Л' THEN
										SPACE(3) + '<ПрекращениеДеятельности>' + LTRIM(RTRIM(ISNULL(@WORK_END,''))) + '</ПрекращениеДеятельности> ' + CHAR(10)
								 ELSE '' END
		FROM #DEP_DATA	
		UNION ALL SELECT @lcFNAME, (	CASE  WHEN isnull(@ATR_TYPE_KOR,0) = 0 /*OR  @Version = 0*/ THEN ''
								ELSE
								SPACE(3) + '<ТипКорректировки>' + CONVERT(varchar(1),@ATR_TYPE_KOR) + '</ТипКорректировки>' + CHAR(10)
								END)

	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<НаименованиеОрганизации>' + LTRIM(RTRIM(ISNULL(FULL_NAME,''))) + '</НаименованиеОрганизации>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегистрационныйНомерТФОМС>' + LTRIM(RTRIM(ISNULL(TFOMS_RNUM,''))) + '</РегистрационныйНомерТФОМС>' FROM #DEP_DATA
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<ИННсимвольный>' + LTRIM(RTRIM(ISNULL(INN1,''))) + '</ИННсимвольный>' FROM #DEP_DATA
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<КПП>' + LTRIM(RTRIM(ISNULL(KPP1,''))) + '</КПП>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<ОГРН>' + LTRIM(RTRIM(ISNULL(OGRN1,''))) + '</ОГРН>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + case when @OKATO_OR_OKTMO = 1
				--							 then ('<КодПоОКАТО>' + REPLACE(LTRIM(RTRIM(ISNULL(OKATO,''))),SPACE(1),'') + '</КодПоОКАТО>' )
				--							 ELSE ('<КодПоОКТМО>' + REPLACE(LTRIM(RTRIM(ISNULL(OKTMO,''))),SPACE(1),'') + '</КодПоОКТМО>' ) END
				--							 FROM #DEP_DATA
	  											
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<КодПоОКВЭД>' + LTRIM(RTRIM(ISNULL(OKVED,''))) + '</КодПоОКВЭД>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<КодПоОКПО>' + LTRIM(RTRIM(ISNULL(OKPO,''))) + '</КодПоОКПО>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<КодПоОКОПФ>' + LTRIM(RTRIM(ISNULL(OKOPF,''))) + '</КодПоОКОПФ>' FROM #DEP_DATA
	  --UNION ALL SELECT @lcFNAME, SPACE(3) + '<КодПоОКФС>' + LTRIM(RTRIM(ISNULL(OKFS,''))) + '</КодПоОКФС>' FROM #DEP_DATA
	  UNION ALL SELECT @lcFNAME, SPACE(3) + '<Телефон>' + LTRIM(RTRIM(ISNULL(GL_PHONE,''))) + '</Телефон>' FROM #DEP_DATA

	 -- UNION ALL SELECT @lcFNAME, SPACE(3) + '<АдресРегистрации>'
		 -- UNION ALL SELECT @lcFNAME, SPACE(4) + '<ТипАдреса>РОССИЙСКИЙ</ТипАдреса>'
		 -- UNION ALL SELECT @lcFNAME, SPACE(4) + '<Индекс>'+ LTRIM(RTRIM(ISNULL(PINDEX,''))) + '</Индекс>' FROM #DEP_DATA
		 -- UNION ALL SELECT @lcFNAME, SPACE(4) + '<РоссийскийАдрес>' + CHAR(10) +

			--								CASE WHEN LTRIM(RTRIM(ISNULL(REGION,''))) <> '' THEN
			--								 SPACE(5) + '<Регион>' + CHAR(10) +
			--									SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(REGION,len(REGION)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(REGION),1,' '))) ) )) + '</ГеографическоеНазвание>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(REGION),1,' ')) )) + '</Сокращение>' + CHAR(10) +
			--								SPACE(5) + '</Регион>' + CHAR(10)
			--								ELSE '' END +
											
			--								CASE WHEN LTRIM(RTRIM(ISNULL(RAION,''))) <> '' THEN
			--								 SPACE(5) + '<Район>' + CHAR(10) +
			--									SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(RAION,len(RAION)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(RAION),1,' '))) ) )) + '</ГеографическоеНазвание>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(RAION),1,' ')) )) + '</Сокращение>' + CHAR(10) +
			--								SPACE(5) + '</Район>' + CHAR(10)
			--								ELSE '' END +

			--								CASE WHEN LTRIM(RTRIM(ISNULL(GOROD,''))) <> '' THEN
			--								 SPACE(5) + '<Город>' + CHAR(10) +
			--									SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(GOROD,len(GOROD)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(GOROD),1,' '))) ) )) + '</ГеографическоеНазвание>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(GOROD),1,' ')) )) + '</Сокращение>' + CHAR(10) +
			--								SPACE(5) + '</Город>' + CHAR(10)
			--								ELSE '' END +

			--								CASE WHEN LTRIM(RTRIM(ISNULL(NASEL,''))) <> '' THEN
			--								 SPACE(5) + '<НаселенныйПункт>' + CHAR(10) +
			--									SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(NASEL,len(NASEL)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(NASEL),1,' '))) ) )) + '</ГеографическоеНазвание>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(NASEL),1,' ')) )) + '</Сокращение>' + CHAR(10) +
			--								SPACE(5) + '</НаселенныйПункт>' + CHAR(10)
			--								ELSE '' END +	

			--								CASE WHEN LTRIM(RTRIM(ISNULL(STREET,''))) <> '' THEN
			--								SPACE(5) + '<Улица>' + CHAR(10)
			--									+ SPACE(6) + '<ГеографическоеНазвание>'+ RTRIM(LTRIM(Left(STREET,len(STREET)-len(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(STREET),1,' '))) ) ))+'</ГеографическоеНазвание>' + CHAR(10)
			--									+ SPACE(6) + '<Сокращение>'+ RTRIM(LTRIM(REVERSE(dbo.SA_GET_WORD_NUM(REVERSE(STREET),1,' ')) ))+'</Сокращение>' + CHAR(10)
			--									+ SPACE(5) + '</Улица>' + CHAR(10)
			--								ELSE '' END	+			

			--								CASE WHEN LTRIM(RTRIM(ISNULL(HOUSE,''))) <> '' THEN
			--								 SPACE(5) + '<Дом>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>ДОМ</Сокращение>' + CHAR(10) +
			--									SPACE(6) + '<Номер>'+ UPPER(LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),HOUSE),'')))) + '</Номер>' + CHAR(10) +
			--								SPACE(5) + '</Дом>' + CHAR(10)
			--								ELSE '' END +												

			--								CASE WHEN LTRIM(RTRIM(ISNULL(KORP,''))) <> '' THEN
			--								 SPACE(5) + '<Корпус>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>КОРП.</Сокращение>' + CHAR(10) +
			--									SPACE(6) + '<Номер>'+ UPPER(LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),KORP),'')))) + '</Номер>' + CHAR(10) +
			--								SPACE(5) + '</Корпус>' + CHAR(10)
			--								ELSE '' END +																

			--								CASE WHEN LTRIM(RTRIM(ISNULL(FLAT,''))) <> '' THEN
			--								 SPACE(5) + '<Квартира>' + CHAR(10) +
			--									SPACE(6) + '<Сокращение>КВ.</Сокращение>' + CHAR(10) +
			--									SPACE(6) + '<Номер>'+ UPPER(LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),FLAT),'')))) + '</Номер>' + CHAR(10) +
			--								SPACE(5) + '</Квартира>' + CHAR(10)
			--								ELSE '' END +				
											
			--						SPACE(4) + '</РоссийскийАдрес>' + CHAR(10) +
			--					SPACE(3) + '</АдресРегистрации>'
			--FROM #DEP_DATA

------ стр.1_2
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
select @lcFNAME,
		CASE WHEN T.COL = 3 THEN
			SPACE(3) + '<КоличествоЗЛ>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ>'
		ELSE
			SPACE(3) + '<СреднесписочнаяЧисленность>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СреднесписочнаяЧисленность>'		
		END	
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 1, 1, DEFAULT) T WHERE T.COL IN (3,4) ORDER BY T.COL


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)	
		 --SELECT @lcFNAME, SPACE(3) + '<КодУстановленногоТарифа>' + LTRIM(RTRIM(ISNULL(TFOMS_KT,''))) + '</КодУстановленногоТарифа>' FROM #DEP_DATA
/*UNION ALL*/ SELECT @lcFNAME, SPACE(3) + '<КоличествоСтраниц>14</КоличествоСтраниц>'
UNION ALL SELECT @lcFNAME, SPACE(3) + '<КоличествоЛистовПриложения>0</КоличествоЛистовПриложения>'

----- стр.2
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел1РасчетПоНачисленнымУплаченным2014>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ОстатокЗадолженностиНаНачалоРасчетногоПериода>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, CASE T.COL
	WHEN 3 THEN SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
				SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN	SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	WHEN 5 THEN SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN SPACE(6) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN SPACE(6) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'
	WHEN 8 THEN SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'		
	--WHEN 6 THEN SPACE(5) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>'
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 1, DEFAULT) T WHERE T.COL IN (3,4,5,6,7,8) ORDER BY T.COL

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ОстатокЗадолженностиНаНачалоРасчетногоПериода>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<НачисленоСначалаРасчетногоПериода>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME,
	CASE T.COL
	WHEN 3 THEN
		CASE T.ROW 
			WHEN 2 THEN SPACE(5) + '<ВсегоСначалаРасчетногоПериода>' 
			WHEN 6 THEN SPACE(5) + '<ПоследниеТриМесяцаИтого>' 
			ELSE SPACE(5) + '<ПоследниеТриМесяца' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.ROW - 2))) + '>' 
		END + CHAR(10) +
				SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
				SPACE(6) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	--WHEN 4 THEN SPACE(6) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN SPACE(6) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN SPACE(6) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
	WHEN 8 THEN SPACE(6) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	+ CHAR(10) +		
	--WHEN 6 THEN SPACE(6) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>' + CHAR(10) +	
		CASE T.ROW 
			WHEN 2 THEN SPACE(5) + '</ВсегоСначалаРасчетногоПериода>' 
			WHEN 6 THEN SPACE(5) + '</ПоследниеТриМесяцаИтого>' 
			ELSE SPACE(5) + '</ПоследниеТриМесяца' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.ROW - 2))) + '>' 
		END	
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 0, DEFAULT) T WHERE ROW IN (2,3,4,5,6) AND T.COL IN (3,6,7,8) ORDER BY T.ROW, T.COL

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</НачисленоСначалаРасчетногоПериода>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ДоначисленоСначалаРасчетногоПериодаВсего>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, CASE T.COL
	WHEN 3 THEN --SPACE(5) + '<ВсегоСначалаРасчетногоПериода2013>' + CHAR(10) +
					SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN		SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	WHEN 5 THEN		SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN		SPACE(5) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN		SPACE(5) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
	WHEN 8 THEN		SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	
				--SPACE(5) + '</ВсегоСначалаРасчетногоПериода2013>'
	--WHEN 6 THEN sPACE(5) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>'
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 7, DEFAULT) T WHERE T.COL IN (3,4,5,6,7,8) ORDER BY T.COL
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ДоначисленоСначалаРасчетногоПериодаВсего>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ДоначисленоСначалаРасчетногоПериодаПревышающие>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, CASE T.COL
	WHEN 3 THEN	--SPACE(5) + '<СсуммПревышающихПредельнуюВеличинуБазы>' + CHAR(10) +	
					SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN		SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	--WHEN 5 THEN		SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	--WHEN 6 THEN		SPACE(5) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	--WHEN 7 THEN		SPACE(5) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'	
	--WHEN 8 THEN		SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	
				--SPACE(5) + '</СсуммПревышающихПредельнуюВеличинуБазы>'	
	--WHEN 6 THEN sPACE(5) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>'
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 8, DEFAULT) T WHERE T.COL IN (3,4) ORDER BY T.COL
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ДоначисленоСначалаРасчетногоПериодаПревышающие>'

---------------------
DECLARE @N_STR INT
IF @YEAR = 2015 AND @Period_Number = 1 
begin
	SET @N_STR = 10
END 
ELSE BEGIN 
	SET @N_STR = 12
	END 	
	
----------------------
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ВсегоКуплате>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, CASE T.COL
	WHEN 3 THEN --SPACE(5) + '<ВсегоСначалаРасчетногоПериода2013>' + CHAR(10) +
					SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN		SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	WHEN 5 THEN		SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN		SPACE(5) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN		SPACE(5) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
	WHEN 8 THEN		SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, @N_STR, DEFAULT) T WHERE T.COL IN (3,4,5,6,7,8) ORDER BY T.COL
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ВсегоКуплате>'


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<УплаченоСначалаРасчетногоПериода>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME,
	CASE T.COL
		WHEN 3 THEN
			CASE T.ROW_CODE 
					WHEN '140' THEN SPACE(5) + '<ВсегоСначалаРасчетногоПериода>' 
					WHEN '144' THEN SPACE(5) + '<ПоследниеТриМесяцаИтого>' 
					ELSE SPACE(5) + '<ПоследниеТриМесяца' + LTRIM(RTRIM(CONVERT(VARCHAR(1),CONVERT(INT,T.ROW_CODE) - 140))) + '>' 
			END + CHAR(10) +
						SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
						SPACE(6) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
		
		WHEN 4 THEN SPACE(6) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
		WHEN 5 THEN SPACE(6) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
		WHEN 6 THEN SPACE(6) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
		WHEN 7 THEN SPACE(6) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
		WHEN 8 THEN SPACE(6) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	+ CHAR(10) +		
		--WHEN 6 THEN SPACE(6) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>' + CHAR(10) +	
		CASE T.ROW_CODE
			WHEN '140' THEN SPACE(5) + '</ВсегоСначалаРасчетногоПериода>' 
			WHEN '144' THEN SPACE(5) + '</ПоследниеТриМесяцаИтого>' 
			ELSE SPACE(5) + '</ПоследниеТриМесяца' + LTRIM(RTRIM(CONVERT(VARCHAR(1),CONVERT(INT,T.ROW_CODE) - 140))) + '>' 
		END	
	END						
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 0, DEFAULT) T WHERE ROW_CODE IN ('140','141','142','143','144') AND T.COL IN (3,4,5,6,7,8) ORDER BY T.ROW, T.COL

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</УплаченоСначалаРасчетногоПериода>'

--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ВтомЧислеЗаПредыдущиеРасчетныеПериоды2013>'
--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
--SELECT @lcFNAME, CASE T.COL
--	WHEN 3 THEN SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
--		 SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
--	WHEN 4 THEN SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
--	WHEN 5 THEN	SPACE(6) + '<ОПСстраховаяЧастьПоДопТар1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧастьПоДопТар1>'		
--	WHEN 6 THEN	SPACE(6) + '<ОПСстраховаяЧастьПоДопТар2>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧастьПоДопТар2>'
--	WHEN 7 THEN SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'		
--	--WHEN 6 THEN SPACE(5) + '<СтраховыеВзносыТФОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СтраховыеВзносыТФОМС>'
--	END						
--FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, 16, DEFAULT) T WHERE T.COL IN (3,4,5,6,7) ORDER BY T.COL
--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ВтомЧислеЗаПредыдущиеРасчетныеПериоды2013>'


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<ОстатокЗадолженностиНаКонецРасчетногоПериода>'
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME,
	CASE T.COL
	WHEN 3 THEN	SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
				SPACE(5) + '<СтраховыеВзносыОПС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОПС>'
	WHEN 4 THEN	SPACE(5) + '<ОПСстраховаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСстраховаяЧасть>'
	WHEN 5 THEN	SPACE(5) + '<ОПСнакопительнаяЧасть>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ОПСнакопительнаяЧасть>'
	WHEN 6 THEN	SPACE(5) + '<ВзносыПоДопТарифу1>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу1>'	
	WHEN 7 THEN	SPACE(5) + '<ВзносыПоДопТарифу2_18>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</ВзносыПоДопТарифу2_18>'		
	WHEN 8 THEN	SPACE(5) + '<СтраховыеВзносыОМС>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СтраховыеВзносыОМС>'	
	END							
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 2, DEFAULT, DEFAULT) T WHERE T.ROW_CODE = '150' AND T.COL IN (3,4,5,6,7,8) ORDER BY T.COL
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</ОстатокЗадолженностиНаКонецРасчетногоПериода>'


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</Раздел1РасчетПоНачисленнымУплаченным2014>'	


-----Разделы 2
CREATE TABLE #TABLES (NUM TINYINT, TAB_NAME VARCHAR(254))
INSERT INTO #TABLES
		SELECT 3,'Раздел2РасчетПоТарифуИдопТарифу'
		
CREATE TABLE #TABLES_1 (NUM1 TINYINT, TAB_NUM TINYINT, TAB1_NAME varchar(254))
INSERT INTO #TABLES_1
		SELECT 4,3, 'Раздел_2_1'

CREATE TABLE #STR_2_1R (NUM TINYINT, TAB_NUM TINYINT, RAZDEL_NAME VARCHAR(254))
INSERT INTO #STR_2_1R
		SELECT 1,4,'НаОбязательноеПенсионноеСтрахование'
UNION	SELECT 2,4,'НаОбязательноеМедицинскоеСтрахование'

--UNION	SELECT 2,4,'НачисленоСтраховыхВзносовВпользуРаботниковИнвалидов'
--UNION	SELECT 3,4,'РасчетПоВыплатамРаботникамЕНВД' WHERE @YEAR <= 2010
--UNION	SELECT 4,4,'НачисленоСтраховыхВзносовВпользуРаботниковЕНВД' WHERE @YEAR <= 2010

CREATE TABLE #STR_2_1B (NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME VARCHAR(254))
INSERT INTO #STR_2_1B
		SELECT 1,1,'СуммаВыплатИвознагражденийОПС'
UNION	SELECT 2,1,'НеПодлежащиеОбложениюОПС'
UNION	SELECT 3,1,'СуммаРасходовПринимаемыхКвычетуОПС'
UNION	SELECT 4,1,'ПревышающиеПредельнуюВеличинуБазыОПС'
UNION	SELECT 5,1,'БазаДляНачисленияСтраховыхВзносовНаОПС'
UNION	SELECT 6,1,'НачисленоНаОПСсСуммНеПревышающих'
UNION	SELECT 7,1,'НачисленоНаОПСсСуммПревышающих'
UNION	SELECT 8,1,'КоличествоФЛвсего'
UNION	SELECT 9,1,'КоличествоФЛпоКоторымБазаПревысилаПредел'
UNION	SELECT 10,2,'СуммаВыплатИвознаграждений'
UNION	SELECT 11,2,'НеПодлежащиеОбложению'
UNION	SELECT 12,2,'СуммаРасходовПринимаемыхКвычету'

IF @Period_Number = 1 AND @YEAR = 2015
begin 
	INSERT INTO #STR_2_1B -- первый квартал 2015 года не выводится
		SELECT 13,2,'ПревышающиеПредельнуюВеличинуБазы' 
		UNION	SELECT 14,2,'БазаДляНачисленияСтраховыхВзносовНаОМС'
		UNION	SELECT 15,2,'НачисленоНаОМС'
END 
ELSE BEGIN 
	INSERT INTO #STR_2_1B  -- со второго квартала 2015 года выводится	
		SELECT 13,2,'БазаДляНачисленияСтраховыхВзносовНаОМС'
		UNION	SELECT 14,2,'НачисленоНаОМС'
		UNION SELECT 15,2,'КоличествоФЛвсего'
	END 


--- ДОП ТАРИФЫ раздел 2_2 2_3
CREATE TABLE #TABLES1 (NUM TINYINT, TAB_NAME VARCHAR(254))
INSERT INTO #TABLES1
		SELECT 5,'Раздел_2_2'
union SELECT 6,'Раздел_2_3'



CREATE TABLE #STR_2_2C (NUM TINYINT, TAB_NUM TINYINT, BLOK_NAME VARCHAR(254))
INSERT INTO #STR_2_2C
		SELECT 1,5,'СуммаВыплатИвознагражденийПоДопТарифу'
UNION	SELECT 2,5,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 3,5,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 4,5,'НачисленоПоДопТарифу'
UNION	SELECT 5,5,'КоличествоФЛпоДопТарифу'

UNION	SELECT 6,6,'СуммаВыплатИвознагражденийПоДопТарифу'
UNION	SELECT 7,6,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 8,6,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 9,6,'НачисленоПоДопТарифу'
UNION	SELECT 10,6,'КоличествоФЛпоДопТарифу'


CREATE TABLE #TABLES_2 (NUM2 TINYINT, TAB2_NAME varchar(254))
INSERT INTO #TABLES_2
		SELECT 7, 'Раздел_2_4'

CREATE TABLE #STR_2_4R (NUM TINYINT, TAB_NUM TINYINT, RAZDEL_NAME VARCHAR(254))
INSERT INTO #STR_2_4R
		SELECT 1,7,'РасчетНачисленныхПоКодуСпецОценкиУТ'
CREATE TABLE #STR_2_4r1 (NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME VARCHAR(254))
INSERT INTO #STR_2_4r1
		SELECT 1,1,'РасчетНачисленныхПоДопТарифу'
UNION	SELECT 2,1,'РасчетНачисленныхПоДопТарифу'
UNION	SELECT 3,1,'РасчетНачисленныхПоДопТарифу'
UNION	SELECT 4,1,'РасчетНачисленныхПоДопТарифу'
UNION	SELECT 5,1,'РасчетНачисленныхПоДопТарифу'
CREATE TABLE #STR_2_4B (NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME VARCHAR(254))
INSERT INTO #STR_2_4B
		SELECT 1,1,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 2,1,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 3,1,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 4,1,'НачисленоПоДопТарифу'
UNION	SELECT 5,1,'КоличествоФЛпоДопТарифу'
UNION	SELECT 6,2,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 7,2,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 8,2,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 9,2,'НачисленоПоДопТарифу'
UNION	SELECT 10,2,'КоличествоФЛпоДопТарифу'
UNION	SELECT 11,3,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 12,3,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 13,3,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 14,3,'НачисленоПоДопТарифу'
UNION	SELECT 15,3,'КоличествоФЛпоДопТарифу'
UNION	SELECT 16,4,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 17,4,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 18,4,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 19,4,'НачисленоПоДопТарифу'
UNION	SELECT 20,4,'КоличествоФЛпоДопТарифу'
UNION	SELECT 21,5,'СуммаВыплатИвознагражденийПоДопТарифу'		
UNION	SELECT 22,5,'НеПодлежащиеОбложениюПоДопТарифу'
UNION	SELECT 23,5,'БазаДляНачисленияСтраховыхВзносовПоДопТарифу'
UNION	SELECT 24,5,'НачисленоПоДопТарифу'
UNION	SELECT 25,5,'КоличествоФЛпоДопТарифу'


--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<' + @TAB_NAME + '>'
--select * from DBO.SA_SAVED_REPORT_VIEW (37368, 3, 0, DEFAULT) T WHERE T.COL IN (3) ORDER BY T.COL
---- exec [dbo].SA_RSV1_EXPORT_0700_2014    2195

create table #T21 (tabl int , row int, ROW_CODE varchar(10) , COL int , SUMMA numeric(10) , summa2 numeric(15,2), STR_VAL varchar(100) )
insert into #T21
select tabl,
row,
ROW_CODE,
COL,
SUMMA = sum(summa) ,
summa2  = sum(summa2),
STR_VAL
from
(select tabl ,
row,
ROW_CODE,
COL,
SUMMA ,
summa2 ,
STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 3, DEFAULT, DEFAULT) T WHERE T.COL IN (3,4,5,6) --ORDER BY T.COL
union all
select 	
tabl = 3 ,
ROW ,
ROW_CODE  = CASE ROW_CODE WHEN '2000' then '200'
							WHEN '2010' then '201'
							WHEN '2020' then '202'
							WHEN '2030' then '203'
							WHEN '2040' then '204'
							WHEN '2050' then '205'
							WHEN '2060' then '206'
							WHEN '2070' then '207'
							WHEN '2080' then '208'
							WHEN '2090' then '209'
							WHEN '2100' then '210'
							WHEN '2110' then '211'
							WHEN '2120' then '212'
							WHEN '2130' then '213'
							WHEN '2140' then '214'
							WHEN '2150' then '215'   end,
COL ,
SUMMA ,
summa2,
STR_VAL
FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, DEFAULT, DEFAULT) T WHERE T.COL IN (3,4,5,6)
) a
group by  tabl,
row,
ROW_CODE,
COL, STR_VAL



SET @Cur0 = CURSOR FORWARD_ONLY
FOR select NUM, TAB_NAME from #TABLES order by NUM
OPEN @Cur0
FETCH NEXT FROM @Cur0 INTO @TAB_NUM, @TAB_NAME
WHILE (@@fetch_status <> -1)
BEGIN
	IF (@@fetch_status <> -2)
	BEGIN	
		
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<' + @TAB_NAME + '>'
		
		SET @Cur = CURSOR FORWARD_ONLY
		FOR select NUM1, TAB1_NAME from #TABLES_1 WHERE TAB_NUM = @TAB_NUM order by NUM1
		OPEN @Cur
		FETCH NEXT FROM @Cur INTO @TAB1_NUM, @TAB1_NAME
		WHILE (@@fetch_status <> -1)
		BEGIN
			IF (@@fetch_status <> -2)
			BEGIN	

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TAB1_NAME + '>'
					
			--- Рабочие тариф 01
			IF @TAB1_NUM = 4
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КодТарифа>' + LTRIM(RTRIM(ISNULL(TFOMS_KT,'')))  + '</КодТарифа>' FROM #DEP_DATA

				SET @Cur1 = CURSOR FORWARD_ONLY
				FOR select NUM, RAZDEL_NAME from #STR_2_1R WHERE TAB_NUM = @TAB1_NUM order by NUM
				OPEN @Cur1
				FETCH NEXT FROM @Cur1 INTO @RAZDEL_NUM, @RAZDEL_NAME
				WHILE (@@fetch_status <> -1)
				BEGIN
					IF (@@fetch_status <> -2)
					BEGIN		
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<' + @RAZDEL_NAME + '>'
						
						SET @Cur2 = CURSOR FORWARD_ONLY
						FOR select NUM, BLOK_NAME from #STR_2_1B WHERE RAZDEL_NUM = @RAZDEL_NUM OR RAZDEL_NUM = @RAZDEL_NUM order by NUM
						OPEN @Cur2
						FETCH NEXT FROM @Cur2 INTO @NUM, @BLOK_NAME
						WHILE (@@fetch_status <> -1)
						BEGIN
							IF (@@fetch_status <> -2)
							BEGIN
								--IF ((@Period_Number != 1 AND @YEAR >= 2015) AND @NUM != 13 ) 
								--BEGIN
								--EXEC  SA_RSV1_EXPORT_0700_2014 703
									if @num = 8 or @num = 9 OR  (@End_Date >='20150401' and  @NUM = 15) 
									BEGIN
										IF @End_Date >='20150401'
										begin
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
								
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
												CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
													 SPACE(7) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),SUM(T.SUMMA)),''))) + '</КоличествоЗЛ_Всего>'
												ELSE SPACE(7) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),sum(T.SUMMA)),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
												END				
											FROM #t21 t WHERE T.COL IN (3,4,5,6) and  row = @NUM GROUP BY T.COL , T.ROW_CODE ORDER BY T.COL
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'
										END
									end
									else begin
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
												CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
													 SPACE(7) + '<РасчетСумм>' + CHAR(10) +
													 SPACE(8) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),SUM(T.SUMMA2)),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
												ELSE SPACE(8) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),SUM(T.SUMMA2)),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
												END				
											FROM #t21 t WHERE T.COL IN (3,4,5,6) and  row = @NUM GROUP BY T.COL , T.ROW_CODE ORDER BY T.COL
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</РасчетСумм>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'
									end
								--END
							END
							FETCH NEXT FROM @Cur2 INTO @NUM, @BLOK_NAME
							
						END 
						CLOSE @Cur2
						DEALLOCATE @Cur2
						
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</' + @RAZDEL_NAME + '>'
					END
					FETCH NEXT FROM @Cur1 INTO @RAZDEL_NUM, @RAZDEL_NAME
					
				END
				CLOSE @Cur1
				DEALLOCATE @Cur1
			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
			end	
			FETCH NEXT FROM @Cur INTO @TAB1_NUM, @TAB1_NAME
			END
		CLOSE @Cur
		DEALLOCATE @Cur

		/*--- Инвалиды тариф 03
		if (select count(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND SUMMA <> 0 ) > 0
		begin
			SET @CurI0 = CURSOR FORWARD_ONLY
			FOR select NUM1, TAB1_NAME from #TABLES_1 order by NUM1
			OPEN @CurI0
			FETCH NEXT FROM @CurI0 INTO @TAB1_NUM, @TAB1_NAME
			WHILE (@@fetch_status <> -1)
			BEGIN
				IF (@@fetch_status <> -2)
				BEGIN	
				
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TAB1_NAME + '>'


					--- Инвалиды тариф 03
					IF @TAB1_NUM = 4
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КодТарифа>' + LTRIM(RTRIM(ISNULL(TFOMS_KT,'')))  + '</КодТарифа>' FROM #DEP_DATA

					SET @CurI = CURSOR FORWARD_ONLY
					FOR select NUM, RAZDEL_NAME from #STR_2_1R WHERE TAB_NUM = @TAB1_NUM order by NUM
					OPEN @CurI
					FETCH NEXT FROM @CurI INTO @RAZDEL_NUM, @RAZDEL_NAME
					WHILE (@@fetch_status <> -1)
					BEGIN
						IF (@@fetch_status <> -2)
						BEGIN		

							INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<' + @RAZDEL_NAME + '>'
					
							SET @CurI1 = CURSOR FORWARD_ONLY
							FOR select NUM, BLOK_NAME from #STR_2_1B WHERE RAZDEL_NUM = @RAZDEL_NUM OR RAZDEL_NUM = @RAZDEL_NUM order by NUM
							OPEN @CurI1
							FETCH NEXT FROM @CurI1 INTO @NUM, @BLOK_NAME
							WHILE (@@fetch_status <> -1)
							BEGIN
								IF (@@fetch_status <> -2)
								BEGIN
									if @num = 8 or @num = 9
									begin
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
												CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + substring(LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))),1,3) + '</КодСтроки>' + CHAR(10) +
													 SPACE(7) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
												ELSE SPACE(7) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
												END				
											FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'
									end
									else begin
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
												CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + substring(LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))),1,3) + '</КодСтроки>' + CHAR(10) +
													 SPACE(7) + '<РасчетСумм>' + CHAR(10) +
													 SPACE(8) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
												ELSE SPACE(8) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
												END				
											FROM DBO.SA_SAVED_REPORT_VIEW (@link, 4, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</РасчетСумм>'
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'

									end
								END
								FETCH NEXT FROM @CurI1 INTO @NUM, @BLOK_NAME
							END
							CLOSE @CurI1
							DEALLOCATE @CurI1

							INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</' + @RAZDEL_NAME + '>'
						END
						FETCH NEXT FROM @CurI INTO @RAZDEL_NUM, @RAZDEL_NAME
					END
					CLOSE @CurI
					DEALLOCATE @CurI
						
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
				END
				FETCH NEXT FROM @CurI0 INTO @TAB1_NUM, @TAB1_NAME
			END
			CLOSE @CurI0
			DEALLOCATE @CurI0	
		end

*/

		------------------------------------------------
		------------------------------------------------

		--- ДОП ТАРИФЫ
		---Раздел 2.2 и 2.3
		SET @CurD0 = CURSOR FORWARD_ONLY
		FOR select NUM, TAB_NAME from #TABLES1 order by NUM
		OPEN @CurD0
		FETCH NEXT FROM @CurD0 INTO @TABD_NUM, @TABD_NAME
		WHILE (@@fetch_status <> -1)
		BEGIN
			IF (@@fetch_status <> -2)
			BEGIN	
			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TABD_NAME + '>'
				--- ДОП ТАРИФЫ 01
				--IF @TAB_NUM = 5
				--	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<КодТарифа>' + LTRIM(RTRIM(ISNULL(TFOMS_KT,''))) + '</КодТарифа>' FROM #DEP_DATA

				--SET @Cur = CURSOR FORWARD_ONLY
				--FOR select NUM, RAZDEL_NAME from #STR_2_1R WHERE TAB_NUM = @TAB_NUM order by NUM
				--OPEN @Cur
				--FETCH NEXT FROM @Cur INTO @RAZDEL_NUM, @RAZDEL_NAME
				--WHILE (@@fetch_status <> -1)
				--BEGIN
				--	IF (@@fetch_status <> -2)
				--	BEGIN		

				--		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @RAZDEL_NAME + '>'
						
						SET @Cur = CURSOR FORWARD_ONLY
						FOR select NUM, BLOK_NAME from #STR_2_2C WHERE TAB_NUM = @TABD_NUM OR TAB_NUM = @TABD_NUM order by NUM
						OPEN @Cur
						FETCH NEXT FROM @Cur INTO @NUM, @BLOK_NAME
						WHILE (@@fetch_status <> -1)
						BEGIN
							IF (@@fetch_status <> -2)
							BEGIN
								if @num = 5 or @num = 10
								begin
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME,
											CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
												 SPACE(7) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
											ELSE SPACE(7) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
											END				
										FROM DBO.SA_SAVED_REPORT_VIEW (@link, 5, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'

								end
								else begin
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @BLOK_NAME + '>'
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME,
											CASE WHEN T.COL = 3 THEN SPACE(7) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
												 SPACE(7) + '<РасчетСумм>' + CHAR(10) +
												 SPACE(8) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
											ELSE SPACE(8) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
											END				
										FROM DBO.SA_SAVED_REPORT_VIEW (@link, 5, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</РасчетСумм>'
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @BLOK_NAME + '>'
								end
							END
							FETCH NEXT FROM @Cur INTO @NUM, @BLOK_NAME
						END
						CLOSE @Cur
						DEALLOCATE @Cur

				--		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @RAZDEL_NAME + '>'
				--	END
				--	FETCH NEXT FROM @Cur INTO @RAZDEL_NUM, @RAZDEL_NAME
				--END
				--CLOSE @Cur
				--DEALLOCATE @Cur
			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TABD_NAME + '>'
			END
			FETCH NEXT FROM @CurD0 INTO @TABD_NUM, @TABD_NAME

		END
		CLOSE @CurD0
		DEALLOCATE @CurD0

		------------------------------------------------
		------------------------------------------------

		--- ДОП ТАРИФЫ
		---Раздел 2.4_1 и 2.4_2
		SET @Cur00 = CURSOR FORWARD_ONLY
		FOR select NUM2, TAB2_NAME from #TABLES_2
		OPEN @Cur00
		FETCH NEXT FROM @Cur00 INTO @TAB1_NUM, @TAB1_NAME
		WHILE (@@fetch_status <> -1)
		BEGIN
			IF (@@fetch_status <> -2)
			BEGIN	
			
				if (select count(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND SUMMA <> 0 ) > 0
				BEGIN	
			--- --- доп тариф 01
				IF @TAB1_NUM = 7
				BEGIN
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TAB1_NAME + '>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КодОснованияРасчетаПоДопТарифу>' + LTRIM(RTRIM('1')) + '</КодОснованияРасчетаПоДопТарифу>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ОснованиеЗаполненияРаздела2_4>' + LTRIM(RTRIM('РЕЗУЛЬТАТЫ СПЕЦОЦЕНКИ')) + '</ОснованиеЗаполненияРаздела2_4>'
				end
				SET @Cur000 = CURSOR FORWARD_ONLY
				FOR select NUM, RAZDEL_NAME from #STR_2_4R WHERE TAB_NUM = @TAB1_NUM order by NUM
				OPEN @Cur000
				FETCH NEXT FROM @Cur000 INTO @RAZDEL_NUM, @RAZDEL_NAME
				WHILE (@@fetch_status <> -1)
				BEGIN
					IF (@@fetch_status <> -2)
					BEGIN		

						
						
						
						--NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME
						SET @Cur1 = CURSOR FORWARD_ONLY
						FOR select NUM, BLOK_NAME from #STR_2_4R1 WHERE RAZDEL_NUM = @RAZDEL_NUM order by NUM
						OPEN @Cur1
						FETCH NEXT FROM @Cur1 INTO @TABD_NUM, @TABD_NAME
						WHILE (@@fetch_status <> -1)
						BEGIN
							IF (@@fetch_status <> -2)
							BEGIN		
								
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<' + @RAZDEL_NAME + '>'
								
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
													SPACE(6) + '<КодСпециальнойОценкиУсловийТруда>' +
													(CASE WHEN @TABD_NUM = 1 THEN LTRIM(RTRIM('О4'))
														 WHEN @TABD_NUM = 2 THEN LTRIM(RTRIM('В3.4'))
														 WHEN @TABD_NUM = 3 THEN LTRIM(RTRIM('В3.3'))
														 WHEN @TABD_NUM = 4 THEN LTRIM(RTRIM('В3.2'))
														 ELSE LTRIM(RTRIM('В3.1')) END ) + '</КодСпециальнойОценкиУсловийТруда>'
								
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @TABD_NAME + '>'	
									
									
									SET @Cur2 = CURSOR FORWARD_ONLY
									FOR select NUM, BLOK_NAME from #STR_2_4B WHERE RAZDEL_NUM = @TABD_NUM OR RAZDEL_NUM = @TABD_NUM order by NUM
									OPEN @Cur2
									FETCH NEXT FROM @Cur2 INTO @NUM, @BLOK_NAME
									WHILE (@@fetch_status <> -1)
									BEGIN
										IF (@@fetch_status <> -2)
										BEGIN
												
																						
											if @num = 5 or @num = 10 or @num = 15 or @num = 20 or @num = 25
											begin
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '<' + @BLOK_NAME + '>'
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT @lcFNAME,
														CASE WHEN T.COL = 3 THEN SPACE(8) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
															 SPACE(8) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
														ELSE SPACE(8) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
														END				
													FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</' + @BLOK_NAME + '>'

											end
											else begin
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '<' + @BLOK_NAME + '>'
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT @lcFNAME,
														CASE WHEN T.COL = 3 THEN SPACE(8) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
															 SPACE(8) + '<РасчетСумм>' + CHAR(10) +
															 SPACE(9) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
														ELSE SPACE(9) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
														END				
													FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(8) + '</РасчетСумм>'
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</' + @BLOK_NAME + '>'
											end
										END
										FETCH NEXT FROM @Cur2 INTO @NUM, @BLOK_NAME
									END
									CLOSE @Cur2
									DEALLOCATE @Cur2
								
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @TABD_NAME + '>'	
								INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</' + @RAZDEL_NAME + '>'
							END
							FETCH NEXT FROM @Cur1 INTO @TABD_NUM, @TABD_NAME
					
						END
						CLOSE @Cur1
						DEALLOCATE @Cur1						
						
						
						
					END
					FETCH NEXT FROM @Cur000 INTO @RAZDEL_NUM, @RAZDEL_NAME	
				END 	
				CLOSE @Cur000
				DEALLOCATE @Cur000
				
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
				END
				/***************************/	
			--- доп тариф 2
				/***************************/
				if (select count(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, DEFAULT, DEFAULT) T WHERE T.COL = 3 AND SUMMA <> 0 ) > 0
				begin
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<' + @TAB1_NAME + '>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КодОснованияРасчетаПоДопТарифу>' + LTRIM(RTRIM('2')) + '</КодОснованияРасчетаПоДопТарифу>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ОснованиеЗаполненияРаздела2_4>' + LTRIM(RTRIM('РЕЗУЛЬТАТЫ СПЕЦОЦЕНКИ')) + '</ОснованиеЗаполненияРаздела2_4>'

					SET @CurI0 = CURSOR FORWARD_ONLY
					FOR select NUM, RAZDEL_NAME from #STR_2_4R WHERE TAB_NUM = @TAB1_NUM order by NUM
					OPEN @CurI0
					FETCH NEXT FROM @CurI0 INTO @RAZDEL_NUM, @RAZDEL_NAME
					WHILE (@@fetch_status <> -1)
					BEGIN
						IF (@@fetch_status <> -2)
						BEGIN		

							
														
							--NUM TINYINT, RAZDEL_NUM TINYINT, BLOK_NAME
							SET @CurI00 = CURSOR FORWARD_ONLY
							FOR select NUM, BLOK_NAME from #STR_2_4R1 WHERE RAZDEL_NUM = @RAZDEL_NUM order by NUM
							OPEN @CurI00
							FETCH NEXT FROM @CurI00 INTO @TABD_NUM, @TABD_NAME
							WHILE (@@fetch_status <> -1)
							BEGIN
								IF (@@fetch_status <> -2)
								BEGIN	
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<' + @RAZDEL_NAME + '>'	
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME,
													SPACE(6) + '<КодСпециальнойОценкиУсловийТруда>' +
													(CASE WHEN @TABD_NUM = 1 THEN LTRIM(RTRIM('О4'))
														 WHEN @TABD_NUM = 2 THEN LTRIM(RTRIM('В3.4'))
														 WHEN @TABD_NUM = 3 THEN LTRIM(RTRIM('В3.3'))
														 WHEN @TABD_NUM = 4 THEN LTRIM(RTRIM('В3.2'))
														 ELSE LTRIM(RTRIM('В3.1')) END ) + '</КодСпециальнойОценкиУсловийТруда>'
									
									
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<' + @TABD_NAME + '>'	
										
										
										SET @CurI000 = CURSOR FORWARD_ONLY
										FOR select NUM, BLOK_NAME from #STR_2_4B WHERE RAZDEL_NUM = @TABD_NUM OR RAZDEL_NUM = @TABD_NUM order by NUM
										OPEN @CurI000
										FETCH NEXT FROM @CurI000 INTO @NUM, @BLOK_NAME
										WHILE (@@fetch_status <> -1)
										BEGIN
											IF (@@fetch_status <> -2)
											BEGIN
												if @num = 5 or @num = 10 or @num = 15 or @num = 20 or @num = 25
												begin
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '<' + @BLOK_NAME + '>'
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT @lcFNAME,
															CASE WHEN T.COL = 3 THEN SPACE(8) + '<КодСтроки>' + substring(LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))),1,3) + '</КодСтроки>' + CHAR(10) +
																 SPACE(8) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
															ELSE SPACE(8) + '<КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + + '</КоличествоЗЛ_' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
															END				
														FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</' + @BLOK_NAME + '>'

												end
												else begin
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '<' + @BLOK_NAME + '>'
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT @lcFNAME,
															CASE WHEN T.COL = 3 THEN SPACE(8) + '<КодСтроки>' + substring(LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))),1,3) + '</КодСтроки>' + CHAR(10) +
																 SPACE(8) + '<РасчетСумм>' + CHAR(10) +
																 SPACE(9) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
															ELSE SPACE(9) + '<СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA2),''))) + + '</СуммаПоследние' + LTRIM(RTRIM(CONVERT(VARCHAR(1),T.COL - 3))) + 'месяц>'
															END				
														FROM DBO.SA_SAVED_REPORT_VIEW (@link, 7, @NUM, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(8) + '</РасчетСумм>'
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(7) + '</' + @BLOK_NAME + '>'
												end
											END
											FETCH NEXT FROM @CurI000 INTO @NUM, @BLOK_NAME
										END
										CLOSE @CurI000
										DEALLOCATE @CurI000
									
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</' + @TABD_NAME + '>'	
									
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</' + @RAZDEL_NAME + '>'
								END
								FETCH NEXT FROM @CurI00 INTO @TABD_NUM, @TABD_NAME
						
							END
							CLOSE @CurI00
							DEALLOCATE @CurI00						
							
							
							
						END
						FETCH NEXT FROM @CurI0 INTO @RAZDEL_NUM, @RAZDEL_NAME	
					END 	
					CLOSE @CurI0
					DEALLOCATE @CurI0
				
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
				/*****************/
				END
			
				--INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</' + @TAB1_NAME + '>'
			end	
			FETCH NEXT FROM @Cur00 INTO @TAB1_NUM, @TAB1_NAME
		END
		CLOSE @Cur00
		DEALLOCATE @Cur00

		-----Разделы 2.5.1 и 2.5.2
		CREATE TABLE #PACHKA_ISH (
			LINK INT, NOM_PACH VARCHAR(10), SUM_BASE NUMERIC(18,2), SUM_NACH NUMERIC(18,2), KOL_ZL NUMERIC(5),
			NAME_FILE VARCHAR(254))

		CREATE TABLE #TAB3 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
		INSERT INTO #TAB3 (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

		INSERT INTO #PACHKA_ISH (NOM_PACH, SUM_BASE, SUM_NACH, KOL_ZL, NAME_FILE)
		SELECT DISTINCT
			NOM_PACH = (SELECT TOP 1 ROW_CODE FROM #TAB3 T WHERE T.COL = 2 AND T.ROW_CODE = T3.ROW_CODE),
			SUM_BASE = (SELECT TOP 1 SUMMA FROM #TAB3 T WHERE T.COL = 3 AND T.ROW_CODE = T3.ROW_CODE),
			SUM_NACH = (SELECT TOP 1 SUMMA FROM #TAB3 T WHERE T.COL = 4 AND T.ROW_CODE = T3.ROW_CODE),
			KOL_ZL = (SELECT TOP 1 SUMMA FROM #TAB3 T WHERE T.COL = 5 AND T.ROW_CODE = T3.ROW_CODE),
			NAME_FILE = (SELECT TOP 1 STR_VAL FROM #TAB3 T WHERE T.COL = 6 AND T.ROW_CODE = T3.ROW_CODE)
		FROM
			#TAB3 T3

		DROP TABLE #TAB3

		DECLARE @NUM_pp INT
		SET @NUM_pp = 0
		UPDATE #PACHKA_ISH SET @NUM_pp = @NUM_pp + 1, LINK = @NUM_pp

		
		CREATE TABLE #PACHKA_KOR (
			LINK INT, NOM_PACH VARCHAR(4), PERIOD_CODE VARCHAR(1), PERIOD_YEAR VARCHAR(4),SUM_D NUMERIC(18,2), SUM_D_STR NUMERIC(18,2) , SUM_D_NAK NUMERIC(18,2), KOL_ZL NUMERIC(5),
			NAME_FILE VARCHAR(254))

		CREATE TABLE #TAB4 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
		INSERT INTO #TAB4 (ROW_CODE, COL, SUMMA, STR_VAL)
		SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 9, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

		INSERT INTO #PACHKA_KOR (NOM_PACH, PERIOD_CODE, PERIOD_YEAR,SUM_D, SUM_D_STR, SUM_D_NAK, KOL_ZL, NAME_FILE)
		SELECT DISTINCT
			NOM_PACH = (SELECT TOP 1 ROW_CODE FROM #TAB4 T WHERE T.COL = 2 AND T.ROW_CODE = T4.ROW_CODE),
			PERIOD_CODE = (SELECT TOP 1 STR_VAL FROM #TAB4 T WHERE T.COL = 3 AND T.ROW_CODE = T4.ROW_CODE),
			PERIOD_YEAR = (SELECT TOP 1 STR_VAL FROM #TAB4 T WHERE T.COL = 4 AND T.ROW_CODE = T4.ROW_CODE),
			SUM_D = (SELECT TOP 1 SUMMA FROM #TAB4 T WHERE T.COL = 5 AND T.ROW_CODE = T4.ROW_CODE),
			SUM_D_STR = (SELECT TOP 1 SUMMA FROM #TAB4 T WHERE T.COL = 6 AND T.ROW_CODE = T4.ROW_CODE),
			SUM_D_NAK = (SELECT TOP 1 SUMMA FROM #TAB4 T WHERE T.COL = 7 AND T.ROW_CODE = T4.ROW_CODE),
			KOL_ZL = (SELECT TOP 1 SUMMA FROM #TAB4 T WHERE T.COL = 8 AND T.ROW_CODE = T4.ROW_CODE),
			NAME_FILE = (SELECT TOP 1 STR_VAL FROM #TAB4 T WHERE T.COL = 9 AND T.ROW_CODE = T4.ROW_CODE)
		FROM
			#TAB4 T4

		DROP TABLE #TAB4
		
		SET @NUM_pp = 0
		UPDATE #PACHKA_KOR SET @NUM_pp = @NUM_pp + 1, LINK = @NUM_pp


		IF (SELECT COUNT(*) FROM #PACHKA_ISH) > 0 -- исходные сведения
			OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 8, DEFAULT, DEFAULT) WHERE COL = 5 AND SUMMA2 <> 0) > 0
		BEGIN
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел_2_5>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ПереченьПачекИсходныхСведенийПУ>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<КоличествоПачек>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),(SELECT COUNT(*) FROM #PACHKA_ISH)),''))) + '</КоличествоПачек>'

			UNION ALL SELECT @lcFNAME,
				SPACE(6) + '<СведенияОпачкеИсходных>' + CHAR(10) +
					SPACE(7) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(10),ISNULL(LINK,0)))) + '</НомерПП>' + CHAR(10) +			
					SPACE(7) + '<БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_BASE,0)))) + '</БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + CHAR(10) +	
					SPACE(7) + '<СтраховыхВзносовОПС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_NACH,0)))) + '</СтраховыхВзносовОПС>' + CHAR(10) +	
					SPACE(7) + '<КоличествоЗЛвПачке>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(KOL_ZL,0)))) + '</КоличествоЗЛвПачке>' + CHAR(10) +
					SPACE(7) + '<ИмяФайла>' + LTRIM(RTRIM(ISNULL(NAME_FILE,''))) + '</ИмяФайла>'+ CHAR(10) +					
					SPACE(6) + '</СведенияОпачкеИсходных>'		
			    FROM #PACHKA_ISH
			UNION ALL SELECT @lcFNAME,
				SPACE(7) + '<ИтогоСведенияПоПачкам>' + CHAR(10) +
					SPACE(8) + '<БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_BASE),0)))) + '</БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + CHAR(10) +			
					SPACE(8) + '<СтраховыхВзносовОПС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_NACH),0)))) + '</СтраховыхВзносовОПС>' + CHAR(10) +
					SPACE(8) + '<КоличествоЗЛвПачке>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(KOL_ZL),0)))) + '</КоличествоЗЛвПачке>' + CHAR(10) +
				SPACE(7) + '</ИтогоСведенияПоПачкам>'
			FROM #PACHKA_ISH	
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ПереченьПачекИсходныхСведенийПУ>'

			IF (SELECT COUNT(*) FROM #PACHKA_KOR) > 0 -- исходные сведения
				OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 9, DEFAULT, DEFAULT) WHERE COL = 8 AND SUMMA2 <> 0) > 0
			BEGIN
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ПереченьПачекКорректирующихСведенийПУ>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '<КоличествоПачек>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),(SELECT COUNT(*) FROM #PACHKA_KOR)),''))) + '</КоличествоПачек>'

				UNION ALL SELECT @lcFNAME,
					SPACE(6) + '<СведенияОпачкеКорректирующих>' + CHAR(10) +
						SPACE(7) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(10),ISNULL(LINK,0)))) + '</НомерПП>' + CHAR(10) +			
						SPACE(7) + '<КорректируемыйОтчетныйПериод>' + CHAR(10) +
							SPACE(8) + '<Квартал>' + LTRIM(RTRIM(ISNULL(/*(CASE WHEN */ PERIOD_CODE/*= '1' THEN '3'
																			 WHEN PERIOD_CODE= '2' THEN '6'
																			 WHEN PERIOD_CODE= '3' THEN '9'
																			 ELSE 0 END
																		 )*/,''))) + '</Квартал>' + CHAR(10) +	
							SPACE(8) + '<Год>' + LTRIM(RTRIM(ISNULL(PERIOD_YEAR,''))) + '</Год>' + CHAR(10) +
							SPACE(8) + '<Название>' + LTRIM(RTRIM(ISNULL((CASE WHEN PERIOD_CODE= '1' THEN 'С 01.01.'+PERIOD_YEAR+' ПО 31.03.'+PERIOD_YEAR+''
																			 WHEN PERIOD_CODE= '2' THEN 'С 01.01.'+PERIOD_YEAR+' ПО 30.06.'+PERIOD_YEAR+''
																			 WHEN PERIOD_CODE= '3' THEN 'С 01.01.'+PERIOD_YEAR+' ПО 30.09.'+PERIOD_YEAR+''
																			 ELSE 'С 01.01.'+PERIOD_YEAR+' ПО 31.12.'+PERIOD_YEAR+'' END
																		 ),''))) + '</Название>' + CHAR(10) +
						SPACE(7) + '</КорректируемыйОтчетныйПериод>' + CHAR(10) +
						SPACE(7) + '<ДоначисленоСтраховыхВзносовОПС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_D,0)))) + '</ДоначисленоСтраховыхВзносовОПС>' + CHAR(10) +	
						SPACE(7) + '<ДоначисленоНаСтраховуюЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_D_STR,0)))) + '</ДоначисленоНаСтраховуюЧасть>' + CHAR(10) +	
						SPACE(7) + '<ДоначисленоНаНакопительнуюЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_D_NAK,0)))) + '</ДоначисленоНаНакопительнуюЧасть>' + CHAR(10) +	
						SPACE(7) + '<КоличествоЗЛвПачке>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(KOL_ZL,0)))) + '</КоличествоЗЛвПачке>' + CHAR(10) +
						SPACE(7) + '<ИмяФайла>' + LTRIM(RTRIM(ISNULL(NAME_FILE,''))) + '</ИмяФайла>'+ CHAR(10) +					
					SPACE(6) + '</СведенияОпачкеКорректирующих>' 	
					FROM #PACHKA_KOR
				UNION ALL SELECT @lcFNAME,
					SPACE(7) + '<ИтогоСведенияПоПачкамКорректирующих>' + CHAR(10) +
						SPACE(8) + '<ДоначисленоСтраховыхВзносовОПС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_D),0)))) + '</ДоначисленоСтраховыхВзносовОПС>' + CHAR(10) +			
						SPACE(8) + '<ДоначисленоНаСтраховуюЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_D_STR),0)))) + '</ДоначисленоНаСтраховуюЧасть>' + CHAR(10) +
						SPACE(8) + '<ДоначисленоНаНакопительнуюЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SUM_D_NAK),0)))) + '</ДоначисленоНаНакопительнуюЧасть>' + CHAR(10) +
						SPACE(8) + '<КоличествоЗЛвПачке>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(KOL_ZL),0)))) + '</КоличествоЗЛвПачке>' + CHAR(10) +
					SPACE(7) + '</ИтогоСведенияПоПачкамКорректирующих>'
				FROM #PACHKA_KOR	
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ПереченьПачекКорректирующихСведенийПУ>'
			END


			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел_2_5>'	

		END


		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</' + @TAB_NAME + '>'


	END
	FETCH NEXT FROM @Cur0 INTO @TAB_NUM, @TAB_NAME
END
CLOSE @Cur0
DEALLOCATE @Cur0


drop table #t21

-----Разделы 3
/*CREATE TABLE #INVALID (
	LINK INT, FIO VARCHAR(254), FIO2 VARCHAR(254), NUM_SPR VARCHAR(30), DATE_SPR VARCHAR(10),
	GRP VARCHAR(25), GRP2 VARCHAR(25), PER_BEG VARCHAR(10), PER_END VARCHAR(10),
	SM_ALL 	NUMERIC(18,2), SM_QWART NUMERIC(18,2), SM1 NUMERIC(18,2), SM2 NUMERIC(18,2), SM3 NUMERIC(18,2) )

CREATE TABLE #TAB5 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB5 (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 6, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

INSERT INTO #INVALID (FIO2, DATE_SPR, PER_END, SM_ALL, SM1, SM2, SM3)
SELECT DISTINCT
	FIO2 = (SELECT TOP 1 REPLACE(STR_VAL,SPACE(1), ', ') FROM #TAB5 T WHERE T.COL = 2 AND T.ROW_CODE = T5.ROW_CODE),
	DATE_SPR = (SELECT TOP 1 STR_VAL FROM #TAB5 T WHERE T.COL = 3 AND T.ROW_CODE = T5.ROW_CODE),
	PER_END = (SELECT TOP 1 STR_VAL FROM #TAB5 T WHERE T.COL = 4 AND T.ROW_CODE = T5.ROW_CODE),
	SM_ALL = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 5 AND T.ROW_CODE = T5.ROW_CODE),
	SM1 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 6 AND T.ROW_CODE = T5.ROW_CODE),
	SM2 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 7 AND T.ROW_CODE = T5.ROW_CODE),
	SM3 = (SELECT TOP 1 SUMMA FROM #TAB5 T WHERE T.COL = 8 AND T.ROW_CODE = T5.ROW_CODE)
FROM
	#TAB5 T5

DROP TABLE #TAB5

--Проставить номера попорядку
DECLARE @NEXT_NUM INT
SET @NEXT_NUM = 0
UPDATE #INVALID SET @NEXT_NUM = @NEXT_NUM + 1, LINK = @NEXT_NUM

IF (SELECT COUNT(*) FROM #INVALID) > 0 -- инвалиды
	OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 7, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0 -- информ. технол.
BEGIN
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел3РасчетНаПравоПримененияПониженногоТарифа>'
---Раздел3_1	
	IF (SELECT COUNT(*) FROM #INVALID) > 0 -- инвалиды
	BEGIN
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_1_СведенияДляПримененияПониженногоТарифа>'

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<КоличествоРаботниковИнвалидов>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),(SELECT COUNT(*) FROM #INVALID)),''))) + '</КоличествоРаботниковИнвалидов>'
		UNION ALL SELECT @lcFNAME,
			SPACE(5) + '<СведенияОработникеИнвалиде>' + CHAR(10) +
				SPACE(6) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(LINK,0)))) + '</НомерПП>' + CHAR(10) +			
				SPACE(6) + '<ФИО>' + CHAR(10) +
					SPACE(7) + '<Фамилия>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,1,','),' ')))) + '</Фамилия>' + CHAR(10) + 		
					SPACE(7) + '<Имя>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,2,','),' ')))) + '</Имя>' + CHAR(10) + 		
					SPACE(7) + '<Отчество>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,3,','),' ')))) + '</Отчество>' + CHAR(10) + 										
				SPACE(6) + '</ФИО>' + CHAR(10) +
				SPACE(6) + '<СведенияИзСправки>' + CHAR(10) +
					SPACE(7) + '<ДатаВыдачиСправки>' + LTRIM(RTRIM(ISNULL(DATE_SPR,' '))) + '</ДатаВыдачиСправки>' + CHAR(10) +
					SPACE(7) + '<ДатаОкончанияДействия>' + LTRIM(RTRIM(ISNULL(PER_END,''))) + '</ДатаОкончанияДействия>' + CHAR(10) +
				SPACE(6) + '</СведенияИзСправки>' + CHAR(10) + 				
				SPACE(6) + '<СуммыВыплатИвознаграждений>' + CHAR(10) +
					SPACE(7) + '<СуммаВсегоСначалаРасчетногоПериода>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM_ALL,0)))) + '</СуммаВсегоСначалаРасчетногоПериода>' + CHAR(10) +			
					SPACE(7) + '<СуммаПоследние1месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM1,0)))) + '</СуммаПоследние1месяц>' + CHAR(10) +
					SPACE(7) + '<СуммаПоследние2месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM2,0)))) + '</СуммаПоследние2месяц>' + CHAR(10) +
					SPACE(7) + '<СуммаПоследние3месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM3,0)))) + '</СуммаПоследние3месяц>' + CHAR(10) +								
				SPACE(6) + '</СуммыВыплатИвознаграждений>' + CHAR(10) +			
			SPACE(5) + '</СведенияОработникеИнвалиде>'
		FROM #INVALID
		UNION ALL SELECT @lcFNAME,
			SPACE(5) + '<ИтогоВыплат>' + CHAR(10) +
				SPACE(6) + '<СуммаВсегоСначалаРасчетногоПериода>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SM_ALL),0)))) + '</СуммаВсегоСначалаРасчетногоПериода>' + CHAR(10) +			
				SPACE(6) + '<СуммаПоследние1месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SM1),0)))) + '</СуммаПоследние1месяц>' + CHAR(10) +
				SPACE(6) + '<СуммаПоследние2месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SM2),0)))) + '</СуммаПоследние2месяц>' + CHAR(10) +
				SPACE(6) + '<СуммаПоследние3месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM(SM3),0)))) + '</СуммаПоследние3месяц>' + CHAR(10) +								
			SPACE(5) + '</ИтогоВыплат>'
		FROM #INVALID	

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_1_СведенияДляПримененияПониженногоТарифа>'	

*/		

		---Раздел3---
IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 10, DEFAULT, 3) WHERE SUMMA <> 0) > 0
BEGIN

	 INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел3РасчетНаПравоПримененияПониженногоТарифа2014>'
		
	---Раздел3_1---	
	IF ( SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 10, 1, DEFAULT) WHERE SUMMA <> 0) > 0
	BEGIN
		IF @Period_Number = 1 AND @YEAR = '2015'  -- если первый квартал 2015 то радел Раздел3_2 выводится (если заполнен) , со 2го квартала(полугодия) 2015 не заполняется   		
		begin
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_1_ДляОбщественныхОрганизацийИнвалидов>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ЧисленностьЧленовОрганизации>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
								WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
											SPACE(6) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
								WHEN 4 THEN SPACE(6) + '<КоличествоЗЛ_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_1месяц>'
								WHEN 5 THEN SPACE(6) + '<КоличествоЗЛ_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_2месяц>'		
								WHEN 6 THEN SPACE(6) + '<КоличествоЗЛ_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_3месяц>'
							END						
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 1, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ЧисленностьЧленовОрганизации>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ЧисленностьИнвалидов>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
				WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					 SPACE(6) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
				WHEN 4 THEN SPACE(6) + '<КоличествоЗЛ_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_1месяц>'
				WHEN 5 THEN SPACE(6) + '<КоличествоЗЛ_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_2месяц>'		
				WHEN 6 THEN SPACE(6) + '<КоличествоЗЛ_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_3месяц>'
				END						
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 2, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ЧисленностьИнвалидов>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<УдельныйВесЧисленности>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
				WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
					 SPACE(6) + '<УдельныйВес_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_Всего>'
				WHEN 4 THEN SPACE(6) + '<УдельныйВес_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_1месяц>'
				WHEN 5 THEN SPACE(6) + '<УдельныйВес_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_2месяц>'		
				WHEN 6 THEN SPACE(6) + '<УдельныйВес_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_3месяц>'
				END						
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 3, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</УдельныйВесЧисленности>'			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_1_ДляОбщественныхОрганизацийИнвалидов>'
		END 	
	END	--IF ( SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 10, 1, DEFAULT) WHERE SUMMA <> 0) > 0 	



---Раздел3_2
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, DEFAULT) WHERE SUMMA <> 0) > 0
	BEGIN
		IF @Period_Number = 1 AND @YEAR = '2015'  -- если первый квартал 2015 то радел Раздел3_2 выводится (если заполнен) , со 2го квартала(полугодия) 2015 не заполняется   
		BEGIN 
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_2_ДляОрганизацийУставныйКапиталСостоитИзВкладовОбщОргИнвалидов>'
						
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СреднесписочнаяЧисленность>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								SPACE(6) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
					WHEN 4 THEN SPACE(6) + '<КоличествоЗЛ_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_1месяц>'
					WHEN 5 THEN SPACE(6) + '<КоличествоЗЛ_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_2месяц>'		
					WHEN 6 THEN SPACE(6) + '<КоличествоЗЛ_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_3месяц>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СреднесписочнаяЧисленность>'

				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СреднесписочнаяЧисленностьИнвалидов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
		  						SPACE(6) + '<КоличествоЗЛ_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_Всего>'
					WHEN 4 THEN SPACE(6) + '<КоличествоЗЛ_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_1месяц>'
					WHEN 5 THEN SPACE(6) + '<КоличествоЗЛ_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_2месяц>'		
					WHEN 6 THEN SPACE(6) + '<КоличествоЗЛ_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛ_3месяц>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 5, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СреднесписочнаяЧисленностьИнвалидов>'

				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<УдельныйВесЧисленности>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								SPACE(6) + '<УдельныйВес_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_Всего>'
					WHEN 4 THEN SPACE(6) + '<УдельныйВес_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_1месяц>'
					WHEN 5 THEN SPACE(6) + '<УдельныйВес_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_2месяц>'		
					WHEN 6 THEN SPACE(6) + '<УдельныйВес_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_3месяц>'
				END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 6, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</УдельныйВесЧисленности>'
						
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ФондОплатыТруда>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								SPACE(6) + '<РасчетСумм>' + CHAR(10) +
									SPACE(7) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
						WHEN 4 THEN SPACE(7) + '<СуммаПоследние1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние1месяц>'
						WHEN 5 THEN SPACE(7) + '<СуммаПоследние2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние2месяц>'		
						WHEN 6 THEN SPACE(7) + '<СуммаПоследние3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние3месяц>'
					END						
					FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 7, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</РасчетСумм>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ФондОплатыТруда>'		
			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ЗарплатаИнвалидов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
		 						SPACE(6) + '<РасчетСумм>' + CHAR(10) +
									SPACE(7) + '<СуммаВсегоСначалаРасчетногоПериода>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаВсегоСначалаРасчетногоПериода>'
						WHEN 4 THEN SPACE(7) + '<СуммаПоследние1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние1месяц>'
						WHEN 5 THEN SPACE(7) + '<СуммаПоследние2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние2месяц>'		
						WHEN 6 THEN SPACE(7) + '<СуммаПоследние3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаПоследние3месяц>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 8, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(6) + '</РасчетСумм>'			
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ЗарплатаИнвалидов>'		
				
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<УдельныйВесЗарплатыИнвалидов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								 SPACE(6) + '<УдельныйВес_Всего>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_Всего>'
					WHEN 4 THEN SPACE(6) + '<УдельныйВес_1месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_1месяц>'
					WHEN 5 THEN SPACE(6) + '<УдельныйВес_2месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_2месяц>'		
					WHEN 6 THEN SPACE(6) + '<УдельныйВес_3месяц>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</УдельныйВес_3месяц>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 9, DEFAULT) T WHERE T.COL IN (3,4,5,6) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</УдельныйВесЗарплатыИнвалидов>'
							
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_2_ДляОрганизацийУставныйКапиталСостоитИзВкладовОбщОргИнвалидов>'
		
		END 
	END --IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@link, 10, 4, DEFAULT) WHERE SUMMA <> 0) > 0
	
	DECLARE @NUM_TABL INT ---@ со второго квартала @NUM_TABL = 10 на первый квартал @NUM_TABL = 11
	IF @Period_Number != 1 AND @YEAR = '2015'
	BEGIN
		SET @NUM_TABL = 10
	END
	ELSE BEGIN 
		SET @NUM_TABL = 11
	END 	

	--Раздел3_3
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, @NUM_TABL, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0 -- информ. технол. @ со второго квартала @NUM_TABL = 10 на первый квартал @NUM_TABL = 11
	BEGIN
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_3_ДляОрганизацийИТ>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовПоНКвсего>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
							WHEN 2 THEN	SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>'
							WHEN 3 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
							WHEN 4 THEN SPACE(6) + '<СуммаДоходаПоТекущему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'
							END
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 1, DEFAULT) T where col in (2,3,4) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, + SPACE(5) +'</СуммаДоходовПоНКвсего>'
			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовИТизНих>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
							WHEN 2 THEN	SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>'
							WHEN 3 THEN SPACE(6) + '<СуммаДоходаПоПредшествующему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
							WHEN 4 THEN SPACE(6) + '<СуммаДоходаПоТекущему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'
							END
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 2, DEFAULT) T where col in (2,3,4) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовИТизНих>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ДоляДоходовИТ>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
							WHEN 2 THEN	SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>'
							WHEN 3 THEN	SPACE(6) + '<ДоляДоходаПоПредшествующему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</ДоляДоходаПоПредшествующему>'
							WHEN 4 THEN	SPACE(6) + '<ДоляДоходаПоТекущему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),CONVERT(NUMERIC(18,5),T.SUMMA)),''))) + '</ДоляДоходаПоТекущему>'
							END
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 3,DEFAULT) T where col in (2,3,4) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ДоляДоходовИТ>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ЧисленностьРаботниковИТ>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME,CASE T.COL
							WHEN 2 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>'
							WHEN 3 THEN	SPACE(6) + '<КоличествоЗЛпоПредшествующему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛпоПредшествующему>'
							WHEN 4 THEN SPACE(6) + '<КоличествоЗЛпоТекущему>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</КоличествоЗЛпоТекущему>'
							END
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 4, DEFAULT) T where col in (2,3,4) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ЧисленностьРаботниковИТ>'


			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СведенияИзРеестраИТ>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, CASE T.COL
				WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
				WHEN 5 THEN SPACE(6) + '<ДатаЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,'\ \.\ \.\  '))) + '</ДатаЗаписиВреестре>'
				WHEN 6 THEN SPACE(6) + '<НомерЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</НомерЗаписиВреестре>'		
				END						
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 5, DEFAULT) T WHERE T.COL IN (3,5,6) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СведенияИзРеестраИТ>'
		
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_3_ДляОрганизацийИТ>'
	END	 --IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 11, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0

	----Раздел3_4	
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 12, DEFAULT, DEFAULT) WHERE COL = 5 AND SUMMA <> 0) > 0 -- информ. технол.
	BEGIN
		IF @Period_Number = 1 AND @YEAR = '2015'  -- если первый квартал 2015 то радел Раздел3_2 выводится (если заполнен) , со 2го квартала(полугодия) 2015 не заполняется   
		begin
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_4_ДляОрганизацийСМИ>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СведенияПоВидуДеятельности>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
						SELECT @lcFNAME, CASE T.COL
						WHEN 1 THEN SPACE(6) + '<НомерПП>' + LTRIM(RTRIM(T.ROW)) + '</НомерПП>'
						WHEN 2 THEN SPACE(6) + '<НаименованиеВидаЭД>' + LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</НаименованиеВидаЭД>' + CHAR(10) +
									SPACE(6) + '<КодПоОКВЭД>' + LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</КодПоОКВЭД>'
						WHEN 5 THEN SPACE(6) + '<ДоходыПоВидуЭД>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</ДоходыПоВидуЭД>'
						WHEN 6 THEN	SPACE(6) + '<ДоляДоходовПоВидуЭД>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</ДоляДоходовПоВидуЭД>'		
						END
					FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, DEFAULT, DEFAULT) T where T.ROW IN (1,2,3,4,5,6,7,8,9,10) and T.COL IN (1,2,5,6) ORDER BY T.ROW, t.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СведенияПоВидуДеятельности>'
				
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ИтогоПоВсемВидамДеятельности>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) +'</ИтогоПоВсемВидамДеятельности>'
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 11, 5) T ORDER BY T.COL
				
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СведенияИзРеестраСМИ>'
					INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME, CASE T.COL
						WHEN 4 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
						WHEN 7 THEN SPACE(6) + '<ДатаЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,'\ \.\ \.\  '))) + '</ДатаЗаписиВреестре>'
						WHEN 8 THEN SPACE(6) + '<НомерЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</НомерЗаписиВреестре>'		
						END						
					FROM DBO.SA_SAVED_REPORT_VIEW (@link, 12, 12, DEFAULT) T WHERE T.COL IN (4,7,8) ORDER BY T.COL
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СведенияИзРеестраСМИ>'
			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_4_ДляОрганизацийСМИ>'
		END	
	END --IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 12, DEFAULT, DEFAULT) WHERE COL = 5 AND SUMMA <> 0) > 0
	
	SET @NUM_TABL = @NUM_TABL + 2  
----Раздел3_5	
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, @NUM_TABL, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0 -- информ. технол.
	BEGIN
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_5_ДляОрганизацийПрименяющихУСН>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(5) +
				'<СуммаДоходаПоСтатье346_15НКвсего>' + CHAR(10) +
					SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>' + CHAR(10) +
					SPACE(6) + '<СуммаДохода>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДохода>' + CHAR(10) +
				+ SPACE(5) +'</СуммаДоходаПоСтатье346_15НКвсего>'
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 1, 3) T ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(5) +
				'<СуммаДоходаПоСтатье58ИзНих>' + CHAR(10) +
					SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>' + CHAR(10) +
					SPACE(6) + '<СуммаДохода>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДохода>' + CHAR(10) +
				+ SPACE(5) +'</СуммаДоходаПоСтатье58ИзНих>'
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 2, 3) T ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
			SELECT @lcFNAME, SPACE(5) +
				'<ДоляДоходаПоСтатье58>' + CHAR(10) +
					SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ROW_CODE)) + '</КодСтроки>' + CHAR(10) +
					SPACE(6) + '<ДоляДохода>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</ДоляДохода>' + CHAR(10) +
				+ SPACE(5) +'</ДоляДоходаПоСтатье58>'
			FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 3, 3) T ORDER BY T.COL

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_5_ДляОрганизацийПрименяющихУСН>'
	END -- IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 11, DEFAULT, DEFAULT) WHERE COL = 3 AND SUMMA <> 0) > 0
	
	
----Раздел3_6	
	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, @NUM_TABL, DEFAULT, DEFAULT) WHERE COL in (4,5) AND SUMMA <> 0) > 0 -- информ. технол.
	BEGIN
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<Раздел3_6_ДляНекоммерческихОрганизацийПрименяющихУСН>'
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовВсего>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 4, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовВсего>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовВвидеЦелевыхПоступлений>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 5, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовВвидеЦелевыхПоступлений>'
			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовВвидеГрантов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 6, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовВвидеГрантов>'

			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<СуммаДоходовОтОсуществленияОпределенныхВЭД>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN	SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 7, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</СуммаДоходовОтОсуществленияОпределенныхВЭД>'
			
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '<ДоляДоходов>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 3 THEN SPACE(6) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>'
					WHEN 4 THEN SPACE(6) + '<СуммаДоходаПоПредшествующему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоПредшествующему>'
					WHEN 5 THEN SPACE(6) + '<СуммаДоходаПоТекущему>'+ LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(20),T.SUMMA),''))) + '</СуммаДоходаПоТекущему>'		
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, @NUM_TABL, 8, DEFAULT) T WHERE T.COL IN (3,4,5) ORDER BY T.COL
			INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(5) + '</ДоляДоходов>'
	

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</Раздел3_6_ДляНекоммерческихОрганизацийПрименяющихУСН>'
	END


	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</Раздел3РасчетНаПравоПримененияПониженногоТарифа2014>'

END --	IF (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 10, DEFAULT, 3) WHERE SUMMA <> 0) > 0 -- инвалиды


---РАЗДЕЛ_4 Стр.12
CREATE TABLE #DONACHISL (
	LINK INT,OSN int,CODE_OSN INT, YEAR_D VARCHAR(4), MON int, SUM_STR_14 NUMERIC(18,2), SUM_STR_LIM_14 NUMERIC(18,2), SUM_STR NUMERIC(18,2), SUM_STR_LIM NUMERIC(18,2), SUM_NAK NUMERIC(18,2), SUM_STR_D1 NUMERIC(18,2), SUM_STR_D2 NUMERIC(18,2), SUM_STR_D2_1 NUMERIC(18,2), SUM_MED_STR NUMERIC(18,2))

CREATE TABLE #TAB14 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB14 (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT LEFT(ROW_CODE,4) AS ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 14, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL


INSERT INTO #DONACHISL (OSN,CODE_OSN, YEAR_D, MON,SUM_STR_14, SUM_STR_LIM_14, SUM_STR, SUM_STR_LIM, SUM_NAK ,SUM_STR_D1 , SUM_STR_D2, SUM_STR_D2_1, SUM_MED_STR)
SELECT DISTINCT
	OSN = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 2 AND T.ROW_CODE = T14.ROW_CODE),
	CODE_OSN = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 3 AND T.ROW_CODE = T14.ROW_CODE),
	YEAR_D = (SELECT TOP 1 STR_VAL FROM #TAB14 T WHERE T.COL = 4 AND T.ROW_CODE = T14.ROW_CODE),
	MON = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 5 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_14 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 6 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_LIM_14 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 7 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 8 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_LIM = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 9 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_NAK = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 10 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_D1 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 11 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_D2 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 12 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_STR_D2_1 = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 13 AND T.ROW_CODE = T14.ROW_CODE),
	SUM_MED_STR = (SELECT TOP 1 SUMMA FROM #TAB14 T WHERE T.COL = 14 AND T.ROW_CODE = T14.ROW_CODE)
FROM
	#TAB14 T14

DROP TABLE #TAB14


--Проставить номера попорядку
DECLARE @NEXT_NUM1 INT
SET @NEXT_NUM1 = 0
UPDATE #DONACHISL SET @NEXT_NUM1 = @NEXT_NUM1 + 1, LINK = @NEXT_NUM1

--IF (SELECT COUNT(*) FROM #DONACHISL) > 0 -- инвалиды
--	OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 13, DEFAULT, DEFAULT) WHERE COL = 4 AND SUMMA <> 0) > 0 -- информ. технол.
--BEGIN


	IF (SELECT COUNT(*) FROM #DONACHISL) > 0 -- инвалиды
	BEGIN
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел4>'

		UNION ALL SELECT @lcFNAME,
			SPACE(3) + '<СуммаДоначисленныхВзносовЗаПериодНачинаяС2014>' + CHAR(10) +
				SPACE(4) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(LINK,0)))) + '</НомерПП>' + CHAR(10) +			
				SPACE(4) + '<ОснованиеДляДоначисления>' + LTRIM(RTRIM(CONVERT(VARCHAR(1),ISNULL(OSN,0)))) + '</ОснованиеДляДоначисления>' + CHAR(10) +	
				
				CASE WHEN  LTRIM(RTRIM(ISNULL(CODE_OSN,0))) in (1,2)
					 THEN  (SPACE(4) + '<КодОснованияДляДопТарифа>' + LTRIM(RTRIM(CONVERT(VARCHAR(1),ISNULL(CODE_OSN,'')))) + '</КодОснованияДляДопТарифа>')  
					 ELSE ''	
				END + CHAR(10) +
				SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(YEAR_D,''))) + '</Год>' + CHAR(10) + 		
				SPACE(4) + '<Месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(2),ISNULL(MON,0)))) + '</Месяц>' + CHAR(10) + 	
				SPACE(4) + '<СуммаДоначисленныхВзносовОПС2014всего>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_14,0)))) + '</СуммаДоначисленныхВзносовОПС2014всего>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовОПС2014превыщающие>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_LIM_14,0)))) + '</СуммаДоначисленныхВзносовОПС2014превыщающие>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховуюВсего>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR,0)))) + '</СуммаДоначисленныхВзносовНаСтраховуюВсего>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховуюПревышающие>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_LIM,0)))) + '</СуммаДоначисленныхВзносовНаСтраховуюПревышающие>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_NAK,0)))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10) +
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D1,0)))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ1>' + CHAR(10) +
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ2>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D2,0)))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ2>' + CHAR(10) +								
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ2_1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D2_1,0))))  + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ2_1>' + CHAR(10) +								
				SPACE(4) + '<СтраховыеВзносыОМС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_MED_STR,0)))) + '</СтраховыеВзносыОМС>' + CHAR(10) +	
				/*SPACE(4) + '<СуммаДоначисленныхСтраховыхВзносов>' + CHAR(10) +
					SPACE(5) + '<ОПСстраховаяЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR,0)))) + '</ОПСстраховаяЧасть>' + CHAR(10) + 										
					SPACE(5) + '<ОПСстраховаяЧастьСвышеПределаБазы>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_LIM,0)))) + '</ОПСстраховаяЧастьСвышеПределаБазы>' + CHAR(10) + 										
					SPACE(5) + '<ОПСнакопительнаяЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_NAK,0)))) + '</ОПСнакопительнаяЧасть>' + CHAR(10) +
					SPACE(5) + '<ОПСстраховаяЧастьПоДопТар1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D1,0)))) + '</ОПСстраховаяЧастьПоДопТар1>' + CHAR(10) +
					SPACE(5) + '<ОПСстраховаяЧастьПоДопТар2>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_STR_D2,0)))) + '</ОПСстраховаяЧастьПоДопТар2>' + CHAR(10) +
					SPACE(5) + '<СтраховыеВзносыОМС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SUM_MED_STR,0)))) + '</СтраховыеВзносыОМС>' + CHAR(10) +	
				SPACE(4) + '</СуммаДоначисленныхСтраховыхВзносов>' + CHAR(10) +
			*/SPACE(3) + '</СуммаДоначисленныхВзносовЗаПериодНачинаяС2014>'
		FROM #DONACHISL				


		UNION ALL SELECT @lcFNAME,
			SPACE(3) + '<ИтогоДоначисленоНачинаяС2014>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовОПС2014всего>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_14,0))))) + '</СуммаДоначисленныхВзносовОПС2014всего>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовОПС2014превыщающие>' +LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_LIM_14,0))))) + '</СуммаДоначисленныхВзносовОПС2014превыщающие>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховуюВсего>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR,0))))) + '</СуммаДоначисленныхВзносовНаСтраховуюВсего>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховуюПревышающие>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_LIM,0))))) + '</СуммаДоначисленныхВзносовНаСтраховуюПревышающие>' + CHAR(10) +
				SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_NAK,0))))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10) +
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D1,0))))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ1>' + CHAR(10) +
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ2>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D2,0))))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ2>' + CHAR(10) +								
				SPACE(4) + '<СтраховыхДоначисленныхВзносовПоДопТарифуЧ2_1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D2_1,0))))) + '</СтраховыхДоначисленныхВзносовПоДопТарифуЧ2_1>' + CHAR(10) +								
				SPACE(4) + '<СтраховыеВзносыОМС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_MED_STR,0))))) + '</СтраховыеВзносыОМС>' + CHAR(10) +	
			SPACE(3) + '</ИтогоДоначисленоНачинаяС2014>'
		
		
			/*SPACE(3) + '<ИтогоДоначислено>' + CHAR(10) +
					SPACE(4) + '<ОПСстраховаяЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR,0))))) + '</ОПСстраховаяЧасть>' + CHAR(10) +			
					SPACE(4) + '<ОПСстраховаяЧастьСвышеПределаБазы>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_LIM,0))))) + '</ОПСстраховаяЧастьСвышеПределаБазы>' + CHAR(10) + 										
					SPACE(4) + '<ОПСнакопительнаяЧасть>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_NAK,0))))) + '</ОПСнакопительнаяЧасть>' + CHAR(10) +
					SPACE(4) + '<ОПСстраховаяЧастьПоДопТар1>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D1,0))))) + '</ОПСстраховаяЧастьПоДопТар1>' + CHAR(10) +
					SPACE(4) + '<ОПСстраховаяЧастьПоДопТар2>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_STR_D2,0))))) + '</ОПСстраховаяЧастьПоДопТар2>' + CHAR(10) +
					SPACE(4) + '<СтраховыеВзносыОМС>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SUM_MED_STR,0))))) + '</СтраховыеВзносыОМС>' + CHAR(10) +
			SPACE(3) + '</ИтогоДоначислено>' */
		FROM #DONACHISL	

		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</Раздел4>'	
	END

--end



---РАЗДЕЛ_5 Стр.13_1
CREATE TABLE #STUD (
	LINK INT, FIO VARCHAR(254), FIO2 VARCHAR(254), NUM_SPR1 VARCHAR(30), DATE_SPR1 VARCHAR(10),NUM_SPR2 VARCHAR(30), DATE_SPR2 VARCHAR(10),
	SM_ALL 	NUMERIC(18,2), SM1 NUMERIC(18,2), SM2 NUMERIC(18,2), SM3 NUMERIC(18,2) )

CREATE TABLE #TAB15 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB15 (ROW_CODE, COL, SUMMA, STR_VAL)
SELECT ROW_CODE, COL, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 15, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL

INSERT INTO #STUD (FIO2, NUM_SPR1, DATE_SPR1,NUM_SPR2, DATE_SPR2,
	SM_ALL, SM1, SM2, SM3 )
SELECT DISTINCT
	FIO2 = (SELECT TOP 1 REPLACE(STR_VAL,SPACE(1), ', ') FROM #TAB15 T WHERE T.COL = 2 AND T.ROW_CODE = T15.ROW_CODE),
	NUM_SPR1 = (SELECT TOP 1 LEFT(LTRIM(RTRIM(dbo.SA_GET_WORD_NUM(STR_VAL,1,' '))),30) FROM #TAB15 T WHERE T.COL = 3 AND T.ROW_CODE = T15.ROW_CODE),
	DATE_SPR1 = (SELECT TOP 1 LEFT(LTRIM(RTRIM(dbo.SA_GET_WORD_NUM(STR_VAL,2,' '))),10) FROM #TAB15 T WHERE T.COL = 3 AND T.ROW_CODE = T15.ROW_CODE),
	NUM_SPR2 = (SELECT TOP 1 LEFT(LTRIM(RTRIM(dbo.SA_GET_WORD_NUM(STR_VAL,1,' '))),30) FROM #TAB15 T WHERE T.COL = 4 AND T.ROW_CODE = T15.ROW_CODE),
	DATE_SPR2 = (SELECT TOP 1 LEFT(LTRIM(RTRIM(dbo.SA_GET_WORD_NUM(STR_VAL,2,' '))),10) FROM #TAB15 T WHERE T.COL = 4 AND T.ROW_CODE = T15.ROW_CODE),
	SM_ALL = (SELECT TOP 1 SUMMA FROM #TAB15 T WHERE T.COL = 5 AND T.ROW_CODE = T15.ROW_CODE),
	SM1 = (SELECT TOP 1 SUMMA FROM #TAB15 T WHERE T.COL = 6 AND T.ROW_CODE = T15.ROW_CODE),
	SM2 = (SELECT TOP 1 SUMMA FROM #TAB15 T WHERE T.COL = 7 AND T.ROW_CODE = T15.ROW_CODE),
	SM3 = (SELECT TOP 1 SUMMA FROM #TAB15 T WHERE T.COL = 8 AND T.ROW_CODE = T15.ROW_CODE)
FROM
	#TAB15 T15

DROP TABLE #TAB15

--Проставить номера попорядку
DECLARE @NEXT_NUM2 INT
SET @NEXT_NUM2 = 0
UPDATE #STUD SET @NEXT_NUM2 = @NEXT_NUM2 + 1, LINK = @NEXT_NUM2

--количество обучающихся
DECLARE @COUNT_STUD INT
set @COUNT_STUD = (select count(*) from #STUD )


--IF (SELECT COUNT(*) FROM #STUD) > 0 -- студенты
--	OR (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 15, DEFAULT, DEFAULT) WHERE COL = 5 AND SUMMA <> 0) > 0 -- оплата студентам
--BEGIN

IF (SELECT COUNT(*) FROM #STUD) > 0 -- студенты
BEGIN
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '<Раздел5СведенияОВыплатахВпользуОбучающихся2014>'
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<КоличествоОбучающихся>' + LTRIM(RTRIM(CONVERT(VARCHAR(5),ISNULL(@COUNT_STUD,0)))) + '</КоличествоОбучающихся>' 			
		UNION ALL SELECT @lcFNAME,
			SPACE(4) + '<СведенияОбОбучающемся>' + CHAR(10) +		
				SPACE(5) + '<НомерПП>' + LTRIM(RTRIM(CONVERT(VARCHAR(5),ISNULL(link,0)))) + '</НомерПП>' + CHAR(10) + 		
				SPACE(5) + '<ФИО>' + CHAR(10) +
					SPACE(6) + '<Фамилия>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,1,','),'')))) + '</Фамилия>' + CHAR(10) + 		
					SPACE(6) + '<Имя>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,2,','),'')))) + '</Имя>' + CHAR(10) + 		
					SPACE(6) + '<Отчество>' + UPPER(LTRIM(RTRIM(ISNULL(dbo.SA_GET_WORD_NUM(FIO2,3,','),'')))) + '</Отчество>' + CHAR(10) + 										
				SPACE(5) + '</ФИО>' + CHAR(10) +
				SPACE(5) + '<НомерСправкиОчленствеВстудОтряде>' + LTRIM(RTRIM(ISNULL(NUM_SPR1,''))) + '</НомерСправкиОчленствеВстудОтряде>' + CHAR(10) + 										
				SPACE(5) + '<ДатаВыдачиСправкиОчленствеВстудОтряде>' + LTRIM(RTRIM(ISNULL(DATE_SPR1,''))) + '</ДатаВыдачиСправкиОчленствеВстудОтряде>' + CHAR(10) + 	
				SPACE(5) + '<НомерСправкиОбОчномОбучении>' + LTRIM(RTRIM(ISNULL(NUM_SPR2,''))) + '</НомерСправкиОбОчномОбучении>' + CHAR(10) + 										
				SPACE(5) + '<ДатаВыдачиСправкиОбОчномОбучении>' + LTRIM(RTRIM(ISNULL(DATE_SPR2,''))) + '</ДатаВыдачиСправкиОбОчномОбучении>' + CHAR(10) + 										
				SPACE(5) + '<СуммыВыплатИвознаграждений>' + CHAR(10) +
					SPACE(6) + '<СуммаВсегоСначалаРасчетногоПериода>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM_ALL,0)))) + '</СуммаВсегоСначалаРасчетногоПериода>' + CHAR(10) +
					SPACE(6) + '<СуммаПоследние1месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM1,0)))) + '</СуммаПоследние1месяц>' + CHAR(10) +	
					SPACE(6) + '<СуммаПоследние2месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM2,0)))) + '</СуммаПоследние2месяц>' + CHAR(10) +	
					SPACE(6) + '<СуммаПоследние3месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),ISNULL(SM3,0)))) + '</СуммаПоследние3месяц>' + CHAR(10) +	
				SPACE(5) + '</СуммыВыплатИвознаграждений>' + CHAR(10) +
			SPACE(4) + '</СведенияОбОбучающемся>'
		FROM #STUD				


		UNION ALL SELECT @lcFNAME,
			SPACE(4) + '<ИтогоВыплат>' + CHAR(10) +
					SPACE(5) + '<СуммаВсегоСначалаРасчетногоПериода>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SM_ALL,0))))) + '</СуммаВсегоСначалаРасчетногоПериода>' + CHAR(10) +			
					SPACE(5) + '<СуммаПоследние1месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SM1,0))))) + '</СуммаПоследние1месяц>' + CHAR(10) +
					SPACE(5) + '<СуммаПоследние2месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SM2,0))))) + '</СуммаПоследние2месяц>' + CHAR(10) +
					SPACE(5) + '<СуммаПоследние3месяц>' + LTRIM(RTRIM(CONVERT(VARCHAR(20),SUM(ISNULL(SM3,0))))) + '</СуммаПоследние3месяц>' + CHAR(10) +
			SPACE(4) + '</ИтогоВыплат>'
		FROM #STUD	

	if (SELECT COUNT(*) FROM DBO.SA_SAVED_REPORT_VIEW (@LINK, 16, 1, DEFAULT) WHERE COL = 3 and str_VAL <> '' ) > 0
	begin
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '<СведенияИзРеестраМДОО>'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, CASE T.COL
					WHEN 2 THEN SPACE(5) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(T.ROW_CODE,''))) + '</КодСтроки>' + CHAR(10) +
								SPACE(5) + '<РеквизитыЗаписиВреестре>'
						WHEN 3 THEN SPACE(6) + '<ДатаЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</ДатаЗаписиВреестре>'
						WHEN 4 THEN	SPACE(6) + '<НомерЗаписиВреестре>'+ LTRIM(RTRIM(ISNULL(T.STR_VAL,''))) + '</НомерЗаписиВреестре>' + CHAR(10) +	
								SPACE(5) + '</РеквизитыЗаписиВреестре>'
					END						
				FROM DBO.SA_SAVED_REPORT_VIEW (@link, 16, 1, DEFAULT) T WHERE T.COL IN (2,3,4) ORDER BY T.COL
		INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(4) + '</СведенияИзРеестраМДОО>'
	END
	INSERT INTO #OUTPUT (F_NAME, OUT_TEXT) SELECT @lcFNAME, SPACE(3) + '</Раздел5СведенияОВыплатахВпользуОбучающихся2014>'	
END

--end

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME,
	SPACE(3) + '<ЛицоПодтверждающееСведения>1</ЛицоПодтверждающееСведения>' + CHAR(10) +
	SPACE(3) + '<ФИОлицаПодтверждающегоСведения>' + CHAR(10) +
		SPACE(4) + '<Фамилия>' + UPPER(LTRIM(RTRIM(ISNULL(O.FM,'')))) + '</Фамилия>' + CHAR(10) +
		SPACE(4) + '<Имя>' + UPPER(LTRIM(RTRIM(ISNULL(O.IM,'')))) + '</Имя>' + CHAR(10) +
		SPACE(4) + '<Отчество>' + UPPER(LTRIM(RTRIM(ISNULL(O.OT,'')))) + '</Отчество>' + CHAR(10) +
	SPACE(3) + '</ФИОлицаПодтверждающегоСведения>' + CHAR(10) +
	SPACE(3) + '<НаименованиеОрганизацииПредставителя>' + UPPER(LTRIM(RTRIM(ISNULL(d.FULL_NAME,'')))) + '</НаименованиеОрганизацииПредставителя>' + CHAR(10) +
	SPACE(3) + '<ДокументПодтверждающийПолномочияПредставителя>' + CHAR(10) +
		SPACE(4) + '<НаименованиеУдостоверяющего>' + UPPER(LTRIM(RTRIM(ISNULL(F.NAME,'')))) + '</НаименованиеУдостоверяющего>' + CHAR(10) +
		SPACE(4) + '<СерияРимскиеЦифры>' + case when f.code='21' then substring(p.doc_num,1,2) else ' ' end + '</СерияРимскиеЦифры>' + CHAR(10) +
		SPACE(4) + '<СерияРусскиеБуквы>' + case when f.code='21' then substring(p.doc_num,4,2) else ' ' end + '</СерияРусскиеБуквы>' + CHAR(10) +
		SPACE(4) + '<НомерУдостоверяющего>' + LTRIM(RTRIM(case when f.code='21' then substring(p.doc_num,7,7) else ' ' end)) + '</НомерУдостоверяющего>' + CHAR(10) +
		SPACE(4) + '<ДатаВыдачи>' + LTRIM(RTRIM(ISNULL(convert(varchar(10),p.doc_date,104),''))) + '</ДатаВыдачи>' + CHAR(10) +
		SPACE(4) + '<КемВыдан>' + UPPER(LTRIM(RTRIM(ISNULL(p.DOC_WHOM,'')))) + '</КемВыдан>' + CHAR(10) +
	SPACE(3) + '</ДокументПодтверждающийПолномочияПредставителя>'
FROM dbo.GetOtvFaceData(@LINK_DEP, 'Руководитель') O
inner join EMPL e on e.link = o.link_empl
inner join PERSON p on p.link = e.pers_link
inner join FACE_DOCUMENT f on f.link = p.doc_link
inner join DICTIONARY_DEPARTMENT d on d.link = @LINK_DEP


INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
SELECT @lcFNAME, SPACE(3) + '<ДатаЗаполнения>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),@modify_date,104),''))) + '</ДатаЗаполнения>'

--Заверешение
INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(2) + '</РАСЧЕТ_ПО_СТРАХОВЫМ_ВЗНОСАМ_НА_ОПС_И_ОМС_ПЛАТЕЛЬЩИКАМИ_ПРОИЗВОДЯЩИМИ_ВЫПЛАТЫ_ФЛ_2015>'

INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
		SELECT @lcFNAME, SPACE(1) + '</ПачкаВходящихДокументов>'
	UNION ALL SELECT @lcFNAME, SPACE(0) + '</ФайлПФР>'	


/*-----------------------------------------------------------------------------------------------*/


--Раздел_6


--ОПИСЬ

CREATE TABLE #OPIS (
	LINK INT, [TYPE] INT, NOM_PP INT, NOM_PACH VARCHAR(10), SUM_BASE NUMERIC(18,2), SUM_STR NUMERIC(18,2), PERS_CNT NUMERIC(5), DATE_DOC VARCHAR(10),
	PER VARCHAR(1), YEAR_BEGIN VARCHAR(4), PER_EDT VARCHAR(1), YEAR_EDT VARCHAR(4), F_NAME varchar(100), link_doc int)

CREATE TABLE #TAB16 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB16 (ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL)
SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, DEFAULT, DEFAULT) T WHERE T.COL >= 3 ORDER BY T.COL

CREATE TABLE #TAB17 (ROW_CODE VARCHAR(10), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
INSERT INTO #TAB17 (ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 9, DEFAULT, DEFAULT) T WHERE T.COL >= 3 ORDER BY T.COL


INSERT INTO #OPIS ([TYPE], NOM_PACH, SUM_BASE, SUM_STR, PERS_CNT, DATE_DOC,	PER, YEAR_BEGIN,F_NAME, link_doc)
SELECT DISTINCT
	[TYPE] = (SELECT TOP 1 summa FROM #TAB16 T WHERE T.COL = 8 AND T.ROW_CODE = T16.ROW_CODE),
	NOM_PACH = (SELECT TOP 1 LTRIM(RTRIM(ROW_CODE)) FROM #TAB16 T WHERE T.COL = 3 AND T.ROW_CODE = T16.ROW_CODE),
	SUM_BASE = (SELECT TOP 1 SUMMA2 FROM #TAB16 T WHERE T.COL = 3 AND T.ROW_CODE = T16.ROW_CODE),
	SUM_STR = (SELECT TOP 1 SUMMA2 FROM #TAB16 T WHERE T.COL = 4 AND T.ROW_CODE = T16.ROW_CODE),
	PERS_CNT = (SELECT TOP 1 SUMMA FROM #TAB16 T WHERE T.COL = 5 AND T.ROW_CODE = T16.ROW_CODE),
	DATE_DOC = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB16 T WHERE T.COL = 7 AND T.ROW_CODE = T16.ROW_CODE),
	PER = (SELECT TOP 1 LTRIM(RTRIM(str(SUMMA))) FROM #TAB16 T WHERE T.COL = 9 AND T.ROW_CODE = T16.ROW_CODE),
	YEAR_BEGIN = (SELECT TOP 1 LTRIM(RTRIM(str(SUMMA))) FROM #TAB16 T WHERE T.COL = 10 AND T.ROW_CODE = T16.ROW_CODE),
	F_NAME = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB16 T WHERE T.COL = 6 AND T.ROW_CODE = T16.ROW_CODE),
	LINK_DOC = (SELECT TOP 1 SUMMA FROM #TAB16 T WHERE T.COL = 11 AND T.ROW_CODE = T16.ROW_CODE)
FROM
	#TAB16 T16

INSERT INTO #OPIS ([TYPE], NOM_PACH, SUM_BASE, SUM_STR, PERS_CNT, DATE_DOC,	PER, YEAR_BEGIN, PER_EDT, YEAR_EDT,F_NAME, link_doc)
SELECT DISTINCT
	[TYPE] = (SELECT TOP 1 summa FROM #TAB17 T WHERE T.COL = 11 AND T.ROW_CODE = T17.ROW_CODE),
	NOM_PACH = (SELECT TOP 1 LTRIM(RTRIM(ROW_CODE)) FROM #TAB17 T WHERE T.COL = 3 AND T.ROW_CODE = T17.ROW_CODE),
	SUM_BASE = (SELECT TOP 1 SUMMA2 FROM #TAB17 T WHERE T.COL = 14 AND T.ROW_CODE = T17.ROW_CODE),
	SUM_STR = (SELECT TOP 1 SUMMA2 FROM #TAB17 T WHERE T.COL = 15 AND T.ROW_CODE = T17.ROW_CODE),
	PERS_CNT = (SELECT TOP 1 SUMMA FROM #TAB17 T WHERE T.COL = 8 AND T.ROW_CODE = T17.ROW_CODE),
	DATE_DOC = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 10 AND T.ROW_CODE = T17.ROW_CODE),
	PER = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 12 AND T.ROW_CODE = T17.ROW_CODE),
	YEAR_BEGIN = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 13 AND T.ROW_CODE = T17.ROW_CODE),
	PER_EDT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 3 AND T.ROW_CODE = T17.ROW_CODE),
	YEAR_EDT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 4 AND T.ROW_CODE = T17.ROW_CODE),
	F_NAME = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB17 T WHERE T.COL = 9 AND T.ROW_CODE = T17.ROW_CODE),
	LINK_DOC = (SELECT TOP 1 SUMMA FROM #TAB17 T WHERE T.COL = 16 AND T.ROW_CODE = T17.ROW_CODE)
FROM
	#TAB17 T17	



DROP TABLE #TAB16
DROP TABLE #TAB17


--Проставить номера попорядку
DECLARE @NEXT_NUM3 INT
SET @NEXT_NUM3 = 0
UPDATE #OPIS SET @NEXT_NUM3 = @NEXT_NUM3 + 1, LINK = @NEXT_NUM3

DECLARE @NEXT_NUM4 INT
SET @NEXT_NUM4 = 0
UPDATE #OPIS SET @NEXT_NUM4 = @NEXT_NUM4 + 1, NOM_PP = @NEXT_NUM4
WHERE TYPE = 1


SET @NEXT_NUM4 = 0
UPDATE #OPIS SET @NEXT_NUM4 = @NEXT_NUM4 + 1, NOM_PP = @NEXT_NUM4
WHERE TYPE = 2


---------------------------------------------------------------
----------------------------------------------------------------
DECLARE @Cur3 CURSOR, @Cur4 CURSOR, @LINK_OP INT, @NGROUP int /*Номер пачки*/, @lcF_NAME varchar(254) /*наименование файла*/,
	@NOM_PP INT, @TYP_D varchar(20), @DATE_DOC VARCHAR(10),@SUM_BASE NUMERIC(18,2), @SUM_STR NUMERIC(18,2), @PERS_CNT NUMERIC(5),
	@PER VARCHAR(1), @YEAR_BEGIN VARCHAR(4), @PER_EDT VARCHAR(1), @YEAR_EDT VARCHAR(4)


	CREATE TABLE #TAB61 (LINK INT , FM VARCHAR(100), IM VARCHAR(100), OT VARCHAR(100), SNILS VARCHAR(14), CODE VARCHAR(14), SNILS1 VARCHAR(14), [TYPE] TINYINT , NGROUP VARCHAR(10), FNAME varchar(80), doc_date varchar(10), per_edt int)
	INSERT INTO #TAB61 (CODE, SNILS, FM, IM, OT, SNILS1, [TYPE], NGROUP, FNAME, doc_date, per_edt)
	exec dbo.RSA_RSV_1_PERS_UCH_SZV @Begin_Date , @END_Date , @LINK_DEP, 0 , @Link


	SET @NEXT_NUM3 = 0
	UPDATE #TAB61 SET @NEXT_NUM3 = @NEXT_NUM3 + 1, LINK = @NEXT_NUM3

	CREATE TABLE #TAB64 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
	INSERT INTO #TAB64 (ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
	SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 18, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL



	CREATE TABLE #P_64 (
								LINK INT, [TYPE] varchar(15), NOM_PP INT, SNILS VARCHAR(14), CODE_STR int, CODE_KAT varchar(5), INSUR NUMERIC(18,2), B_BEF NUMERIC(18,2), GB_BEF NUMERIC(18,2),B_AFT NUMERIC(18,2),
								PER VARCHAR(1), YEAR_BEGIN VARCHAR(4), PER_EDT VARCHAR(1), YEAR_EDT VARCHAR(4), FM varchar(100), IM varchar(100), OT varchar(100),
								k_PER_EDT1 VARCHAR(1), k_YEAR_EDT1 VARCHAR(4), k_INSUR1 NUMERIC(18,2), k_INSUR_1 NUMERIC(18,2), k_GAIN1 NUMERIC(18,2),
								k_PER_EDT2 VARCHAR(1), k_YEAR_EDT2 VARCHAR(4), k_INSUR2 NUMERIC(18,2), k_INSUR_2 NUMERIC(18,2), k_GAIN2 NUMERIC(18,2),
								k_PER_EDT3 VARCHAR(1), k_YEAR_EDT3 VARCHAR(4), k_INSUR3 NUMERIC(18,2), k_INSUR_3 NUMERIC(18,2), k_GAIN3 NUMERIC(18,2),
								k_PER_EDT4 VARCHAR(1), k_YEAR_EDT4 VARCHAR(4), k_INSUR4 NUMERIC(18,2), k_INSUR_4 NUMERIC(18,2), k_GAIN4 NUMERIC(18,2),
								k_PER_EDT5 VARCHAR(1), k_YEAR_EDT5 VARCHAR(4), k_INSUR5 NUMERIC(18,2), k_INSUR_5 NUMERIC(18,2), k_GAIN5 NUMERIC(18,2),SUM_VZNOS NUMERIC(18,2), UVOL CHAR(1))
	
	INSERT INTO #P_64 (/*LINK,*/ [TYPE], NOM_PP,SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
							PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
							k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
							k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
							k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS,UVOL)
	SELECT
				---LINK = dEnse_RANK() OVER (ORDER BY  [type],snils ),
				[TYPE],
				NOM_PP = ROW_NUMBER() OVER (PARTITION BY SNILS, [TYPE], PER_EDT ORDER BY CODE_STR , PER_EDT ),
				SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
							PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
							k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
							k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
							k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS,UVOL

		FROM
	(
	SELECT DISTINCT
		[TYPE] = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 12 AND T.ROW_CODE = T64.ROW_CODE),
		SNILS = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 2 AND T.ROW_CODE = T64.ROW_CODE),
		CODE_STR = convert(int, (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 4 AND T.ROW_CODE = T64.ROW_CODE)),
		CODE_KAT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 5 AND T.ROW_CODE = T64.ROW_CODE),
		INSUR = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 6 AND T.ROW_CODE = T64.ROW_CODE),
		B_BEF = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 7 AND T.ROW_CODE = T64.ROW_CODE ),
		GB_BEF = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 8 AND T.ROW_CODE = T64.ROW_CODE ),
		B_AFT = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 9 AND T.ROW_CODE = T64.ROW_CODE ),
		PER = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL))FROM #TAB64 T WHERE T.COL = 10 AND T.ROW_CODE = T64.ROW_CODE),
		YEAR_BEGIN = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 11 AND T.ROW_CODE = T64.ROW_CODE),
		PER_EDT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 13 AND T.ROW_CODE = T64.ROW_CODE),
		YEAR_EDT = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 14 AND T.ROW_CODE = T64.ROW_CODE),
		FM= (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 16 AND T.ROW_CODE = T64.ROW_CODE),
		IM= (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 17 AND T.ROW_CODE = T64.ROW_CODE),
		OT= (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB64 T WHERE T.COL = 18 AND T.ROW_CODE = T64.ROW_CODE),
		k_PER_EDT1 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 19 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT1 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 20 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR1 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 21 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_1 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 22 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN1 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 23 AND T.ROW_CODE = T64.ROW_CODE),
		
		k_PER_EDT2= (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 24 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT2 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA)))FROM #TAB64 T WHERE T.COL = 25 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR2 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 26 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_2 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 27 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN2 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 28 AND T.ROW_CODE = T64.ROW_CODE),
		k_PER_EDT3 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 29 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT3 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 30 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR3 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 31 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_3 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 32 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN3 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 33 AND T.ROW_CODE = T64.ROW_CODE),
		k_PER_EDT4 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 34 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT4 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 35 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR4 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 36 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_4 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 37 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN4 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 38 AND T.ROW_CODE = T64.ROW_CODE),
		k_PER_EDT5 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 39 AND T.ROW_CODE = T64.ROW_CODE ),
		k_YEAR_EDT5 = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 40 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR5 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 41 AND T.ROW_CODE = T64.ROW_CODE),
		k_INSUR_5 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 42 AND T.ROW_CODE = T64.ROW_CODE ),
		k_GAIN5 = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 43 AND T.ROW_CODE = T64.ROW_CODE),
		SUM_VZNOS = (SELECT TOP 1 SUMMA2 FROM #TAB64 T WHERE T.COL = 44 AND T.ROW_CODE = T64.ROW_CODE),
		UVOL = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB64 T WHERE T.COL = 45 AND T.ROW_CODE = T64.ROW_CODE)
		
	FROM
	#TAB64 T64	
		) T	



--exec SA_RSV1_EXPORT_0700_2014     42276

	SET @NEXT_NUM3 = 0
	UPDATE  p  SET  LINK = (select top 1 link from #TAB61 where ltrim(rtrim(SNILS)) = ltrim(rtrim(p.SNILS))
																						 and  ltrim(rtrim(FM)) = ltrim(rtrim(p.FM))
																						 and ltrim(rtrim(IM)) = ltrim(rtrim(p.IM))	 and ltrim(rtrim(OT)) = ltrim(rtrim(p.OT))
																						 and [type] = (case p.[type] when 'ИСХОДНАЯ' then 1 when 'КОРРЕКТИРУЮЩАЯ' then 2 else 3 end)
																						 and PER_EDT  = p.PER_EDT)
	FROM #P_64 p

																


--DELETE FROM #P_64 WHERE ISNULL(INSUR,0) = 0

	CREATE TABLE #PACHKA_64 (
								LINK INT, [TYPE] varchar(15), NOM_PP INT, SNILS VARCHAR(14), CODE_STR int, CODE_KAT varchar(5), INSUR NUMERIC(18,2), B_BEF NUMERIC(18,2), GB_BEF NUMERIC(18,2),B_AFT NUMERIC(18,2),
								PER VARCHAR(1), YEAR_BEGIN VARCHAR(4), PER_EDT VARCHAR(1), YEAR_EDT VARCHAR(4), FM varchar(100), IM varchar(100), OT varchar(100),
								k_PER_EDT1 VARCHAR(1), k_YEAR_EDT1 VARCHAR(4), k_INSUR1 NUMERIC(18,2), k_INSUR_1 NUMERIC(18,2), k_GAIN1 NUMERIC(18,2),
								k_PER_EDT2 VARCHAR(1), k_YEAR_EDT2 VARCHAR(4), k_INSUR2 NUMERIC(18,2), k_INSUR_2 NUMERIC(18,2), k_GAIN2 NUMERIC(18,2),
								k_PER_EDT3 VARCHAR(1), k_YEAR_EDT3 VARCHAR(4), k_INSUR3 NUMERIC(18,2), k_INSUR_3 NUMERIC(18,2), k_GAIN3 NUMERIC(18,2),
								k_PER_EDT4 VARCHAR(1), k_YEAR_EDT4 VARCHAR(4), k_INSUR4 NUMERIC(18,2), k_INSUR_4 NUMERIC(18,2), k_GAIN4 NUMERIC(18,2),
								k_PER_EDT5 VARCHAR(1), k_YEAR_EDT5 VARCHAR(4), k_INSUR5 NUMERIC(18,2), k_INSUR_5 NUMERIC(18,2), k_GAIN5 NUMERIC(18,2),SUM_VZNOS NUMERIC(18,2),UVOL CHAR(1))
	
	INSERT INTO #PACHKA_64 (LINK , [TYPE], NOM_PP,SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
							PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
							k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
							k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
							k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS,UVOL)

	SELECT
				LINK,
				[TYPE],
				NOM_PP = ROW_NUMBER() OVER (PARTITION BY SNILS, [TYPE],PER_EDT ORDER BY  PER_EDT,CODE_STR),
				SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
				PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
				k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
				k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
				k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS,UVOL		
	FROM
	(
		SELECT DISTINCT LINK , [TYPE],SNILS,CODE_STR,CODE_KAT,INSUR,B_BEF, GB_BEF, B_AFT,
							PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT,
							k_PER_EDT1,k_YEAR_EDT1,k_INSUR1,k_INSUR_1,k_GAIN1,k_PER_EDT2,k_YEAR_EDT2,k_INSUR2,k_INSUR_2,k_GAIN2,
							k_PER_EDT3,k_YEAR_EDT3,k_INSUR3,k_INSUR_3,k_GAIN3,k_PER_EDT4,k_YEAR_EDT4,k_INSUR4,k_INSUR_4,k_GAIN4,
							k_PER_EDT5,k_YEAR_EDT5,k_INSUR5,k_INSUR_5,k_GAIN5,SUM_VZNOS, UVOL
		FROM
		#P_64 T64	
	) T	


--exec SA_RSV1_EXPORT_0700_2014    2191
DROP TABLE #P_64
DROP TABLE #TAB64


	CREATE TABLE #TAB66 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
	INSERT INTO #TAB66 (ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
	SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 19, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL
	

	CREATE TABLE #TAB67 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
	INSERT INTO #TAB67 (ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
	SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 20, DEFAULT, DEFAULT) T  ORDER BY T.COL	

	CREATE TABLE #PACHKA_67 (
								LINK INT, [TYPE] INT , NOM_PP INT, SNILS VARCHAR(14), CODE_STR INT, CODE_SPO varchar(5), INC_T1M NUMERIC(18,2), INC_T2M NUMERIC(18,2),
								DATE_BEGIN1 varchar(10),DATE_END1 VARCHAR(10),TU_CODE1 VARCHAR(10), OS_CODE1 VARCHAR(30), EX_CODE1 VARCHAR(10), f_is_dop1 VARCHAR(100), P_CODE1 varchar(10), f_ud_dop1 varchar(100),
								DATE_BEGIN2 varchar(10),DATE_END2 VARCHAR(10),TU_CODE2 VARCHAR(10), OS_CODE2 VARCHAR(30), EX_CODE2 VARCHAR(10), f_is_dop2 VARCHAR(100), P_CODE2 varchar(10), f_ud_dop2 varchar(100),
								DATE_BEGIN3 varchar(10),DATE_END3 VARCHAR(10),TU_CODE3 VARCHAR(10), OS_CODE3 VARCHAR(30), EX_CODE3 VARCHAR(10), f_is_dop3 VARCHAR(100), P_CODE3 varchar(10), f_ud_dop3 varchar(100),
								DATE_BEGIN4 varchar(10),DATE_END4 VARCHAR(10),TU_CODE4 VARCHAR(10), OS_CODE4 VARCHAR(30), EX_CODE4 VARCHAR(10), f_is_dop4 VARCHAR(100), P_CODE4 varchar(10), f_ud_dop4 varchar(100)
							)
	
	INSERT INTO #PACHKA_67 (LINK, [TYPE], NOM_PP,SNILS,CODE_STR,CODE_SPO,INC_T1M,INC_T2M,
								DATE_BEGIN1,DATE_END1,TU_CODE1, OS_CODE1, EX_CODE1, f_is_dop1, P_CODE1, f_ud_dop1,
								DATE_BEGIN2,DATE_END2,TU_CODE2, OS_CODE2, EX_CODE2, f_is_dop2, P_CODE2, f_ud_dop2,
								DATE_BEGIN3,DATE_END3,TU_CODE3, OS_CODE3, EX_CODE3, f_is_dop3, P_CODE3, f_ud_dop3,
								DATE_BEGIN4,DATE_END4,TU_CODE4, OS_CODE4, EX_CODE4, f_is_dop4, P_CODE4, f_ud_dop4)
	SELECT
				LINK = dEnse_RANK() OVER (ORDER BY  [type],snils ),
				[TYPE],
				NOM_PP = ROW_NUMBER() OVER (PARTITION BY SNILS, [TYPE] ORDER BY CODE_STR),
								SNILS,CODE_STR,CODE_SPO,INC_T1M,INC_T2M,
								DATE_BEGIN1,DATE_END1,TU_CODE1, OS_CODE1, EX_CODE1, f_is_dop1, P_CODE1, f_ud_dop1,
								DATE_BEGIN2,DATE_END2,TU_CODE2, OS_CODE2, EX_CODE2, f_is_dop2, P_CODE2, f_ud_dop2,
								DATE_BEGIN3,DATE_END3,TU_CODE3, OS_CODE3, EX_CODE3, f_is_dop3, P_CODE3, f_ud_dop3,
								DATE_BEGIN4,DATE_END4,TU_CODE4, OS_CODE4, EX_CODE4, f_is_dop4, P_CODE4, f_ud_dop4		
	FROM
	(
		SELECT DISTINCT
			[TYPE] = (SELECT TOP 1 LTRIM(RTRIM(STR(SUMMA))) FROM #TAB67 T WHERE T.COL = 9 AND T.ROW_CODE = T67.ROW_CODE),
			SNILS = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 7 AND T.ROW_CODE = T67.ROW_CODE),
			CODE_STR = CONVERT( int ,(SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 3 AND T.ROW_CODE = T67.ROW_CODE)),
			CODE_SPO = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 4 AND T.ROW_CODE = T67.ROW_CODE),
			INC_T1M = (SELECT TOP 1 SUMMA2 FROM #TAB67 T WHERE T.COL = 5 AND T.ROW_CODE = T67.ROW_CODE),
			INC_T2M = (SELECT TOP 1 SUMMA2 FROM #TAB67 T WHERE T.COL = 6 AND T.ROW_CODE = T67.ROW_CODE ),

			DATE_BEGIN1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 10 AND T.ROW_CODE = T67.ROW_CODE ),
			DATE_END1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 11 AND T.ROW_CODE = T67.ROW_CODE),
			TU_CODE1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 12 AND T.ROW_CODE = T67.ROW_CODE),
			OS_CODE1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 13 AND T.ROW_CODE = T67.ROW_CODE ),
			EX_CODE1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 14 AND T.ROW_CODE = T67.ROW_CODE),
			f_is_dop1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 15 AND T.ROW_CODE = T67.ROW_CODE ),
			P_CODE1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 16 AND T.ROW_CODE = T67.ROW_CODE),
			f_ud_dop1 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 17 AND T.ROW_CODE = T67.ROW_CODE),
			
			DATE_BEGIN2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 18 AND T.ROW_CODE = T67.ROW_CODE ),
			DATE_END2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 19 AND T.ROW_CODE = T67.ROW_CODE),
			TU_CODE2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 20 AND T.ROW_CODE = T67.ROW_CODE),
			OS_CODE2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 21 AND T.ROW_CODE = T67.ROW_CODE ),
			EX_CODE2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 22 AND T.ROW_CODE = T67.ROW_CODE),
			f_is_dop2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 23 AND T.ROW_CODE = T67.ROW_CODE ),
			P_CODE2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 24 AND T.ROW_CODE = T67.ROW_CODE),
			f_ud_dop2 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 25 AND T.ROW_CODE = T67.ROW_CODE),
			
			DATE_BEGIN3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 26 AND T.ROW_CODE = T67.ROW_CODE ),
			DATE_END3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 27 AND T.ROW_CODE = T67.ROW_CODE),
			TU_CODE3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 28 AND T.ROW_CODE = T67.ROW_CODE),
			OS_CODE3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 29 AND T.ROW_CODE = T67.ROW_CODE ),
			EX_CODE3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 30 AND T.ROW_CODE = T67.ROW_CODE),
			f_is_dop3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 31 AND T.ROW_CODE = T67.ROW_CODE ),
			P_CODE3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 32 AND T.ROW_CODE = T67.ROW_CODE),
			f_ud_dop3 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 33 AND T.ROW_CODE = T67.ROW_CODE),
			
			DATE_BEGIN4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 34 AND T.ROW_CODE = T67.ROW_CODE ),
			DATE_END4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 35 AND T.ROW_CODE = T67.ROW_CODE),
			TU_CODE4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 36 AND T.ROW_CODE = T67.ROW_CODE),
			OS_CODE4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 37 AND T.ROW_CODE = T67.ROW_CODE ),
			EX_CODE4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 38 AND T.ROW_CODE = T67.ROW_CODE),
			f_is_dop4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 39 AND T.ROW_CODE = T67.ROW_CODE ),
			P_CODE4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 40 AND T.ROW_CODE = T67.ROW_CODE),
			f_ud_dop4 = (SELECT TOP 1 LTRIM(RTRIM(STR_VAL)) FROM #TAB67 T WHERE T.COL = 41 AND T.ROW_CODE = T67.ROW_CODE)
		FROM
		#TAB67 T67	
	) T	

	--SET @NEXT_NUM3 = 0
	--UPDATE  p  SET  LINK = (select top 1 link from #TAB61 where ltrim(rtrim(SNILS)) = ltrim(rtrim(p.SNILS))
	--														 and [type] = p.[type])
	--FROM #PACHKA_67 p

-------------------------
DROP TABLE #TAB67

	CREATE TABLE #TAB68 (ROW_CODE VARCHAR(4), COL INT, SUMMA NUMERIC(18), SUMMA2 NUMERIC(18,2), STR_VAL VARCHAR(254))
	INSERT INTO #TAB68	(ROW_CODE, COL, SUMMA,SUMMA2, STR_VAL)
	SELECT ROW_CODE, COL, SUMMA, SUMMA2, STR_VAL FROM DBO.SA_SAVED_REPORT_VIEW (@link, 21, DEFAULT, DEFAULT) T WHERE T.COL >= 2 ORDER BY T.COL	

	SELECT T1.LINK , t1.NGROUP , T1.FNAME, T1.DOC_DATE, t2.[TYPE],t2.SNILS, t2.NOM_PP,t2.CODE_STR,t2.CODE_KAT,t2.INSUR,t2.B_BEF, t2.GB_BEF, t2.B_AFT,
							t2.PER,t2.YEAR_BEGIN,t2.PER_EDT,t2.YEAR_EDT,t2.FM,t2.IM,t2.OT,
							t2.k_PER_EDT1,t2.k_YEAR_EDT1,t2.k_INSUR1,t2.k_INSUR_1,t2.k_GAIN1,t2.k_PER_EDT2,t2.k_YEAR_EDT2,t2.k_INSUR2,t2.k_INSUR_2,t2.k_GAIN2,
							t2.k_PER_EDT3,t2.k_YEAR_EDT3,t2.k_INSUR3,t2.k_INSUR_3,t2.k_GAIN3,t2.k_PER_EDT4,t2.k_YEAR_EDT4,t2.k_INSUR4,t2.k_INSUR_4,t2.k_GAIN4,
							t2.k_PER_EDT5,t2.k_YEAR_EDT5,t2.k_INSUR5,t2.k_INSUR_5,t2.k_GAIN5, t2.SUM_VZNOS,  t2.UVOL
	INTO #RES
	FROM #TAB61 t1 inner join #PACHKA_64 t2
	ON 	t1.link= t2.link and t1.FM = t2.FM  and t1.IM = t2.IM and  t1.OT = t2.OT and t1.SNILS = t2.SNILS
	WHERE
	(	
		ISNULL(t2.INSUR,0) <> 0
		OR EXISTS (
			SELECT *
			FROM
				dbo.SA_SZV4_SVEDENIA s INNER JOIN  dbo.SA_SZV4_STAZH st ON S.link1 = ST.link
			WHERE
				s.link = (SELECT TOP 1 SUMMA FROM DBO.SA_SAVED_REPORT_VIEW (@link, 8, DEFAULT, 11))
				AND T1.NGROUP = S.PACHKA
				AND  s.FM = t2.FM and s.IM = t2.IM  and s.OT = t2.OT AND  s.PF_NUM= t2.SNILS
		)
	)
	order by T1.LINK, t2.link , t2.[type] , t2.fm, t2.IM, t2.OT, t2.CODE_STR

--
	SELECT T1.LINK , t1.NGROUP , T1.FNAME, T1.DOC_DATE,t1.FM,t1.IM,t1.OT, t2.[TYPE],t2.SNILS, t2.NOM_PP,t2.CODE_STR,t2.CODE_SPO,t2.INC_T1M,t2.INC_T2M,
								t2.DATE_BEGIN1,t2.DATE_END1,t2.TU_CODE1, t2.OS_CODE1, t2.EX_CODE1, t2.f_is_dop1, t2.P_CODE1, t2.f_ud_dop1,
								t2.DATE_BEGIN2,t2.DATE_END2,t2.TU_CODE2, t2.OS_CODE2, t2.EX_CODE2, t2.f_is_dop2, t2.P_CODE2, t2.f_ud_dop2,
								t2.DATE_BEGIN3,t2.DATE_END3,t2.TU_CODE3, t2.OS_CODE3, t2.EX_CODE3, t2.f_is_dop3, t2.P_CODE3, t2.f_ud_dop3,
								t2.DATE_BEGIN4,t2.DATE_END4,t2.TU_CODE4, t2.OS_CODE4, t2.EX_CODE4, t2.f_is_dop4, t2.P_CODE4, t2.f_ud_dop4
	INTO #RES1
	FROM #PACHKA_67 t2  inner join #TAB61 t1
	on 	/*t1.link= t2.link and*/ t1.SNILS = t2.SNILS
	order by T1.LINK, t2.link , t2.[type], t1.fm, t1.IM, t1.OT, t2.CODE_STR
	

DECLARE	@LINK_R int, @TYPE_R varchar(15),@SNILS_R varchar(14),@CODE_STR_R varchar(4),
		@CODE_KAT_R varchar(5),@FM_R varchar(100),@IM_R varchar(100),@OT_R varchar(100),
		@PER_R varchar(1),@YEAR_BEGIN_R varchar(4),@PER_EDT_R varchar(1),@YEAR_EDT_R varchar(4),
		@DATE_DOC_R varchar (10) ,  @FNAME_R varchar(150), @NOM_PACH_R varchar(4), @LINK_DOC_OP INT, @UVOL CHAR(1)

UPDATE s
	SET PER = (SELECT TOP 1  per  from #OPIS WHERE TYPE = 1  )
FROM #OPIS s WHERE TYPE = 2

/*СКОРРЕКТИРУЕМ ДАТУ ПО ДАТЕ СОЗДАНИЯ ОТЧЕТА рсв-1*/
UPDATE #TAB61 SET DOC_DATE = CONVERT(VARCHAR(10),@modify_date,104)
UPDATE #OPIS SET DATE_DOC = CONVERT(VARCHAR(10),@modify_date,104)
UPDATE #RES SET DOC_DATE = CONVERT(VARCHAR(10),@modify_date,104)

SET @Cur3 = CURSOR FORWARD_ONLY
FOR
select 	
	LINK ,
	[TYPE] = case [TYPE] when 1 then 'ИСХОДНАЯ' WHEN 2 then 'КОРРЕКТИРУЮЩАЯ' else 'ОТМЕНЯЮЩАЯ' end ,
	NOM_PP,
	NOM_PACH,
	SUM_BASE,
	SUM_STR,
	PERS_CNT,
	DATE_DOC, /*ДАТА СОСТАВЛЕНИЯ/ЗАПОЛНЕНИЯ*/
	PER  = CASE [TYPE] when 2 then (CASE per WHEN 3 THEN 1 WHEN 6 THEN 2 WHEN 9 THEN 3 ELSE 4 end) else PER end,
	YEAR_BEGIN ,
	PER_EDT = CASE [TYPE] when 2 then (CASE PER_EDT WHEN 3 THEN 1 WHEN 6 THEN 2 WHEN 9 THEN 3 ELSE 0 end) else PER_EDT end,
	YEAR_EDT,
	F_NAME,
	LINK_DOC
from #OPIS order by LINK,[TYPE], NOM_PP

OPEN @Cur3
FETCH NEXT FROM @Cur3 INTO @LINK_OP, @TYP_D, @NOM_PP, @NGROUP /*Номер пачки*/,@SUM_BASE, @SUM_STR, @PERS_CNT,@DATE_DOC,@PER, @YEAR_BEGIN, @PER_EDT, @YEAR_EDT, @lcFNAME/*наименование файла*/ , @LINK_DOC_OP


WHILE (@@fetch_status <> -1)
BEGIN
	
	IF (@@fetch_status <> -2)
	BEGIN	
---------------------------------------------------------------
----------------------------------------------------------------

			-- Начало второго входящего документа (расширение блока входящий документ)
			IF (SELECT COUNT(*) FROM #OPIS) > 0 --
			BEGIN
		
									
				IF (@TYP_D = 'ИСХОДНАЯ' AND (SELECT COUNT (*) FROM #RES WHERE LTRIM(RTRIM([TYPE])) = LTRIM(RTRIM(@TYP_D))
										AND  LTRIM(RTRIM(PER)) = LTRIM(RTRIM(ISNULL(@PER,'0')))
										AND  LTRIM(RTRIM(YEAR_BEGIN)) = LTRIM(RTRIM(ISNULL(@YEAR_BEGIN,'0')))
										and LTRIM(RTRIM(PER_EDT)) =  LTRIM(RTRIM(ISNULL(@PER_EDT,'0'))) and LTRIM(RTRIM(YEAR_EDT)) =  LTRIM(RTRIM(ISNULL(@YEAR_EDT,'0')))
										and  LTRIM(RTRIM(DOC_DATE)) = LTRIM(RTRIM(@DATE_DOC)) and LTRIM(RTRIM(FNAME)) = LTRIM(RTRIM(@lcFNAME)) and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))) > 0)
					OR
					(@TYP_D = 'КОРРЕКТИРУЮЩАЯ' AND (SELECT COUNT (*) FROM #RES WHERE LTRIM(RTRIM([TYPE])) = LTRIM(RTRIM(@TYP_D))
										--AND  LTRIM(RTRIM(PER)) = LTRIM(RTRIM(ISNULL(@PER,'0')))
										AND  LTRIM(RTRIM(YEAR_BEGIN)) = LTRIM(RTRIM(ISNULL(@YEAR_BEGIN,'0')))
										and LTRIM(RTRIM(PER_EDT)) =  LTRIM(RTRIM(ISNULL(@PER_EDT,'0'))) and LTRIM(RTRIM(YEAR_EDT)) =  LTRIM(RTRIM(ISNULL(@YEAR_EDT,'0')))
										and  LTRIM(RTRIM(DOC_DATE)) = LTRIM(RTRIM(@DATE_DOC)) and LTRIM(RTRIM(FNAME)) = LTRIM(RTRIM(@lcFNAME)) and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))) > 0)
										
				BEGIN

					SET @PERS_CNT  = (select distinct COUNT (*) FROM
					(select distinct link , ngroup, snils from #RES WHERE LTRIM(RTRIM([TYPE])) = LTRIM(RTRIM(@TYP_D)) /*and LTRIM(RTRIM(PER)) = LTRIM(RTRIM(ISNULL(@PER,'0')))*/ and LTRIM(RTRIM(YEAR_BEGIN)) = LTRIM(RTRIM(ISNULL(@YEAR_BEGIN,'0')))
										and LTRIM(RTRIM(PER_EDT)) =  LTRIM(RTRIM(ISNULL(@PER_EDT,'0'))) and LTRIM(RTRIM(YEAR_EDT)) =  LTRIM(RTRIM(ISNULL(@YEAR_EDT,'0')))
										and  LTRIM(RTRIM(DOC_DATE)) = LTRIM(RTRIM(@DATE_DOC)) and LTRIM(RTRIM(FNAME)) = LTRIM(RTRIM(@lcFNAME)) and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))
										GROUP BY link , ngroup , SNILS) s)
				
						
				DECLARE @NUM_PACH_PP INT
				SET @NUM_PACH_PP = 1
				
				--exec SA_RSV1_EXPORT_0700_2014    2191
	
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				 SELECT @lcFNAME, 'OEM' --Имя файла
				 UNION ALL SELECT @lcFNAME, SPACE(0) + '<?xml version="1.0" encoding="Windows-1251" ?>'
				 UNION ALL SELECT @lcFNAME, SPACE(0) + '<ФайлПФР xmlns="http://schema.pfr.ru">'
					UNION ALL SELECT @lcFNAME, SPACE(1) + '<ИмяФайла>' + RTRIM(LTRIM(@lcFNAME)) + '</ИмяФайла>'
					UNION ALL SELECT @lcFNAME, SPACE(1) + '<ЗаголовокФайла>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ВерсияФормата>07.00</ВерсияФормата>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ТипФайла>ВНЕШНИЙ</ТипФайла>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ПрограммаПодготовкиДанных>'
						UNION ALL SELECT @lcFNAME, SPACE(3) + '<НазваниеПрограммы>' + @NAME_PROG + '</НазваниеПрограммы>'
						UNION ALL SELECT @lcFNAME, SPACE(3) + '<Версия>' + @VERS_PROG + '</Версия>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '</ПрограммаПодготовкиДанных>'
					 UNION ALL SELECT @lcFNAME, SPACE(2) + '<ИсточникДанных>СТРАХОВАТЕЛЬ</ИсточникДанных> '
					UNION ALL SELECT @lcFNAME, SPACE(1) + '</ЗаголовокФайла>'
					UNION ALL SELECT @lcFNAME, SPACE(1) + '<ПачкаВходящихДокументов Окружение="В составе файла" Стадия="До обработки">'
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME, SPACE(2) + '<СВЕДЕНИЯ_ПО_ПАЧКЕ_ДОКУМЕНТОВ_РАЗДЕЛА_6>'


				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
					SELECT @lcFNAME, SPACE(3) + '<НомерВпачке>'+ RTRIM(LTRIM(STR(@NUM_PACH_PP)))+'</НомерВпачке>' + CHAR(10) +
						SPACE(3) + '<ТипВходящейОписи>ОПИСЬ ПАЧКИ</ТипВходящейОписи>' + CHAR(10) +
						SPACE(3) + '<СоставительПачки>' + CHAR(10) +
							SPACE(4) + '<НалоговыйНомер>' + CHAR(10) +
								SPACE(5) + '<ИНН>' + LTRIM(RTRIM(ISNULL((select TOP 1 INN1 FROM #DEP_DATA),'')))+ '</ИНН>' + CHAR(10) +
								SPACE(5) + '<КПП>' + LTRIM(RTRIM(ISNULL((SELECT TOP 1 KPP1 FROM #DEP_DATA),''))) + '</КПП>' + CHAR(10) +
							SPACE(4) + '</НалоговыйНомер>' + CHAR(10) +
							SPACE(4) + '<НаименованиеОрганизации>' + LTRIM(RTRIM(ISNULL((SELECT TOP 1 CONVERT(varchar(50),FULL_NAME) FROM #DEP_DATA),'')))+ '</НаименованиеОрганизации>' + CHAR(10) +
							SPACE(4) + '<НаименованиеКраткое>' + LTRIM(RTRIM(ISNULL( (SELECT TOP 1 ORGNAME FROM #DEP_DATA),''))) + '</НаименованиеКраткое>' + CHAR(10) +
							SPACE(4) + '<РегистрационныйНомер>' + LTRIM(RTRIM(ISNULL( (SELECT TOP 1 PFNUMBER FROM #DEP_DATA),''))) + '</РегистрационныйНомер>' + CHAR(10) +
						SPACE(3) + '</СоставительПачки>' + CHAR(10) +
						SPACE(3) + '<НомерПачки>' + CHAR(10) +
							SPACE(4) + '<Основной>'+LTRIM(RTRIM(@NGROUP))+'</Основной>' + CHAR(10) + 	
						SPACE(3) + '</НомерПачки>' + CHAR(10) + 	
						SPACE(3) + '<СоставДокументов>' + CHAR(10) + 	
							SPACE(4) + '<Количество>' + '1' /*@DOCCOUNT*/ + '</Количество>' + CHAR(10) + 	
							SPACE(4) + '<НаличиеДокументов>' + CHAR(10) + 	
								SPACE(5) + '<ТипДокумента>СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ</ТипДокумента>' + CHAR(10) + 	
								SPACE(5) + '<Количество>' + RTRIM(LTRIM(STR(@PERS_CNT)))+ '</Количество>' + CHAR(10) + 	
							SPACE(4) + '</НаличиеДокументов>' + CHAR(10) + 	
						SPACE(3) + '</СоставДокументов>' + CHAR(10) + 		

						SPACE(3) + '<ДатаСоставления>' + CONVERT(VARCHAR(10),@DATE_DOC,104)+ '</ДатаСоставления>' + CHAR(10) + 	
						SPACE(3) + '<ТипСведений>' + RTRIM(LTRIM(@TYP_D)) + '</ТипСведений>' + CHAR(10) + 	

						SPACE(3) + '<ОтчетныйПериод>'+ CHAR(10) + 	
							SPACE(4) + '<Квартал>' + CASE @PER WHEN '1' THEN '3'
															 WHEN '2' THEN '6'
															 WHEN '3' THEN '9'
															 ELSE '0'
													 END + '</Квартал>' + CHAR(10) + 	
							SPACE(4) + '<Год>' + @YEAR_BEGIN + '</Год>' + CHAR(10) + 	
							SPACE(4) + '<Название>'
										+	CASE @PER
													WHEN '1' THEN 'С 01.01.'+@YEAR_BEGIN+' ПО 31.03.'+@YEAR_BEGIN
													WHEN '2' THEN 'С 01.01.'+@YEAR_BEGIN+' ПО 30.06.'+@YEAR_BEGIN
													WHEN '3' THEN 'С 01.01.'+@YEAR_BEGIN+' ПО 30.09.'+@YEAR_BEGIN
													WHEN '4' THEN 'С 01.01.'+@YEAR_BEGIN+' ПО 31.12.'+@YEAR_BEGIN
													ELSE ''
											END									
											+ '</Название>' + CHAR(10) + 	
						SPACE(3) + '</ОтчетныйПериод>' + CHAR(10) +
											
						CASE WHEN @TYP_D = 'КОРРЕКТИРУЮЩАЯ' and @PER_EDT IS NOT NULL THEN ( SPACE(3) + '<КорректируемыйОтчетныйПериод>' + CHAR(10) +
																SPACE(4) + '<Квартал>' + CASE @PER_EDT  WHEN '1' THEN '3'
																									 WHEN '2' THEN '6'
																									 WHEN '3' THEN '9'	
																									 ELSE '0'
																						 END+ '</Квартал>' + CHAR(10) +
																SPACE(4) + '<Год>' + @YEAR_EDT + '</Год>' + CHAR(10) +
																SPACE(4) + '<Название>' +
																			CASE @PER_EDT
																					WHEN '1' THEN 'С 01.01.'+@YEAR_EDT+' ПО 31.03.'+@YEAR_EDT
																					WHEN '2' THEN 'С 01.01.'+@YEAR_EDT+' ПО 30.06.'+@YEAR_EDT
																					WHEN '3' THEN 'С 01.01.'+@YEAR_EDT+' ПО 30.09.'+@YEAR_EDT
																					WHEN '4' THEN 'С 01.01.'+@YEAR_EDT+' ПО 31.12.'+@YEAR_EDT
																					ELSE ''
																			END									
																			+ '</Название>' + CHAR(10) +
															SPACE(3) + '</КорректируемыйОтчетныйПериод>' ) ELSE '' END + CHAR(10) +
													SPACE(3) + '<БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + RTRIM(LTRIM(STR(COALESCE(@SUM_BASE,0),15,2))) + '</БазаДляНачисленияСтраховыхВзносовНеПревышающаяПредельную>' + CHAR(10) +
													SPACE(3) + '<СтраховыхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(@SUM_STR,0),15,2))) + '</СтраховыхВзносовОПС>'
				
						INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
						SELECT @lcFNAME,SPACE(2) + '</СВЕДЕНИЯ_ПО_ПАЧКЕ_ДОКУМЕНТОВ_РАЗДЕЛА_6>'									


						DECLARE @NUM_l INT, @num_old INT
						SET @NUM_l = 0
						SET @num_old = 0

						SET @Cur4 = CURSOR FORWARD_ONLY
						FOR
						SELECT LINK,[TYPE],SNILS,PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT, DOC_DATE, MAX(UVOL)/*, FNAME, NGROUP*/
						FROM #RES where  LTRIM(RTRIM([TYPE])) = LTRIM(RTRIM(@TYP_D)) /*and LTRIM(RTRIM(PER)) = LTRIM(RTRIM(ISNULL(@PER,'0')))*/ and LTRIM(RTRIM(YEAR_BEGIN)) = LTRIM(RTRIM(ISNULL(@YEAR_BEGIN,'0')))
										and LTRIM(RTRIM(PER_EDT)) =  LTRIM(RTRIM(ISNULL(@PER_EDT,'0'))) and LTRIM(RTRIM(YEAR_EDT)) =  LTRIM(RTRIM(ISNULL(@YEAR_EDT,'0')))
										and  LTRIM(RTRIM(DOC_DATE)) = LTRIM(RTRIM(@DATE_DOC)) and LTRIM(RTRIM(FNAME)) = LTRIM(RTRIM(@lcFNAME)) and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))
						group BY LINK,[TYPE],SNILS,PER,YEAR_BEGIN,PER_EDT,YEAR_EDT,FM,IM,OT, DOC_DATE/*, FNAME, NGROUP*/
						order by link , fm, IM, OT, SNILS , [type]
							--exec SA_RSV1_EXPORT_0700_2014    42276	
						OPEN @Cur4
						FETCH NEXT FROM @Cur4 INTO @LINK_R, @TYPE_R,@SNILS_R,@PER_R,@YEAR_BEGIN_R,@PER_EDT_R,@YEAR_EDT_R,
													@FM_R,@IM_R,@OT_R, @DATE_DOC_R, @UVOL /*, @FNAME_R, @NOM_PACH_R*/
						WHILE (@@fetch_status <> -1)
						BEGIN

							IF (@@fetch_status <> -2)
							BEGIN	
									set @NUM_PACH_PP = @NUM_PACH_PP + 1 					
								
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME, SPACE(2) + '<СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>'
							
									INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME, SPACE(3) + '<НомерВпачке>'+ RTRIM(LTRIM(STR(@NUM_PACH_PP)))+'</НомерВпачке>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '<ТипСведений>'+ UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),''))))+ '</ТипСведений>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '<РегистрационныйНомер>'+ LTRIM(RTRIM(ISNULL( (SELECT TOP 1 PFNUMBER FROM #DEP_DATA),''))) +'</РегистрационныйНомер>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '<СтраховойНомер>'+ LTRIM(RTRIM(ISNULL( @SNILS_R,''))) +'</СтраховойНомер>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '<ФИО>'
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Фамилия>' + UPPER(LTRIM(RTRIM(ISNULL(@FM_R,''))))+ '</Фамилия>'
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Имя>' + UPPER(LTRIM(RTRIM(ISNULL(@iM_R,''))))+ '</Имя>'
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Отчество>' + UPPER(LTRIM(RTRIM(ISNULL(@OT_R,''))))+ '</Отчество>'
										UNION ALL SELECT @lcFNAME, SPACE(3) + '</ФИО>' 	
									--
									IF @Period_Number !=1 AND @YEAR >='2015' 
									BEGIN 
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
											SELECT @lcFNAME, case when @UVOL = 1 THEN  (SPACE(3) + '<СведенияОбУвольнении>'+ 'УВОЛЕН'+  '</СведенияОбУвольнении>') ELSE '' end
									END 	
										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)						
										SELECT @lcFNAME, SPACE(3) + '<ОтчетныйПериод>'
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Квартал>' + CASE @PER_r WHEN '1' THEN '3'
																										  WHEN '2' THEN '6'
																										  WHEN '3' THEN '9'
																										  ELSE '0'
																										  END
																				+ '</Квартал>' 	
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Год>' + @YEAR_BEGIN_r + '</Год>'	
											UNION ALL SELECT @lcFNAME, SPACE(4) + '<Название>' +	CASE @PER_R
																											WHEN '1' THEN 'С 01.01.'+@YEAR_BEGIN_R+' ПО 31.03.'+@YEAR_BEGIN_R
																											WHEN '2' THEN 'С 01.01.'+@YEAR_BEGIN_R+' ПО 30.06.'+@YEAR_BEGIN_R
																											WHEN '3' THEN 'С 01.01.'+@YEAR_BEGIN_R+' ПО 30.09.'+@YEAR_BEGIN_R
																											WHEN '4' THEN 'С 01.01.'+@YEAR_BEGIN_R+' ПО 31.12.'+@YEAR_BEGIN_R
																											ELSE ''
																									END									
																				+ '</Название>' 	
											UNION ALL SELECT @lcFNAME,SPACE(3) + '</ОтчетныйПериод>'
											
											IF UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'КОРРЕКТИРУЮЩАЯ'
												INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														 SELECT @lcFNAME, SPACE(3) + '<КорректируемыйОтчетныйПериод>' + CHAR(10) + CHAR(13) +
																				SPACE(4) + '<Квартал>' + CASE @PER_EDT_R WHEN '1' THEN '3'
																														 WHEN '2' THEN '6'
																														 WHEN '3' THEN '9'	
																														 ELSE '0'
																										END
																						+ '</Квартал>' + CHAR(10) + CHAR(13) +
																				SPACE(4) + '<Год>' + @YEAR_EDT_R + '</Год>' + CHAR(10) + CHAR(13) +
																				SPACE(4) + '<Название>' +
																							CASE @PER_EDT_R
																										WHEN '1' THEN 'С 01.01.'+@YEAR_EDT_R+' ПО 31.03.'+@YEAR_EDT_R
																										WHEN '2' THEN 'С 01.01.'+@YEAR_EDT_R+' ПО 30.06.'+@YEAR_EDT_R
																										WHEN '3' THEN 'С 01.01.'+@YEAR_EDT_R+' ПО 30.09.'+@YEAR_EDT_R
																										WHEN '4' THEN 'С 01.01.'+@YEAR_EDT_R+' ПО 31.12.'+@YEAR_EDT_R
																										ELSE ''
																							END									
																						+ '</Название>' + CHAR(10) + CHAR(13) +
																		SPACE(3) + '</КорректируемыйОтчетныйПериод>' + CHAR(10) + CHAR(13) +
																		SPACE(3) + '<РегистрационныйНомерКорректируемогоПериода>'+ LTRIM(RTRIM(ISNULL( (SELECT TOP 1 PFNUMBER FROM #DEP_DATA),''))) +'</РегистрационныйНомерКорректируемогоПериода>'
											
																					
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT @lcFNAME ,SPACE(3) + '<СведенияОсуммеВыплатИвознагражденийВпользуЗЛ>' + CHAR(10)+
																			 SPACE(4) + '<НомерСтроки>' + LTRIM(RTRIM(ISNULL( ( ROW_NUMBER() OVER (ORDER BY CODE_STR) ),''))) + '</НомерСтроки>' + CHAR(10)+
																			 SPACE(4) + '<ТипСтроки>' + LTRIM(RTRIM(ISNULL( (CASE WHEN CODE_STR = '400' OR CODE_STR = '410' OR CODE_STR = '420' THEN 'ИТОГ' ELSE 'МЕСЦ' END),''))) + '</ТипСтроки>' + CHAR(10)+
																			 SPACE(4) + (CASE WHEN CODE_STR = '400' OR CODE_STR ='410' OR CODE_STR ='420' THEN ''
																							  else  ( '<Месяц>' +	(CASE WHEN CODE_STR = '400' OR CODE_STR ='410' OR CODE_STR ='420' THEN ''
																							
																														  WHEN CODE_STR = '401' OR CODE_STR ='411' OR CODE_STR ='421' THEN
																														  						(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
																														  							  THEN (CASE @PER_r WHEN '1' THEN '1'
																														  												WHEN '2' THEN '4'
																														  												WHEN '3' THEN '7'
																														  												ELSE '10' end)
																														  							  ELSE (CASE @PER_EDT_R WHEN '1' THEN '1'
																														  													WHEN '2' THEN '4'
																														  													WHEN '3' THEN '7'
																														  													ELSE '10' end)
																														  						END)
																																														
																														  WHEN CODE_STR = '402' OR CODE_STR ='412' OR CODE_STR ='422' THEN
																														  						(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
																														  							  THEN (CASE @PER_r WHEN '1' THEN '2'
																														  												WHEN '2' THEN '5'
																														  												WHEN '3' THEN '8'
																														  												ELSE '11' end)
																														  							  ELSE (CASE @PER_EDT_R WHEN '1' THEN '2'
																														  													WHEN '2' THEN '5'
																														  													WHEN '3' THEN '8'
																														  													ELSE '11' end)
																														  						END)
																														
																														  ELSE 					(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
																														  							  THEN (CASE @PER_r WHEN '1' THEN '3'
																														  												WHEN '2' THEN '6'
																														  												WHEN '3' THEN '9'
																														  												ELSE '12' end)
																														  							  ELSE (CASE @PER_EDT_R WHEN '1' THEN '3'
																														  													WHEN '2' THEN '6'
																														  													WHEN '3' THEN '9'
																														  													ELSE '12' end)
																														  						END)
																							                     	      end ) + '</Месяц>'  )
																							  END)   + CHAR(10)+
																									
																			 SPACE(4) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(CODE_STR,''))) + '</КодСтроки>' + CHAR(10)+
																			 SPACE(4) + '<КодКатегории>' + LTRIM(RTRIM(ISNULL(CODE_KAT,''))) + '</КодКатегории>' + CHAR(10)+
																			 SPACE(4) + '<СуммаВыплатИныхВознаграждений>' + RTRIM(LTRIM(STR(COALESCE(INSUR,0),15,2))) + '</СуммаВыплатИныхВознаграждений>' + CHAR(10)+
																			 SPACE(4) + '<НеПревышающиеВсего>' + RTRIM(LTRIM(STR(COALESCE(B_BEF,0),15,2))) + '</НеПревышающиеВсего>' + CHAR(10)+
																			 SPACE(4) + '<НеПревышающиеПоДоговорам>' + RTRIM(LTRIM(STR(COALESCE(GB_BEF,0),15,2))) + '</НеПревышающиеПоДоговорам>' + CHAR(10)+
																			 SPACE(4) + '<ПревышающиеПредельную>' + RTRIM(LTRIM(STR(COALESCE(B_AFT,0),15,2))) + '</ПревышающиеПредельную>' + CHAR(10)+
																	  SPACE(3) + '</СведенияОсуммеВыплатИвознагражденийВпользуЗЛ>'	
													FROM #RES
													WHERE
														link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
															and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
															AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R /*and FNAME = @FNAME_R */and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))
															AND
																(
																CODE_STR LIKE '4[0,1,2]0'
																OR
																CODE_STR NOT LIKE '4[0,1,2]0' AND ISNULL(INSUR,0) <> 0
																)

										
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT @lcFNAME, SPACE(3) + '<СуммаВзносовНаОПС>' + RTRIM(LTRIM(STR(COALESCE(SUM(SUM_VZNOS),0),15,2))) + '</СуммаВзносовНаОПС>'
													FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																	AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R */and LTRIM(RTRIM(NGROUP)) = LTRIM(RTRIM(@NGROUP))
																	AND CODE_STR IN ('400','410','420')
						
											
											IF UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) IN ( 'ИСХОДНАЯ', 'КОРРЕКТИРУЮЩАЯ')
											BEGIN

												
												--exec SA_RSV1_EXPORT_0700_2014    2191
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT  @lcFNAME,
															(CASE WHEN (k_INSUR1 <> 0 or k_GAIN1 <> 0) AND  K_YEAR_EDT1 <> 0
															THEN
																	+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																				 SPACE(4) + '<НомерСтроки>' + '1' + '</НомерСтроки>' + CHAR(10)+
																				 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																				 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT1 >= 2014
																													THEN (CASE WHEN k_per_edt1 = '1' THEN '3'
																																WHEN k_per_edt1 = '2' THEN '6'
																																WHEN k_per_edt1 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt1  END + '</Квартал>' + CHAR(10)+
																				 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT1,''))) + '</Год>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR1,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_1,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN1,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																		  SPACE(3) + '</СведенияОкорректировках>'	
															ELSE
																''																
															END	)
														FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																		and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																		AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																		AND CODE_STR = '400'
													
														
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT  @lcFNAME,
															(CASE WHEN (k_INSUR2 <> 0 OR k_GAIN2 <> 0) AND  K_YEAR_EDT2 <> 0
															THEN		
																+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																				 SPACE(4) + '<НомерСтроки>' + '2' + '</НомерСтроки>' + CHAR(10)+
																				 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																				 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT2 >= 2014
																													THEN (CASE WHEN k_per_edt2 = '1' THEN '3'
																																WHEN k_per_edt2 = '2' THEN '6'
																																WHEN k_per_edt2 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt2  END  + '</Квартал>' + CHAR(10)+
																				 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT2,''))) + '</Год>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR2,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_2,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN2,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																		  SPACE(3) + '</СведенияОкорректировках>'	
															ELSE
																''
															END	)			
																		
														FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																		and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																		AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																		AND CODE_STR = '400'

												

													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT  @lcFNAME,
														    (CASE WHEN (k_INSUR3 <> 0 OR k_GAIN3 <> 0) AND  K_YEAR_EDT3 <> 0
																  THEN
																		+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																				 SPACE(4) + '<НомерСтроки>' + '3' + '</НомерСтроки>' + CHAR(10)+
																				 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																				 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT3 >= 2014
																													THEN (CASE WHEN k_per_edt3 = '1' THEN '3'
																																WHEN k_per_edt3 = '2' THEN '6'
																																WHEN k_per_edt3 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt3  END + '</Квартал>' + CHAR(10)+
																				 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT3,''))) + '</Год>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR3,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_3,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN3,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																		  SPACE(3) + '</СведенияОкорректировках>'
																ELSE
																	''
																END	)			
																																			  	
														FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																		and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																		AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																		AND CODE_STR = '400'

												
														INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
															SELECT  @lcFNAME,
																			
																	(CASE WHEN (k_INSUR4 <> 0 OR k_GAIN4 <> 0) AND  K_YEAR_EDT4 <> 0
																		  THEN
																			+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																					 SPACE(4) + '<НомерСтроки>' + '4' + '</НомерСтроки>' + CHAR(10)+
																					 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																					 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT4 >= 2014
																													THEN (CASE WHEN k_per_edt4 = '1' THEN '3'
																																WHEN k_per_edt4 = '2' THEN '6'
																																WHEN k_per_edt4 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt4  END + '</Квартал>' + CHAR(10)+
																					 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT4,''))) + '</Год>' + CHAR(10)+
																					 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR4,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																					 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_4,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																					 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN4,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																			  SPACE(3) + '</СведенияОкорректировках>'	
																	  ELSE
																		''
																	  END	)			
																				
															FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																			and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																			AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																			AND CODE_STR = '400' 																															


													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
														SELECT  @lcFNAME,
																(CASE WHEN (k_INSUR5 <> 0 OR k_GAIN5 <> 0) AND  K_YEAR_EDT5 <> 0
																	  THEN
																		+	SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																				 SPACE(4) + '<НомерСтроки>' + '5' + '</НомерСтроки>' + CHAR(10)+
																				 SPACE(4) + '<ТипСтроки>'+'МЕСЦ'+'</ТипСтроки>' + CHAR(10)+
																				 SPACE(4) + '<Квартал>' +	CASE WHEN K_YEAR_EDT5 >= 2014
																													THEN (CASE WHEN k_per_edt5 = '1' THEN '3'
																																WHEN k_per_edt5 = '2' THEN '6'
																																WHEN k_per_edt5 = '3' THEN '9'
																																ELSE '0'  end )
																													ELSE k_per_edt5  END + '</Квартал>' + CHAR(10)+
																				 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(K_YEAR_EDT5,''))) + '</Год>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR5,0),15,2))) + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE(k_INSUR_5,0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																				 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE(k_GAIN5,0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																		  SPACE(3) + '</СведенияОкорректировках>'	
																	  ELSE
																		''
																	  END	)
														FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																		and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																		AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																		AND CODE_STR = '400'

												
												INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT  @lcFNAME,
															(CASE WHEN (k_INSUR1<>0 or k_INSUR2 <> 0 OR k_INSUR3<>0 OR k_INSUR4<>0 OR k_INSUR5 <> 0) OR (k_INSUR_1<>0 or k_INSUR_2 <> 0 OR k_INSUR_3<>0 OR k_INSUR_4<>0 OR k_INSUR_5 <> 0)
																  THEN
																	+ SPACE(3) + '<СведенияОкорректировках>' + CHAR(10)+
																			 SPACE(4) + '<НомерСтроки>' + (CASE WHEN k_INSUR1<>0 OR k_INSUR_1<>0 and k_INSUR2 = 0 and k_INSUR3 = 0 and k_INSUR4 = 0 AND k_INSUR5 = 0 THEN '2'
																												WHEN k_INSUR2 <> 0 OR k_INSUR_2<>0 and k_INSUR3 = 0 and k_INSUR4 = 0 AND k_INSUR5 = 0 THEN '3'
																												WHEN k_INSUR3 <> 0 OR k_INSUR_3<>0 and k_INSUR4 = 0 AND k_INSUR5 = 0 THEN '4'
																												WHEN k_INSUR4 <> 0 OR k_INSUR_4<>0 AND k_INSUR5 = 0 THEN '5'
																												WHEN k_INSUR5 <> 0 OR k_INSUR_5<>0 THEN '6' ELSE '6' end) + '</НомерСтроки>' + CHAR(10)+
																			 SPACE(4) + '<ТипСтроки>'+'ИТОГ'+'</ТипСтроки>' + CHAR(10)+
																			/* SPACE(4) + '<Квартал>'  +	(CASE WHEN per_edt = '1' THEN '3'
																										WHEN per_edt = '2' THEN '6'
																										WHEN per_edt = '3' THEN '9'
																										ELSE '0'  end ) + '</Квартал>' + CHAR(10)+
																			 SPACE(4) + '<Год>' + LTRIM(RTRIM(ISNULL(YEAR_EDT,''))) + '</Год>' + CHAR(10)+
																			 */SPACE(4) + '<СуммаДоначисленныхВзносовОПС>' + CASE WHEN K_YEAR_EDT1 >=2014 or K_YEAR_EDT2 >=2014 or K_YEAR_EDT3 >=2014 or K_YEAR_EDT4 >=2014 or K_YEAR_EDT5 >=2014 then RTRIM(LTRIM(STR(COALESCE((k_INSUR1+k_INSUR2+k_INSUR3+k_INSUR4+k_INSUR5),0),15,2)))
																																		ELSE '0.00' end + '</СуммаДоначисленныхВзносовОПС>' + CHAR(10)+
																			 SPACE(4) + '<СуммаДоначисленныхВзносовНаСтраховую>' + RTRIM(LTRIM(STR(COALESCE((k_INSUR_1+k_INSUR_2+k_INSUR_3+k_INSUR_4+k_INSUR_5),0),15,2))) + '</СуммаДоначисленныхВзносовНаСтраховую>' + CHAR(10)+
																			 SPACE(4) + '<СуммаДоначисленныхВзносовНаНакопительную>' + RTRIM(LTRIM(STR(COALESCE((k_GAIN1+k_GAIN2+k_GAIN3+k_GAIN4+k_GAIN5),0),15,2))) + '</СуммаДоначисленныхВзносовНаНакопительную>' + CHAR(10)+
																	  SPACE(3) + '</СведенияОкорректировках>'
															ELSE
																''
															END		)	  	
													FROM #RES WHERE link = @LINK_R 	AND [TYPE] = @TYPE_R AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /*AND PER = @PER_R*/ AND  YEAR_BEGIN = @YEAR_BEGIN_R AND PER_EDT = @PER_EDT_R
																	AND YEAR_EDT = @YEAR_EDT_R AND DOC_DATE = @DATE_DOC_R  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
																	AND CODE_STR = '400'
												
				
												
											END
											
											
											--IF (SELECT COUNT (*) FROM #RES1 WHERE [TYPE] = (CASE @TYPE_R when 'ИСХОДНАЯ' THEN 1 WHEN 'КОРРЕКТИРУЮЩАЯ' THEN 2 ELSE 3 END) AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
											--						and OT = @OT_R AND DOC_DATE = @DATE_DOC_R ) > 1
											--BEGIN
											
											INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													SELECT  @lcFNAME, SPACE(3) + '<СведенияОсуммеВыплатИвознагражденийПоДопТарифу>' + CHAR(10)+
																			 SPACE(4) + '<НомерСтроки>' + LTRIM(RTRIM(ISNULL( NOM_PP,''))) + '</НомерСтроки>' + CHAR(10)+
																			 SPACE(4) + '<ТипСтроки>' + LTRIM(RTRIM(ISNULL( (CASE WHEN CODE_STR = '700' OR CODE_STR = '710' OR CODE_STR = '720' THEN 'ИТОГ' ELSE 'МЕСЦ' END),''))) + '</ТипСтроки>' + CHAR(10)+
																			 SPACE(4) + (CASE WHEN CODE_STR = '700' OR CODE_STR ='710' OR CODE_STR ='720' THEN ''
																							else ('<Месяц>' +	(CASE WHEN CODE_STR = '700' OR CODE_STR ='710' OR CODE_STR ='720' THEN ''
																									WHEN CODE_STR = '701' OR CODE_STR ='711' OR CODE_STR ='721' THEN
																										(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
																											  THEN (CASE @PER_r WHEN '1' THEN '1'
																																WHEN '2' THEN '4'
																																WHEN '3' THEN '7'
																																ELSE '10' end)
						  																					  ELSE (CASE @PER_EDT_R WHEN '1' THEN '1'
						  																											WHEN '2' THEN '4'
						  																											WHEN '3' THEN '7'
						  																											ELSE '10' end)
						  																					  END)
																									WHEN CODE_STR = '702' OR CODE_STR ='712' OR CODE_STR ='722' THEN
																													(CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
						  																								  THEN (CASE @PER_r WHEN '1' THEN '2'
						  																													WHEN '2' THEN '5'
						  																													WHEN '3' THEN '8'
						  																													ELSE '11' end)
						  																								  ELSE (CASE @PER_EDT_R WHEN '1' THEN '2'
						  																														WHEN '2' THEN '5'
						  																														WHEN '3' THEN '8'
						  																														ELSE '11' end)
						  																								  END)
																									ELSE (CASE WHEN UPPER(LTRIM(RTRIM(ISNULL((@TYPE_R),'')))) = 'ИСХОДНАЯ'
						  																						  THEN (CASE @PER_r WHEN '1' THEN '3'
						  																											WHEN '2' THEN '6'
						  																											WHEN '3' THEN '9'
						  																											ELSE '12' end)
						  																						  ELSE (CASE @PER_EDT_R WHEN '1' THEN '3'
						  																												WHEN '2' THEN '6'
						  																												WHEN '3' THEN '9'
						  																												ELSE '12' end)
						  																					   END)
																							      end ) + '</Месяц>')
																							end)		+ CHAR(10)+

										
																			 SPACE(4) + '<КодСтроки>' + LTRIM(RTRIM(ISNULL(CODE_STR,''))) + '</КодСтроки>' + CHAR(10)+
																			 SPACE(4) + '<КодСпециальнойОценкиУсловийТруда>' + LTRIM(RTRIM(ISNULL(CODE_SPO,'пустое'))) + '</КодСпециальнойОценкиУсловийТруда>' + CHAR(10)+
																			 SPACE(4) + '<СуммаВыплатПоДопТарифу27-1>' + RTRIM(LTRIM(STR(COALESCE(INC_T1M,0),15,2))) + '</СуммаВыплатПоДопТарифу27-1>' + CHAR(10)+
																			 SPACE(4) + '<СуммаВыплатПоДопТарифу27-2-18>' + RTRIM(LTRIM(STR(COALESCE(INC_T2M,0),15,2))) + '</СуммаВыплатПоДопТарифу27-2-18>' + CHAR(10)+
																	  SPACE(3) + '</СведенияОсуммеВыплатИвознагражденийПоДопТарифу>'	
													FROM #RES1 WHERE link = @LINK_R 	AND [TYPE] = (CASE @TYPE_R when 'ИСХОДНАЯ' THEN 1 WHEN 'КОРРЕКТИРУЮЩАЯ' THEN 2 ELSE 3 END) AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /* AND DOC_DATE = @DATE_DOC_R*/
																	AND ((SELECT top 1 isnull(INC_T1M,0) FROM #RES1 WHERE [TYPE] = (CASE @TYPE_R when 'ИСХОДНАЯ' THEN 1 WHEN 'КОРРЕКТИРУЮЩАЯ' THEN 2 ELSE 3 END) AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /*AND DOC_DATE = @DATE_DOC_R*/ AND CODE_STR = '700' ) > 0 OR
																		 (SELECT top 1 isnull(INC_T2M,0) FROM #RES1 WHERE [TYPE] = (CASE @TYPE_R when 'ИСХОДНАЯ' THEN 1 WHEN 'КОРРЕКТИРУЮЩАЯ' THEN 2 ELSE 3 END) AND  SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R
																	and OT = @OT_R /*AND DOC_DATE = @DATE_DOC_R*/ AND CODE_STR = '700' ) > 0 )
																	  /*and FNAME = @FNAME_R and NGROUP = @NOM_PACH_R*/
											 --END	

															--exec SA_RSV1_EXPORT_0700_2014   280	
													CREATE TABLE #STAZH_TMP ( link INt, FM VARCHAR(100), IM VARCHAR(100), OT VARCHAR(100), SNILS VARCHAR(14), date1 VARCHAR(10), date2 VARCHAR(10),
																			  T_DOG int , [TU_CODE] VARCHAR (31) ,ter_koef NUMERIC(18,2),[OS_CODE] VARCHAR(94),[EX_CODE] VARCHAR (10),
																			  osob_spis VARCHAR(20), is_dop_m TINYINT,is_dop_d TINYINT , is_dop VARCHAR(20),
																			  [f_is_dop] VARCHAR(63),[P_CODE] VARCHAR(10),ud_dop_m INT,ud_dop_d INT  , ud_dop_k NUMERIC(18,2) , [f_ud_dop] VARCHAR(54))
													INSERT INTO #STAZH_TMP  (link , FM , IM, OT, SNILS, date1, date2,T_DOG, [TU_CODE],ter_koef, [OS_CODE],
																			  [EX_CODE], osob_spis, is_dop_m,is_dop_d, is_dop,[f_is_dop],[P_CODE],ud_dop_m,ud_dop_d, ud_dop_k, [f_ud_dop])
													SELECT	link = ROW_NUMBER() OVER (/*PARTITION */ ORDER BY ST.date1),--st.orders,
															FM = S.FM,
															IM = S.IM,
															OT = S.OT,
															SNILS = S.PF_NUM,
															date1 = convert(varchar(10),ST.date1, 104),
															date2 = convert(varchar(10),ST.date2, 104),
															T_DOG= s.forma,
															[TU_CODE] = st.f_ter_usl ,
															st.ter_koef,
															[OS_CODE] = st.f_osob_usl,
															[EX_CODE] = st.is_osnov,
															osob_spis = RTRIM(LTRIM(COALESCE(st.osob_k1,''))) + RTRIM(LTRIM(COALESCE(st.osob_k2,''))) + RTRIM(LTRIM(COALESCE(st.osob_k3,''))),
															is_dop_m = st.is_dop_m,
															is_dop_d = st.is_dop_d,
															is_dop = st.is_dop,
															[f_is_dop] = st.f_is_dop,
															[P_CODE] = st.ud_osnov,
															ud_dop_m = st.ud_dop_m,
															ud_dop_d = st.ud_dop_d,
															ud_dop_k = st.ud_dop_k,
															[f_ud_dop]
													FROM dbo.SA_SZV4_SVEDENIA s
													LEFT JOIN  dbo.SA_SZV4_STAZH st ON S.link1 = ST.link
													WHERE s.link = @LINK_DOC_OP AND  s.FM = @FM_R and s.IM = @IM_R  and s.OT = @OT_R
														AND  s.PF_NUM= @SNILS_R
														AND ((s.forma = 2  and NOT EXISTS (	select * FROM dbo.SA_SZV4_SVEDENIA s
																							LEFT JOIN  dbo.SA_SZV4_STAZH st ON S.link1 = ST.link
																							WHERE s.link = @LINK_DOC_OP AND  s.FM = @FM_R and s.IM = @IM_R  and s.OT = @OT_R
																								AND  s.PF_NUM= @SNILS_R  AND   s.forma = 1)
																				AND EXISTS (select * FROM dbo.SA_SZV4_SVEDENIA s
																							LEFT JOIN  dbo.SA_SZV4_STAZH st ON S.link1 = ST.link
																							WHERE s.link = @LINK_DOC_OP AND  s.FM = @FM_R and s.IM = @IM_R  and s.OT = @OT_R
																								AND  s.PF_NUM= @SNILS_R  AND   s.forma = 2))
															  or s.forma = 1  )
														
														
													ORDER BY  ST.date1, st.orders
														
													/*первая строка*/
													INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
													Select @lcFNAME,
													CASE WHEN @TYPE_R <> 'ОТМЕНЯЮЩАЯ' THEN	
													/*CASE WHEN  @TYPE <> 'ИСХОДНАЯ' AND  @YEAR_EDT < '2013' 	THEN	''
													ELSE*/	
														(CASE WHEN DATE1 <> '' THEN
														+	SPACE(3) + '<СтажевыйПериод>' + CHAR(10)
														+		SPACE(4) + '<НомерСтроки>' + ltrim(rtrim(CONVERT(VARCHAR(2),link))) + '</НомерСтроки>' + CHAR(10)
														+		SPACE(4) + '<ДатаНачалаПериода>' + CONVERT(VARCHAR(10),DATE1,104) + '</ДатаНачалаПериода>' + CHAR(10)
														+		SPACE(4) + '<ДатаКонцаПериода>' + CONVERT(VARCHAR(10),DATE2,104) + '</ДатаКонцаПериода>' + CHAR(10)
														+				CASE WHEN RTRIM(LTRIM(COALESCE(TU_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE([OS_CODE],''))) <> '' OR RTRIM(LTRIM(COALESCE(EX_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE(f_is_dop,''))) <> '' OR RTRIM(LTRIM(COALESCE(P_CODE,''))) <> '' THEN
														+		SPACE(4) + '<КоличествоЛьготныхСоставляющих>' + CASE WHEN RTRIM(LTRIM(COALESCE(TU_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE(OS_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE(EX_CODE,''))) <> '' OR RTRIM(LTRIM(COALESCE(f_is_dop,''))) <> '' OR RTRIM(LTRIM(COALESCE(P_CODE,''))) <> '' THEN '1' ELSE '0' END + '</КоличествоЛьготныхСоставляющих>' + CHAR(10)		
														+		SPACE(4) + '<ЛьготныйСтаж>' + CHAR(10)
														+			SPACE(5) + '<НомерСтроки>1</НомерСтроки>' + CHAR(10)		
														+ 			SPACE(5) + '<ОсобенностиУчета>' + CHAR(10)
														+ 					CASE WHEN RTRIM(LTRIM(COALESCE(TU_CODE,''))) <> '' THEN
																			SPACE(7) + '<ТерриториальныеУсловия>' + CHAR(10)
														+						SPACE(8) + '<ОснованиеТУ>' + RTRIM(LTRIM(COALESCE(TU_CODE,''))) + '</ОснованиеТУ>' + CHAR(10)
														+						CASE WHEN RTRIM(LTRIM(COALESCE(TU_CODE,''))) not in ('Ч31','Ч33','Ч34','Ч35','Ч36') then
																				(CASE WHEN RTRIM(LTRIM(COALESCE(STR(ter_koef,4,2),''))) <> '0.00' then SPACE(8) + '<Коэффициент>' + RTRIM(LTRIM(COALESCE(STR(ter_koef,4,2),''))) + '</Коэффициент>' + CHAR(10) else '' end)
																				else '' end
														+ 					SPACE(7) + '</ТерриториальныеУсловия>' + CHAR(10)
																			ELSE '' END
														+ 					
																			CASE WHEN RTRIM(LTRIM(COALESCE(OS_CODE,''))) <> '' AND CHARINDEX ( ',' ,RTRIM(LTRIM(COALESCE(OS_CODE,'')))) > 0 THEN
														+					SPACE(7) + '<ОсобыеУсловияТруда>' + CHAR(10)
														+							SPACE(8) + '<ОснованиеОУТ>' + LEFT(RTRIM(LTRIM(COALESCE(OS_CODE,''))), CHARINDEX ( ',' ,RTRIM(LTRIM(COALESCE(OS_CODE,'')))) -1 )  + '</ОснованиеОУТ>' + CHAR(10)
														+							CASE WHEN LEFT(RTRIM(LTRIM(COALESCE(OS_CODE,''))), CHARINDEX ( ',' ,RTRIM(LTRIM(COALESCE(OS_CODE,'')))) -1 ) = '27-1' or LEFT(RTRIM(LTRIM(COALESCE(OS_CODE,''))), CHARINDEX ( ',' ,RTRIM(LTRIM(COALESCE(OS_CODE,'')))) -1 ) = '27-2' THEN
																						SPACE(8) + '<ПозицияСписка>' + UPPER(RTRIM(LTRIM(COALESCE(osob_spis,'')))) + '</ПозицияСписка>' + CHAR(10)
																					ELSE '' END
														+ 					SPACE(7) + '</ОсобыеУсловияТруда>' + CHAR(10)
																			ELSE '' END
																								
														+ 					CASE WHEN RTRIM(LTRIM(COALESCE(EX_CODE,''))) <> '' THEN
																			SPACE(7) + '<ИсчисляемыйСтаж>' + CHAR(10)
														+						SPACE(8) + '<ОснованиеИС>' + RTRIM(LTRIM(COALESCE(EX_CODE,''))) + '</ОснованиеИС>' + CHAR(10)
														+						CASE WHEN COALESCE(f_is_dop,'') LIKE '%Ч.%' OR COALESCE(f_is_dop,'') LIKE '%МИН.%' THEN
																				SPACE(8) + '<ВыработкаВчасах>' + CHAR(10)
														+							SPACE(9) + '<Часы>' + RTRIM(LTRIM(STR(COALESCE(is_dop_m,0),3))) + '</Часы>' + CHAR(10)
														+							SPACE(9) + '<Минуты>' + RTRIM(LTRIM(STR(COALESCE(is_dop_d,0),3))) + '</Минуты>' + CHAR(10)
														+ 						SPACE(8) + '</ВыработкаВчасах>' + CHAR(10)
																				ELSE '' END
														+						CASE WHEN COALESCE(f_is_dop,'') LIKE '%МЕС.%' OR COALESCE(f_is_dop,'') LIKE '%ДН.%' THEN
																				SPACE(8) + '<ВыработкаКалендарная>' + CHAR(10)
														+							SPACE(9) + '<ВсеГоды>0</ВсеГоды>' + CHAR(10)
														+							SPACE(9) + '<ВсеМесяцы>' + RTRIM(LTRIM(STR(COALESCE(is_dop_m,0),3))) + '</ВсеМесяцы>' + CHAR(10)
														+							SPACE(9) + '<ВсеДни>' + RTRIM(LTRIM(STR(COALESCE(is_dop_d,0),3))) + '</ВсеДни>' + CHAR(10)
														+ 						SPACE(8) + '</ВыработкаКалендарная>' + CHAR(10)
																				ELSE '' END
														+ 					SPACE(7) + '</ИсчисляемыйСтаж>' + CHAR(10)
																			ELSE '' END
														+					CASE WHEN RTRIM(LTRIM(COALESCE(is_dop,''))) <> '' THEN					
														+					SPACE(7) + '<ДекретДети>' + RTRIM(LTRIM(COALESCE(is_dop,''))) + '</ДекретДети>' + CHAR(10)
																			ELSE '' END
														+					CASE WHEN RTRIM(LTRIM(COALESCE(is_dop,''))) <> '' and RTRIM(LTRIM(COALESCE(is_dop,''))) <> 'НЕОПЛ'  THEN
															+ 					(CASE WHEN RTRIM(LTRIM(COALESCE(P_CODE,''))) <> '' THEN
																				SPACE(7) + '<ВыслугаЛет>' + CHAR(10)
															+						SPACE(8) + '<ОснованиеВЛ>' + RTRIM(LTRIM(COALESCE(P_CODE,''))) + '</ОснованиеВЛ>' + CHAR(10)
															+						CASE WHEN COALESCE(f_ud_dop,'') LIKE '%Ч.%' OR COALESCE(f_ud_dop,'') LIKE '%МИН.%' THEN
																					SPACE(8) + '<ВыработкаВчасах>' + CHAR(10)
															+							SPACE(9) + '<Часы>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_m,0),3))) + '</Часы>' + CHAR(10)
															+							SPACE(9) + '<Минуты>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_d,0),3))) + '</Минуты>' + CHAR(10)
															+ 						SPACE(8) + '</ВыработкаВчасах>' + CHAR(10)
																					ELSE '' END
															+						CASE WHEN COALESCE(f_ud_dop,'') LIKE '%МЕС.%' OR COALESCE(f_ud_dop,'') LIKE '%ДН.%' THEN
																					SPACE(8) + '<ВыработкаКалендарная>' + CHAR(10)
															+							SPACE(9) + '<ВсеГоды>0</ВсеГоды>' + CHAR(10)
															+							SPACE(9) + '<ВсеМесяцы>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_m,0),3))) + '</ВсеМесяцы>' + CHAR(10)
															+							SPACE(9) + '<ВсеДни>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_d,0),3))) + '</ВсеДни>' + CHAR(10)
															+ 						SPACE(8) + '</ВыработкаКалендарная>' + CHAR(10)
																					ELSE '' END
															+						CASE WHEN COALESCE(ud_dop_k,0) <> 0 THEN
																						SPACE(8) + '<ДоляСтавки>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_k,0),4,2))) + '</ДоляСтавки>' + CHAR(10)
																					ELSE '' END
															+ 					SPACE(7) + '</ВыслугаЛет>' + CHAR(10)
																				ELSE '' END)
																				WHEN RTRIM(LTRIM(COALESCE(is_dop,''))) = '' THEN
																				(CASE WHEN RTRIM(LTRIM(COALESCE(P_CODE,''))) <> '' THEN
																				SPACE(7) + '<ВыслугаЛет>' + CHAR(10)
															+						SPACE(8) + '<ОснованиеВЛ>' + RTRIM(LTRIM(COALESCE(P_CODE,''))) + '</ОснованиеВЛ>' + CHAR(10)
															+						CASE WHEN COALESCE(f_ud_dop,'') LIKE '%Ч.%' OR COALESCE(f_ud_dop,'') LIKE '%МИН.%' THEN
																					SPACE(8) + '<ВыработкаВчасах>' + CHAR(10)
															+							SPACE(9) + '<Часы>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_m,0),3))) + '</Часы>' + CHAR(10)
															+							SPACE(9) + '<Минуты>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_d,0),3))) + '</Минуты>' + CHAR(10)
															+ 						SPACE(8) + '</ВыработкаВчасах>' + CHAR(10)
																					ELSE '' END
															+						CASE WHEN COALESCE(f_ud_dop,'') LIKE '%МЕС.%' OR COALESCE(f_ud_dop,'') LIKE '%ДН.%' THEN
																					SPACE(8) + '<ВыработкаКалендарная>' + CHAR(10)
															+							SPACE(9) + '<ВсеГоды>0</ВсеГоды>' + CHAR(10)
															+							SPACE(9) + '<ВсеМесяцы>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_m,0),3))) + '</ВсеМесяцы>' + CHAR(10)
															+							SPACE(9) + '<ВсеДни>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_d,0),3))) + '</ВсеДни>' + CHAR(10)
															+ 						SPACE(8) + '</ВыработкаКалендарная>' + CHAR(10)
																					ELSE '' END
															+						CASE WHEN COALESCE(ud_dop_k,0) <> 0 THEN
																						SPACE(8) + '<ДоляСтавки>' + RTRIM(LTRIM(STR(COALESCE(ud_dop_k,0),4,2))) + '</ДоляСтавки>' + CHAR(10)
																					ELSE '' END
															+ 					SPACE(7) + '</ВыслугаЛет>' + CHAR(10)
																				ELSE '' END)
																			ELSE '' END
														+			SPACE(5) + '</ОсобенностиУчета>' + CHAR(10)
														+		SPACE(4) + '</ЛьготныйСтаж>' + CHAR(10)
																	ELSE '' END
														+	SPACE(3) + '</СтажевыйПериод>'
														ELSE '' END)
													/*END*/
													ELSE '' END
													FROM #STAZH_TMP
													WHERE SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R and OT = @OT_R  AND
																( (T_DOG = 2 AND  NOT EXISTS (SELECT *  FROM #STAZH_TMP WHERE SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R and OT = @OT_R  AND T_DOG = 1)
																			AND  EXISTS (SELECT *  FROM #STAZH_TMP WHERE SNILS= @SNILS_R AND FM = @FM_R and IM = @IM_R and OT = @OT_R  AND T_DOG = 2))
																	OR  T_DOG = 1 	)	
													order by link , date1
																						

												DROP TABLE #STAZH_TMP
												

												INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
												SELECT @lcFNAME, SPACE(3) + '<ДатаЗаполнения>' + LTRIM(RTRIM(ISNULL(CONVERT(VARCHAR(10),@modify_date,104),''))) + '</ДатаЗаполнения>'		

										INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
										SELECT @lcFNAME,SPACE(2) + '</СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>'									
							end

							FETCH NEXT FROM @Cur4 INTO @LINK_R, @TYPE_R,@SNILS_R,@PER_R,@YEAR_BEGIN_R,@PER_EDT_R,@YEAR_EDT_R,
													@FM_R,@IM_R,@OT_R, @DATE_DOC_R, @UVOL/*, @FNAME_R, @NOM_PACH_R*/
						END
						CLOSE @Cur4
						DEALLOCATE @Cur4		

				------- окончание файла (Документы раздела 6 РСВ-1)
				INSERT INTO #OUTPUT (F_NAME, OUT_TEXT)
				SELECT @lcFNAME, SPACE(1) + '</ПачкаВходящихДокументов>'
				UNION ALL SELECT @lcFNAME, SPACE(0) + '</ФайлПФР>'	
				END
			END
	end
	


	FETCH NEXT FROM @Cur3 INTO @LINK_OP, @TYP_D, @NOM_PP, @NGROUP /*Номер пачки*/,@SUM_BASE, @SUM_STR, @PERS_CNT,@DATE_DOC,@PER, @YEAR_BEGIN, @PER_EDT, @YEAR_EDT, @lcFNAME/*наименование файла*/ , @LINK_DOC_OP

	
end

CLOSE @Cur3
DEALLOCATE @Cur3


				
SET NOCOUNT OFF

select * from #OUTPUT order by [ID]
--exec SA_RSV1_EXPORT_0700_2014 41964










GO


GRANT EXECUTE ON dbo.[SA_RSV1_EXPORT_0700_2014] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[I_REPORT_FORMULA_14MO_PREPARE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[I_REPORT_FORMULA_14MO_PREPARE]

GO

/*
© Кейсистемс (Keysystems), 2008
*/
CREATE PROCEDURE dbo.I_REPORT_FORMULA_14MO_PREPARE
	@varKSOUT_VAL 	NUMERIC(20) OUTPUT,
	@varKSBDAte		datetime,
	@varKSEndDate	datetime,
	@DEP_LINK	int
AS BEGIN
	DECLARE @varKSPeople_Count VARCHAR(100), @varKSVKR varchar(100)
	EXEC dbo.X_GET_TABLE_NAME @varKSPeople_Count OUTPUT
	EXEC dbo.X_GET_TABLE_NAME @varKSVKR OUTPUT
	
	
	EXEC dbo.BufferClear

declare 
	@varKSd1	datetime,
	@varKSd2	datetime,
	@varKSd3	datetime,
	@varKSd4	datetime,
	@varKSd5	datetime,
	@varKSd6	datetime,
	@varKSd7	datetime,
	@varKSd8	datetime,
	@varKSd9	datetime,
	@varKSd10	datetime,
	@varKSd11	datetime,
	@varKSd12	datetime,
	@varKSEDate	datetime

set @varKSd1 = convert(varchar, YEAR(@varKSBDAte))+'0101' 
set @varKSd2 = dateadd(month,1,@varKSd1)
set @varKSd3 = dateadd(month,2,@varKSd1)
set @varKSd4 = dateadd(month,3,@varKSd1)
set @varKSd5 = dateadd(month,4,@varKSd1)
set @varKSd6 = dateadd(month,5,@varKSd1)
set @varKSd7 = dateadd(month,6,@varKSd1)
set @varKSd8 = dateadd(month,7,@varKSd1)
set @varKSd9 = dateadd(month,8,@varKSd1)
set @varKSd10 = dateadd(month,9,@varKSd1)
set @varKSd11 = dateadd(month,10,@varKSd1)
set @varKSd12 = dateadd(month,11,@varKSd1)
set @varKSEDate = dateadd(year,1,@varKSd1)

CREATE TABLE #VKR(link_vkr int, code varchar(250), l int IDENTITY(1, 1), shifr varchar(10))

CREATE  TABLE #People_Count (
	link_empl int, 
	m1 INT,m2 INT,m3 INT,m4 INT, m5 INT,m6 INT,m7 INT,m8 INT, m9 INT,m10 INT,m11 INT,m12 INT,
	Kateg char(3), 
	KAT_GOS_CODE char(1), 
	GR_GOS_CODE tinyint,
	gossl int, 
	ETS_RAZR int, 
	voinotn varchar(2), 
	F14 tinyint, 
	link_vkr int)

--Источники по умолчанию для сотрудников
CREATE TABLE #EI (LINK_EMPL INT, LINK_SFIN INT, STAFF_LINK INT)
INSERT INTO #EI (LINK_EMPL, LINK_SFIN, STAFF_LINK)
SELECT empl_link, LINK_KBK, STAFF_LINK FROM dbo.SA_EMPLS_INFO(@varKSEndDate,DEFAULT) ORDER BY EMPL_LINK

--Источники, по которым сотрудники имели доход
CREATE TABLE #EMPLS_SFIN (PERS_LINK INT, LINK_EMPL INT, LINK_KBK INT, STAFF_LINK INT, F14 TINYINT, SUMMA NUMERIC(18,2), LINK_EKR INT)
INSERT INTO #EMPLS_SFIN (PERS_LINK, LINK_EMPL, LINK_KBK, STAFF_LINK, F14, SUMMA, LINK_EKR)
SELECT E.PERS_LINK, E.LINK, F.KBK, EI.STAFF_LINK, P.F14, SUM(CJ.SUMMA), CJ.LINK_EKR
FROM
	dbo.EMPL E 
	INNER JOIN #EI EI ON E.LINK = EI.LINK_EMPL
	INNER JOIN dbo.CALCULATE_JURNAL CJ ON CJ.LINK_EMPL = E.LINK
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = ISNULL(CJ.LINK_VKR,EI.LINK_SFIN)
	INNER JOIN dbo.PAYS P ON P.LINK = CJ.LINK_PAYS
WHERE
	E.DEP_LINK = @DEP_LINK
	AND
	YEAR(CJ.period_begin) = YEAR(@varKSBDAte) and MONTH(CJ.period_begin) <= MONTH(@varKSEndDate)
	AND
	P.[OBJECT] = 1 
GROUP BY
	E.PERS_LINK, E.LINK, F.KBK, EI.STAFF_LINK,  P.F14, CJ.LINK_EKR 

CREATE TABLE #EMPLS_SFIN2 (PERS_LINK INT, LINK_EMPL INT, LINK_KBK INT, STAFF_LINK INT, F14 TINYINT)
INSERT INTO #EMPLS_SFIN2 (PERS_LINK, LINK_EMPL, LINK_KBK, STAFF_LINK, F14)
SELECT DISTINCT PERS_LINK, LINK_EMPL, LINK_KBK, STAFF_LINK, F14 FROM #EMPLS_SFIN

----
INSERT INTO #People_Count
SELECT 
	EF.LINK_EMPL, 
	(case	when ONF.date_begin<=@varKSd1 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd2 then datediff(day,@varKSd1,@varKSd2)		
		when ONF.date_begin<=@varKSd1 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd2  then datediff(day,@varKSd1,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd1  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd2 and ONF.date_begin<@varKSd2 then datediff(day,ONF.date_begin,@varKSd2) 		
		when ONF.date_begin>@varKSd1  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd2  and ONF.date_begin<@varKSd2 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m1,
	(case	when ONF.date_begin<=@varKSd2 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd3 then datediff(day,@varKSd2,@varKSd3)		
		when ONF.date_begin<=@varKSd2 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd3  then datediff(day,@varKSd2,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd2  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd3 and ONF.date_begin<@varKSd3 then datediff(day,ONF.date_begin,@varKSd3) 		
		when ONF.date_begin>@varKSd2  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd3  and ONF.date_begin<@varKSd3 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m2,
	(case	when ONF.date_begin<=@varKSd3 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd4 then datediff(day,@varKSd3,@varKSd4)		
		when ONF.date_begin<=@varKSd3 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd4  then datediff(day,@varKSd3,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd3  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd4 and ONF.date_begin<@varKSd4 then datediff(day,ONF.date_begin,@varKSd4) 		
		when ONF.date_begin>@varKSd3  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd4  and ONF.date_begin<@varKSd4 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m3,
	(case	when ONF.date_begin<=@varKSd4 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd5 then datediff(day,@varKSd4,@varKSd5)		
		when ONF.date_begin<=@varKSd4 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd5  then datediff(day,@varKSd4,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd4  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd5 and ONF.date_begin<@varKSd5 then datediff(day,ONF.date_begin,@varKSd5) 		
		when ONF.date_begin>@varKSd4  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd5  and ONF.date_begin<@varKSd5 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m4,
	(case	when ONF.date_begin<=@varKSd5 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd6 then datediff(day,@varKSd5,@varKSd6)		
		when ONF.date_begin<=@varKSd5 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd6  then datediff(day,@varKSd5,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd5  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd6 and ONF.date_begin<@varKSd6 then datediff(day,ONF.date_begin,@varKSd6) 		
		when ONF.date_begin>@varKSd5  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd6  and ONF.date_begin<@varKSd6 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m5,
	(case	when ONF.date_begin<=@varKSd6 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd7 then datediff(day,@varKSd6,@varKSd7)		
		when ONF.date_begin<=@varKSd6 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd7  then datediff(day,@varKSd6,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd6  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd7 and ONF.date_begin<@varKSd7 then datediff(day,ONF.date_begin,@varKSd7) 		
		when ONF.date_begin>@varKSd6  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd7  and ONF.date_begin<@varKSd7 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m6,
	(case	when ONF.date_begin<=@varKSd7 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd8 then datediff(day,@varKSd7,@varKSd8)		
		when ONF.date_begin<=@varKSd7 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd8  then datediff(day,@varKSd7,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd7  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd8 and ONF.date_begin<@varKSd8 then datediff(day,ONF.date_begin,@varKSd8) 		
		when ONF.date_begin>@varKSd7  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd8  and ONF.date_begin<@varKSd8 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m7,
	(case	when ONF.date_begin<=@varKSd8 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd9 then datediff(day,@varKSd8,@varKSd9)		
		when ONF.date_begin<=@varKSd8 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd9  then datediff(day,@varKSd8,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd8  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd9 and ONF.date_begin<@varKSd9 then datediff(day,ONF.date_begin,@varKSd9) 		
		when ONF.date_begin>@varKSd8  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd9  and ONF.date_begin<@varKSd9 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m8,
	(case	when ONF.date_begin<=@varKSd9 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd10 then datediff(day,@varKSd9,@varKSd10)		
		when ONF.date_begin<=@varKSd9 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd10  then datediff(day,@varKSd9,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd9  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd10 and ONF.date_begin<@varKSd10 then datediff(day,ONF.date_begin,@varKSd10) 		
		when ONF.date_begin>@varKSd9  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd10  and ONF.date_begin<@varKSd10 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m9,
	(case	when ONF.date_begin<=@varKSd10 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd11 then datediff(day,@varKSd10,@varKSd11)		
		when ONF.date_begin<=@varKSd10 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd11  then datediff(day,@varKSd10,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd10  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd11 and ONF.date_begin<@varKSd11 then datediff(day,ONF.date_begin,@varKSd11) 		
		when ONF.date_begin>@varKSd10  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd1  and ONF.date_begin<@varKSd11 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m10,
	(case	when ONF.date_begin<=@varKSd11 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd12 then datediff(day,@varKSd11,@varKSd12)		
		when ONF.date_begin<=@varKSd11 and coalesce(ODF.dis_date,@varKSEDate)<@varKSd12  then datediff(day,@varKSd11,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd11  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSd12 and ONF.date_begin<@varKSd12 then datediff(day,ONF.date_begin,@varKSd12) 		
		when ONF.date_begin>@varKSd11  and coalesce(ODF.dis_date,@varKSEDate)<@varKSd12  and ONF.date_begin<@varKSd12 then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m11,
	(case	when ONF.date_begin<=@varKSd12 and coalesce(ODF.dis_date,@varKSEDate)>=@varKSEDate then datediff(day,@varKSd12,@varKSEDate)		
		when ONF.date_begin<=@varKSd12 and coalesce(ODF.dis_date,@varKSEDate)<@varKSEDate  then datediff(day,@varKSd12,ODF.dis_date)+1	
		when ONF.date_begin>@varKSd12  and coalesce(ODF.dis_date,@varKSEDate)>=@varKSEDate and ONF.date_begin<@varKSEDate then datediff(day,ONF.date_begin,@varKSEDate) 		
		when ONF.date_begin>@varKSd12  and coalesce(ODF.dis_date,@varKSEDate)<@varKSEDate  and ONF.date_begin<@varKSEDate then datediff(day,ONF.date_begin,ODF.dis_date)+1	
		else 0
	end) as m12,

	K_CODE = K.CODE,
	KG_CODE = KG.CODE,
	GG_CODE = GG.CODE,
	s.gossl,
	ETS_RAZR = isnull(S.ETS_RAZR,0),
	V_code = isnull(V.code,''),
	EF.F14,
	EF.LINK_KBK
FROM 
	#EMPLS_SFIN2 EF
	INNER JOIN dbo.PERSON P ON P.link = EF.Pers_link
	left join dbo.new_face ONF on EF.LINK_EMPL = ONF.empl_link and onf.order_status = 1
	left join dbo.dis_face ODF on EF.LINK_EMPL = ODF.empl_link and odf.active = 1
	LEFT JOIN dbo.STAFF S ON S.LINK = EF.STAFF_LINK
	LEFT JOIN dbo.KATEG K ON K.LINK = s.KAT_link
	LEFT JOIN dbo.KAT_GOS KG ON KG.LINK = S.kat_gos_link
	LEFT JOIN dbo.GR_GOS GG ON GG.LINK = S.gr_gos_link
	left join dbo.VOINOTN V on P.Voinotn_link = V.link
WHERE
	ODF.dis_date IS NULL
	OR 
	ODF.dis_date > @varKSEndDate

UPDATE #People_Count SET m1=0 WHERE m1<0
UPDATE #People_Count SET m2=0 WHERE m2<0
UPDATE #People_Count SET m3=0 WHERE m3<0
UPDATE #People_Count SET m4=0 WHERE m4<0
UPDATE #People_Count SET m5=0 WHERE m5<0
UPDATE #People_Count SET m6=0 WHERE m6<0
UPDATE #People_Count SET m7=0 WHERE m7<0
UPDATE #People_Count SET m8=0 WHERE m8<0
UPDATE #People_Count SET m9=0 WHERE m9<0
UPDATE #People_Count SET m10=0 WHERE m10<0
UPDATE #People_Count SET m11=0 WHERE m11<0
UPDATE #People_Count SET m12=0 WHERE m12<0

--- список используемых в расчётах ВКР
CREATE TABLE #LIST_VKR (LINK_VKR INT)

--Список ВКР из операций по зарплате
INSERT INTO #LIST_VKR (LINK_VKR)
SELECT DISTINCT LINK_VKR FROM #People_count

--Список ВКР из проводок
DECLARE @varKSiLink	INT

SELECT @varKSiLink = link FROM dbo.S_ACCOUNTS WHERE code like '1.101.15%' --Вместо 101.05 теперь 101.15, 101.25, 101.35, 101.45
insert #LIST_VKR (link_vkr) select distinct kbk from dbo.ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM dbo.S_ACCOUNTS WHERE code like '1.101.25%' --Вместо 101.05 теперь 101.15, 101.25, 101.35, 101.45
insert #LIST_VKR (link_vkr) select distinct kbk from dbo.ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM dbo.S_ACCOUNTS WHERE code like '1.101.35%' --Вместо 101.05 теперь 101.15, 101.25, 101.35, 101.45
insert #LIST_VKR (link_vkr) select distinct kbk from dbo.ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM dbo.S_ACCOUNTS WHERE code like '1.101.45%' --Вместо 101.05 теперь 101.15, 101.25, 101.35, 101.45
insert #LIST_VKR (link_vkr) select distinct kbk from dbo.ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

--
SELECT @varKSiLink = link FROM S_ACCOUNTS WHERE code like '1.401.10%' --Вместо 401.01 теперь 401.10, 401.20
insert #LIST_VKR (link_vkr) select distinct kbk from ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

SELECT @varKSiLink = link FROM S_ACCOUNTS WHERE code like '1.401.20%' --Вместо 401.01 теперь 401.10, 401.20
insert #LIST_VKR (link_vkr) select distinct kbk from ARestTableByDate (@varKSEDate, @varKSiLink) where not kbk  in (select link_vkr from #LIST_VKR) and dep_link = @dep_link

--Преобразавание в линки из справочника свода
--Прежне линки и коды
CREATE TABLE #KBK_CODE (OLD_LINK INT, DIV_CODE VARCHAR(4), CSR_CODE VARCHAR(10), kbk14_link INT , kbk14_code VARCHAR (20))
INSERT INTO #KBK_CODE (OLD_LINK, DIV_CODE, CSR_CODE,kbk14_link,kbk14_code)
SELECT 
	K.LINK, DIV_CODE, CSR_CODE,K.kbk14_link,K.kbk14_code 
FROM 
	dbo.BI_DICTION_KBK_FULL K
	INNER JOIN #LIST_VKR P ON P.link_vkr = K.LINK
WHERE
	K.kbk14_link IS NOT null
	--K.EXP_CODE = '500'	--Для формы 0503074. Для 0503075 = '500'

--Таблица перекодировки линков КБК
CREATE TABLE #TRANSLATE (NEW_LINK INT, OLD_LINK INT)
INSERT INTO #TRANSLATE (NEW_LINK, OLD_LINK)
SELECT DISTINCT A.link, B.OLD_LINK
from 
	dbo.report_form14_razd_name A
	INNER JOIN #KBK_CODE B ON /*A.razd_code = B.DIV_CODE and LEFT(A.cel_st_code,5) = LEFT(B.CSR_CODE,5)*/ A.link =  B.kbk14_link 
where 
	A.childrens=1
	AND
	@varKSEndDate BETWEEN ISNULL(BEGIN_DATE,@varKSEndDate) AND ISNULL(END_DATE,@varKSEndDate)	

--	Из справочника выбираются используемые КБК с новыми линками
insert #VKR (link_vkr,shifr)
SELECT DISTINCT A.link,A.shifr 
from 
	dbo.report_form14_razd_name A
	INNER JOIN #TRANSLATE T ON T.NEW_LINK = A.LINK
where 
	A.childrens=1
	AND
	@varKSEndDate BETWEEN ISNULL(BEGIN_DATE,@varKSEndDate) AND ISNULL(END_DATE,@varKSEndDate)
	

-- дописываются коды
update V
set 
	V.code = A.code
from 
	#VKR V
	INNER JOIN #TRANSLATE T ON T.NEW_LINK = V.link_vkr
	INNER JOIN dbo.kl_kbk A ON T.OLD_LINK = A.LINK

--
while not exists(select * from #VKR where l >= 3)
	insert #VKR (link_vkr, code) values (-1, ' ')



--
EXEC('select * INTO ' + @varKSVKR + ' from #VKR')
EXEC('DELETE FROM dbo.BUFFER WHERE SID = USER_SID() AND LINK = -102')
EXEC dbo.BufferPush -102, @varKSVKR
drop table #VKR

-- Перекодировать линки КБК на линки из справочника свода
UPDATE C SET
	C.link_vkr = T.NEW_LINK
FROM
	#People_Count C
	INNER JOIN #TRANSLATE T ON T.OLD_LINK = C.link_vkr

EXEC ('select * INTO ' + @varKSPeople_Count + ' from #People_Count ')
EXEC('DELETE FROM dbo.BUFFER WHERE SID = USER_SID() AND LINK = -100')
EXEC dbo.BufferPush -100, @varKSPeople_Count

----
DECLARE @varKSSalary_List VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @varKSSalary_List OUTPUT

CREATE TABLE #SALARY_LIST (
	LINK_EMPL INT,
	KAT_GOS_CODE CHAR(2),
	GR_GOS_CODE CHAR(1),
	KATEG CHAR(3),
	GOSSL INT,
	SUMMA NUMERIC(20,2),
	F14 TINYINT,
	ETS_RAZR INT,
	VOINOTN VARCHAR(2),
	LINK_VKR INT,
	ST VARCHAR(10),
	STR_PROV VARCHAR(3)
)

--213 статья
DECLARE @LinkEKR213 int
SELECT @LinkEKR213 = LINK FROM dbo.DICTIONARY_ITEM WHERE CODE = '213'

INSERT INTO #Salary_List
SELECT
	E.LINK_EMPL,
	E.KAT_GOS_CODE, 
	E.GR_GOS_CODE,
	E.Kateg,
	E.gossl,
	S.summa, 
	S.F14,		
	E.ETS_RAZR,
	E.voinotn,
	T.NEW_LINK,
	EKR.code,
	NULL
FROM
	(SELECT DISTINCT PC.LINK_EMPL, PC.KAT_GOS_CODE, PC.GR_GOS_CODE, PC.Kateg, PC.gossl, PC.ETS_RAZR, PC.voinotn FROM #People_Count PC) E
	INNER JOIN #EMPLS_SFIN S ON E.LINK_EMPL = S.LINK_EMPL
	INNER JOIN #TRANSLATE T ON T.OLD_LINK = S.LINK_KBK
	INNER JOIN dbo.KOSGU EKR ON EKR.LINK = S.LINK_EKR
WHERE
	S.link_ekr <> @LinkEKR213

--В данные по людям добавляем данные по проводкам
CREATE TABLE #ACCOUNTS_SUM (STR_PROV VARCHAR(3), LINK_VKR INT, SUMMA NUMERIC(18,2))
/*061 Прочие выплаты: из них: компенсации работникам за использование  личных   легковых   автомобилей для служебных целей*/
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '061', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '2.106.04', '2.302.02', 2, @DEP_LINK) where kbk is not null
--
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '061', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '106.14,106.24,106.34,106.44', '1.302.12', 2, @DEP_LINK) where kbk is not null
--
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '061', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '401.01,401.20', '302.07,302.09,302.06,302.25,302.26,302.34', 1, @DEP_LINK) where kbk is not null
/*063 в том числе: на территории Российской Федерации*/
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA) 
SELECT '063', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '208.02,208.12', '201.04,201.34,304.05,201.01,201.11,201.21', 1, @DEP_LINK) where kbk is not null
--
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '063', kbk, -summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '201.34,201.04', '208.02,208.12', 2, @DEP_LINK) where kbk is not null
/*072 Другие расходы: в том числе: на территории Российской Федерации */ 
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '072', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '208.05,208.09,208.22,208.26', '201.04,201.34,304.05,201.01,201.11,201.21', 1, @DEP_LINK) where kbk is not null
--
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '072', kbk, -summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '201.34,201.04', '208.05,208.09,208.22,208.26', 2, @DEP_LINK) where kbk is not null
--/*094*/ 
--INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
--SELECT '094', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '401.01,401.20', '208.18,208.91,302.18,302.91', 1, @DEP_LINK) where kbk is not null
/*074 на содержание служебных легковых автомобилей*/ 
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT '074', kbk, summa FROM dbo.SA_WIRING_AMOUNT_AP(@varKSd1, @varKSEndDate, '401.01,401.20', '105.03,105.23,105.33,104.05,104.15,104.25,104.35,104.45', 1, @DEP_LINK) where kbk is not null

/*460 Служебные легковые автомобили, состоящие на балансе государственного органа*/
INSERT INTO #ACCOUNTS_SUM (STR_PROV, LINK_VKR, SUMMA)
SELECT 
	'460', R.KBK, SUM(R.D_QUANTITY) 
FROM 
	dbo.S_ACCOUNTS A 
	INNER JOIN dbo.ARestTableByDate(@varKSEndDate, NULL) R ON A.LINK = R.ACCOUNT
WHERE
	R.DEP_LINK = @DEP_LINK
	AND
	A.ZABALANS = 0
	AND
	(
		A.CODE LIKE '%101.05%' OR A.CODE LIKE '%101.25%' OR A.CODE LIKE '%101.15%' OR A.CODE LIKE '%101.35%' OR A.CODE LIKE '%101.45%'
	)
GROUP BY
	R.KBK

-- Перекодировать линки КБК на линки из справочника свода
UPDATE C SET
	C.link_vkr = T.NEW_LINK
FROM
	#ACCOUNTS_SUM C
	INNER JOIN #TRANSLATE T ON T.OLD_LINK = C.link_vkr
	
INSERT INTO #SALARY_LIST (STR_PROV, LINK_VKR, SUMMA)
SELECT STR_PROV, LINK_VKR, SUM(SUMMA)
FROM #ACCOUNTS_SUM
GROUP BY STR_PROV, LINK_VKR

EXEC ('select * INTO ' + @varKSSalary_List + ' from #Salary_List ')
EXEC('DELETE FROM dbo.BUFFER WHERE SID = USER_SID() AND LINK = -101')
EXEC dbo.BufferPush -101, @varKSSalary_List

--
DECLARE @STAFF_TABLE VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @STAFF_TABLE OUTPUT

CREATE TABLE #STAFF (
	GOSSL INT,
	KAT_GOS_CODE CHAR(2),
	GR_GOS_CODE CHAR(1),
	LINK_VKR INT,
	STAKES NUMERIC(18,2),	
)

INSERT INTO #STAFF
SELECT 
	s.gossl, 
	s.kat_gos_code, 
	s.gr_gos_code, 
	T.NEW_LINK,
	SUM(num_stake)
FROM
	dbo.dictionary_staff_fn(@varKSEDate) s 
	INNER join SAL_SFIN B on B.LINK = s.link_kbk
	INNER JOIN #TRANSLATE T ON T.OLD_LINK = B.KBK
WHERE 
	s.dep_link = @Dep_Link 
	and 
	deleted=0 
	and 
	s.subdiv_name is not null
GROUP BY
	s.gossl, 
	s.kat_gos_code, 
	s.gr_gos_code, 
	T.NEW_LINK

EXEC ('select * INTO ' + @STAFF_TABLE + ' from #STAFF ')
EXEC('DELETE FROM dbo.BUFFER WHERE SID = USER_SID() AND LINK = -103')
EXEC dbo.BufferPush -103, @STAFF_TABLE	

	set @varKSOUT_VAL = 0

END



GO


GRANT EXECUTE ON dbo.[I_REPORT_FORMULA_14MO_PREPARE] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RSA_4FSS_20032015_PREPARE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RSA_4FSS_20032015_PREPARE]

GO

CREATE PROCEDURE dbo.RSA_4FSS_20032015_PREPARE
	@Res float output, @varcStr varchar(250), @vardBegin datetime = '20150101', @vardEnd datetime = '20151231', @variCol int, @variRow int, @variLSF int
AS 

EXEC dbo.BufferClear

DECLARE @OUT_VAL NUMERIC(20), @START_DATE DATETIME, @END_DATE DATETIME, @DEP_LINK INT

DECLARE --Для выравнивания погрешности
	@C3N NUMERIC(18,6), @C4N NUMERIC(18,6), @C5N NUMERIC(18,6), @C6N NUMERIC(18,6),
	@C3NS NUMERIC(18,6), @C4NS NUMERIC(18,6), @C5NS NUMERIC(18,6), @C6NS NUMERIC(18,6)


select @DEP_LINK = Link_Organization from report_saved_forms where link_saved_form =  @variLSF
set @res = 0
SELECT @START_DATE = @vardBegin, @END_DATE = @vardEnd

DECLARE @BYearDate	datetime
SET @BYearDate = dbo.DateBeginOfYear (@START_DATE)

declare @EndYear datetime
Set @EndYear = dbo.DateEndOfYear(@START_DATE)

DECLARE @nYEAR INT, @nMONTH1 INT, @nMONTH2 INT, @nMONTH3 INT

SELECT 
	@nYEAR = YEAR(@START_DATE),
	@nMONTH1 = MONTH(@START_DATE),
	@nMONTH2 = MONTH(@START_DATE)+1,
	@nMONTH3 = MONTH(@START_DATE)+2

create table #SPR_ESN ([MONTH_BASE] TINYINT, SUMMA_BASE numeric(18,6) default 0.00, DED_M numeric(18,6) default 0.00, INV_M numeric(18,6) default 0.00, SUMMA numeric(18,6) default 0.00, WAY_CALC int default 0.00, REF_PHYS_PERS int default 0, RESIDENT int default 2, KATEG TINYINT)

Insert InTo #SPR_ESN ([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS , RESIDENT, KATEG)
Select s.[MONTH_BASE], s.SUMMA_BASE, s.DED_M, s.INV_M, s.SUMMA, s.WAY_CALC, s.REF_PHYS_PERS, (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) , s.KATEG
from dbo.SA_ESN_VIEW(@nYEAR, @nMONTH3, @DEP_LINK, 0) s
left join dbo.person p on p.link = s.REF_PHYS_PERS
left JOIN dbo.CITIZENSHIP c ON c.LINK = p.CITIZ_LINK
WHERE s.WAY_CALC = 2

---Суммы по договорникам
INSERT INTO #SPR_ESN 
	([MONTH_BASE], SUMMA_BASE, DED_M, INV_M, SUMMA, WAY_CALC, REF_PHYS_PERS, resident, KATEG)
SELECT 
	MONTH(G.[DATE]) AS MONTH_BASE, GT.SUMMA_BASE, 0, 0, GT.SUMMA, P.WAY_CALC, GT.PERS_LINK, (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) , 
	KATEG = (CASE WHEN I.LINK IS NULL THEN (F.ENVD + 1) ELSE 3 END)
FROM 
	dbo.SDOC G
	INNER JOIN dbo.SDOC_DGH_TABLE GT ON G.LINK = GT.LINK_UP
	INNER JOIN dbo.PAYS P ON P.LINK = GT.LINK_PAY
	INNER JOIN dbo.SAL_SFIN F ON F.LINK = GT.LINK_VKR
	left JOIN DBO.PERSON Pe on Pe.LINK = GT.PERS_LINK
	LEFT JOIN dbo.CITIZENSHIP c ON c.LINK = pe.CITIZ_LINK
	LEFT JOIN dbo.pers_invalid I ON GT.PERS_LINK = I.PERS_LINK 
	AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH(G.[DATE]),@nYEAR)) BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')
WHERE
	G.[OBJECT] =(SELECT LINK FROM S_OBJECTS WHERE CODE = 'DOCUMENTS_DGH')
	AND GT.[OBJECT] = 3
	AND FLAG_JC = 1
	AND P.WAY_CALC = 2
	AND YEAR(G.[DATE]) = @nYEAR
	AND MONTH(G.[DATE]) <= @nMONTH3
	AND LINK_DEP = @DEP_LINK


/*РАЗДЕЛ 2.1*/
DECLARE @BDate datetime, @EndDate datetime, @EDate datetime, @NAvgCount int

SELECT @BDate = @START_DATE, @EndDate = @END_DATE
SET @EDate = dateadd(year,1,convert(varchar, YEAR(@BDate))+'0101')

CREATE TABLE #RES2(CODE_STR VARCHAR(10), BASE_FSS NUMERIC(18,6), CNT_FSS INT, CNT_FEM INT , NUM_PP Varchar(50) default '')

--ОСТАТКИ ПО СЧЁТУ 303.02 НА НАЧАЛО ГОДА
CREATE TABLE #REST_30302_BY ([DATE] DATETIME, REST NUMERIC(18,2))

DECLARE @Cur1 CURSOR, @LINK_ACC INT
SET @Cur1 = CURSOR FORWARD_ONLY

FOR SELECT LINK FROM dbo.S_ACCOUNTS WHERE CODE LIKE '303.02%'

OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @LINK_ACC
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN

		INSERT INTO #REST_30302_BY ([DATE], REST)
		SELECT @BYearDate, REST = coalesce(sum(K_SUMMA)-sum(D_SUMMA),0) 
		FROM dbo.ARestGroupedTableByDate (@BYearDate, @LINK_ACC, DEFAULT)
		WHERE DEP_LINK = @DEP_LINK
	END

	FETCH NEXT FROM @Cur1 INTO @LINK_ACC
END

CLOSE @Cur1
DEALLOCATE @Cur1

--ОСТАТКИ ПО СЧЁТУ 303.02 НА КОНЕЦ ОТЧЕТНОГО КВАРТАЛА
DECLARE @QV_DATE DATETIME
SET @QV_DATE = @END_DATE+1

SET @Cur1 = CURSOR FORWARD_ONLY

FOR SELECT LINK FROM dbo.S_ACCOUNTS WHERE CODE LIKE '303.02%'

OPEN @Cur1
FETCH NEXT FROM @Cur1 INTO @LINK_ACC
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN

		INSERT INTO #REST_30302_BY ([DATE], REST)
		SELECT @END_DATE, REST = coalesce(sum(K_SUMMA)-sum(D_SUMMA),0) 
		FROM dbo.ARestGroupedTableByDate (@QV_DATE, @LINK_ACC, DEFAULT)
		WHERE DEP_LINK = @DEP_LINK
	END

	FETCH NEXT FROM @Cur1 INTO @LINK_ACC
END

CLOSE @Cur1
DEALLOCATE @Cur1

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0101', SUM(REST), 0, 0 FROM #REST_30302_BY WHERE [DATE] = @BYearDate HAVING SUM(REST) > 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0112', -SUM(REST), 0, 0 FROM #REST_30302_BY WHERE [DATE] = @BYearDate HAVING SUM(REST) < 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0109', -SUM(REST), 0, 0 FROM #REST_30302_BY WHERE [DATE] = @END_DATE HAVING SUM(REST) < 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0119', SUM(REST), 0, 0 FROM #REST_30302_BY WHERE [DATE] = @END_DATE HAVING SUM(REST) > 0



--- Номера платежек 
CREATE TABLE #PLAT (VID TINYINT, Y INT, MON TINYINT, SUMMA NUMERIC(18,2), Y_p INT, MON_p TINYINT, NUMBER VARCHAR(10))

	exec dbo.BufferClear 'DT'
	exec dbo.BufferClear 'KT'

	INSERT INTO BUFFER (link, id)
	select link, 'DT' from s_accounts where cSinth = '303' and cAnalit = '02' --С 290экр НЕ ДОЛЖЕН БРАТЬСЯ

	INSERT INTO BUFFER (link, id)
	select link, 'KT' from s_accounts where cSinth = '304' and cAnalit = '05'

	INSERT INTO BUFFER (link, id)
	select link, 'KT' from s_accounts where cSinth = '201' and (cAnalit = '11' or cAnalit = '21' or cAnalit = '27')

	INSERT INTO #PLAT (VID, Y, MON, SUMMA,Y_P,MON_P,NUMBER)
	SELECT  1,
		Y = CONVERT(INT,YEAR(p.DATE_PROV)), 
		MON = CONVERT(INT,MONTH(p.DATE_PROV)),
		P.SUMMA,  
		Y_P = CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,3,'.')), 
		MON_P = CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,2,'.')),
		P.NUMBER	
	from 
		dbo.AProvByBufferConditionsShortDate(@START_DATE, @END_DATE, 'DT', 'KT') P	
		inner join dbo.DOCUMENTS_PAY_ADD PA on P.link = PA.link
		inner join dbo.g_prov G on G.link = PA.link
		LEFT JOIN dbo.KOSGU DG ON DG.LINK = P.DT_EKR
	WHERE
		P.DEP_LINK = @DEP_LINK
		AND
		G.DEP = @DEP_LINK
		--AND
		--CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,2,'.')) <= @M
		--AND
		--CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,3,'.')) = @Y
		AND
		DG.CODE <> '290'

	exec dbo.BufferClear 'DT'
	exec dbo.BufferClear 'KT'
	
	
	
INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '01163', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT WHERE Y >= @nYEAR and MON = @nMONTH1), 
		'', 
		0   

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '01164', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT WHERE Y >= @nYEAR and MON = @nMONTH2), 
		'', 
		0   

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '01165', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT WHERE Y >= @nYEAR and MON = @nMONTH3), 
		'', 
		0   

--- Сведения по номерам платежек
SELECT  VID,
		Y , 
		MON ,
		NUMBER	
INTO #PLAT_PP
FROM #PLAT 
GROUP  BY VID , Y , MON, NUMBER

DROP TABLE #PLAT

BEGIN 
	declare @Cur cursor , @VID tinyint , @Y INT, @MON TINYINT, @NUMBER VARCHAR(10)

	SET @Cur = CURSOR FORWARD_ONLY
	FOR 
		select VID, Y, MON, NUMBER from #PLAT_PP order by VID, Y, MON, NUMBER
	OPEN @Cur
	FETCH NEXT FROM @Cur INTO @VID, @Y, @MON, @NUMBER
	
	WHILE (@@fetch_status <> -1)
	BEGIN
		
		IF (@@fetch_status <> -2)
		BEGIN	
			if  @Y = @nYEAR and @MON = @nMONTH1
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER)) end )
				where code_str = '01163' 

			if  @Y = @nYEAR and @MON = @nMONTH2
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER)) end )
				where code_str = '01164'

			if  @Y = @nYEAR and @MON = @nMONTH3
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER)) end )
				where code_str = '01165'				

		end
		FETCH NEXT FROM @Cur INTO @VID, @Y, @MON, @NUMBER
	end

CLOSE @Cur
DEALLOCATE @Cur

END 

drop table #PLAT_PP



/********СРЕДНЕСПИСОЧНАЯ ЧИСЛЕННОСТЬ**********/

/* Среднесписочная численность работающих инвалидов */ --- исключаем декретниц
Set @NAvgCount = convert(numeric(18,0), dbo.sa_ssch_empls_4fss(@START_DATE, @END_DATE, @DEP_LINK, 0, 1, 1, DEFAULT))
INSERT INTO #RES2
SELECT '3', 0, @NAvgCount, 0, ''

/* Среднесписочная численность мужчин и женщин */ --- исключаем декретниц
Set @NAvgCount = convert(numeric(18,0), dbo.sa_ssch_empls_4fss(@START_DATE, @END_DATE, @DEP_LINK, 0, 1, 0, DEFAULT))
INSERT INTO #RES2
SELECT '1', 0, @NAvgCount, 0, ''

/* Среднесписочная численность женщин */  --- исключаем декретниц
INSERT INTO #RES2
SELECT '2', 0, convert(numeric(18,0), dbo.sa_ssch_empls_4fss(@START_DATE, @END_DATE, @DEP_LINK, 2, 1, 0, DEFAULT)), 0 , ''

/* Среднесписочная численность работающих во вредных условиях */ --- исключаем декретниц
INSERT INTO #RES2
SELECT '4', 0, convert(numeric(18,0), dbo.sa_ssch_empls_4fss(@START_DATE, @END_DATE, @DEP_LINK, 0, 1, 2, DEFAULT)), 0 , ''



--Р1.ТАБЛИЦА 1
--Начислено ЕСН. На НАч квартала
INSERT INTO #RES2 --код=табл. 02, строка 2_1
SELECT '0121', ISNULL(SUM(SUMMA),0), 0, 0 , '' FROM #SPR_ESN WHERE MONTH_BASE < @nMONTH1  

--Начислено ЕСН. 1 мес
INSERT INTO #RES2 --код=табл. 02, строка 2_3
SELECT '0123', ISNULL(SUM(SUMMA),0), 0, 0 , '' FROM #SPR_ESN WHERE MONTH_BASE = @nMONTH1

--Начислено ЕСН. 2 мес
INSERT INTO #RES2 --код=табл. 02, строка 2_4
SELECT '0124', ISNULL(SUM(SUMMA),0), 0, 0, '' FROM #SPR_ESN WHERE MONTH_BASE = @nMONTH2
--
--Начислено ЕСН. 3 мес
INSERT INTO #RES2 --код=табл. 02, строка 2_5
SELECT '0125', ISNULL(SUM(SUMMA),0), 0, 0, '' FROM #SPR_ESN WHERE MONTH_BASE = @nMONTH3


--Р1.ТАБЛИЦА 2

DECLARE 
	@P02010 INT, --Количество больничных
	@P02013 NUMERIC(18,2),  --Количество больничных дней 
	@P02014 NUMERIC(18,2), --Сумма по больничным за счет ФСС

	@P02020 INT, --Количество больничных по внешнему совместительству
	@P02023 NUMERIC(18,2),  --Количество больничных дней по внешнему совместительству
	@P02024 NUMERIC(18,2), --Сумма по больничным за счет ФСС по внешнему совместительству
	
	@P02030 INT, --Количество больничных По иностранным гражданам
	@P02033 NUMERIC(18,2),  --Количество По иностранным гражданам дней
	@P02034 NUMERIC(18,2), --Сумма По иностранным гражданам за счет ФСС
	
	@P02040 INT, -- Количество больничных По иностранным гражданам по внешнему совместительству
	@P02043 NUMERIC(18,2),  --Количество дней По иностранным гражданам по внешнему совместительству
	@P02044 NUMERIC(18,2),  --Сумма По иностранным гражданам за счет ФСС по внешнему совместительству
	
	@P02050 INT, --Количество больничных По беременности и родам
	@P02053 NUMERIC(18,2),  --Количество По беременности и родам дней
	@P02054 NUMERIC(18,2), --Сумма По беременности и родам за счет ФСС

	@P02060 INT, -- Количество больничных по беременности и родам по внешнему совместительству
	@P02063 NUMERIC(18,2),  --Количество дней по беременности и родам по внешнему совместительству
	@P02064 NUMERIC(18,2),  --Сумма по беременности и родам за счет ФСС по внешнему совместительству

	-- Ежемесячное пособие по уходу за ребенком по основному месту работы за первым
	@P02100 INT, --количество получателей
	@P02103 NUMERIC(18,2),  -- количество произведенных выплат
	@P02104 NUMERIC(18,2), -- сумма расходов

	-- Ежемесячное пособие по уходу за ребенком по основному месту работы за вторым и последующим
	@P02110 INT, --количество получателей
	@P02113 NUMERIC(18,2),  -- количество произведенных выплат
	@P02114 NUMERIC(18,2) -- сумма расходов

---	
SELECT 
	@P02010 = COUNT(DISTINCT (CASE WHEN COALESCE(A.DEKRET,0) = 1 or  (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) <> 2 THEN NULL ELSE A.LINK END) ),
	@P02020 = COUNT( DISTINCT CASE WHEN STATUS_EMPL = 3 AND COALESCE(A.DEKRET,0) = 0 AND (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) = 2 THEN A.LINK ELSE NULL END), 
	@P02030 = COUNT(DISTINCT (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) <> 2 THEN A.LINK ELSE NULL END) ), 
	@P02040 = COUNT( DISTINCT CASE WHEN STATUS_EMPL = 3 AND COALESCE(A.DEKRET,0) = 0 AND (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) <> 2 THEN A.LINK ELSE NULL END), 
	@P02050 = COUNT(DISTINCT (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN A.LINK ELSE NULL END) ), 
	@P02060 = COUNT( DISTINCT CASE WHEN STATUS_EMPL = 3 AND COALESCE(A.DEKRET,0) = 1 THEN A.LINK ELSE NULL END) 
FROM 
	DBO.DOCUMENTS_ADD_ARCHE A INNER JOIN dbo.SD_EMPL E ON A.REF_EMPL = E.LINK
	INNER JOIN DBO.SDOC_ADIS_TABLE1 T ON T.LINK_UP = A.LINK AND T.PAYER = 0
	inner join dbo.DIS d on d.link = a.ref_arhe 
	left  JOIN dbo.person P ON p.LINK = e.PERS_LINK
	left  JOIN dbo.CITIZENSHIP c ON c.LINK = p.CITIZ_LINK 
WHERE 
	A.LINK_DEP = @DEP_LINK 
	AND A.FLAG_JC = 1 --НАЧИСЛЕННЫЕ
	AND YEAR(A.[DATE]) = YEAR(@BYearDate) --НАЧИСЛЕННЫЕ В ЗАДАННОМ ГОДУ
	AND MONTH(A.[DATE]) <= MONTH(@END_DATE) --НАЧИСЛЕННЫЕ ПО ЗАДАННЫЙ МЕСЯЦ
	and isnull(D.REF_DOC,0) = 0


---	
SELECT 
	--- по временной нетрудоспособности (без учета работающих иностранных граждан и лиц без гражданства)
	@P02013 = SUM( (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN 0 ELSE 1 END) * (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) =2  THEN 1 ELSE 0 END) * ISNULL(A.FSS_DAYS,0)), --(DATEDIFF(DAY,T.DATE1,T.DATE2)+1) ),	
	@P02023 = SUM( (CASE WHEN STATUS_EMPL = 3 THEN 1 ELSE 0 END) * (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN 0 ELSE 1 END) * (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) =2  THEN 1 ELSE 0 END)  * ISNULL(A.FSS_DAYS,0)),--* (DATEDIFF(DAY,T.DATE1,T.DATE2)+1) ),	

	--По иностранным гражданам записывать все оплачиваемые дни, а не только те, которые входят в оплачиваемый период
	@P02033 = SUM(  (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN 0 ELSE 1 END) * (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) =2  THEN 0 ELSE 1 END)  * ISNULL(A.FSS_DAYS,0)),--* (DATEDIFF(DAY,T.DATE1,T.DATE2)+1) ),	
	--По иностранным гражданам записывать все оплачиваемые дни, а не только те, которые входят в оплачиваемый период
	@P02043 = SUM( (CASE WHEN STATUS_EMPL = 3 THEN 1 ELSE 0 END) * (CASE WHEN COALESCE(A.DEKRET,0) = 1 THEN 0 ELSE 1 END) * (CASE WHEN (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) =2  THEN 0 ELSE 1 END) * ISNULL(A.FSS_DAYS,0)),--* (DATEDIFF(DAY,T.DATE1, T.DATE2)+1) )	

	--по беременности и родам записывать все оплачиваемые дни, а не только те, которые входят в оплачиваемый период
	@P02053 = SUM(  COALESCE(A.DEKRET,0)  * ISNULL(A.FSS_DAYS,0)),--* (DATEDIFF(DAY,T.DATE1,T.DATE2)+1) ),	
	--по беременности и родам записывать все оплачиваемые дни, а не только те, которые входят в оплачиваемый период
	@P02063 = SUM( (CASE WHEN STATUS_EMPL = 3  AND COALESCE(A.DEKRET,0) = 1 THEN 1 ELSE 0 END)  * ISNULL(A.FSS_DAYS,0))--* (DATEDIFF(DAY,T.DATE1, T.DATE2)+1) )	
FROM 
	DBO.DOCUMENTS_ADD_ARCHE A INNER JOIN dbo.SD_EMPL E ON A.REF_EMPL = E.LINK 
		INNER JOIN dbo.person P ON p.LINK = e.PERS_LINK
	left JOIN dbo.CITIZENSHIP c ON c.LINK = p.CITIZ_LINK 
WHERE 
	LINK_DEP = @DEP_LINK 
	AND FLAG_JC = 1 --НАЧИСЛЕННЫЕ
	AND YEAR(DATE) = YEAR(@BYearDate) --НАЧИСЛЕННЫЕ В ЗАДАННОМ ГОДУ
	AND MONTH(DATE) <= MONTH(@END_DATE) --НАЧИСЛЕННЫЕ ПО ЗАДАННЫЙ МЕСЯЦ


/*declare @Res float
set @Res = 0
 exec dbo.RSA_4FSS_20032015_PREPARE @Res output, '', '20150101', '20150331', 2, 1,  2193
*/

SELECT P.F4FSS, E.[STATUS], RESIDENT = (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) , CNT_EMPL = COUNT(DISTINCT J.LINK_EMPL), CNT = COUNT( J.LINK_EMPL),SUMMA = SUM(SUMMA), CNT_DAYS = SUM([DAYS])
INTO #ATR_4FSS
FROM 
	dbo.ATRIBUT_F4FSS A
	INNER JOIN dbo.PAYS P ON A.LINK = P.F4FSS
	INNER JOIN dbo.CALCULATE_JURNAL J ON P.LINK = J.LINK_PAYS
	INNER JOIN DBO.SA_EMPLS_INFO(@END_DATE, DEFAULT) E ON E.EMPL_LINK = J.LINK_EMPL 	
	INNER JOIN dbo.sd_empl se ON  sE.LINK = E.EMPL_LINK 
	INNER JOIN dbo.PERSON pe ON pe.LINK=se.PERS_LINK
	INNER JOIN dbo.CITIZENSHIP c ON c.LINK = pe.CITIZ_LINK
WHERE
	Year(period_begin) = @nYEAR and Month(period_begin) <= @nMONTH3
	and J.LINK_DEP = @DEP_LINK
	and P.[OBJECT] = 1	
	and P.F4FSS > 1
	AND J.LINK_EKR = (SELECT LINK FROM KOSGU WHERE CODE = '213')	
GROUP BY 	
	P.F4FSS, E.[STATUS],c.CODE 


--ВЫПЛАТА ПОСОБИЙ По временной нетрудоспособности
-----Число дней на больничном
INSERT INTO #RES2 --код=табл. 02, строка 01
SELECT '0201', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 2  AND  RESIDENT = 2 ),0), --ISNULL(@P02014,0), 
	@P02013, @P02010, ''
	

-----Число дней на больничном по внешнему совместительству
INSERT INTO #RES2 --код=табл. 02, строка 02
SELECT '0202', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 2 AND [STATUS] = 3 AND  RESIDENT = 2),0),--ISNULL(@P02024,0), 
	@P02023, @P02020, ''
/**/
-----Число дней По иностранным гражданам
INSERT INTO #RES2 --код=табл. 02, строка 03
SELECT '0203', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 2 AND RESIDENT <>2),0),--@P02034, 
	@P02033, @P02030, ''


-----Число дней По иностранным гражданам по внешнему совместительству
INSERT INTO #RES2 --код=табл. 02, строка 04
SELECT '0204', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 2 AND [STATUS] = 3 AND RESIDENT <>2),0),--@P02044, 
	@P02043, @P02040, ''
/**/


-----Число дней по берем и родам
INSERT INTO #RES2 --код=табл. 02, строка 05
SELECT '0205', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 3),0),--@P02054, 
	@P02053, @P02050, ''


-----Число дней по берем и родам по внешнему совместительству
INSERT INTO #RES2 --код=табл. 02, строка 06
SELECT '0206', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 3 AND [STATUS] = 3),0),--@P02064, 
	@P02063, @P02060, ''



--- Единовременное пособие женщинам, вставшим на учет
INSERT INTO #RES2
SELECT '0207', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 4),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 4),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 4),0)	, ''
--Единовременное пособие при рождении ребенка
INSERT INTO #RES2
SELECT '0208', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 5),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 5),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 5),0)	, ''

---- Ежемесячное пособие по уходу за ребенком по основному месту работы
INSERT INTO #RES2
SELECT '0210',
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 6),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 6),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 6),0)	, ''
----Ежемесячное пособие по уходу за вторым и последующими детьми
INSERT INTO #RES2
SELECT '0211',
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 7),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 7),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 7),0)	, ''
--Оплата дополнительных выходных дней для ухода за детьми-инвалидами
INSERT INTO #RES2
SELECT '0212', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 8),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 8),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 8),0)	, ''

--  Страховые взносы в государственные внебюджетные фонды, начисленные на оплату дополнительных выходных дней для ухода за детьми-инвалидами
---<<<<<<<<<<<
/**/
INSERT INTO #RES2
SELECT '0213', 0 , 0, 0 , '' 
	 --ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 9),0),
	 --ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 9),0),	
	 --ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 9),0)	, ''	
/**/
---->>>>>>>>>>>>>>>>
--Социальное пособие на погребение	
INSERT INTO #RES2
SELECT '0214', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 9),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 9),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 9),0)	, ''		

--  Справочно, начисленные и не выплаченные пособия
---<<<<<<<<<<<
/**/
INSERT INTO #RES2
SELECT '0216', 0,0,0,''
	/*ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 9),0),
	ISNULL((SELECT SUM(CNT) FROM #ATR_4FSS WHERE F4FSS = 9),0),	
	ISNULL((SELECT SUM(CNT_EMPL) FROM #ATR_4FSS WHERE F4FSS = 9),0)	, ''
	*/	
/**/
---->>>>>>>>>>>>>>>>



--Р1.ТАБЛИЦА 3

Declare @StBase2 table (link int)
Insert into @StBase2 (link)
select distinct link_pays from tax_ref where link_tax = (select top 1 link from pays where object = 3 and way_calc = 2)

DECLARE @LINK_EKR213 INT
SET @LINK_EKR213 = (SELECT TOP 1 LINK FROM dbo.KOSGU WHERE CODE = '213')

DECLARE @ESN_213 INT --Начислять страховые взносы на доходы с 213 ЭКР                                                    
SET @ESN_213 = dbo.SA_GET_OPTION_BY_CODE('ESN_OPTIONS_5')

--Фактическая база для договорников
SELECT GT.PERS_LINK, MONTH(G.[DATE]) AS MONTH_BASE, SUMMA_BASE = sum(GT.SUMMA_BASE) , resident  = (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end) 
INTO #DGH_FAKT_BASE
FROM 
	dbo.DOCUMENTS_DGH G INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK
	inner join dbo.person p on p.link = GT.PERS_LINK
	left join CITIZENSHIP c ON c.LINK= p.CITIZ_LINK
WHERE 
	FLAG_JC = 1
	AND GT.WAY_CALC  = 2
	AND YEAR(G.[DATE]) = @nYEAR
	AND MONTH(G.[DATE]) <= @nMONTH3 
GROUP BY GT.PERS_LINK, MONTH(G.[DATE]), c.code

CREATE TABLE #DGH_CJ (PERS_LINK INT, PERIOD_BEGIN DATETIME, SUMMA NUMERIC(18,6), RESIDENT int )
INSERT INTO #DGH_CJ (PERS_LINK, PERIOD_BEGIN, SUMMA, resident)
SELECT PERS_LINK, PERIOD_BEGIN, SUM(SUMMA), (CASE c.CODE WHEN '1' then 2 when '2' then 2 ELSE 1 end)   
FROM dbo.CALCULATE_JURNAL CJ
	inner JOIN DBO.PERSON P1 ON P1.LINK = CJ.PERS_LINK
	INNER JOIN DBO.PAYS P ON P.LINK = CJ.LINK_PAYS
	left join CITIZENSHIP c ON c.LINK= P1.CITIZ_LINK
WHERE
	yEAR(CJ.period_begin) = @nYEAR
	AND CJ.LINK_DEP = @DEP_LINK
	AND P.[OBJECT] = 1
GROUP BY
	PERS_LINK, PERIOD_BEGIN, c.CODE


---------
SELECT MON, SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO)
INTO #SALARY_SUM2
FROM 
(
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA_ALL = SUM(SUMMA),
	SUMMA_NO = SUM(CASE WHEN B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0 THEN SUMMA ELSE 0 END) --на которые не начисляются страховые взносы
from 
	dbo.CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
	INNER JOIN DBO.EMPL E ON E.LINK = CJ.LINK_EMPL
	LEFT JOIN @StBase2 B ON B.LINK = cj.LINK_PAYS
where 	
	Year(CJ.period_begin) = @nYEAR and Month(CJ.period_begin) <= @nMONTH3 
	and CJ.LINK_DEP = @DEP_LINK
	and P.[OBJECT] = 1
GROUP BY
	Month(CJ.PERIOD_BEGIN)
UNION ALL	
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA_ALL = SUM(SUMMA),
	SUMMA_NO = SUM(SUMMA - ISNULL(B.SUMMA_BASE,0)) --на которые не начисляются страховые взносы
from 
	#DGH_CJ CJ
	LEFT JOIN #DGH_FAKT_BASE B ON B.PERS_LINK = CJ.PERS_LINK AND B.MONTH_BASE = Month(CJ.PERIOD_BEGIN)
where 	
	Month(CJ.period_begin) <= @nMONTH3 
GROUP BY
	Month(CJ.PERIOD_BEGIN)
) AS T
GROUP BY 
	MON
	
--Суммы выплат и иных вознаграждений, начисленных в пользу физических лиц, в соответствии со ст.7 Федерального закона от 24 июля 2009 г. № 212-ФЗ
INSERT INTO #RES2 SELECT '030103', SUM(SUMMA_ALL), 0, 0, '' FROM #SALARY_SUM2
INSERT INTO #RES2 SELECT '030104', SUM(SUMMA_ALL), 0, 0, '' FROM #SALARY_SUM2 WHERE MON = @nMONTH1
INSERT INTO #RES2 SELECT '030105', SUM(SUMMA_ALL), 0, 0, '' FROM #SALARY_SUM2 WHERE MON = @nMONTH2
INSERT INTO #RES2 SELECT '030106', SUM(SUMMA_ALL), 0, 0, '' FROM #SALARY_SUM2 WHERE MON = @nMONTH3


--select * from #RES2 where CODE_STR in ('030103', '030104', '030105', '030106')
DECLARE @TMP_VAL NUMERIC(18,2)
--Суммы, не подлежащие обложению страховыми взносами в соответствии со ст.9 Федерального закона от 24 июля 2009 г. № 212-ФЗ
--INV_M теперь содержит только льготы (100 тыс инвалидам теперь нет)
SET @TMP_VAL = ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN ) ,0) + ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM2),0)
INSERT INTO #RES2 VALUES('030203', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN  WHERE MONTH_BASE = @nMONTH1) ,0) + ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM2 WHERE MON = @nMONTH1),0)
INSERT INTO #RES2 VALUES('030204', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN  WHERE MONTH_BASE = @nMONTH2) ,0) + ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM2 WHERE MON = @nMONTH2),0)
INSERT INTO #RES2 VALUES('030205', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(DED_M) + SUM(INV_M) FROM #SPR_ESN  WHERE MONTH_BASE = @nMONTH3) ,0) + ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM2 WHERE MON = @nMONTH3),0)
INSERT INTO #RES2 VALUES('030206', @TMP_VAL, 0, 0, '')

--select * from #RES2 where CODE_STR in ('030203', '030204', '030205', '030206')



DECLARE @LIMIT NUMERIC(18,2)

SELECT @LIMIT = MAX(S.PREDEL)
FROM 
	dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2
WHERE 
	DATE = (SELECT TOP 1 [DATE] FROM dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2 AND DATE < @END_DATE ORDER BY [DATE] DESC) 
	AND
	S.PERCENT1 > 0

SET @LIMIT = ISNULL(@LIMIT,0)


--  тариф, применяемый  свыше установленного предела величины базы (%)
DECLARE 
	@PERCENT1 NUMERIC(18,2)--,
/*	@PERCENT1_IN NUMERIC(18,2)*/
--	@PERCENT_FSS NUMERIC(18,2)

-- Рабочие 	
SELECT @PERCENT1 = S.PERCENT1
FROM 
	dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2
WHERE 
	predel = @LIMIT
	and tarif =1
	and 
	DATE = (SELECT TOP 1 [DATE] FROM dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2 AND DATE < @END_DATE ORDER BY [DATE] DESC) 
	AND
	S.PERCENT1 > 0
/*-- нивалиды
SELECT @PERCENT1_IN = S.PERCENT1
FROM 
	dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2
WHERE 
	predel = @LIMIT
	and tarif =3
	and 
	DATE = (SELECT TOP 1 [DATE] FROM dbo.STAVKI S INNER JOIN DBO.PAYS P ON S.LINK_PAYS = P.LINK AND P.OBJECT = 3 AND P.WAY_CALC = 2 AND DATE < @END_DATE ORDER BY [DATE] DESC) 
	AND
	S.PERCENT1 > 0
*/
SET @PERCENT1 = ISNULL(@PERCENT1,0)
/*SET @PERCENT1_IN = ISNULL(@PERCENT1_IN,0)*/

SELECT MON = 1, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END INTO #SPR_ESN1 FROM #SPR_ESN WHERE MONTH_BASE <= 1 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 2, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 2 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 3, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 3 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 4, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 4 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 5, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 5 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 6, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 6 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 7, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 7 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 8, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 8 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 9, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 9 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 10, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 10 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 11, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 11 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1 SELECT MON = 12, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE MONTH_BASE <= 12 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS

SELECT DISTINCT T.REF_PHYS_PERS, M.M, SUMMA = ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)
INTO #SPR_ESN2
FROM 
	#SPR_ESN1 T INNER JOIN dbo.months_ex(@BYearDate, @END_DATE) M ON 1=1
	LEFT JOIN #SPR_ESN1 T1 ON T1.REF_PHYS_PERS = T.REF_PHYS_PERS AND T1.MON = M.M
	LEFT JOIN #SPR_ESN1 T2 ON T2.REF_PHYS_PERS = T.REF_PHYS_PERS AND T2.MON = M.M - 1

--Суммы, превышающие предельную величину базы для начисления страховых взносов, установленную в соответствии со ст. 8 Федерального закона от 24 
INSERT INTO #RES2 SELECT '030303', SUM(SUMMA), 0, 0, '' FROM #SPR_ESN2 WHERE M <= @nMONTH3
INSERT INTO #RES2 SELECT '030304', SUM(SUMMA), 0, 0, '' FROM #SPR_ESN2 WHERE M = @nMONTH1
INSERT INTO #RES2 SELECT '030305', SUM(SUMMA), 0, 0, '' FROM #SPR_ESN2 WHERE M = @nMONTH2
INSERT INTO #RES2 SELECT '030306', SUM(SUMMA), 0, 0, '' FROM #SPR_ESN2 WHERE M = @nMONTH3
-----<<<<<<<<<<<<<<<<<<<


--из них: сумма выплат и иных вознаграждений сумма выплат и иных вознаграждений начисленных в пользу  иностранных граждан и лиц без гражданства
SELECT MON = 1, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END INTO #SPR_ESN1Res FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 1 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 2, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 2 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 3, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 3 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 4, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 4 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 5, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 5 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 6, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 6 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 7, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 7 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 8, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 8 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 9, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 9 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 10, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 10 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 11, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 11 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1Res SELECT MON = 12, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE resident <> 2 AND MONTH_BASE <= 12 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS


SELECT DISTINCT T.REF_PHYS_PERS, M.M, SUMMA = ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)
INTO #SPR_ESN2Res
FROM 
	#SPR_ESN1Res T INNER JOIN dbo.months_ex(@BYearDate, @END_DATE) M ON 1=1
	LEFT JOIN #SPR_ESN1Res T1 ON T1.REF_PHYS_PERS = T.REF_PHYS_PERS AND T1.MON = M.M
	LEFT JOIN #SPR_ESN1Res T2 ON T2.REF_PHYS_PERS = T.REF_PHYS_PERS AND T2.MON = M.M - 1
WHERE
	(ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)) > 0


SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE resident <> 2) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2Res WHERE M <= @nMONTH3),0)
INSERT INTO #RES2 VALUES('030803', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE resident <> 2 AND MONTH_BASE = @nMONTH1) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH1),0)
INSERT INTO #RES2 VALUES('030804', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE resident <> 2 AND MONTH_BASE = @nMONTH2) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH2),0)
INSERT INTO #RES2 VALUES('030805', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE resident <> 2 AND MONTH_BASE = @nMONTH3) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH3),0)
INSERT INTO #RES2 VALUES('030806', @TMP_VAL, 0, 0, '')

-- exec dbo.RI_REPORT_FORMULA_ALL_CALCULATE '2014-01-01 00:00:00','2014-03-31 00:00:00',2,1,2745
/*declare @Res float
set @Res = 0
 exec dbo.RSA_4FSS_20032015_PREPARE @Res output, '', '20110101', '20110331', 2, 1, 42251
*/


/*--из них: сумма выплат и иных вознаграждений физическим лицам, являющимся инвалидами I, II, III группы
SELECT MON = 1, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END INTO #SPR_ESN1KATEG3 FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 1 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 2, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 2 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 3, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 3 AND @nMONTH3 >= 3 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 4, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 4 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 5, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 5 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 6, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 6 AND @nMONTH3 >= 6 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 7, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 7 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 8, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 8 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 9, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 9 AND @nMONTH3 >= 9 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 10, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 10 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 11, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 11 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS
INSERT INTO #SPR_ESN1KATEG3 SELECT MON = 12, REF_PHYS_PERS, SUMMA = CASE WHEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) > @LIMIT THEN (SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M)) - @LIMIT ELSE 0 END FROM #SPR_ESN WHERE KATEG = 3 AND MONTH_BASE <= 12 AND @nMONTH3 >= 12 GROUP BY REF_PHYS_PERS

SELECT DISTINCT T.REF_PHYS_PERS, M.M, SUMMA = ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)
INTO #SPR_ESN2KATEG3
FROM 
	#SPR_ESN1KATEG3 T INNER JOIN dbo.months_ex(@BYearDate, @END_DATE) M ON 1=1
	LEFT JOIN #SPR_ESN1KATEG3 T1 ON T1.REF_PHYS_PERS = T.REF_PHYS_PERS AND T1.MON = M.M
	LEFT JOIN #SPR_ESN1KATEG3 T2 ON T2.REF_PHYS_PERS = T.REF_PHYS_PERS AND T2.MON = M.M - 1
WHERE
	(ISNULL(T1.SUMMA,0) - ISNULL(T2.SUMMA,0)) > 0


SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE KATEG = 3) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2KATEG3 WHERE M <= @nMONTH3),0)
INSERT INTO #RES2 VALUES('030503', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE KATEG = 3 AND MONTH_BASE = @nMONTH1) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2KATEG3 WHERE M = @nMONTH1),0)
INSERT INTO #RES2 VALUES('030504', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE KATEG = 3 AND MONTH_BASE = @nMONTH2) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2KATEG3 WHERE M = @nMONTH2),0)
INSERT INTO #RES2 VALUES('030505', @TMP_VAL, 0, 0, '')

SET @TMP_VAL = ISNULL( (SELECT SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN  WHERE KATEG = 3 AND MONTH_BASE = @nMONTH3) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #SPR_ESN2KATEG3 WHERE M = @nMONTH3),0)
INSERT INTO #RES2 VALUES('030506', @TMP_VAL, 0, 0, '')
*/--->>>>>>>>>>>>>>>>>
--select * from #RES2 where code_str in ('030503','030504', '030505','030506')
--ВЫРАВНИВАНИЕ ПОГРЕШНОСТИ ПО ОСНОВНОМУ ТАРИФУ
/*
--Способ заполнения страховых взносов
Выриант №1. Сумма всзносов по организации рассчитывается  по формулам расчёта для 4-ФСС от общих сумм дохода и необлагаемых сумм. 
Выриант №2. Сумма взносов по организации рассчитывается как сумма взносов, начисленных по физлицам. 
Выриант №3. Сумма взносов по организации рассчитывается как сумма взносов, начисленных по физлицам. 
Но при этом для того, чтобы выполнялись контрольные соотношения по форме, выполняется подгон необлагаемых сумм.
*/
DECLARE @SALARY_OPTIONS_OPT5_1 INT 
SET @SALARY_OPTIONS_OPT5_1 = dbo.SA_GET_OPTION_BY_CODE('SALARY_OPTIONS_OPT5_1')

--select @PERCENT1 , @PERCENT1_IN

--select * from 	#RES2
--	WHERE
--		CODE_STR IN ('030104', '030204', '030304', '030504')

/*declare @Res float
set @Res = 0
 exec dbo.RSA_4FSS_20032015_PREPARE @Res output, '', '20150101', '20150331', 2, 1,   255
*/
---------------------------------------------------------
---------------------------------------------------------

IF ISNULL(@PERCENT1,0) > 0
BEGIN

	--Вычисление погрешности для накопительной части	
	SELECT 
		@C3N = CONVERT(NUMERIC(18,2), 
			(
				SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030103' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030203' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030303' THEN BASE_FSS  ELSE 0 END)
			--	 	-(CASE WHEN CODE_STR = '030803' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих
				) * @PERCENT1/100
			/*	+ SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030803' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100		*/		
				- (SELECT SUM(BASE_FSS) FROM #RES2 WHERE CODE_STR in ('0121','0123', '0124','0125'))
			) / @PERCENT1/100
		),
		@C3NS = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030103' THEN BASE_FSS  ELSE 0 END) 
					-(CASE WHEN CODE_STR = '030203' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030303' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030803' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих
				) * @PERCENT1/100
				+
				SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030803' THEN BASE_FSS  ELSE 0 END)  -- база иностранных служащих
				) * 1.8/100			
			)
		),		
		@C4N = CONVERT(NUMERIC(18,2), 
			(
				SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030104' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030204' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030304' THEN BASE_FSS  ELSE 0 END)
				--	-(CASE WHEN CODE_STR = '030804' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих
				) * @PERCENT1/100
				/*+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030804' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100		*/		
				- (SELECT SUM(BASE_FSS) FROM #RES2 WHERE CODE_STR = '0123')
			) / @PERCENT1/100	
		),
		@C4NS = CONVERT(NUMERIC(18,2), 
			(
				SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030104' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030204' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030304' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030804' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих		
				) * @PERCENT1/100
				+ SUM( --Стр 4 (030403)  = 
					(CASE WHEN CODE_STR = '030804' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100		
			)
		),		
		@C5N = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030405)  = 
					(CASE WHEN CODE_STR = '030105' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030205' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030305' THEN BASE_FSS  ELSE 0 END)
				--	-(CASE WHEN CODE_STR = '030805' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих		
				) * @PERCENT1/100
				/*+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030805' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100	*/
				- (SELECT SUM(BASE_FSS) FROM #RES2 WHERE CODE_STR = '0124')
			) / @PERCENT1/100			
		),
		@C5NS = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030405)  = 
					(CASE WHEN CODE_STR = '030105' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030205' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030305' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030805' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих			
				) * @PERCENT1/100
				+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030805' THEN BASE_FSS  ELSE 0 END) -- база иностранных служащих
				) * 1.8/100			
			)
		),		
		@C6N = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030405)  = 
					(CASE WHEN CODE_STR = '030106' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030206' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030306' THEN BASE_FSS  ELSE 0 END)
				--	-(CASE WHEN CODE_STR = '030806' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих	
				) * @PERCENT1/100
				/*+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030806' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих	
				) * 1.8/100		*/	
				- (SELECT SUM(BASE_FSS) FROM #RES2 WHERE CODE_STR = '0125')
			) / @PERCENT1/100							
		),
		@C6NS = CONVERT(NUMERIC(18,2),
			(
				SUM( --Стр 4 (030405)  = 
					(CASE WHEN CODE_STR = '030106' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030206' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030306' THEN BASE_FSS  ELSE 0 END)
					-(CASE WHEN CODE_STR = '030806' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих				
				) * @PERCENT1/100
				+ SUM( --Стр 4 (030404)  = 
					(CASE WHEN CODE_STR = '030806' THEN BASE_FSS  ELSE 0 END) -- за минусом базы иностранных служащих	
				) * 1.8/100				
			)
		)		
	FROM #RES2
	WHERE
		CODE_STR IN ('030103', '030203', '030303', '030803','030104', '030204', '030304', '030804','030105', '030205', '030305', '030805','030106', '030206', '030306', '030806')

	IF @SALARY_OPTIONS_OPT5_1 = 1
	BEGIN
		--Начислено ЕСН. 1 мес
		UPDATE #RES2
		SET BASE_FSS = ISNULL(@C4NS,0)			 
		WHERE 
			CODE_STR = '0123'
		
		UPDATE #RES2
		SET BASE_FSS = ISNULL(@C5NS,0)		 
		WHERE 
			CODE_STR = '0124'
			
		UPDATE #RES2
		SET BASE_FSS = ISNULL(@C6NS,0)		 
		WHERE 
			CODE_STR = '0125'
	
	END

	IF @SALARY_OPTIONS_OPT5_1 = 3
	BEGIN
	
		UPDATE #RES2
		SET BASE_FSS = BASE_FSS + ISNULL(@C3N,0)			 
		WHERE 
			CODE_STR = '030203'
		
		UPDATE #RES2
		SET BASE_FSS = BASE_FSS + ISNULL(@C4N,0)			 
		WHERE 
			CODE_STR = '030204'
			
		UPDATE #RES2
		SET BASE_FSS = BASE_FSS + ISNULL(@C5N,0)			 
		WHERE 
			CODE_STR = '030205'
			
		UPDATE #RES2
		SET BASE_FSS = BASE_FSS + ISNULL(@C6N,0)			 
		WHERE 
			CODE_STR = '030206'
	
	END

end



--- ПО ИНОСТРАННЫМ ГРАЖДАНАМ
CREATE TABLE #RAZD31 (LINK INT, COL2 NUMERIC(18,2), COL3 NUMERIC(18,2), COL4 NUMERIC(18,2), COL5 NUMERIC(18,2))
INSERT INTO #RAZD31 (LINK)
SELECT DISTINCT 
	P.REF_PHYS_PERS
FROM 
	#SPR_ESN P
WHERE  RESIDENT <> 2
--- ЭТО БЫЛО ПО ИНВАЛИДАМ
/*-- Тоже выводим по физлицу в таблицу 3.1
CREATE TABLE #RAZD31 (LINK INT, COL5 NUMERIC(18,2), COL6 NUMERIC(18,2), COL7 NUMERIC(18,2), COL8 NUMERIC(18,2))

INSERT INTO #RAZD31 (LINK, COL5, COL6, COL7, COL8)
SELECT DISTINCT 
	P.REF_PHYS_PERS,
	S5 = ISNULL(S51.SUMMA,0) - ISNULL(S52.SUMMA,0),
	S6 = ISNULL(S61.SUMMA,0) - ISNULL(S62.SUMMA,0),
	S7 = ISNULL(S71.SUMMA,0) - ISNULL(S72.SUMMA,0),
	S8 = ISNULL(S81.SUMMA,0) - ISNULL(S82.SUMMA,0)
FROM 
	#SPR_ESN P

	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE RESIDENT <> 2 GROUP BY REF_PHYS_PERS) S51 ON S51.REF_PHYS_PERS = P.REF_PHYS_PERS
	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA) FROM #SPR_ESN2Res WHERE M <= @nMONTH3 GROUP BY REF_PHYS_PERS) S52 ON S52.REF_PHYS_PERS = P.REF_PHYS_PERS

	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE RESIDENT <> 2 AND MONTH_BASE = @nMONTH1 GROUP BY REF_PHYS_PERS) S61 ON S61.REF_PHYS_PERS = P.REF_PHYS_PERS
	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH1 GROUP BY REF_PHYS_PERS) S62 ON S62.REF_PHYS_PERS = P.REF_PHYS_PERS

	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE RESIDENT <> 2 AND MONTH_BASE = @nMONTH2 GROUP BY REF_PHYS_PERS) S71 ON S71.REF_PHYS_PERS = P.REF_PHYS_PERS
	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH2 GROUP BY REF_PHYS_PERS) S72 ON S72.REF_PHYS_PERS = P.REF_PHYS_PERS

	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA_BASE) - SUM(DED_M) - SUM(INV_M) FROM #SPR_ESN WHERE RESIDENT <> 2 AND MONTH_BASE = @nMONTH3 GROUP BY REF_PHYS_PERS) S81 ON S81.REF_PHYS_PERS = P.REF_PHYS_PERS
	LEFT JOIN (SELECT REF_PHYS_PERS, SUMMA = SUM(SUMMA) FROM #SPR_ESN2Res WHERE M = @nMONTH3 GROUP BY REF_PHYS_PERS) S82 ON S82.REF_PHYS_PERS = P.REF_PHYS_PERS
	
WHERE KATEG = 3
*/
DECLARE @Table_Razd31 VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @Table_Razd31 OUTPUT
EXEC ('select * INTO ' + @Table_Razd31 + ' from #RAZD31')
EXEC dbo.BufferPush -116, @Table_Razd31



---P2.ТАБЛИЦА 7
--ОСТАТКИ ПО СЧЁТУ 303.06 НА НАЧАЛО ГОДА
CREATE TABLE #REST_30306_BY ([DATE] DATETIME, REST NUMERIC(18,2))

DECLARE @Cur2 CURSOR, @LINK_ACC2 INT
SET @Cur2 = CURSOR FORWARD_ONLY

FOR SELECT LINK FROM dbo.S_ACCOUNTS WHERE CODE LIKE '303.06%'

OPEN @Cur2
FETCH NEXT FROM @Cur2 INTO @LINK_ACC2
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN

		INSERT INTO #REST_30306_BY ([DATE], REST)
		SELECT @BYearDate, REST = coalesce(sum(K_SUMMA)-sum(D_SUMMA),0) 
		FROM dbo.ARestGroupedTableByDate (@BYearDate, @LINK_ACC2, DEFAULT)
		WHERE DEP_LINK = @DEP_LINK
	END

	FETCH NEXT FROM @Cur2 INTO @LINK_ACC2
END

CLOSE @Cur2
DEALLOCATE @Cur2

--ОСТАТКИ ПО СЧЁТУ 303.06 НА КОНЕЦ ОТЧЕТНОГО КВАРТАЛА
--DECLARE @QV_DATE DATETIME
--SET @QV_DATE = @END_DATE+1

SET @Cur2 = CURSOR FORWARD_ONLY

FOR SELECT LINK FROM dbo.S_ACCOUNTS WHERE CODE LIKE '303.06%'

OPEN @Cur2
FETCH NEXT FROM @Cur2 INTO @LINK_ACC2
WHILE (@@fetch_status <> -1)
BEGIN

	IF (@@fetch_status <> -2)
	BEGIN

		INSERT INTO #REST_30306_BY ([DATE], REST)
		SELECT @END_DATE, REST = coalesce(sum(K_SUMMA)-sum(D_SUMMA),0) 
		FROM dbo.ARestGroupedTableByDate (@QV_DATE, @LINK_ACC2, DEFAULT)
		WHERE DEP_LINK = @DEP_LINK
	END

	FETCH NEXT FROM @Cur2 INTO @LINK_ACC2
END

CLOSE @Cur2
DEALLOCATE @Cur2

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0701', SUM(REST), 0, 0 FROM #REST_30306_BY WHERE [DATE] = @BYearDate HAVING SUM(REST) > 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0712', -SUM(REST), 0, 0 FROM #REST_30306_BY WHERE [DATE] = @BYearDate HAVING SUM(REST) < 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0709', -SUM(REST), 0, 0 FROM #REST_30306_BY WHERE [DATE] = @END_DATE HAVING SUM(REST) < 0

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '0719', SUM(REST), 0, 0 FROM #REST_30306_BY WHERE [DATE] = @END_DATE HAVING SUM(REST) > 0







--Используется в хранимке SA_4FSS_28022011_PREPARE_INV

--Р3.ТАБЛИЦА 9

Declare @StBase5 table (link int)
Insert into @StBase5 (link)
select distinct link_pays from tax_ref where link_tax = (select top 1 link from pays where object = 3 and way_calc = 5)

--Фактическая база для договорников
SELECT GT.PERS_LINK, MONTH(G.[DATE]) AS MONTH_BASE, SUMMA_BASE = sum(CASE WHEN GT.WAY_CALC  = 5 THEN GT.SUMMA_BASE ELSE 0 END)
INTO #DGH_FAKT_BASE2
FROM 
	dbo.DOCUMENTS_DGH G 
	--INNER JOIN dbo.DOCUMENTS_DGH_T1 T1 ON T1.LINK = G.LINK
	--INNER JOIN dbo.REESTR_DGH R ON R.LINK = T1.LINK_DOG  --AND FLAG_TRAVMA = 1	
	INNER JOIN dbo.DOCUMENTS_DGH_T3 GT ON G.LINK = GT.LINK --AND T1.PERS_LINK = GT.PERS_LINK 
WHERE 
	G.LINK_DEP = @DEP_LINK
	AND FLAG_JC = 1
	--AND GT.WAY_CALC  = 5
	AND YEAR(G.[DATE]) = @nYEAR
	AND MONTH(G.[DATE]) <= @nMONTH3 
GROUP BY   GT.PERS_LINK,  MONTH(G.[DATE]) /*, GT.WAY_CALC*/


SELECT MON, SUMMA_ALL = SUM(SUMMA_ALL), SUMMA_NO = SUM(SUMMA_NO), SUMMA_ALL_I = SUM(SUMMA_ALL_I), SUMMA_NO_I = SUM(SUMMA_NO_I)
INTO #SALARY_SUM
FROM 
(
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA_ALL = SUM(SUMMA),
	SUMMA_NO = SUM(CASE WHEN B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0 THEN SUMMA ELSE 0 END), --на которые не начисляются страховые взносы
	SUMMA_ALL_I = SUM(CASE WHEN I.LINK IS NOT NULL AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN COALESCE(I.DATE_BEGIN,CJ.PERIOD_BEGIN) AND  COALESCE(I.DATE_END,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) THEN SUMMA ELSE 0 END),
	SUMMA_NO_I = SUM(CASE WHEN (B.LINK IS NULL OR CJ.LINK_EKR = @LINK_EKR213 AND @ESN_213 = 0) AND I.LINK IS NOT NULL AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN COALESCE(I.DATE_BEGIN,CJ.PERIOD_BEGIN) AND  COALESCE(I.DATE_END,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) THEN SUMMA ELSE 0 END)
from 
	dbo.CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
	INNER JOIN DBO.EMPL E ON E.LINK = CJ.LINK_EMPL
	LEFT JOIN @StBase5 B ON B.LINK = cj.LINK_PAYS
	LEFT JOIN DBO.PERS_INVALID I ON I.PERS_LINK = E.PERS_LINK 
			AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN I.DATE_BEGIN AND ISNULL(I.DATE_END,'29990101')
			--AND COALESCE(I.DATE_BEGIN,@BYearDate) <= @EndYear AND COALESCE(I.DATE_END,@EndYear) >= @BYearDate
where 	
	Year(period_begin) = @nYEAR and Month(period_begin) <= @nMONTH3 
	and CJ.LINK_DEP = @DEP_LINK
	and P.[OBJECT] = 1
GROUP BY
	Month(CJ.PERIOD_BEGIN)
UNION ALL	
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA_ALL = SUM(CJ.SUMMA),
	SUMMA_NO = SUM( CJ.SUMMA - ISNULL(B.SUMMA_BASE,0)), --на которые не начисляются страховые взносы
	SUMMA_ALL_I = SUM(CASE WHEN I.LINK IS NOT NULL AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN COALESCE(I.DATE_BEGIN,CJ.PERIOD_BEGIN) AND  COALESCE(I.DATE_END,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) THEN SUMMA ELSE 0 END),
	SUMMA_NO_I = SUM(CASE WHEN I.LINK IS NOT NULL AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN COALESCE(I.DATE_BEGIN,CJ.PERIOD_BEGIN) AND  COALESCE(I.DATE_END,dbo.DateEndOfMonth(CJ.PERIOD_BEGIN)) THEN SUMMA - ISNULL(B.SUMMA_BASE,0) ELSE 0 END)
from 
	#DGH_CJ CJ
	INNER JOIN #DGH_FAKT_BASE2 B ON B.PERS_LINK = CJ.PERS_LINK AND B.MONTH_BASE = Month(CJ.PERIOD_BEGIN)
	LEFT JOIN DBO.KU_PERS_INVALID I ON I.PERS_LINK = CJ.PERS_LINK 
		AND dbo.DateEndOfMonth(CJ.PERIOD_BEGIN) BETWEEN I.DATE_BEGIN AND ISNULL(I.DATE_END,'29990101')
		--AND COALESCE(I.DATE_BEGIN,@BYearDate) <= @EndYear AND COALESCE(I.DATE_END,@EndYear) >= @BYearDate
where 	
	Month(period_begin) <= @nMONTH3 
GROUP BY
	Month(CJ.PERIOD_BEGIN)
) AS T
GROUP BY 
	MON
------------------------

--Льготы по травматизму
DECLARE @LINK_S_OBJ INT
SET @LINK_S_OBJ = (SELECT TOP 1 LINK FROM dbo.S_OBJECTS WHERE CODE = 'DOCUMENTS_CLOSE_MONTH')

CREATE TABLE #TRAVM_LGOTY (I TINYINT, M TINYINT, SUMMA NUMERIC(18,2))
--скидки по травматизму
INSERT INTO #TRAVM_LGOTY (I, M, SUMMA)
SELECT I = (CASE WHEN ISNULL(I.PERS_LINK,0) = 0 THEN 0 ELSE 1 END), MONTH(D.[DATE]), SUM(SUMMA)
FROM
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_SKIDKI S ON S.LINK_UP = D.LINK
	LEFT JOIN dbo.pers_invalid I ON S.LINK_PERS = I.PERS_LINK 
		AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH(D.[DATE]),YEAR(D.[DATE]))) BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')	
WHERE
	D.[OBJECT] = @LINK_S_OBJ AND D.FLAG_JC = 1 AND D.LINK_DEP = @DEP_LINK
	AND YEAR(D.[DATE]) = @nYEAR AND MONTH(D.[DATE]) <= @nMONTH3
GROUP BY
	ISNULL(I.PERS_LINK,0), MONTH(D.[DATE])
	
----Вычеты по травматизму	
INSERT INTO #TRAVM_LGOTY (I, M, SUMMA)
SELECT I = (CASE WHEN ISNULL(I.PERS_LINK,0) = 0 THEN 0 ELSE 1 END), MONTH(D.[DATE]), SUM(SUMMA)
FROM
	dbo.SDOC D
	INNER JOIN dbo.SDOC_DOT_VYCHET S ON S.LINK_UP = D.LINK
	LEFT JOIN dbo.pers_invalid I ON S.LINK_PERS = I.PERS_LINK 
		AND dbo.DateEndOfMonth(dbo.ConvertDMY2Date(1,MONTH(D.[DATE]),YEAR(D.[DATE]))) BETWEEN I.DATE_BEGIN AND COALESCE(I.DATE_END,'29990101')	
WHERE
	D.[OBJECT] = @LINK_S_OBJ AND D.FLAG_JC = 1 AND D.LINK_DEP = @DEP_LINK
	AND YEAR(D.[DATE]) = @nYEAR AND MONTH(D.[DATE]) <= @nMONTH3
GROUP BY
	ISNULL(I.PERS_LINK,0), MONTH(D.[DATE])	

--Данные для таблицы 6
CREATE TABLE #TABLE6 (MON TINYINT, SUMMA3 NUMERIC(18,2), SUMMA4 NUMERIC(18,2), SUMMA5 NUMERIC(18,2) )
INSERT INTO #TABLE6 (MON, SUMMA3, SUMMA4, SUMMA5)
SELECT 
	M.NUM, 
	SUMMA3 = /*ROUND(*/ ISNULL( (SELECT SUM(SUMMA_ALL)/*-SUM(SUMMA_NO)*/ FROM #SALARY_SUM WHERE MON = M.NUM) ,0) /*- ISNULL((SELECT SUM(SUMMA) FROM #TRAVM_LGOTY WHERE M = M.NUM),0)*/ /*,0)*/,
	SUMMA4 = /*ROUND(*/ ISNULL( (SELECT SUM(SUMMA_ALL_I)-SUM(SUMMA_NO_I) FROM #SALARY_SUM WHERE MON = M.NUM) ,0) - ISNULL((SELECT SUM(SUMMA) FROM #TRAVM_LGOTY WHERE I = 1 AND M = M.NUM),0) /*,0)*/,
	SUMMA5 = /*ROUND(*/ ISNULL( (SELECT SUM(SUMMA_NO) FROM #SALARY_SUM WHERE MON = M.NUM) ,0) + ISNULL((SELECT SUM(SUMMA) FROM #TRAVM_LGOTY WHERE M = M.NUM),0) /*,0)*/
FROM
	dbo.MONTHS M
	
	
INSERT INTO #RES2 SELECT '060103', ISNULL( (SELECT SUM(SUMMA3) FROM #TABLE6) ,0) , 0, 0, ''
INSERT INTO #RES2 SELECT '060104', ISNULL( (SELECT SUM(SUMMA4) FROM #TABLE6) ,0), 0, 0, ''
INSERT INTO #RES2 SELECT '060105', ISNULL( (SELECT SUM(SUMMA5) FROM #TABLE6) ,0), 0, 0, ''
---
INSERT INTO #RES2 SELECT '060303', ISNULL( (SELECT SUM(SUMMA3) FROM #TABLE6 WHERE MON = @nMONTH1) ,0) , 0, 0, ''
INSERT INTO #RES2 SELECT '060304', ISNULL( (SELECT SUM(SUMMA4) FROM #TABLE6 WHERE MON = @nMONTH1) ,0), 0, 0, ''
INSERT INTO #RES2 SELECT '060305', ISNULL( (SELECT SUM(SUMMA5) FROM #TABLE6 WHERE MON = @nMONTH1) ,0), 0, 0, ''
---
INSERT INTO #RES2 SELECT '060403', ISNULL( (SELECT SUM(SUMMA3) FROM #TABLE6 WHERE MON = @nMONTH2) ,0) , 0, 0, ''
INSERT INTO #RES2 SELECT '060404', ISNULL( (SELECT SUM(SUMMA4) FROM #TABLE6 WHERE MON = @nMONTH2) ,0), 0, 0, ''
INSERT INTO #RES2 SELECT '060405', ISNULL( (SELECT SUM(SUMMA5) FROM #TABLE6 WHERE MON = @nMONTH2) ,0), 0, 0, ''
---
INSERT INTO #RES2 SELECT '060503', ISNULL( (SELECT SUM(SUMMA3) FROM #TABLE6 WHERE MON = @nMONTH3) ,0) , 0, 0, ''
INSERT INTO #RES2 SELECT '060504', ISNULL( (SELECT SUM(SUMMA4) FROM #TABLE6 WHERE MON = @nMONTH3) ,0), 0, 0, ''
INSERT INTO #RES2 SELECT '060505', ISNULL( (SELECT SUM(SUMMA5) FROM #TABLE6 WHERE MON = @nMONTH3) ,0), 0, 0, ''

--Р3.ТАБЛИЦА 10
select 
	MON = Month(CJ.PERIOD_BEGIN),
	SUMMA = SUM(SUMMA)
INTO 
	#SALARY_SUM1
from 
	dbo.CALCULATE_JURNAL CJ inner join dbo.pays p on p.link = cj.LINK_PAYS
where 	
	Year(period_begin) = @nYEAR and Month(period_begin) <= @nMONTH3 
	and CJ.LINK_DEP = @DEP_LINK
	and CJ.LINK_PAYS = (select top 1 link from pays where object = 3 and way_calc = 5)
GROUP BY
	Month(CJ.PERIOD_BEGIN)

INSERT INTO #RES2 SELECT '1021', SUM(SUMMA), 0, 0, '' FROM #SALARY_SUM1 WHERE MON < @nMONTH1
INSERT INTO #RES2 SELECT '1023', SUM(SUMMA), 0, 0, '' FROM #SALARY_SUM1 WHERE MON = @nMONTH1
INSERT INTO #RES2 SELECT '1024', SUM(SUMMA), 0, 0, '' FROM #SALARY_SUM1 WHERE MON = @nMONTH2
INSERT INTO #RES2 SELECT '1025', SUM(SUMMA), 0, 0, '' FROM #SALARY_SUM1 WHERE MON = @nMONTH3

--- Номера платежек 
CREATE TABLE #PLAT1(VID TINYINT, Y INT, MON TINYINT, SUMMA NUMERIC(18,2), Y_p INT, MON_p TINYINT, NUMBER VARCHAR(10))

	exec dbo.BufferClear 'DT'
	exec dbo.BufferClear 'KT'

	INSERT INTO BUFFER (link, id)
	select link, 'DT' from s_accounts where cSinth = '303' and cAnalit = '06' --С 290экр НЕ ДОЛЖЕН БРАТЬСЯ

	INSERT INTO BUFFER (link, id)
	select link, 'KT' from s_accounts where cSinth = '304' and cAnalit = '05'

	INSERT INTO BUFFER (link, id)
	select link, 'KT' from s_accounts where cSinth = '201' and (cAnalit = '11' or cAnalit = '21' or cAnalit = '27')

	INSERT INTO #PLAT1 (VID, Y, MON, SUMMA,Y_P,MON_P,NUMBER)
	SELECT  1,
		Y = CONVERT(INT,YEAR(p.DATE_PROV)), 
		MON = CONVERT(INT,MONTH(p.DATE_PROV)),
		P.SUMMA,  
		Y_P = CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,3,'.')), 
		MON_P = CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,2,'.')),
		P.NUMBER	
	from 
		dbo.AProvByBufferConditionsShortDate(@START_DATE, @END_DATE, 'DT', 'KT') P	
		inner join dbo.DOCUMENTS_PAY_ADD PA on P.link = PA.link
		inner join dbo.g_prov G on G.link = PA.link
		LEFT JOIN dbo.KOSGU DG ON DG.LINK = P.DT_EKR
	WHERE
		P.DEP_LINK = @DEP_LINK
		AND
		G.DEP = @DEP_LINK
		--AND
		--CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,2,'.')) <= @M
		--AND
		--CONVERT(INT,DBO.SA_GET_WORD_NUM(PERIOD,3,'.')) = @Y
		AND
		DG.CODE <> '290'

	exec dbo.BufferClear 'DT'
	exec dbo.BufferClear 'KT'
	
	
	
INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '10163', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT1 WHERE Y >= @nYEAR and MON = @nMONTH1), 
		'', 
		0   

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '10164', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT1 WHERE Y >= @nYEAR and MON = @nMONTH2), 
		'', 
		0   

INSERT INTO #RES2 (CODE_STR, BASE_FSS, CNT_FSS, CNT_FEM)
SELECT '10165', 
		(SELECT ISNULL(SUM(SUMMA),0) FROM #PLAT1 WHERE Y >= @nYEAR and MON = @nMONTH3), 
		'', 
		0   

--- Сведения по номерам платежек
SELECT  VID,
		Y , 
		MON ,
		NUMBER	
INTO #PLAT_PP1
FROM #PLAT1 
GROUP  BY VID , Y , MON, NUMBER

DROP TABLE #PLAT1

BEGIN 
	declare @Cur_1 cursor , @VID1 tinyint , @Y1 INT, @MON1 TINYINT, @NUMBER1 VARCHAR(10)

	SET @Cur_1 = CURSOR FORWARD_ONLY
	FOR 
		select VID, Y, MON, NUMBER from #PLAT_PP1 order by VID, Y, MON, NUMBER
	OPEN @Cur_1
	FETCH NEXT FROM @Cur_1 INTO @VID1, @Y1, @MON1, @NUMBER1
	
	WHILE (@@fetch_status <> -1)
	BEGIN
		
		IF (@@fetch_status <> -2)
		BEGIN	
			if  @Y1 = @nYEAR and @MON1 = @nMONTH1
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER1)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER1)) end )
				where code_str = '10163' 

			if  @Y1 = @nYEAR and @MON1 = @nMONTH2
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER1)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER1)) end )
				where code_str = '10164'

			if  @Y1 = @nYEAR and @MON1 = @nMONTH3
				UPDATE #RES2
					set NUM_PP = (case when NUM_PP is null or NUM_PP= '' then ltrim(RTRIM(@NUMBER1)) else ltrim(RTRIM(NUM_PP))+','+ ltrim(RTRIM(@NUMBER1)) end )
				where code_str = '10165'				

		end
		FETCH NEXT FROM @Cur_1 INTO @VID1, @Y1, @MON1, @NUMBER1
	end

CLOSE @Cur_1
DEALLOCATE @Cur_1

END 

drop table #PLAT_PP1

-- exec dbo.RI_REPORT_FORMULA_ALL_CALCULATE '2014-01-01 00:00:00','2014-03-31 00:00:00',2,1,2745
/*declare @Res float
set @Res = 0
 exec dbo.RSA_4FSS_09022012_PREPARE @Res output, '', '20140101', '20140331', 2, 1, 2745
*/




--Таблица 8

INSERT INTO #RES2
SELECT '1101', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 10),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 10),0),	
	0, ''

INSERT INTO #RES2
SELECT '1102', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 10 AND [STATUS] = 3),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 10 AND [STATUS] = 3),0),	
	0, ''	
	
INSERT INTO #RES2
SELECT '1104', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 11),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 11),0),	
	0, ''

INSERT INTO #RES2
SELECT '1105', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 11 AND [STATUS] = 3),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 11 AND [STATUS] = 3),0),	
	0, ''		

INSERT INTO #RES2
SELECT '1107', 
	ISNULL((SELECT SUM(SUMMA) FROM #ATR_4FSS WHERE F4FSS = 12),0),
	ISNULL((SELECT SUM(CNT_DAYS) FROM #ATR_4FSS WHERE F4FSS = 12),0),	
	0, ''

DECLARE  @SPO4 INT
SELECT @SPO4 = (SELECT distinct LINK FROM dbo.SA_SZV4_SPR WHERE code = 'О4' AND spr_code = 'SPO_USL_TRUDA' )




----- Таблица результатов по спецоценке
--Р2.ТАБЛИЦА 10
select [KOL_ALL] = SUM(S.NUM_STAKE),
		[KOL_SPO_ALL] = SUM(CASE WHEN S.COD_SPO_USL_TRUD IS NOT NULL THEN S.NUM_STAKE ELSE 0 END ),
		[KOL_SPO_3] =  SUM(CASE WHEN (ISNULL(S.COD_SPO_USL_TRUD, 0) <> 0 
							AND S.COD_SPO_USL_TRUD = @SPO4 
							)  
					   THEN  S.NUM_STAKE 
					   ELSE 0 END) ,	   
		[KOL_SPO_4] = SUM(CASE WHEN (ISNULL(S.COD_SPO_USL_TRUD, 0) <> 0 
							AND S.COD_SPO_USL_TRUD <> @SPO4 
							)  
					   THEN  S.NUM_STAKE 
					   ELSE 0 END) 	  
	
INTO 
	#STAF_ALL
from 
	dbo.staff s inner join dbo.staff_head sh on s.link_up = sh.LINK
where 	
	sh.DEP_LINK = @DEP_LINK
	and @vardEnd between s.date_begin and s.date_end 




INSERT INTO #RES2 SELECT '100103', KOL_ALL, 0, 0, '' FROM #STAF_ALL 
INSERT INTO #RES2 SELECT '100104', KOL_SPO_ALL, 0, 0, '' FROM #STAF_ALL 
INSERT INTO #RES2 SELECT '100105', KOL_SPO_3, 0, 0, '' FROM #STAF_ALL 
INSERT INTO #RES2 SELECT '100106', KOL_SPO_4, 0, 0, '' FROM #STAF_ALL 


/* Завершаем - списываем значения во временную таблицу */
DECLARE @Table_Razd1 VARCHAR(100)
EXEC dbo.X_GET_TABLE_NAME @Table_Razd1 OUTPUT
EXEC ('select * INTO ' + @Table_Razd1 + ' from #RES2 order by code_str')
EXEC dbo.BufferPush -115, @Table_Razd1


DROP TABLE #RES2
DROP TABLE #SPR_ESN
DROP TABLE #ATR_4FSS
DROP TABLE #DGH_FAKT_BASE
DROP TABLE #SALARY_SUM2
DROP TABLE #SPR_ESN1
DROP TABLE #SPR_ESN2
--DROP TABLE #SPR_ESN1KATEG3
--DROP TABLE #SPR_ESN2KATEG3
DROP TABLE #SPR_ESN1Res
DROP TABLE #SPR_ESN2Res
DROP TABLE #RAZD31
DROP TABLE #DGH_FAKT_BASE2
DROP TABLE #SALARY_SUM
DROP TABLE #SALARY_SUM1
DROP TABLE #TRAVM_LGOTY
DROP TABLE #TABLE6







GO


GRANT EXECUTE ON dbo.[RSA_4FSS_20032015_PREPARE] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_SMETA_SMART]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_SMETA_SMART]

GO
CREATE PROCEDURE dbo.SYNCH_SMETA_SMART (@LINK_JOURN_TAB INT, @COMENT VARCHAR(1000) OUTPUT, @STATUS INT OUTPUT)
/*

DECLARE @COMENT VARCHAR(1000) , @STATUS INT
EXEC dbo.[SYNCH_SMETA_SMART] @LINK_JOURN_TAB = 8, @COMENT = @COMENT OUTPUT, @STATUS = @STATUS OUTPUT
SELECT @COMENT, @STATUS

*/

AS

IF @LINK_JOURN_TAB IS NULL
	OR
	NOT EXISTS (SELECT * FROM dbo.SYNCH_SMETA_SMART_TAB WHERE LINK = @LINK_JOURN_TAB)
BEGIN
	SELECT @STATUS = 3, @COMENT = 'Неверная ссылка.'
	RETURN 1
END	

DECLARE @SAL_OPT_SERVER_NAME VARCHAR(254)

SET @SAL_OPT_SERVER_NAME = 
(
SELECT TOP 1 VALUE 
FROM dbo.S_OPTIONS 
WHERE 
	[OBJECT] = (SELECT LINK FROM dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_SERVER_NAME')
	AND SID IS NULL 
)	

IF LTRIM(RTRIM(ISNULL(@SAL_OPT_SERVER_NAME,''))) = ''
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = 'В настройках синхронизации не указан SQL-сервер.'
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	SELECT @STATUS = [STATUS], @COMENT = COMENT FROM dbo.SYNCH_SMETA_SMART_TAB WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END

DECLARE @SAL_OPT_BASE_NAME VARCHAR(254)

SET @SAL_OPT_BASE_NAME = 
(
SELECT TOP 1 VALUE 
FROM dbo.S_OPTIONS 
WHERE 
	[OBJECT] = (SELECT LINK FROM dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_BASE_NAME')
	AND SID IS NULL 
)

IF LTRIM(RTRIM(ISNULL(@SAL_OPT_BASE_NAME,''))) = ''
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = 'В настройках синхронизации не указана база данных ПК Смета-Смарт.'
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	SELECT @STATUS = [STATUS], @COMENT = COMENT FROM dbo.SYNCH_SMETA_SMART_TAB WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END
--------------------

DECLARE @COM NVARCHAR(254)

SET @COM = 
	(SELECT TOP 1 command
		FROM 
			dbo.SYNCH_SMETA_SMART_TAB T
			INNER JOIN dbo.SYNCH_SMETA_SMART_OPT2 O ON O.LINK = T.[LINK_OPT2]
		WHERE T.LINK = @LINK_JOURN_TAB)


IF LTRIM(RTRIM(ISNULL(@COM,''))) = ''
BEGIN
	UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
		COMENT = 'В найдена подпрограмма синхронизации'
		,[STATUS] = 3
	WHERE LINK = @LINK_JOURN_TAB
	
	SELECT @STATUS = [STATUS], @COMENT = COMENT FROM dbo.SYNCH_SMETA_SMART_TAB WHERE LINK = @LINK_JOURN_TAB
	
	RETURN 1
END	

SET @SAL_OPT_SERVER_NAME = REPLACE(@SAL_OPT_SERVER_NAME,'[','')
SET @SAL_OPT_SERVER_NAME = QUOTENAME(REPLACE(@SAL_OPT_SERVER_NAME,']',''))

SET @SAL_OPT_BASE_NAME = REPLACE(@SAL_OPT_BASE_NAME,']','')
SET @SAL_OPT_BASE_NAME = QUOTENAME(REPLACE(@SAL_OPT_BASE_NAME,']',''))

SET @SAL_OPT_SERVER_NAME = @SAL_OPT_SERVER_NAME + '.' + @SAL_OPT_BASE_NAME + '.'


DECLARE @SQL NVARCHAR(4000)

SET @SQL = 'EXEC ' + @COM + ' @DB = @PAR1,  @LINK_JOURN_TAB = @PAR2'
PRINT @SQL
EXEC SP_EXECUTESQL @SQL, N'@PAR1 VARCHAR(254), @PAR2 INT', @PAR1 = @SAL_OPT_SERVER_NAME, @PAR2 = @LINK_JOURN_TAB

SELECT @STATUS = [STATUS], @COMENT = COMENT FROM dbo.SYNCH_SMETA_SMART_TAB WHERE LINK = @LINK_JOURN_TAB

RETURN 0

GO


GRANT EXECUTE ON dbo.[SYNCH_SMETA_SMART] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RA_EXPORT_FORM_STANDART]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RA_EXPORT_FORM_STANDART]

GO

CREATE PROCEDURE [dbo].[RA_EXPORT_FORM_STANDART]
	@iLINK_SAVED_FORM  INT,	                   -- Линк выгружаемой формы
	@vcFILE_NAME	   VARCHAR(100)='' OUTPUT, -- Имя текстового файла
	@iMODE	           INT=1,                  -- Формат: 1-внутренний, 2-минфиновский	
    @vcFILE_NAME_ARH   VARCHAR(100)='' OUTPUT
	--@bSvodWEB         BIT = 0     -- 1 - выгрузка из Свода-WEB, 0 - из Свода-КС.
AS

SET NOCOUNT ON

CREATE TABLE #IMPORT_TABLE([TXT]   VARCHAR(8000), 
                           [ORDER] INT IDENTITY(1, 1))	   

CREATE TABLE #REPORT_DINAMICS([LINK_SF]   INT,
                              [LINK_COL]  INT,
                              [CODE_ROW]  VARCHAR(100),
                              [FLOAT_VAL] NUMERIC(20,4),
                              [STR_VAL]   VARCHAR(8000))

CREATE TABLE #REPORT_SUMMA([LINK_SAVED_FORM] INT,
                           [LINK_COL]        INT,
                           [LINK_ROW]        INT,
                           [SUMMA]           FLOAT(53))

CREATE TABLE #tabExportForms([LINK_SAVED_FORM] INT)

DECLARE @vcVersion       VARCHAR(50),
        @lbIsEmpty       BIT,
        @lcEXPORT_CODE   CHAR(10),
        @lcFORM_CODE     CHAR(20),
        @liFORM_LINK     INT, 
        @lvcPARAM_EXPORT VARCHAR(8000), 
        @ldBEGIN_DATE    DATETIME,
        @ldSTART_DATE    DATETIME,  
        @lvcOUTCODE      VARCHAR(10),
        @lvcDEP_BUDG     VARCHAR(10),
        @lvcDEP_NAME     VARCHAR(254),   
        @lsVERSION       SMALLINT,
        @lvcOKATO        VARCHAR(20),
           
        @liError           INT, 
        @lvcTXT            VARCHAR(8000), 
        @lvcExecTable      VARCHAR(8000), 
        @liORDERS          INT, 
		  @lvcORDERS			VARCHAR(50),
        @lvcTXTDataNotNull VARCHAR(4000),

        @liDEP_LINK	         INT,
        @liDEP_LINK_OWN       INT,
        @liTABLE_LINK	      INT,
        @liTABLE_ORDER	      INT,
        @liTABLE_VAL_TYPE	   INT,
        @liLINK_CODE_COL	   INT,
        @ltORDER_CODE_COL	   INT,
        @liCOL_LINK	         INT,
        @liCOL_TYPE	         INT,
        @liCOL_VAL_LEN        INT,
        @ltCOL_ISEDITED       TINYINT,
        @ltCOL_ISEXPORTED     TINYINT,
        @ltPERIOD_TYPE        TINYINT,
        @lvcDICTIONARY_COLUMNS_LIST VARCHAR(250),

        @lvcExec	            VARCHAR(8000),
        @lvcVersion           VARCHAR(50),

        @lvcATRIBUTS     VARCHAR(8000),
        @lvcATR          VARCHAR(8000),
        @liPosition      INT,
		  @lvcUpdateSelect VARCHAR(8000),
        @tVersionPlace   TINYINT,

        @bIsFormUnion    BIT,
        @vcBOSS          VARCHAR(1000),
          @vcBUH VARCHAR(1000),
          @vcISP VARCHAR(1000),
          @vcTel VARCHAR(1000)
        
IF OBJECT_ID('tempdb..#tabExportOutput') IS NOT NULL
BEGIN
   SELECT @vcVersion = [VERSION]
   FROM #tabExportOutput 
END

SET @bIsFormUnion = 0

IF @iLINK_SAVED_FORM = 0
BEGIN
	RETURN 2 -- Максимальное обрабатываемое Число способов выгрузки
END

-- Удалить запрещенные ячейки из формы.
DELETE [A]
FROM dbo.[REPORT_SUMMA]	  [A]
JOIN dbo.[REPORT_FORMULA] [B] ON [A].[LINK_COL]=[B].[LINK_COL] AND 
											[A].[LINK_ROW]=[B].[LINK_ROW]
WHERE [A].[LINK_SAVED_FORM] = @iLINK_SAVED_FORM AND
		[B].[FORMULA]='ЗАПРЕТ()'

SELECT @liFORM_LINK          = [B].[LINK_FORM],
       @ldSTART_DATE         = [B].[START_DATE],
       @lvcPARAM_EXPORT      = [B].[PARAM_EXPORT],
       @lcFORM_CODE          = [B].[CODE],
       @lcEXPORT_CODE        = [B].[ExportCode],
       @ltPERIOD_TYPE        = [A].[PERIOD_TYPE],
       @liDEP_LINK           = [A].[LINK_ORGANIZATION],
       @lvcDEP_BUDG          = [D].[BUDG],
       @lvcDEP_NAME          = [D].[NAME],
       @ldBEGIN_DATE         = [A].[BEGIN_DATE],
       @lvcOUTCODE            = ISNULL(CASE 
                                         WHEN [C].[OUTCODE] IS NULL THEN 
                                            (SELECT [OUTCODE]
                                             FROM dbo.[RA_VIEW_EMPTY_BUDGET])
                                         ELSE [C].[OUTCODE]
                                      END,'--'),
       @lvcATRIBUTS          = [ATRIBUTS],
       @lsVERSION            = [A].[VERSION] + 1
FROM dbo.[REPORT_SAVED_FORMS] [A]
JOIN dbo.[REPORT_FORMS]       [B] ON [A].[LINK_FORM] = [B].[LINK_FORM]
LEFT JOIN dbo.[KL_BUDG_TYPE]  [C] ON [A].[LINK_TYPE_SVOD] = [C].[LINK]
LEFT JOIN dbo.[DEPARTMENTS]   [D] ON [A].[LINK_ORGANIZATION] = [D].[LINK]
WHERE [A].[LINK_SAVED_FORM] = @iLINK_SAVED_FORM



IF @lcEXPORT_CODE IN ('624', '625')
BEGIN
   SET @tVersionPlace = 1
END
ELSE BEGIN
   SET @tVersionPlace = 2
END

IF @vcVersion IS NOT NULL
BEGIN
   IF dbo.[RA_ISNUMERIC](REPLACE(@vcVersion,'.','')) = 1
   BEGIN
      SET @lsVersion = CAST(@vcVersion AS INT)
   END
END

IF @lcEXPORT_CODE = '484' and @iMODE = 2
BEGIN
   INSERT #tabExportForms([LINK_SAVED_FORM])
   SELECT [LINK]
   FROM dbo.[BufferGetTableByID]('REPORT_ATR_EXPORT')

   IF @@ROWCOUNT = 0
   BEGIN
      INSERT #tabExportForms([LINK_SAVED_FORM]) VALUES (@iLINK_SAVED_FORM)
   END

   SET @bIsFormUnion = 1   

   INSERT #REPORT_DINAMICS([LINK_SF],
                           [LINK_COL],
                           [CODE_ROW],
                           [FLOAT_VAL],
                           [STR_VAL])

   SELECT @iLINK_SAVED_FORM,
          [A].[LINK_COL],
          [A].[CODE_ROW] + [B].[ADM],
          [A].[FLOAT_VAL],
          [A].[STR_VAL]
   FROM dbo.[REPORT_DINAMICS] [A]
   JOIN (SELECT [LINK_SAVED_FORM],
                [ADM] = RTRIM(dbo.[RN_GET_ATR_VALUE]([LINK_SAVED_FORM],'REPORTS_ATR_ADM'))
         FROM #tabExportForms) [B] ON [A].[LINK_SF] = [B].[LINK_SAVED_FORM]

   INSERT #REPORT_DINAMICS([LINK_SF],
                           [LINK_COL],
                           [CODE_ROW],
                           [FLOAT_VAL],
                           [STR_VAL])
   SELECT @iLINK_SAVED_FORM,
          [A].[LINK_COL],
          [A].[CODE_ROW] + '***',
          SUM([A].[FLOAT_VAL]),
          MAX([A].[STR_VAL])
   FROM dbo.[REPORT_DINAMICS] [A]
   JOIN #tabExportForms       [B] ON [A].[LINK_SF] = [B].[LINK_SAVED_FORM]
   WHERE [A].[CODE_ROW] IN ('85000000000000000','52001000000000000000')
   GROUP BY [A].[LINK_SF],
            [A].[LINK_COL],
            [A].[CODE_ROW]

   DELETE #REPORT_DINAMICS
   WHERE (LEFT([CODE_ROW],17) = '85000000000000000' AND SUBSTRING([CODE_ROW],18,3)<>'***') OR
         (LEFT([CODE_ROW],20) = '52001000000000000000' AND SUBSTRING([CODE_ROW],21,3)<>'***')

   INSERT #REPORT_SUMMA([LINK_SAVED_FORM],
                        [LINK_COL],
                        [LINK_ROW],
                        [SUMMA])
   SELECT @iLINK_SAVED_FORM,          
          [A].[LINK_COL],
          [A].[LINK_ROW],
          SUM([A].[SUMMA])
   FROM dbo.[REPORT_SUMMA] [A]
   JOIN #tabExportForms    [B] ON [A].[LINK_SAVED_FORM] = [B].[LINK_SAVED_FORM]
   GROUP BY [A].[LINK_COL],
            [A].[LINK_ROW]
END

SET @vcFILE_NAME = UPPER(CASE @iMODE
                      WHEN 2 THEN LTRIM(RTRIM(CASE 
                                                 WHEN @lcEXPORT_CODE = '' THEN @lcFORM_CODE
                                                 ELSE @lcEXPORT_CODE
                                              END)) + 
                                  CASE @ltPERIOD_TYPE
                                     WHEN 1 THEN 'Y' 
                                     WHEN 2 THEN 'M' --'Q' 
                                     ELSE 'M' 
                                  END + 
                                  REPLICATE('0',@tVersionPlace - LEN(RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), @tVersionPlace))) + RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), 2) 
                      ELSE RTRIM(ISNULL((SELECT [BUDG] 
                                         FROM dbo.[DEPARTMENTS] 
WHERE [LINK] = @liDEP_LINK),'00000')) + 
                           '_' +
                           RTRIM(@lvcOUTCODE) +
                           '_' +
                           LTRIM(RTRIM(@lcFORM_CODE)) 
                   END) +
                   '.txt'


IF @lcEXPORT_CODE IN ('624', '625')
BEGIN 
   SET @vcFILE_NAME_ARH = '4'+ 
                          ISNULL(RTRIM(REPLICATE('0',3 - LEN(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')))),'') +  
                          LTRIM(RIGHT(RTRIM(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')),3)) + 
                          RIGHT(CAST(YEAR(@ldBEGIN_DATE) AS VARCHAR(4)),1) +
                          RIGHT(RTRIM(CONVERT(CHAR(1), @lsVERSION)), 2) +
                          '.arj'
END
ELSE BEGIN   
   IF @lcEXPORT_CODE IN ('371','372','360')
   BEGIN
      SET @vcFILE_NAME_ARH = ISNULL(RTRIM(REPLICATE('0',CASE 
                                                           WHEN @lcEXPORT_CODE IN ('371', '372') THEN 3
                                                           ELSE 4
                                                        END - LEN(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')))),'') +  
                             LTRIM(RIGHT(RTRIM(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')),4)) + '_' +
                             RTRIM(REPLACE(CONVERT(VARCHAR(50),@ldBEGIN_DATE+1,4),'.','')) + '_' + 
                             RTRIM(RTRIM(CASE 
                                            WHEN @lcEXPORT_CODE = '' THEN @lcFORM_CODE
                                            ELSE @lcEXPORT_CODE
                                         END)) + '_' + 
                             CASE @ltPERIOD_TYPE
                                WHEN 1 THEN 'Y'
                                WHEN 2 THEN 'M' --'Q' 
                                ELSE 'M'
                             END + '_F_' + 
                             REPLICATE('0',@tVersionPlace - LEN(RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), @tVersionPlace))) + RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), 2) +
                             '.arj'
   END
   ELSE BEGIN
      SET @vcFILE_NAME_ARH = ISNULL(RTRIM(REPLICATE('0',4 - LEN(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')))),'') +  
                             LTRIM(RIGHT(RTRIM(ISNULL(dbo.[RA_GET_OPTION_STRING]('SUBJECT_CODE','EXPORT'),'')),4)) + '_' +
                             RTRIM(REPLACE(CONVERT(VARCHAR(50),@ldBEGIN_DATE+1,4),'.','')) + '_' + 
                             RTRIM(RTRIM(CASE 
                                            WHEN @lcEXPORT_CODE = '' THEN @lcFORM_CODE
                                            ELSE @lcEXPORT_CODE
                                         END)) + '_' + 
                             CASE @ltPERIOD_TYPE
                                WHEN 1 THEN 'Y'
                                WHEN 2 THEN 'M' --'Q' 
                                ELSE 'M'
                             END + '_' + 
                             REPLICATE('0',@tVersionPlace - LEN(RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), @tVersionPlace))) + RIGHT(RTRIM(CONVERT(CHAR(4), @lsVERSION)), 2) +
                             '.arj'
   END
END

EXEC dbo.[ВЕРСИЯ] @lvcVersion OUTPUT, 0

IF @lvcVersion IS NULL
BEGIN
   SET @lvcVersion = ''
END

-- Шапка внутреннего формата.
IF @iMode = 1
BEGIN
	INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcDEP_NAME)
	
	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ВФ=0'
	
   INSERT #IMPORT_TABLE([TXT])
	SELECT 'ПО=Свод-КС ' + REPLACE(REPLACE(@lvcVersion,'Версия',''),' ','')

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'КБП=' + @lvcDEP_BUDG

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ВБ=' + RTRIM(@lvcOUTCODE)

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'КФ=' + @lcFORM_CODE
	
	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ПРД=' + LTRIM(STR(@ltPERIOD_TYPE))
	
	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ДФ=' + CONVERT(CHAR(10), @ldSTART_DATE, 104) 
	
	INSERT #IMPORT_TABLE
	SELECT 'ДТ=' + CONVERT(CHAR(10), @ldBEGIN_DATE + 1, 104) 

	IF NULLIF(@lvcATRIBUTS,'') IS NOT NULL
	BEGIN
		INSERT #IMPORT_TABLE([TXT]) VALUES ('РА=0')

		WHILE @lvcATRIBUTS<>''
		BEGIN
			SET @liPosition = PATINDEX('%,%',@lvcATRIBUTS)

			IF @liPosition = 0
			BEGIN
			SET @liPosition = LEN(@lvcATRIBUTS) + 1
			END

			SET @lvcATR = LEFT(@lvcATRIBUTS,@liPosition-1)
			SET @lvcATRIBUTS = SUBSTRING(@lvcATRIBUTS,@liPosition+1,8000)
			SET @lvcTXT = @lvcATR + '=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,@lvcATR)
			INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcTXT)         
		END
	END
END

-- Шапка формата МФ.
IF @iMode = 2
BEGIN
		
   IF OBJECT_ID('tempdb..#tabPARAM_EXPORT') IS NULL
   BEGIN
      CREATE TABLE  #tabPARAM_EXPORT ([TXT]         VARCHAR(1000), 
                                      [TABLE_ORDER] INT IDENTITY(1,1))
	   WHILE LEN(@lvcPARAM_EXPORT) > 0
	   BEGIN
	   
			
		   EXEC dbo.[RO_FORMULA_FUNCTIONS] 1, 
										           @lvcPARAM_EXPORT OUTPUT, 
										           @lvcTXT OUTPUT, 
										           '#'
		   INSERT #tabPARAM_EXPORT([TXT]) VALUES (@lvcTXT)
		   
      END
   END

	INSERT #IMPORT_TABLE([TXT]) VALUES ('#%')

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'КОДФ=' + CASE @lcEXPORT_CODE
					   WHEN '' THEN @lcFORM_CODE
					   ELSE @lcEXPORT_CODE
					END   

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ПРД=' + CASE @ltPERIOD_TYPE
					   WHEN 1 THEN '5' -- Год.
					   WHEN 2 THEN '3' -- '4' -- Квартал. 
					   ELSE '3'        -- Месяц.
				   END

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'РДТ=' + CONVERT(CHAR(10), @ldBEGIN_DATE + 1, 104) 

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ВИД=' + RTRIM(@lvcOUTCODE)

   IF	(@lcFORM_CODE LIKE '05037%' OR 
       @lcFORM_CODE LIKE '05033%' OR 
       @lcFORM_CODE LIKE '425%' OR 
       @lcFORM_CODE LIKE '410G%') AND LEN(@lvcDEP_BUDG) = 2
   BEGIN
      SET @lvcDEP_BUDG = '0' + LTRIM(@lvcDEP_BUDG)
   END

	INSERT #IMPORT_TABLE([TXT])
	SELECT 'ИСТ=' + @lvcDEP_BUDG

	IF @lcFORM_CODE IN ('0503127M','0503127G','(72н)0503125','(72н)0503125М','(72н)425','425G','425M','(72н)425M','0503125G','0503125M','0503178G_Б','0503178M_Б', '0503725G', '0503725M')
	BEGIN	
	   IF	@lcFORM_CODE IN ('0503127M','0503127G','0503125G','0503125M','0503178G_Б','0503178M_Б')
	   BEGIN
     		INSERT #IMPORT_TABLE([TXT])
	   	SELECT 'ПРП=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,'REPORTS_ATR_PRP')
	   END
	
	   IF	@lcFORM_CODE NOT IN ('0503127M','0503127G','0503178G_Б','0503178M_Б', '0503725G', '0503725M')
	   BEGIN
			if YEAR(@ldSTART_DATE) >=2011
			begin
   				INSERT #IMPORT_TABLE([TXT])
				SELECT 'КСБУ=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,'REPORTS_ATR_ACC_2011')	
			end
			else begin
   				INSERT #IMPORT_TABLE([TXT])
				SELECT 'КСБУ=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,'REPORTS_ATR_ACC')	
			end
		END

	   IF	@lcFORM_CODE IN ('0503725G','0503725M')
	   BEGIN
	      SET @lvcOKATO = ''
	   	
	   	SELECT @lvcOKATO = REPLACE(ISNULL(RTRIM([B].[OKATO]),''),' ','')
	      FROM dbo.[REPORT_SAVED_FORMS] [A]
	      JOIN dbo.[DEPARTMENTS]        [B] ON [B].[LINK] = [A].[LINK_ORGANIZATION] 	      
	      WHERE [A].[LINK_SAVED_FORM] = @iLINK_SAVED_FORM
	
     		INSERT #IMPORT_TABLE([TXT])
	   	SELECT 'ОКАТО=' + LEFT(@lvcOKATO,8)
	   END
      		
	   IF	@lcFORM_CODE IN ( '0503725G', '0503725M')
	   BEGIN
			INSERT #IMPORT_TABLE([TXT])
			SELECT 'КСБУ=' + dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,'REPORTS_ATR_ACC_725')	
		END

	   IF	@lcFORM_CODE IN ('0503125G','0503125M')
	   BEGIN
	      SET @lvcOKATO = ''
	   	
	   	SELECT @lvcOKATO = REPLACE(ISNULL(RTRIM([B].[OKATO]),''),' ','')
	      FROM dbo.[REPORT_SAVED_FORMS] [A]
	      JOIN dbo.[DEPARTMENTS]        [B] ON [B].[LINK] = [A].[LINK_ORGANIZATION] 	      
	      WHERE [A].[LINK_SAVED_FORM] = @iLINK_SAVED_FORM
	
     		INSERT #IMPORT_TABLE([TXT])
	   	SELECT 'ОКАТО=' + @lvcOKATO
	   END
	END	

	INSERT #IMPORT_TABLE ([TXT]) VALUES ('#')
END

CREATE TABLE #tabExcludeCodes([LINK_TABLE] INT,
                              [CODE]       VARCHAR(250))                  
INSERT #tabExcludeCodes([LINK_TABLE],
                        [CODE])                             
EXEC [RA_EXPORT_FORM_GET_EXCLUDE_CODES] @liFORM_LINK, @iLink_Saved_Form

-- Выгрузка части с данными.
DECLARE curTables CURSOR STATIC LOCAL FOR
	SELECT [A].[LINK_TABLE],
          [A].[ORDERS],
          [A].[VAL_TYPE],
          [A].[LINK_CODE_COL],
          [ORDER_CODE_COL] = [B].[ORDERS],
          [DICTIONARY_COLUMNS_LIST] = REPLACE(ISNULL([B].[DICTIONARY_COLUMNS_LIST] + ',',''),' ','') 
   FROM dbo.[REPORT_TABLES]   [A]
   JOIN dbo.[REPORT_COLOUMNS] [B] ON [A].[LINK_CODE_COL] = [B].[LINK_COL]
   WHERE [LINK_FORM] = @liFORM_LINK
   ORDER BY A.orders 

OPEN curTables

FETCH NEXT 
FROM curTables 
INTO @liTABLE_LINK, 
     @liTABLE_ORDER, 
     @liTABLE_VAL_TYPE, 
     @liLINK_CODE_COL,
     @ltORDER_CODE_COL,
     @lvcDICTIONARY_COLUMNS_LIST

SET @lbIsEmpty = 0
IF OBJECT_ID('tempdb..#tabPARAM_EXPORT') IS NOT NULL
BEGIN
   IF NOT EXISTS(SELECT *
                 FROM #tabPARAM_EXPORT)
   BEGIN
      SET @lbIsEmpty = 1
   END
END

WHILE @@FETCH_STATUS = 0
BEGIN
   --EXEC dbo.[I_REPORT_CREATE_PROC] @liTABLE_LINK,'#',3

	SET @lvcTXT = ''

   IF @iMode = 1 OR
      (@iMode = 2 AND @lbIsEmpty = 1)
   BEGIN

   	  -- для формы 0503128 по внутреннему формату добавляются коды Администратора	
/*	  IF @lcFORM_CODE like '0503128%' AND  @liTABLE_ORDER IN (1,2,4) AND 1=0  
	  BEGIN
	  		  SELECT @lvcTXT = @lvcTXT + 
							   CASE WHEN @liTABLE_ORDER = 1 AND [ORDERS] = 2 
									   THEN 	(CASE [COL_TYPE] 
												   WHEN 0 THEN 'STR(COL'
												   ELSE 'RTRIM(COL' 
											   END + 
											   CAST([ORDERS] AS VARCHAR(3)) + 
											   ')+''|''+ case when RTRIM(COL16) = ''96000000000000000'' then ''000'' else '''+dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,@lvcATR)+ ''' end +''|''+') 
									 WHEN @liTABLE_ORDER = 2 AND [ORDERS] = 13 
									   THEN 	(CASE [COL_TYPE] 
												   WHEN 0 THEN 'case when RTRIM(COL13) = ''50090000000000000000'' then ''000'' else '''+ dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,@lvcATR)+'''end +''|''+'+'STR(COL'
												   ELSE 'case when RTRIM(COL13) = ''50090000000000000000'' then ''000'' else '''+ dbo.[RN_GET_ATR_VALUE](@iLINK_SAVED_FORM,@lvcATR)+'''end +''|''+'+'RTRIM(COL' 
											   END + 
											   CAST([ORDERS] AS VARCHAR(3)) + 
											   ')+''|''+') 	
									  WHEN @liTABLE_ORDER = 4 AND [ORDERS] = 2 
									   THEN 	(CASE [COL_TYPE] 
												   WHEN 0 THEN 'STR(COL'
												   ELSE 'RTRIM(COL' 
											   END + 
											   CAST([ORDERS] AS VARCHAR(3)) + 
											   ')+''|''+') 			   
									   
									   ELSE    (CASE [COL_TYPE] 
												   WHEN 0 THEN 'STR(COL'
												   ELSE 'RTRIM(COL' 
											   END + 
											   CAST([ORDERS] AS VARCHAR(3)) + 
											   ')+''|''+')
								END	   
			  FROM dbo.[REPORT_COLOUMNS]
			  WHERE [ISEXPORTED] = 1 AND
					[LINK_TABLE] = @liTABLE_LINK 
			  ORDER BY [EXPORT_ORDER]

	  
		--SELECT @lvcTXT
			  
	  END   	
	  ELSE BEGIN
*/	       	

			  SELECT @lvcTXT = @lvcTXT + 
							   CASE [COL_TYPE] 
								   WHEN 0 THEN 'STR(COL'
								   ELSE 'RTRIM(COL' 
							   END + 
							   CAST([ORDERS] AS VARCHAR(3)) + 
							   ')+''|''+'
			  FROM dbo.[REPORT_COLOUMNS]
			  WHERE [ISEXPORTED] = 1 AND
					[LINK_TABLE] = @liTABLE_LINK 
			  ORDER BY [EXPORT_ORDER]
/*	   END	*/	
      
      IF LEN(@lvcTXT)>0
      BEGIN
         SET @lvcTXT = LEFT(@lvcTXT,LEN(@lvcTXT)-1)
      END


    --select @lvcTXT 
   END
   ELSE BEGIN

   	SELECT @lvcTXT = [TXT]
      FROM #tabPARAM_EXPORT 
      WHERE [TABLE_ORDER] = @liTABLE_ORDER
    END


	IF LEN(ISNULL(@lvcTXT, '')) > 0
	BEGIN
      IF @iMode = 1
	  BEGIN
   		INSERT #IMPORT_TABLE 
        SELECT [TXT] = 'РД=' + LTRIM(CONVERT(VARCHAR(2),@liTABLE_ORDER)) 
      END
      ELSE BEGIN
      	
       	    	INSERT #IMPORT_TABLE([TXT]) SELECT '#@'
   				INSERT #IMPORT_TABLE([TXT]) SELECT 'ТБ=' + RIGHT(RTRIM('0' + LTRIM(CONVERT(CHAR(2),@liTABLE_ORDER))),2)
   				INSERT #IMPORT_TABLE([TXT]) SELECT '#$'

      END

/*
		SELECT @liLINK_CODE_COL = [LINK_CODE_COL]
      FROM dbo.[REPORT_TABLES]
      WHERE [LINK_TABLE] = @liTABLE_LINK
*/

			SELECT @lvcExecTable = 'CREATE TABLE #tabRI_PROC_T ([CHECKED] INT, [UPD] INT, [DEL] INT, [LINK_SAVED_FORM] INT, [LINK_ROW] INT, [ORDERS] INT, [CALC_ORDERS] INT, [PRINT_NULL] INT, [CODE] ' + 
								 CASE 
									WHEN [A].[COL_TYPE] = 1 THEN 'VARCHAR(100)' 
									ELSE 'FLOAT' 
								 END,
					 @lvcUpdateSelect = 'SELECT [CHECKED], [UPD], [DEL], [LINK_SAVED_FORM], [LINK_ROW], [ORDERS], [CALC_ORDERS], [PRINT_NULL], [CODE] '
			FROM dbo.[REPORT_COLOUMNS]    [A]
		  LEFT JOIN dbo.[REPORT_TABLES] [B] ON [B].[LINK_CODE_COL] = [A].[LINK_COL]
			WHERE [B].[LINK_TABLE] = @liTABLE_LINK

      SET @lvcTXTDataNotNull = '1=2'

   IF EXISTS(SELECT * FROM REPORT_FORMS A 
   INNER JOIN REPORT_TABLES B ON A.Link_Form = B.Link_Form
             WHERE B.Link_Table = @liTABLE_LINK AND A.Code = '0503317M' AND B.Orders IN (1,3))
      SET @lvcTXTDataNotNull = '1=1'
       

   	DECLARE tabColumns CURSOR LOCAL STATIC FOR 
         SELECT [LINK_COL],
                [COL_TYPE],
                [ORDERS],
                [VAL_LEN],
                [ISEDITED],
                [ISEXPORTED]
         FROM dbo.[REPORT_COLOUMNS]
         WHERE [LINK_TABLE] = @liTABLE_LINK 
         ORDER BY [ORDERS]

		OPEN tabColumns

		FETCH 
      NEXT FROM tabColumns
		INTO @liCOL_LINK, 
           @liCOL_TYPE, 
           @liORDERS, 
           @liCOL_VAL_LEN, 
           @ltCOL_ISEDITED,
           @ltCOL_ISEXPORTED
      
   
		WHILE @@FETCH_STATUS = 0
		BEGIN
			    
			SELECT @lvcORDERS = LTRIM(STR(@liORDERS)),
					 @lvcExecTable = @lvcExecTable + ', COL' + @lvcORDERS + 
										  CASE 
	                                WHEN @liCOL_TYPE = 1 THEN ' VARCHAR(8000)' 
		                             ELSE ' NUMERIC(20,' + LTRIM(STR(@liCOL_VAL_LEN)) + ')' 
			                       END,
					 @lvcUpdateSelect = @lvcUpdateSelect + 
  											  ', COL' + @lvcORDERS + 
											  '=ISNULL(COL' + @lvcORDERS + ',' + 
											  CASE 
												  WHEN @liCOL_TYPE = 1 THEN '''''' 
												  ELSE '0'
											  END + ')'

			IF @ltCOL_ISEXPORTED = 1 AND 
			   @liORDERS <> @ltORDER_CODE_COL AND
			   @lvcDICTIONARY_COLUMNS_LIST not like '%COL' + @lvcORDERS + ',%'
			BEGIN			
			   IF @liCOL_TYPE = 0
			   BEGIN
				   SET @lvcTXTDataNotNull = @lvcTXTDataNotNull +                                       
                                        ' OR COL' + @lvcORDERS + ' <> 0'
			   END
			   ELSE BEGIN
				   SET @lvcTXTDataNotNull = @lvcTXTDataNotNull +                                       
                                        ' OR COL' + @lvcORDERS + ' <> '''''
			   END
			END

		   FETCH 
         NEXT FROM tabColumns
		   INTO @liCOL_LINK, 
              @liCOL_TYPE, 
              @liORDERS, 
              @liCOL_VAL_LEN, 
              @ltCOL_ISEDITED,
              @ltCOL_ISEXPORTED
		END

		CLOSE tabColumns
		DEALLOCATE tabColumns

		IF @liTABLE_VAL_TYPE = 0
      BEGIN
			SET @lvcExecTable = @lvcExecTable + ',[ITOG] TINYINT)'
      END
		ELSE BEGIN
			SET @lvcExecTable = @lvcExecTable + ')'
      END


		SET @lvcExec = @lvcExecTable + CHAR(13) +
                     ' INSERT #tabRI_PROC_T exec dbo.[RI_PROC_T' + 
                     CASE 
                        WHEN @bIsFormUnion = 1 THEN '#'
                        ELSE ''
                     END + 
                     LTRIM(STR(@liTABLE_LINK)) + 
     '] @DEL_FCOL=1, @varKSLSF=' + 
                     LTRIM(STR(@iLINK_SAVED_FORM)) 

      IF @iMode=2    
      BEGIN
  
         SET @lvcExec = @lvcExec + CHAR(13) +                        
                        ' EXEC dbo.[RA_EXPORT_FORM_UPDATE] ' + CAST(@liTABLE_LINK AS VARCHAR(50)) + ',DEFAULT,1' + CHAR(13) + 
								' INSERT #IMPORT_TABLE([TXT]) SELECT ' + REPLACE(REPLACE(REPLACE(@lvcTXT, 'STR(', 'CONVERT(VARCHAR(20), '),'$CODE4$','''+RIGHT(''0000''+CAST(ROW_NUMBER() OVER (ORDER BY [ORDERS],[CODE]) AS VARCHAR(100)),4)+'''),'$CODE3$','''+RIGHT(''000''+CAST(ROW_NUMBER() OVER (ORDER BY [ORDERS],[CODE]) AS VARCHAR(100)),3)+''') + CHAR(13) + 
								' FROM ('+@lvcUpdateSelect+' FROM #tabRI_PROC_T) [QQ] WHERE ' + @lvcTXTDataNotNull + CHAR(13) + 'ORDER BY [ORDERS],[CODE] ' + 
								' DROP TABLE #tabRI_PROC_T'
      END
		ELSE BEGIN
			SET @lvcExec = @lvcExec + CHAR(13) +
								' INSERT #IMPORT_TABLE([TXT]) SELECT ' + REPLACE(@lvcTXT, 'STR(', 'CONVERT(VARCHAR(20), ') + ' FROM #tabRI_PROC_T WHERE ' + @lvcTXTDataNotNull + CHAR(13) + 'ORDER BY [ORDERS],[CODE] ' + 
								' DROP TABLE #tabRI_PROC_T'

		END

   -- print @lvcDICTIONARY_COLUMNS_LIST
   --print @iLINK_SAVED_FORM
   -- print @lvcExec 

 		EXEC(@lvcExec)

		IF @iMODE = 2  
      BEGIN
   		INSERT #IMPORT_TABLE (Txt) SELECT '#'

      END
	END

	FETCH NEXT 
   FROM curTables 
   INTO @liTABLE_LINK, 
        @liTABLE_ORDER, 
        @liTABLE_VAL_TYPE, 
        @liLINK_CODE_COL,
        @ltORDER_CODE_COL,
        @lvcDICTIONARY_COLUMNS_LIST        
END

CLOSE curTables
DEALLOCATE curTables

DECLARE @iTB_01 INT,
		@iTB_02 INT,
		@iTB_03 INT 
		
IF @lcFORM_CODE like '0503169M%' 	
begin	
	SET @iTB_02 = (SELECT TOP 1 [order] FROM #IMPORT_TABLE WHERE txt = 'ТБ=02'  )
	SET @iTB_03 = (SELECT TOP 1 [order] FROM #IMPORT_TABLE WHERE txt = 'ТБ=03'  )
	
	DELETE #IMPORT_TABLE
     WHERE [ORDER] BETWEEN @iTB_02-2 AND @iTB_02+1 OR
           [ORDER] BETWEEN @iTB_03-2 AND @iTB_03+1
    
    UPDATE #IMPORT_TABLE
          SET txt = 'ТБ=03'
    WHERE  txt = 'ТБ=05'     

end           

IF @iMode = 2
BEGIN
-- Выгрузка подписей.

   SELECT @vcBOSS = r.[boss],
          @vcBUH = r.[buh],
          @vcISP = r.[isp],
          @vcTel = r.[isp_tel]
   FROM dbo.[RT_VIEW_WEB_BOSS] r
   WHERE r.[link] = @liDEP_LINK


	INSERT #IMPORT_TABLE([TXT]) SELECT '#&'

   SELECT @liDEP_LINK_OWN = [LINK]
   FROM dbo.[DEPARTMENTS]   
   WHERE [TYPE] = 4

   SET  @lvcExec = 'Руководитель='
	SELECT @lvcExec = @lvcExec + RTRIM(REPLACE(ISNULL([CHIEF],''),'. ','.'))
   FROM dbo.[PrintDoc_GetDepData2](@liDEP_LINK_OWN)
   
   INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcExec)

   SET @lvcExec = 'Гл. бухгалтер='
	SELECT @lvcExec = @lvcExec + RTRIM(REPLACE(ISNULL([GLBUH],''),'. ','.'))
   FROM dbo.[PrintDoc_GetDepData2](@liDEP_LINK_OWN)

	INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcExec)

   SET @lvcExec = 'Исполнитель='
	SELECT  @lvcExec = @lvcExec + RTRIM(ISNULL([FIO],''))
   FROM dbo.[RA_GET_USER_INFO](NULL)
   
   IF @lvcExec = 'Исполнитель='
   BEGIN
      SET @lvcExec = @lvcExec + ISNULL(@vcISP, '')
   END       

   INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcExec)

	SET @lvcExec = 'Тел.=' 
	SELECT  @lvcExec = @lvcExec + RTRIM(ISNULL([PHONES],''))
   FROM dbo.[RA_GET_USER_INFO](NULL)
   
   IF @lvcExec = 'Тел.='
   BEGIN
      SET @lvcExec = @lvcExec + ISNULL(@vcTel, '')
   END        

	IF ISNULL(@lvcExec, '') <> ''
   BEGIN
		INSERT #IMPORT_TABLE([TXT]) VALUES (@lvcExec)
   END

	INSERT #IMPORT_TABLE([TXT]) SELECT '#'
	INSERT #IMPORT_TABLE([TXT]) SELECT '#~'

	INSERT #IMPORT_TABLE([TXT]) SELECT 'ППО=Свод-КС ' + RTRIM(@lvcVersion)
	FROM dbo.[REPORT_SAVED_FORMS]
	WHERE [LINK_SAVED_FORM] = @iLINK_SAVED_FORM	

	INSERT #IMPORT_TABLE (Txt) SELECT '#'
	INSERT #IMPORT_TABLE (Txt) SELECT '##'

   EXEC dbo.[RA_IMPORT_FORM_REPLACE_DATA] @tMode = 2,
                                          @cCODE_FORM = @lcFORM_CODE,
                                          @iLINK_SAVED_FORM = @iLINK_SAVED_FORM
                                                                 
   DROP TABLE #tabPARAM_EXPORT
END


INSERT #FileExportReport([TXT],
                         [NameFile],
                         [ORDERS],
                         [NameFileArh])
SELECT RTRIM(TXT), 
       @vcFILE_NAME, 
       [ORDER],
       @vcFILE_NAME_ARH
FROM #IMPORT_TABLE

--select * from #IMPORT_TABLE

DROP TABLE #IMPORT_TABLE 
DROP TABLE #REPORT_DINAMICS
DROP TABLE #REPORT_SUMMA
DROP TABLE #tabExportForms









GO


GRANT EXECUTE ON dbo.[RA_EXPORT_FORM_STANDART] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SYNCH_DICTIONARY_KOSGU]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SYNCH_DICTIONARY_KOSGU]
GO

CREATE PROCEDURE dbo.SYNCH_DICTIONARY_KOSGU (@DB NVARCHAR(250), @LINK_JOURN_TAB INT)
AS
BEGIN
/*
Синхронизация Источники финансирования
*/

--set xact_abort on
--BEGIN TRAN

-------Данные
CREATE TABLE #DICT (LINK INT, CODE VARCHAR(4), NAME VARCHAR(250), [Is_Ekr] tinyint, NUM INT)

DECLARE @SQL NVARCHAR(4000)

SET @SQL = 
N'	
INSERT INTO #DICT (LINK, CODE, NAME, [Is_Ekr], NUM)

SELECT D.LINK, LEFT(D.CODE,4), LEFT(D.SNAME,250), [Is_Ekr], NUM = ROW_NUMBER() OVER (PARTITION BY LEFT(D.CODE,4) ORDER BY D.LINK)
FROM
	' + @DB + 'dbo.kosgu D
WHERE
	DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) BETWEEN ISNULL(DATEB,''19800101'') AND ISNULL(DATEE,''20490101'')	
	AND
	EXISTS (
		SELECT * FROM 
			' + @DB + 'dbo.DEPARTMENTS D1
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS_REF GR1 on GR1.DEP_LINK = D1.LINK
			inner join ' + @DB + 'dbo.DEPARTMENT_GROUPS G1 on GR1.GROUP_LINK = G1.LINK and G1.[SYS] = 1
		WHERE
			D.LINK_DEP = D1.LINK)
	AND
	LEFT(D.CODE,4) <> ''''
'	
EXEC SP_EXECUTESQL @SQL

DELETE #DICT WHERE NUM <> 1

-----Добавление записи в качестве неопределенного бюджета

IF NOT EXISTS (SELECT * FROM dbo.kosgu WHERE [Code]= REPLICATE('-',4)) 
	INSERT INTO dbo.kosgu(CODE, NAME, [Is_Ekr], [db_kr])
	SELECT REPLICATE('-',4), 'Неизвестный подраздел',0,0

-----Синхронизация
CREATE TABLE #PROTOKOL (OP VARCHAR(1), LINK INT)

UPDATE A SET
	A.NAME = ISNULL(T.NAME,''),
	A.[Is_Ekr] = ISNULL(T.[Is_Ekr],0)
OUTPUT
	'U', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
FROM
	#DICT T
	INNER JOIN dbo.kosgu A ON T.CODE = A.CODE
WHERE
	A.NAME <> ISNULL(T.NAME,'')
	OR
	A.[Is_Ekr] <> ISNULL(T.[Is_Ekr],0)

INSERT INTO dbo.kosgu (CODE, NAME, [Is_Ekr], [db_kr]) 
OUTPUT
	'A', INSERTED.LINK INTO #PROTOKOL (OP, LINK)
SELECT
	T.CODE,
	ISNULL(T.NAME,''),
	ISNULL(T.[Is_Ekr],0),
	0
FROM
	#DICT T
WHERE
	NOT EXISTS (SELECT * FROM dbo.kosgu A WHERE A.CODE = T.CODE)

---- Запись протокола
UPDATE dbo.SYNCH_SMETA_SMART_TAB SET 
	COMENT = 
		(SELECT 'Доб: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'A') 
		+ '; ' + (SELECT 'Обн: ' + CONVERT(VARCHAR(5),COUNT(*)) FROM #PROTOKOL WHERE OP = 'U') 
	,[STATUS] = 1
WHERE LINK = @LINK_JOURN_TAB

--COMMIT TRAN

END

GO

GRANT EXECUTE ON dbo.[SYNCH_DICTIONARY_KOSGU] TO PUBLIC

GO

GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RA_EXPORT_FORM_123]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RA_EXPORT_FORM_123]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 2010

*******************************************************************************/
-- create table #FileExportReport (txt varchar(800), NameFile varchar(100), orders int)
CREATE PROCEDURE dbo.[RA_EXPORT_FORM_123]
	@iLINK_SAVED_FORM INT,	                   -- Линк выгружаемой формы
	@vcFILE_NAME	   VARCHAR(100)='' OUTPUT, -- Имя текстового файла
	@iMODE	         INT=1                   -- Формат: 2-свод-кс, 1-минфиновский
AS

DECLARE @iORDERS INT,@iORDERS2 INT,@iORDERS3 INT 
SET NOCOUNT ON

EXEC dbo.[RA_EXPORT_FORM_STANDART] @iLINK_SAVED_FORM,
                                   @vcFILE_NAME OUTPUT,
                                   @iMODE                          

SELECT @iORDERS = [ORDERS]+1
FROM #FileExportReport
WHERE [TXT]='ТБ=01'


SELECT @iORDERS2 = [ORDERS]-2
FROM #FileExportReport
WHERE [TXT]='ТБ=04'

SELECT * INTO #FileExportReport2 FROM #FileExportReport
WHERE  [ORDERS] > @iORDERS AND [ORDERS] < @iORDERS2

SELECT * INTO #FileExportReport3 FROM #FileExportReport
WHERE  [ORDERS] >= @iORDERS2  

UPDATE #FileExportReport3
SET [TXT] = 'ТБ=04'
WHERE [TXT] = 'ТБ=02'    

   
DELETE #FileExportReport WHERE [ORDERS] > @iORDERS

DECLARE @cNameFile VARCHAR(250), @cNameArh VARCHAR(250)
SELECT TOP 1 @cNameFile = [NameFile], @cNameArh = [NameFileArh]
FROM #FileExportReport

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT [TXT],[NAMEFILE],[ORDERS]+5,[NAMEFILEARH] FROM #FileExportReport2
WHERE LEFT([TXT],3)<='182'
ORDER BY [ORDERS]

SELECT @iORDERS3 = MAX(ORDERS) FROM #FileExportReport

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#',@cNameFile,@iORDERS3+1,@cNameArh 

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#@',@cNameFile,@iORDERS3+2,@cNameArh 
   
INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT 'ТБ=02',@cNameFile,@iORDERS3+3,@cNameArh 

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#$',@cNameFile,@iORDERS3+4,@cNameArh 
  
INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT [TXT],[NAMEFILE],[ORDERS]+@iORDERS3,[NAMEFILEARH] FROM #FileExportReport2
WHERE LEFT([TXT],3)>'182' AND LEFT([TXT],3)<'400'
ORDER BY [ORDERS]
   
SELECT @iORDERS3 = MAX(ORDERS) FROM #FileExportReport

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#',@cNameFile,@iORDERS3+1,@cNameArh 

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#@',@cNameFile,@iORDERS3+2,@cNameArh 
   
INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT 'ТБ=03',@cNameFile,@iORDERS3+3,@cNameArh 

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#$',@cNameFile,@iORDERS3+4,@cNameArh 
  
INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT [TXT],[NAMEFILE],[ORDERS]+@iORDERS3,[NAMEFILEARH] FROM #FileExportReport2
WHERE LEFT([TXT],3)>='400' 
ORDER BY [ORDERS]

SELECT @iORDERS3 = MAX(ORDERS) FROM #FileExportReport

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT [TXT],[NAMEFILE],[ORDERS]+@iORDERS3,[NAMEFILEARH] FROM #FileExportReport3
ORDER BY [ORDERS]



GO


GRANT EXECUTE ON dbo.[RA_EXPORT_FORM_123] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RA_EXPORT_FORM_723]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RA_EXPORT_FORM_723]

GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 2010

*******************************************************************************/
-- create table #FileExportReport (txt varchar(800), NameFile varchar(100), orders int)
CREATE PROCEDURE dbo.[RA_EXPORT_FORM_723]
	@iLINK_SAVED_FORM INT,	                   -- Линк выгружаемой формы
	@vcFILE_NAME	   VARCHAR(100)='' OUTPUT, -- Имя текстового файла
	@iMODE	         INT=1                   -- Формат: 2-свод-кс, 1-минфиновский
AS

DECLARE @iORDERS INT,@iORDERS2 INT,@iORDERS3 INT 
SET NOCOUNT ON

EXEC dbo.[RA_EXPORT_FORM_STANDART] @iLINK_SAVED_FORM,
                                   @vcFILE_NAME OUTPUT,
                                   @iMODE                          


SELECT @iORDERS = [ORDERS]+1
FROM #FileExportReport
WHERE [TXT]='ТБ=01'


SELECT @iORDERS2 = [ORDERS]-2
FROM #FileExportReport
WHERE [TXT]='ТБ=02'

SELECT * INTO #FileExportReport2 FROM #FileExportReport
WHERE  [ORDERS] > @iORDERS AND [ORDERS] < @iORDERS2

SELECT * INTO #FileExportReport3 FROM #FileExportReport
WHERE  [ORDERS] >= @iORDERS2  

UPDATE #FileExportReport3
SET [TXT] = 'ТБ=04'
WHERE [TXT] = 'ТБ=02'    

   
DELETE #FileExportReport WHERE [ORDERS] > @iORDERS

DECLARE @cNameFile VARCHAR(250), @cNameArh VARCHAR(250)
SELECT TOP 1 @cNameFile = [NameFile], @cNameArh = [NameFileArh]
FROM #FileExportReport

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT [TXT],[NAMEFILE],[ORDERS]+5,[NAMEFILEARH] FROM #FileExportReport2
WHERE LEFT([TXT],3)<='182'
ORDER BY [ORDERS]

SELECT @iORDERS3 = MAX(ORDERS) FROM #FileExportReport

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#',@cNameFile,@iORDERS3+1,@cNameArh 

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#@',@cNameFile,@iORDERS3+2,@cNameArh 
   
INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT 'ТБ=02',@cNameFile,@iORDERS3+3,@cNameArh 

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#$',@cNameFile,@iORDERS3+4,@cNameArh 
  
INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT [TXT],[NAMEFILE],[ORDERS]+@iORDERS3,[NAMEFILEARH] FROM #FileExportReport2
WHERE LEFT([TXT],3)>'182' AND LEFT([TXT],3)<'400'
ORDER BY [ORDERS]
   
SELECT @iORDERS3 = MAX(ORDERS) FROM #FileExportReport

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#',@cNameFile,@iORDERS3+1,@cNameArh 

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#@',@cNameFile,@iORDERS3+2,@cNameArh 
   
INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT 'ТБ=03',@cNameFile,@iORDERS3+3,@cNameArh 

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT '#$',@cNameFile,@iORDERS3+4,@cNameArh 
  
INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT [TXT],[NAMEFILE],[ORDERS]+@iORDERS3,[NAMEFILEARH] FROM #FileExportReport2
WHERE LEFT([TXT],3)>='400' 
ORDER BY [ORDERS]

SELECT @iORDERS3 = MAX(ORDERS) FROM #FileExportReport

INSERT #FileExportReport ([TXT],[NAMEFILE],[ORDERS],[NAMEFILEARH]) 
SELECT [TXT],[NAMEFILE],[ORDERS]+@iORDERS3,[NAMEFILEARH] FROM #FileExportReport3
ORDER BY [ORDERS]




GO


GRANT EXECUTE ON dbo.[RA_EXPORT_FORM_723] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_CALENDAR_DAYS3_ALLYEAR_INFO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_CALENDAR_DAYS3_ALLYEAR_INFO]

GO

CREATE PROCEDURE dbo.SA_CALENDAR_DAYS3_ALLYEAR_INFO (@linkEmpl int, @Year int)
AS

DECLARE @INFO TABLE (
	ORD TINYINT, 
	SYMB varchar(4),
	NAME VARCHAR(254), 
	DATE_BEG DATETIME, 
	DATE_END DATETIME, 
	COMMENT VARCHAR(254), 
	LINK_OBJ INT, 
	CODE_OBJ VARCHAR(254)
)

/* Расшифровка рассчёта календарных дней */

declare @DateBegin datetime, @DateEnd datetime

--SET @DateBegin = dbo.ConvertDMY2Date(1,@Month,@Year) 
--SET @DateEnd 	= dbo.DateEndOfMonth(@DateBegin)

SET @DateBegin = dbo.ConvertDMY2Date(1,1,@Year) 
SET @DateEND = dbo.ConvertDMY2Date(1,12,@Year)
SET @DateEnd 	= dbo.DateEndOfMonth(@DateEND)

DECLARE @DateAccept datetime, @DateSack datetime
SET @DateAccept = ISNULL(dbo.kd_DateBeginWork(@linkEmpl,@DateEnd),'19000101')
SET @DateSack   = ISNULL(dbo.kd_DateEndWork(@linkEmpl,@DateEnd),'30000101')

SET @DateBegin = (case when @DateAccept < @DateBegin then @DateBegin else @DateAccept end)
SET @DateEnd = (case when @DateSack < @DateEnd then @DateSack else @DateEnd end)  

DECLARE @RealCount NUMERIC(18,2)
SET @RealCount = DBO.SA_CALENDAR_DAYS3_AllYear_FN(@linkEmpl,@Year)

INSERT INTO @INFO (ORD,SYMB, NAME, DATE_BEG, DATE_END, COMMENT, LINK_OBJ, CODE_OBJ)
SELECT 
	1,'', 'Период работы', @DateBegin, @DateEnd, 'Приказ о приёме/увольнениии',
	(SELECT ORDER_LINK FROM ITEM_MOVE WHERE NEW_FACE = 1 AND EMPL_LINK = @linkEmpl AND ACTIVE = 1),
	'ORDERS_REESTR'

UPDATE @INFO
SET LINK_OBJ = (SELECT TOP 1 ORDER_LINK FROM ITEM_DIS_FACE IM WHERE EMPL_LINK = @linkEmpl AND  ACTIVE = 1)
WHERE @DateSack = @DateEnd

DECLARE @S TABLE 
([TYPE] int,
 [SYMB] varchar(4),
 [PRIOR] int,
 [HOUR]  numeric(6,2),
 [DATE_1] datetime,
 [DATE_2] datetime,
 [DOC]	int,
 [H] int,
 LINK_DOC INT 	 	
)

INSERT INTO @S ([TYPE], [SYMB],[PRIOR],[HOUR],[DATE_1],[DATE_2],[DOC], [H], LINK_DOC)
---больничные
SELECT [TYPE], [SYMB],[PRIOR],[HOUR],[DATE_1],[DATE_2],[DOC], H, LINK FROM 
(SELECT 
	[TYPE] = SD.[TYPE],
	[SYMB] = TD.SYMB,
	[PRIOR] = TD.PRIORITET,
	[HOUR] = TD.[HOUR],
	[DATE_1] = (CASE WHEN SD.DATE1 < @DateBegin THEN @DateBegin ELSE SD.DATE1 END),
	[DATE_2] = (CASE WHEN SD.DATE2 > @DateEnd  THEN @DateEnd ELSE SD.DATE2 END),
	[DOC]	= 1,
	[H] = 0,
	LINK = SD.LINK_UP 
FROM 
	dbo.SDOC_DIS SD
	INNER JOIN dbo.NETRUD N ON SD.[TYPE] = N.LINK
	INNER JOIN dbo.TYP_DAYS TD ON TD.LINK = N.TYPE_LINK
WHERE 
	SD.LINK_EMPL = @linkEmpl
	AND
	(SD.DATE1 BETWEEN @DateBegin AND @DateEnd OR SD.DATE2 BETWEEN @DateBegin AND @DateEnd OR
	  ((SD.DATE1 < @DateBegin) AND(SD.DATE2 > @DateEnd)))
  
UNION
--отпускные
SELECT 	
	[TYPE] = VV.TYPE_LINK,
	[SYMB] = TD.SYMB,
	[PRIOR] = TD.PRIORITET,
	[HOUR] 	= TD.[HOUR],
	[DATE_1] = (CASE WHEN DATE_BEGIN < @DateBegin THEN @DateBegin ELSE IV.DATE_BEGIN END),
	[DATE_2] = (CASE WHEN ISNULL((

					SELECT top 1 (CASE WHEN IVB.DATE_BREAK - 1 > (ISNULL((

                    SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM dbo.ITEM_VACATION_DIS IVD
                    WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc),IV.DATE_END)) 
					
                    THEN (ISNULL((

					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM dbo.ITEM_VACATION_DIS IVD
					WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc),IV.DATE_END)) 
					
					ELSE IVB.DATE_BREAK - 1 END) 

					FROM dbo.ITEM_VACATION_BREAK IVB
					WHERE IVB.VAC_LINK = IV.LINK AND IVB.ACTIVE = 1 order by IVB.DATE_BREAK desc), 
					
                    (ISNULL((

					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM dbo.ITEM_VACATION_DIS IVD 
					WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc ),IV.DATE_END))) >@DateEnd 

					THEN @DateEnd  
                    ELSE ISNULL((

                    SELECT top 1 (CASE WHEN IVB.DATE_BREAK - 1 > (ISNULL((

					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM ITEM_VACATION_DIS IVD
        				WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc ),IV.DATE_END)) 
					
                    THEN (ISNULL((

					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  

 					FROM dbo.ITEM_VACATION_DIS IVD
					WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc),IV.DATE_END)) 

					ELSE IVB.DATE_BREAK - 1 END)  
					
					FROM dbo.ITEM_VACATION_BREAK IVB
					WHERE IVB.VAC_LINK = IV.LINK AND IVB.ACTIVE = 1 order by IVB.DATE_BREAK desc),
					
					ISNULL((
					
					SELECT top 1 (CASE WHEN IVD.NEW_DATE_END > IV.DATE_END THEN IVD.NEW_DATE_END ELSE  IV.DATE_END END)  
 					FROM dbo.ITEM_VACATION_DIS IVD 
					WHERE  IVD.VAC_LINK = IV.LINK AND IVD.ACTIVE = 1 order by IVD.NEW_DATE_END desc),IV.DATE_END)) END),
	[DOC] = (case when coalesce(TD.WORK_D,1) = 7 then 22 else 2 end),
	H = VV.HOLIDAY,
	LINK = IV.LINK
FROM 
	dbo.item_vacation iv
	INNER JOIN dbo.vacation_vid VV ON VV.LINK = iv.type_link
	INNER JOIN dbo.TYP_DAYS TD ON TD.LINK = VV.TYPE_LINK
WHERE 
	IV.EMPL_LINK = @linkEmpl 
	AND IV.ACTIVE = 1
	AND COALESCE(VV.TIME_ARCHE,0) = 0 
	AND (IV.DATE_BEGIN BETWEEN @DateBegin AND @DateEnd 
		OR IV.DATE_END BETWEEN @DateBegin AND @DateEnd 
		OR ((IV.DATE_BEGIN<@DateBegin) AND (IV.DATE_END>@DateEnd))
		OR IV.LINK IN (SELECT VAC_LINK FROM dbo.VACATION_DIS WHERE EMPL_LINK = @linkEmpl AND ACTIVE = 1 AND NEW_DATE_END > @DateBegin)
	    )
	AND IV.LINK NOT IN (SELECT VAC_LINK FROM dbo.item_vacation_break ivb WHERE EMPL_LINK = @linkEmpl AND ACTIVE = 1 AND ivb.DATE_BREAK < @DateBegin)
	AND
	(
		VV.NO_SAL = 1 --дни отпуска без сохранения заработной платы
	OR	
		TD.WORK_D = 7 -- Частично оплачиваемый отпуск женщинам, имеющим детей  в  возрасте до 1,5 лет
					-- Дополнительный отпуск без сохранения  заработной  платы  матерям, имеющим детей в возрасте до 3 лет
	OR
		TD.WORK_D = 5 -- Учебный отпуск
	OR
		VV.ADM = 1 -- Административный	
	)

--командировочные не учитываются
	
)  TAB

DELETE FROM @S
WHERE DATE_1 > DATE_2



INSERT INTO @INFO (ORD,SYMB, NAME, DATE_BEG, DATE_END, COMMENT, LINK_OBJ, CODE_OBJ)
	SELECT 2,SYMB, case when SYMB = 'Р' then 'Отпуск по беременности и родам' when SYMB = 'ОЧ' then 'Отпуск по уходу за ребенком' else 'Временная нетрудоспособность' end, DATE_1, DATE_2, case when SYMB = 'Р' then 'Отпуск по беременности и родам' when SYMB = 'ОЧ' then 'Отпуск по уходу за ребенком' else 'Временная нетрудоспособность' end, LINK_DOC, 'ORDER_DISABILITY_SHEET'
	FROM @S WHERE DOC = 1
UNION 
	SELECT 3,'', 'Отпуск, учитывающий праздники', DATE_1, DATE_2, 'Приказ на отпуск', LINK_DOC, 'VACATION'
	FROM @S WHERE DOC = 2 AND coalesce(H,0) = 1
UNION 
	SELECT 4,'', 'Отпуск, не учитывающий праздники', DATE_1, DATE_2, 'Приказ на отпуск', LINK_DOC, 'VACATION'
	FROM @S WHERE DOC = 2 AND coalesce(H,0) <> 1
UNION 
	SELECT 5,'ОЧ', 'Отпуск по уходу за ребенком', DATE_1, DATE_2, 'Приказ на отпуск, с учетом праздников', LINK_DOC, 'VACATION'
	FROM @S WHERE DOC = 22 AND coalesce(H,0) = 1
UNION 
	SELECT 6,'ОЧ', 'Отпуск по уходу за ребенком', DATE_1, DATE_2, 'Приказ на отпуск, без учета праздников', LINK_DOC, 'VACATION'
	FROM @S WHERE DOC = 22 AND coalesce(H,0) <> 1
UNION 
	SELECT 7,'', 'Командировка', DATE_1, DATE_2, 'Приказ на командировку', LINK_DOC, 'TRAVEL'
	FROM @S WHERE DOC = 3

/*дату начала и дату окончания периода обновим*/
SET @DateBegin = dbo.ConvertDMY2Date(1,1,@Year) 
SET @DateEND = dbo.ConvertDMY2Date(1,12,@Year)
SET @DateEnd 	= dbo.DateEndOfMonth(@DateEND)

INSERT INTO @INFO (ORD,SYMB, NAME, DATE_BEG, DATE_END, COMMENT, LINK_OBJ, CODE_OBJ)
	SELECT 8, '', 'Праздничные дни', t1.DATE, t1.DATE, TYPE_HOL_STR, LINK, 'KD_HOLIDAYS'
	FROM
		dbo.SD_DAY(@DateBegin,@DateEnd) T1 
		INNER JOIN KD_HOLIDAYS DH ON day(t1.DATE) = DH.DAY and month(t1.DATE) = DH.MONTH and YEAR(t1.DATE) = DH.YEAR
	WHERE 
		(DH.WORK_D = 14 or DH.WORK_D = 11) AND TYPE_HOL = 1
		AND
		EXISTS (SELECT * FROM @INFO I WHERE ORD IN(3,5) AND T1.DATE BETWEEN DATE_BEG AND DATE_END)

SELECT ORD,SYMB, [NAME] AS NAME_PER, DATE_BEG, DATE_END, 
	CNT_DAYS = abs(CASE WHEN ORD BETWEEN 2 AND 7 THEN -1 ELSE 1 END * (datediff(day,DATE_BEG,DATE_END) + 1 )), 
	RealCount = @RealCount, COMMENT AS COM , LINK_OBJ, CODE_OBJ 
FROM @INFO ORDER BY ORD, DATE_BEG

RETURN 0










GO


GRANT EXECUTE ON dbo.[SA_CALENDAR_DAYS3_ALLYEAR_INFO] TO PUBLIC

GO


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_EXPORT_FORM_33]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RO_EXPORT_FORM_33]

GO
/*******************************************************************************

	© Кейсистемс (Keysystems), 2011

*******************************************************************************/
-- create table #FileExportReport (txt varchar(800), NameFile varchar(100), orders int)
CREATE PROCEDURE dbo.[RO_EXPORT_FORM_33]
	@iLINK_SAVED_FORM INT,	                   -- Линк выгружаемой формы
	@vcFILE_NAME	   VARCHAR(100)='' OUTPUT, -- Имя текстового файла
	@iMODE	         INT=1                   -- Формат: 1-внутренний, 2-минфиновский
AS

DECLARE @vcExec VARCHAR(8000), @vcNameFileArh VARCHAR(1000), @vcFILE_NAME1 varchar(1000), @vcNameFileArh1 VARCHAR(1000), @vcVidFO VARCHAR(10), @vcPostFix VARCHAR(10), @vcExportCode VARCHAR(30),
   @vcCodeForm VARCHAR(100), @iLinkOrg INT, @vcCB VARCHAR(1000), @vcFIO VARCHAR(1000), @vcPost VARCHAR(1000), @iLSF INT,
   @iTB_EPILOG INT 

DECLARE @tabFileExport TABLE ([TXT]	        VARCHAR(800), 
							         [NAMEFILE]    VARCHAR(100), 
                              [NAMEFILEARH] VARCHAR(100),
							         [ORDERS]      INT IDENTITY(1,1))    
DECLARE @tabLSF TABLE([LINK_SAVED_FORM] INT)                              
SET NOCOUNT ON

DECLARE @tPERIODIC      TINYINT,
        @tPERIOD_TYPE   TINYINT,
        @tPERIOD_NUMBER TINYINT,
        @bIsQuart       BIT,
        
        @iTB_01 INT,
        @iTB_02 INT,
        @iTB_03 INT,
        @iTB_04 INT,
        @iTB_05 INT



SELECT @vcCodeForm = rf.[Code],
       @iLinkOrg = rsf.[Link_Organization],
       @tPERIODIC = rf.[Periodic],
       @tPERIOD_TYPE = rsf.[Period_Type],
       @tPERIOD_NUMBER = rsf.[Period_Number]
FROM dbo.[REPORT_SAVED_FORMS] rsf
      JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
WHERE rsf.[Link_Saved_Form] = @iLINK_SAVED_FORM

SET @bIsQuart = CASE 
                   WHEN @tPERIOD_TYPE = 4 AND @tPERIOD_NUMBER % 3 = 0 THEN 1
                   ELSE 0
                END

SELECT @vcCB = RTRIM(r.[cb_name])  
               + CASE WHEN r.[cb_ogrn] = '' THEN '' ELSE ', ' + RTRIM(r.[cb_ogrn]) END
               + CASE WHEN r.[cb_inn] = '' THEN '' ELSE ', ' + RTRIM(r.[cb_inn]) END
               + CASE WHEN r.[cb_kpp] = '' THEN '' ELSE ', ' + RTRIM(r.[cb_kpp]) END
               + CASE WHEN r.[cb_address] = '' THEN '' ELSE ', ' + RTRIM(r.[cb_address]) END,
       @vcFIO = r.[ul_fio],
       @vcPost = r.[ul_post]
FROM dbo.[RT_VIEW_WEB_BOSS] r
WHERE r.[link] = @iLinkOrg      

EXEC dbo.[RA_EXPORT_FORM_STANDART] @iLINK_SAVED_FORM,
                                   @vcFILE_NAME OUTPUT,
                                   @iMODE
                                   
                            
IF @iMODE = 2
BEGIN  
   IF @bIsQuart = 1 
   BEGIN
      SET @vcFILE_NAME = REPLACE(@vcFILE_NAME,'M','Q')
            
      UPDATE #FileExportReport
      SET TXT = 'ПРД=4'
      WHERE TXT = 'ПРД=3'
   END

   UPDATE #FileExportReport
   SET TXT = 'ИСТ=' + CASE WHEN  LEN(dbo.[RA_GETWORDNUM](TXT, 2, '=')) = 2 
                                 THEN '0' + dbo.[RA_GETWORDNUM](TXT, 2, '=')
                           ELSE dbo.[RA_GETWORDNUM](TXT, 2, '=')
                      END 
--   RIGHT('0' + LTRIM(RTRIM(dbo.[RA_GETWORDNUM](TXT, 2, '='))),3)
   WHERE TXT LIKE 'ИСТ=%'
   
   set @vcVidFO = isnull(dbo.RN_GET_ATR_VALUE(@iLINK_SAVED_FORM,'REPORTS_ATR_VID'),'')
   
   SET @vcPostFix = CASE @vcVidFO WHEN '2' THEN 'd'
                                 WHEN '3' THEN 't'
                                 WHEN '4' THEN 'z'
                                 WHEN '5' THEN 'c'
                                 WHEN '6' THEN 'i'
                                 WHEN '7' THEN 'm'
                                 ELSE '' END   

   IF (@vcPostFix = 't' and LEFT(@vcCodeForm, 7) IN ('0503737')) 
         OR (@vcPostFix IN ('t') and LEFT(@vcCodeForm, 7) IN ('0503768'))
   BEGIN
      IF OBJECT_ID('tempdb..#tabExportLog') IS NOT NULL
     BEGIN 
   INSERT #tabExportLog([TXT])
         SELECT 'Для формы ' + RTRIM(@vcCodeForm) + ' не может быть указан вид финансового обеспечения с кодом ' + @vcVidFO

         INSERT #tabExportLog([TXT])
         SELECT 'Выгрузка отменена'
      END 
      RETURN -1
   END 

   SELECT TOP 1  @vcNameFileArh = [NameFileArh]
   FROM #FileExportReport
   
   IF @bIsQuart = 1 
   BEGIN
      SET @vcNameFileArh = REPLACE(@vcNameFileArh,'M','Q')      
   END

   SELECT @vcFILE_NAME = REPLACE(@vcFILE_NAME, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
         @vcNameFileArh = REPLACE(SUBSTRING(@vcNameFileArh, 2, 17) + 'F_' + SUBSTRING(@vcNameFileArh,19,10), RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
         @vcExportCode = RTRIM(rf.[ExportCode])
   FROM dbo.[REPORT_SAVED_FORMS] rsf
         JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
   WHERE rsf.[Link_Saved_Form] =  @iLINK_SAVED_FORM
   
   UPDATE #FileExportReport
   SET [NameFile] = @vcFILE_NAME,
         [NameFileArh] = @vcNameFileArh

   UPDATE #FileExportReport
   SET [TXT] = REPLACE([TXT], @vcExportCode, @vcExportCode + @vcPostFix)
   WHERE TXT LIKE 'КОДФ=%'        

   IF LEFT(@vcCodeForm, 7) IN ('0503730', '0503830')
   BEGIN
      UPDATE #FileExportReport
      SET [TXT] = REPLACE([TXT], 'ТБ=02', 'ТБ=03')
      WHERE TXT = 'ТБ=02'      

      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                           AND orders < (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
                           AND [TXT] > '470|')       

   END   
    
   IF LEFT(@vcCodeForm, 7) IN ('0503773', '0503779')
   BEGIN
      set @vcVidFO = isnull(dbo.RN_GET_ATR_VALUE(@iLINK_SAVED_FORM,'REPORTS_ATR_VID_773'),'')
      set @vcPostFix = @vcVidFO

      SELECT @vcFILE_NAME = REPLACE(@vcFILE_NAME, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
            @vcNameFileArh = REPLACE(LEFT(@vcNameFileArh, 17) + 'F_' + SUBSTRING(@vcNameFileArh,20,10), RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
            @vcExportCode = RTRIM(rf.[ExportCode])
      FROM dbo.[REPORT_SAVED_FORMS] rsf
            JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
      WHERE rsf.[Link_Saved_Form] =  @iLINK_SAVED_FORM
      
      UPDATE #FileExportReport
      SET [NameFile] = @vcFILE_NAME,
            [NameFileArh] = @vcNameFileArh

      UPDATE #FileExportReport
      SET [TXT] = REPLACE([TXT], @vcExportCode, @vcExportCode + @vcPostFix)
      WHERE TXT LIKE 'КОДФ=%'    
   END 

   IF LEFT(@vcCodeForm, 7) IN ('0503773')
   BEGIN
/*      
      --SELECT * FROM #FileExportReport
      SELECT [TXT],[ORDERS]
      INTO #tab773
      FROM #FileExportReport
      WHERE [ORDERS] <= (SELECT [ORDERS]
                         FROM #FileExportReport
                         WHERE [TXT] = 'ТБ=02') + 1
                        
      DELETE #FileExportReport
      FROM #FileExportReport
      WHERE [ORDERS] <= (SELECT [ORDERS]
                         FROM #FileExportReport
                         WHERE [TXT] = 'ТБ=02') + 1
      
      INSERT #FileExportReport([TXT])
      SELECT [TXT]
      FROM #tab773    
      WHERE orders = (SELECT MIN(orders)
                      FROM #tab773
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                           AND orders < (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
                           AND [TXT] > '470|')
      ORDER BY [ORDERS]
*/                     

      SELECT @iTB_01 = [ORDERS]
      FROM #FileExportReport
      WHERE TXT = 'ТБ=01'

      SELECT @iTB_02 = [ORDERS]
      FROM #FileExportReport
      WHERE TXT = 'ТБ=02'

      SELECT @iTB_EPILOG = [ORDERS]
      FROM #FileExportReport
      WHERE TXT = '#&'
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] <= @iTB_01 + 1
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            [TXT] LIKE '%|%|%' AND 
            LEFT([TXT],4) BETWEEN '0100' AND '4100'
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH]) 
      SELECT [TXT] = REPLACE([TXT],'ТБ=01','ТБ=02'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 - 2 AND @iTB_01 + 1
      ORDER BY [ORDERS]
 
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            [TXT] LIKE '%|%|%' AND 
            LEFT([TXT],4) BETWEEN '4700' AND '9000'
      ORDER BY [ORDERS]

      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH]) 
      SELECT [TXT] = REPLACE([TXT],'ТБ=01','ТБ=03'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 - 2 AND @iTB_01 + 1
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT REPLACE([TXT],'8|88888|888|888|88888888|','*|*****|***|***|********|'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_02 AND @iTB_EPILOG AND
            [TXT] LIKE '%|%|%' AND
            LEFT(dbo.[RA_GETWORDNUM]([TXT],2,'|'),1) IN ('1','2','8')
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH]) 
      SELECT [TXT] = REPLACE([TXT],'ТБ=01','ТБ=04'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 - 2 AND @iTB_01 + 1
      ORDER BY [ORDERS]
      
      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH])
      SELECT REPLACE([TXT],'9|99999|999|999|99999999|','*|*****|***|***|********|'),
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_02 AND @iTB_EPILOG AND
            [TXT] LIKE '%|%|%' AND
            LEFT(dbo.[RA_GETWORDNUM]([TXT],2,'|'),1) IN ('3','4','9')
      ORDER BY [ORDERS]

      INSERT @tabFileExport ([TXT],
                             [NAMEFILE],
                             [NAMEFILEARH]) 
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport
      WHERE [ORDERS] > @iTB_EPILOG - 2
      ORDER BY [ORDERS]
      
/*          
      WHERE orders < (SELECT MIN(T.orders) 
                      FROM #FileExportReport T
                      WHERE [TXT] = '#$')              
      ORDER BY orders
      
      
                          
       
      
      
  
      UPDATE #FileExportReport
      SET [TXT] = REPLACE([TXT], 'ТБ=02', 'ТБ=03')
      WHERE TXT = 'ТБ=02'      

      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                           AND orders < (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
                           AND [TXT] > '470|')
      IF @@ROWCOUNT = 0
      BEGIN
         UPDATE #FileExportReport
         SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
         WHERE [ORDERS] = (SELECT [ORDERS]
                           FROM #FileExportReport
                           WHERE TXT = 'ТБ=03') - 2 
      END
                           
      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=04<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
                           AND [TXT] > '0|3'
                           AND [TXT] NOT LIKE '8|8%' ) - 1
           AND TXT LIKE '*|***%'                
                                  

      IF @@ROWCOUNT = 0
      BEGIN 
         UPDATE #FileExportReport
         SET [TXT] = '#<LN>#@<LN>ТБ=04<LN>#$<LN>' + [TXT]
         WHERE orders = (SELECT MIN(orders)
                         FROM #FileExportReport
                         WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03') AND
                               [TXT] = '#')
                         
                         /*
                               AND [TXT] > '0|3'
                               AND [TXT] NOT LIKE '8|8%' ) - 2
                           */       
      END 

      UPDATE @tabFileExport
      SET [TXT] = REPLACE([TXT], '|-|-|', '|***|********|')
      WHERE RTRIM([TXT]) LIKE '%|-|-|%|-|'
*/
     
      DELETE #FileExportReport
      INSERT #FileExportReport([TXT],
                               [NAMEFILE],
                               [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM @tabFileExport
      ORDER BY [ORDERS]
   END    
    

--   IF LEFT(@vcCodeForm, 7) IN ('0503772')
--   BEGIN
--      UPDATE #FileExportReport
--      SET [TXT] = REPLACE([TXT], 'ТБ=02', 'ТБ=03')
--      WHERE TXT = 'ТБ=02'      
--
--      UPDATE #FileExportReport
--      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
--      WHERE orders = (SELECT MIN(orders)
--                      FROM #FileExportReport
--                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
--                           AND orders < (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=03')
--                           AND [TXT] > '470|')       
--   END    

   IF LEFT(@vcCodeForm, 7) IN ('0503771')
   BEGIN
            
      INSERT #FileExportReport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH], [ORDERS])
      SELECT  REPLACE([TXT], '#<LN>#@<LN>ТБ=02<LN>#$<LN>#<LN>#@<LN>ТБ=03<LN>#$<LN>***|**************|*|*****|***|', '***|****|*******|***|*|*****|***|'),
		        [NAMEFILE], 
              [NAMEFILEARH],
              [ORDERS] - 1
      FROM #FileExportReport
      WHERE TXT LIKE '#<LN>#@<LN>ТБ=02<LN>#$<LN>#<LN>#@<LN>ТБ=03<LN>#$<LN>***|**************|*|*****|***|%'

      
      UPDATE #FileExportReport
      SET [TXT] = REPLACE(REPLACE([TXT], '|000|', '|***|'),'000|0000|0000000|', '***|****|*******|')
      WHERE RTRIM(TXT) LIKE '%|000|%|-|-|000'

      UPDATE #FileExportReport
      SET [TXT] = LEFT([TXT],LEN([TXT])-CHARINDEX('|',REVERSE([TXT]))+1)
      WHERE [TXT] LIKE '%|%'

   END    


   IF LEFT(@vcCodeForm, 7) IN ('0503768')
   BEGIN
      UPDATE #FileExportReport
      SET [TXT] = REPLACE([TXT], 'ТБ=02', 'ТБ=03')
      WHERE TXT = 'ТБ=02'      

     UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                            AND dbo.[RA_GETWORDNUM]([TXT],4, '|') > '250' and LEN(dbo.[RA_GETWORDNUM]([TXT],1, '|'))=1)
      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=03<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] LIKE  '#<LN>#@<LN>ТБ=02<LN>#$<LN>%')
                            AND LEFT([TXT],6) >= '01|450')       
                                   
                                   
   END
   
   IF LEFT(@vcCodeForm, 7) IN ('0503737')
   BEGIN
      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=02<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] = 'ТБ=01')
                            AND LEFT([TXT],3) > '104')  

      UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=03<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] LIKE  '#<LN>#@<LN>ТБ=02<LN>#$<LN>%')
                            AND LEFT([TXT],3) > '450')       
      
	 delete #FileExportReport 
	 where  orders between (SELECT MIN(orders)
								FROM #FileExportReport
							WHERE orders > (select orders from  #FileExportReport WHERE LEFT([TXT],3) LIKE  '830'  ) )
						and (SELECT MIN(orders)
								FROM #FileExportReport
							 WHERE orders > (select orders from  #FileExportReport WHERE LEFT([TXT],3) like '830' )
							 AND LEFT([TXT],2) = '#$' )
														
     
     UPDATE #FileExportReport
      SET [TXT] = '#<LN>#@<LN>ТБ=04<LN>#$<LN>' + [TXT]
      WHERE orders = (SELECT MIN(orders)
                      FROM #FileExportReport
                     WHERE orders > (SELECT orders FROM  #FileExportReport WHERE [TXT] LIKE  '#<LN>#@<LN>ТБ=03<LN>#$<LN>%')
                            AND LEFT([TXT],3) > '830')                             

		
   END

   
   IF LEFT(@vcCodeForm, 7) IN ('0503769')
   BEGIN      
      SELECT @iTB_01 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=01'
      
      SELECT @iTB_02 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=02'

      SELECT @iTB_03 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=03'

      SELECT @iTB_04 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=04'
      
      SELECT @iTB_05 = [ORDERS]
      FROM #FileExportReport
      WHERE [TXT] = 'ТБ=05'


      UPDATE #FileExportReport
      SET [TXT] = '00000000000000000|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            LEFT([TXT],8) <>'88888888' AND SUBSTRING([TXT],4,5)<>'00000' -- Не итоговые строки 

      UPDATE #FileExportReport
      SET [TXT] = '*****************|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            LEFT([TXT],8) <>'88888888' AND SUBSTRING([TXT],4,5)='00000' AND SUBSTRING([TXT],1,8)<>'00000000' AND -- Не итоговые строки 
            LEFT([TXT],5) NOT IN ('21000','30400')


-- Хитропопые изменения с 210 и 304 счетом.
      DELETE #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
             LEFT([TXT],5) IN ('21000','30400')

      UPDATE #FileExportReport
      SET [TXT] = [TXT] +  '<LN>*****************|' + SUBSTRING([TXT],23,8000)
      WHERE ([TXT] LIKE '00000000000000000|_|21001|%' OR 
             [TXT] LIKE '00000000000000000|_|30402|%' OR
             [TXT] LIKE '00000000000000000|_|30403|%' OR
             [TXT] LIKE '00000000000000000|_|30404|%') AND
            [ORDERS] BETWEEN @iTB_01 AND @iTB_02
      
      UPDATE #FileExportReport
      SET [TXT] = '*****************|*|*****|***|'+SUBSTRING([TXT],10,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_01 AND @iTB_02 AND
            LEFT([TXT],8) = '88888888' -- Всего
            
      UPDATE #FileExportReport
      SET [TXT] = '*****************|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_02 AND @iTB_03 AND
            LEFT([TXT],8) <>'88888888' AND SUBSTRING([TXT],4,5)='00000' -- Итого по коду счета. Крупные сделки

      UPDATE #FileExportReport
      SET [TXT] = '*****************|*|*****|***|'+SUBSTRING([TXT],10,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_02 AND @iTB_03 AND
            LEFT([TXT],8) = '88888888' -- Всего, в том числе: крупные сделки

      UPDATE #FileExportReport
      SET [TXT] = '*****************|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_03 AND @iTB_04 AND
            LEFT([TXT],8) <>'88888888' AND SUBSTRING([TXT],4,5)='00000' -- Итого по коду счета. Крупные сделки

      UPDATE #FileExportReport
      SET [TXT] = '*****************|*|*****|***|'+SUBSTRING([TXT],10,8000)
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] BETWEEN @iTB_03 AND @iTB_04 AND
            LEFT([TXT],8) = '88888888' -- Всего, в том числе: крупные сделки


      DELETE #FileExportReport
      WHERE [ORDERS] BETWEEN @iTB_02-2 AND @iTB_02+1 OR
            [ORDERS] BETWEEN @iTB_03-2 AND @iTB_03+1
 
            
      UPDATE #FileExportReport
      SET [TXT] = 'ТБ=02'
      WHERE [ORDERS] = @iTB_04

      UPDATE #FileExportReport
      SET [TXT] = '00000000000000000|'+ @vcVidFO+'|'+LEFT([TXT],5)+'|'+SUBSTRING([TXT],6,3)+'|'+
                  dbo.[RA_GETWORDNUM]([TXT],3,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],4,'|')+'|'+
                  dbo.[RA_GETWORDNUM]([TXT],2,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],5,'|')+'|'+dbo.[RA_GETWORDNUM]([TXT],6,'|')+'|'
      WHERE [TXT] LIKE '%|%|%' AND
            [ORDERS] > @iTB_04 AND [ORDERS]  < @iTB_05
            
  
      UPDATE #FileExportReport
      SET [TXT] = 'ТБ=03'
      WHERE [ORDERS] = @iTB_05
/*           
      UPDATE #FileExportReport
      SET TXT = LEFT(TXT,22) + @vcVidFO + '|' +  REPLACE(SUBSTRING(TXT,23, 8000), '|0000|', '|****|')
      WHERE TXT LIKE '%|%|%' AND TXT NOT LIKE '%|88888|888%'
      
      DELETE #FileExportReport
      WHERE TXT LIKE '%|88888|888%'
            AND orders > (SELECT MAX(orders) FROM #FileExportReport WHERE TXT = 'ТБ=02')
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE TXT = 'ТБ=04')

      -- удаление строк итого по счету
   --    DELETE #FileExportReport
   --    WHERE LEFT(TXT,1)='2'


       UPDATE #FileExportReport
       SET TXT = REPLACE(REPLACE(REPLACE(TXT, '|88888|888', '|*|*****|***'), '|000|00000000000000|', '|***|**************|'),  '|0000|', '|****|')
       WHERE TXT LIKE '%|88888|888%'
      

       DELETE #FileExportReport
       WHERE TXT IN ('#', '#@', '#$', 'ТБ=02', 'ТБ=03', 'ТБ=04', 'ТБ=05')
           AND orders >= (SELECT MIN(orders) FROM #FileExportReport WHERE TXT = '#' AND orders > (SELECT MIN(orders) FROM #FileExportReport WHERE TXT = 'ТБ=01'))
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE TXT = '#&') - 1
*/            

      -- добавляем итогов по счету
      --INSERT #FileExportReport([TXT], 
						--	         [NAMEFILE], 
      --                        [NAMEFILEARH], [ORDERS])
      --SELECT '2'+SUBSTRING([txt],2,1)+'|***|**************|'+SUBSTRING(txt,23,17)+dbo.RN_GETWORDNUM([TXT],8,'|')+'|'+dbo.RN_GETWORDNUM([TXT],9,'|')+'|-|-|',
      -- [NAMEFILE], 
      -- [NAMEFILEARH],
      -- [ORDERS] 
      --FROM #FileExportReport
      --WHERE LEFT(TXT,1)='1'                                        
     

   END         

   IF LEFT(@vcCodeForm, 7) IN ('0503779')
   BEGIN
      UPDATE #FileExportReport
      SET TXT = REPLACE(TXT, '@a@', @vcVidFO)
      WHERE TXT LIKE '%|%' AND TXT NOT LIKE '88888888888888888888888888|%'
      
               

      UPDATE #FileExportReport
      SET TXT = REPLACE(TXT, '8|88888|888|', '*|*****|000|')
      WHERE TXT LIKE '8|88888|888|%'

      ---------------------------------------------
      -- объединение ксбу
      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = '#$')              
      ORDER BY orders                    

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT CASE WHEN LEFT([TXT], 12) LIKE '%|%'
                     THEN  LEFT([TXT], 12) +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],4, '|'))),20,2)) + '|' + 
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],5, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],6, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],7, '|'))),20,2)) + '|'
                     ELSE  
                        LEFT([TXT], 12)
                     END ,
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders > (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = 'ТБ=01')              
            AND orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] IN ('ТБ=02', 'ТБ=03', 'ТБ=04'))
      GROUP BY LEFT([TXT], 12),
               [NAMEFILE],
               [NAMEFILEARH]      
      ORDER BY MAX(ORDERS)                   

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT CASE WHEN LEFT([TXT], 12) LIKE '%|%'
                     THEN  LEFT([TXT], 12) +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],4, '|'))),20,2)) + '|' + 
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],5, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],6, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],7, '|'))),20,2)) + '|'
                     ELSE  
                        LEFT([TXT], 12)
                     END ,
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders >= (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = 'ТБ=02')              
            AND orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] IN ('ТБ=03', 'ТБ=04', '#&'))
      GROUP BY LEFT([TXT], 12),
               [NAMEFILE],
               [NAMEFILEARH]      
      ORDER BY MAX(ORDERS)      

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT CASE WHEN LEFT([TXT], 12) LIKE '%|%'
                     THEN  LEFT([TXT], 12) +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],4, '|'))),20,2)) + '|' + 
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],5, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],6, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],7, '|'))),20,2)) + '|'
                     ELSE  
                        LEFT([TXT], 12)
                     END ,
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders >= (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = 'ТБ=03')              
            AND orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] IN ( 'ТБ=04', '#&'))
      GROUP BY LEFT([TXT], 12),
               [NAMEFILE],
               [NAMEFILEARH]      
      ORDER BY MAX(ORDERS)

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT CASE WHEN LEFT([TXT], 12) LIKE '%|%'
                     THEN  LEFT([TXT], 12) +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],4, '|'))),20,2)) + '|' + 
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],5, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],6, '|'))),20,2)) + '|' +
                            LTRIM(STR(SUM(CONVERT(FLOAT, dbo.[RA_GETWORDNUM]([TXT],7, '|'))),20,2)) + '|'
                     ELSE  
                        LEFT([TXT], 12)
                     END ,
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders >= (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = 'ТБ=04')              
            AND orders < (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] IN ( '#&'))
      GROUP BY LEFT([TXT], 12),
               [NAMEFILE],
               [NAMEFILEARH]      
      ORDER BY MAX(ORDERS)

      INSERT @tabFileExport ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH])
      SELECT [TXT],
             [NAMEFILE],
             [NAMEFILEARH]
      FROM #FileExportReport F
      WHERE orders >= (SELECT MIN(T.orders) 
                       FROM #FileExportReport T
                       WHERE [TXT] = '#&')              
      ORDER BY ORDERS
      
      TRUNCATE TABLE #FileExportReport
      
      INSERT #FileExportReport   ([TXT],
                              [NAMEFILE],
                              [NAMEFILEARH],
                              [ORDERS])
      SELECT [TXT],
            [NAMEFILE],
            [NAMEFILEARH],
            [ORDERS]                     
      FROM @tabFileExport
      ORDER BY [ORDERS]
   END       

   IF LEFT(@vcCodeForm, 7) IN ('0503772')
   BEGIN
      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  [TXT], 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders <= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$') 
      ORDER BY orders        

	  DECLARE @iOrder9 INT 
	  SELECT @iOrder9 = MAX(orders) FROM #FileExportReport WHERE [TXT] like '9|99999|999|%'

      --99999 может в форме не быть	
	  IF @iOrder9 IS NULL
		SELECT @iOrder9 = Min(orders) FROM #FileExportReport WHERE [TXT] ='#'


      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  [TXT], 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders > (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$')
            AND TXT NOT LIKE '0|00011|000|%'
            AND TXT NOT LIKE '8|88888|888|%'
AND orders <= @iOrder9
      ORDER BY orders
		
      UPDATE   @tabFileExport
      SET TXT = '000|0000|0000000|000|' + TXT
      WHERE TXT LIKE '%|%'

     
      UPDATE @tabFileExport
      SET TXT = REPLACE(REPLACE(REPLACE(TXT, '000|0000|0000000|000|', '***|****|*******|***|'), '|000|', '|***|'), '9|99999|999|', '*|*****|***|')
      WHERE RTRIM(TXT) LIKE '%|-|-|-|-|-|' AND SUBSTRING(TXT, 30, 3) in ('***', '999')

      
      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  TOP 1 '#<LN>#@<LN>ТБ=02<LN>#$<LN>#<LN>#@<LN>ТБ=03<LN>#$', 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport              

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  REPLACE([TXT], '0|00011|000|', '11|'), 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders > (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$')
            AND TXT LIKE '0|00011|000|%'  
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')  
      ORDER BY orders  

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  REPLACE([TXT], '0|00011|000|', '**|'), 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders > (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$')
            AND TXT LIKE '0|00011|000|%'  
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')  
      ORDER BY orders  
      

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  TOP 1 '#<LN>#@<LN>ТБ=04<LN>#$', 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport     

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  '***|**************|' + REPLACE([TXT], '8|88888|888|', '*|*****|***|'), 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders > (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#$')
            AND TXT LIKE '8|88888|888|%'  
            AND orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')  
      ORDER BY orders 

      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  TOP 1 '#', 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport


      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  [TXT], 
		        [NAMEFILE], 
              [NAMEFILEARH]
      FROM #FileExportReport
      WHERE orders >= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')  
      ORDER BY orders
      
      TRUNCATE TABLE #FileExportReport
      
      INSERT #FileExportReport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH], [ORDERS])
      SELECT  [TXT], 
		        [NAMEFILE], 
              [NAMEFILEARH],
              [ORDERS]
      FROM @tabFileExport
      ORDER BY orders


   END 

   IF LEFT(@vcCodeForm, 7) IN ('0503725')
   BEGIN
      INSERT @tabLSF([LINK_SAVED_FORM])
      SELECT [LINK]
      FROM dbo.[BufferGetTableByID]('REPORT_ATR_EXPORT')

      EXEC dbo.[BufferClear] 'REPORT_ATR_EXPORT'      
      
      IF ISNULL((SELECT COUNT(*) FROM @tabLSF),0) = 0
      BEGIN
         CREATE TABLE #tabLSF([ATR]             VARCHAR(8000),
                              [LINK_SAVED_FORM] INT)
         
         INSERT #tabLSF([ATR],
                        [LINK_SAVED_FORM])
         EXEC dbo.[RA_EXPORT_FORM_LIST_ATR] @iLINK_SAVED_FORM
         
         INSERT @tabLSF([LINK_SAVED_FORM])
         SELECT [LINK_SAVED_FORM]
         FROM #tabLSF
         
         DROP TABLE #tabLSF
      END 

      SET @vcVidFO = LEFT(isnull(dbo.RN_GET_ATR_VALUE(@iLINK_SAVED_FORM,'REPORTS_ATR_ACC_725'),''),1)
      SET @vcPostFix = CASE @vcVidFO WHEN '2' THEN 'd'
                                    WHEN '3' THEN 't'
                                    WHEN '4' THEN 'z'
                                    WHEN '5' THEN 'c'
                                    WHEN '6' THEN 'i'
                                    WHEN '7' THEN 'm'
                                    ELSE '' END
                                    
      SELECT @vcFILE_NAME1 = REPLACE(@vcFILE_NAME, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
            @vcNameFileArh1 = REPLACE(@vcNameFileArh, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
            @vcExportCode = RTRIM(rf.[ExportCode])
      FROM dbo.[REPORT_SAVED_FORMS] rsf
            JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
      WHERE rsf.[Link_Saved_Form] =  @iLINK_SAVED_FORM                                       



      INSERT @tabFileExport ([TXT], 
							         [NAMEFILE], 
                              [NAMEFILEARH])
      SELECT  [TXT], 
		        @vcFILE_NAME1, 
              @vcNameFileArh1
      FROM #FileExportReport
      WHERE orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&') 
      ORDER BY orders       
      
      UPDATE @tabFileExport
      SET [TXT] = REPLACE([TXT], @vcExportCode, @vcExportCode + @vcPostFix)
      WHERE TXT LIKE 'КОДФ=%'      
      
      
      DECLARE curLSF CURSOR LOCAL STATIC FOR
	      SELECT [LINK_SAVED_FORM]
	      FROM @tabLSF
         WHERE [LINK_SAVED_FORM] <> @iLINK_SAVED_FORM
      OPEN curLSF

      FETCH NEXT FROM curLSF INTO @iLSF
      WHILE @@FETCH_STATUS = 0
      BEGIN
         TRUNCATE TABLE #FileExportReport
         EXEC dbo.[RA_EXPORT_FORM_STANDART] @iLSF,
                                   @vcFILE_NAME OUTPUT,
                                   @iMODE 

         SET @vcVidFO = LEFT(isnull(dbo.RN_GET_ATR_VALUE(@iLSF,'REPORTS_ATR_ACC_725'),''),1)
         SET @vcPostFix = CASE @vcVidFO WHEN '2' THEN 'd'
                                       WHEN '3' THEN 't'
                                       WHEN '4' THEN 'z'
                                       WHEN '5' THEN 'c'
                                       WHEN '6' THEN 'i'
                                       WHEN '7' THEN 'm'
                                       ELSE '' END
                                       
         SELECT @vcFILE_NAME1 = REPLACE(@vcFILE_NAME, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
               @vcNameFileArh1 = REPLACE(@vcNameFileArh, RTRIM(rf.[ExportCode]),  RTRIM(rf.[ExportCode]) + @vcPostFix),
               @vcExportCode = RTRIM(rf.[ExportCode])
         FROM dbo.[REPORT_SAVED_FORMS] rsf
               JOIN dbo.[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
         WHERE rsf.[Link_Saved_Form] =  @iLSF                                      

         IF EXISTS(SELECT * FROM @tabFileExport WHERE [NAMEFILE] =  @vcFILE_NAME1)
         BEGIN                        
            INSERT @tabFileExport ([TXT], 
							               [NAMEFILE], 
                                    [NAMEFILEARH])
            SELECT TOP 1 '#%',@vcFILE_NAME1, 
                                    @vcNameFileArh1
            FROM #FileExportReport                                                                       
            
            INSERT @tabFileExport ([TXT], 
							               [NAMEFILE], 
        [NAMEFILEARH])
            SELECT  [TXT], 
		              @vcFILE_NAME1, 
                    @vcNameFileArh1
            FROM #FileExportReport
            WHERE orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')
                  and orders >= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] LIKE  'ОКАТО=%') 
            ORDER BY orders
         END
         ELSE BEGIN

            UPDATE #FileExportReport
            SET [TXT] = REPLACE([TXT], @vcExportCode, @vcExportCode + @vcPostFix)
            WHERE TXT LIKE 'КОДФ=%'      

            INSERT @tabFileExport ([TXT], 
							               [NAMEFILE], 
                                    [NAMEFILEARH])
            SELECT  [TXT], 
		              @vcFILE_NAME1, 
                    @vcNameFileArh1
            FROM #FileExportReport
            WHERE orders < (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')
       ORDER BY orders
         END    
                    
                                   
         FETCH NEXT FROM curLSF INTO @iLSF
      END     

 --не работает в 2008      
--      INSERT @tabFileExport ([TXT], 
--						            [NAMEFILE], 
--                              [NAMEFILEARH])
--      SELECT  [TXT], 
--	           T.[NAMEFILE], 
--              T.[NAMEFILEARH]
--      FROM #FileExportReport
--            JOIN (SELECT DISTINCT [NAMEFILE], [NAMEFILEARH] from @tabFileExport) T ON 1=1
--      WHERE orders >= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')
--      ORDER BY orders
      
      DECLARE cur cursor LOCAL STATIC 
      FOR  SELECT DISTINCT [NAMEFILE], [NAMEFILEARH] from @tabFileExport
      
      OPEN cur
      FETCH NEXT FROM cur INTO @vcFILE_NAME1, @vcNameFileArh1
      
      WHILE @@FETCH_STATUS = 0
      BEGIN

         INSERT @tabFileExport ([TXT], 
						               [NAMEFILE], 
                                 [NAMEFILEARH])
         SELECT  [TXT], 
	              @vcFILE_NAME1, 
                 @vcNameFileArh1
         FROM #FileExportReport
         WHERE orders >= (SELECT MAX(orders) FROM #FileExportReport WHERE [TXT] = '#&')
         ORDER BY orders

         FETCH NEXT FROM cur INTO @vcFILE_NAME1, @vcNameFileArh1
      END            
      
      CLOSE cur
      DEALLOCATE cur 
     
      TRUNCATE TABLE  #FileExportReport   


      INSERT #FileExportReport ([TXT], 
						            [NAMEFILE], 
                              [NAMEFILEARH], [ORDERS])
      SELECT  [TXT], 
	           [NAMEFILE], 
              [NAMEFILEARH], [ORDERS]
      FROM @tabFileExport
      ORDER BY orders   
      
   END   

   UPDATE #FileExportReport
   SET [TXT] = REPLACE(TXT, '|0.00|', '|0|')
   WHERE [TXT] LIKE '%|0.00|%' 

   UPDATE #FileExportReport
   SET [TXT] = REPLACE(TXT, '|0.00|', '|0|')
   WHERE [TXT] LIKE '%|0.00|%' 

   UPDATE #FileExportReport
   SET [TXT] = 'Центр.бух.=' + ISNULL(@vcCB, '') +'<LN>Руководитель=' + isnull(@vcFIO, '') + '<LN>Должность=' + isnull(@vcPost, '') + '<LN>' + [TXT]
   WHERE TXT LIKE 'Исполнитель=%' 
         AND orders > (SELECT MAX(orders) FROM #FileExportReport WHERE TXT = '#&')    

       
END




GO


GRANT EXECUTE ON dbo.[RO_EXPORT_FORM_33] TO PUBLIC

GO


--Расширенные свойства--


GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SZV4_PACHKA_PROVERKA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SZV4_PACHKA_PROVERKA]

GO

CREATE   PROCEDURE dbo.SZV4_PACHKA_PROVERKA (@result int output, @link int, @mode tinyint)
AS

if @mode = 0 
BEGIN
	Select @result = proverka from dbo.SZV4_PACHKA where link = @link
	RETURN 0
END

if @mode = 1
BEGIN
	set @result = 0

	declare @DEP_LINK int
	exec dbo.xd_whats_zb @DEP_LINK output

	DECLARE @varKSNOM_PF VARCHAR(20), @varKSname VARCHAR(254), @varKSDEP int,
		@varKSOKPO VARCHAR(40), @varKSINN VARCHAR(12), @varKSKPP VARCHAR(9)--, @varKSRESULT INT

	SELECT 
		@varKSDEP = D.link, @varKSNOM_PF = PFNUMBER, @varKSname = UPPER([NAME]),
		@varKSOKPO = OKPO, @varKSINN = INN, @varKSKPP = KPP
	FROM DICTIONARY_DEPARTMENT D 
	WHERE D.link = @DEP_LINK

	declare @year_begin int
	set @year_begin = (SELECT year_begin FROM dbo.SZV4_PACHKA WHERE LINK = @link)

--	EXEC SD_CHECK_INN @varKSINN, @varKSRESULT OUTPUT, 0

	SELECT pachka = 0, orders = 0, msg = 'Собственные реквизиты организации: ' + 
	(case when LEN(RTRIM(LTRIM(COALESCE(@varKSKPP,'')))) = 0 THEN 'Не указан КПП организации;' else '' end)
	WHERE LEN(RTRIM(LTRIM(COALESCE(@varKSKPP,'')))) = 0 
	UNION
	SELECT pachka = 0, orders = 0, msg = 'Собственные реквизиты организации: ' + 
	(case when LEN(RTRIM(LTRIM(COALESCE(@varKSOKPO,'')))) = 0 THEN 'Не указан ОКПО организации;' else '' end)
	WHERE LEN(RTRIM(LTRIM(COALESCE(@varKSOKPO,'')))) = 0 
	UNION
	SELECT pachka = 0, orders = 0, msg = 'Собственные реквизиты организации: ' + 
	(case when LEN(RTRIM(LTRIM(COALESCE(@varKSINN,'')))) = 0 THEN 'Не указан ИНН организации;' 
		else (case when LEN(RTRIM(LTRIM(COALESCE(@varKSINN,'')))) < 10  then 'Не верный ИНН организации ' + RTRIM(LTRIM(COALESCE(@varKSINN,''))) else '' end) end)
	WHERE LEN(RTRIM(LTRIM(COALESCE(@varKSINN,'')))) < 10  --or @varKSRESULT = -1
	UNION
	SELECT pachka = 0, orders = 0, msg = 'Собственные реквизиты организации: ' + 
	(case when LEN(RTRIM(LTRIM(COALESCE(@varKSNOM_PF,'')))) = 0 THEN 'Не указан номер регистрации организации в ПФР;' 
		else (case when LEN(RTRIM(LTRIM(COALESCE(@varKSNOM_PF,'')))) <> 14 then 'Не верный номер регистрации организации в ПФР ' + RTRIM(LTRIM(COALESCE(@varKSNOM_PF,''))) else '' end) end)
	WHERE LEN(RTRIM(LTRIM(COALESCE(@varKSNOM_PF,'')))) <> 14
	UNION
	Select pachka, orders, msg = 'Пачка ' + convert(varchar(10),pachka) + ' стр. ' + convert(varchar(10),orders) + ' не указан(ы) атрибут(ы):' + 
		(case when coalesce(FM,'') = '' then ' Фамилия;' else '' end) + 
		(case when coalesce(IM,'') = '' then ' Имя;' else '' end) + 
		--(case when coalesce(OT,'') = '' then ' Отчество;' else '' end) + 
		(case when coalesce(PF_NUM,'') = '' then ' Страховой номер ПФ;' else '' end) + 
		(case when len(coalesce(ADDRESS2,'')) <= 9 then ' Адрес' else '' end)
	from dbo.sa_szv4_svedenia
	where	
		link = @link
		and (
		coalesce(FM,'') = ''
		or coalesce(IM,'') = ''
		--or coalesce(OT,'') = ''
		or coalesce(PF_NUM,'') = ''
		or len(coalesce(ADDRESS2,'')) <= 9
		)
	UNION
	Select pachka, orders, msg = 'Пачка ' + convert(varchar(10),pachka) + ' стр. ' + convert(varchar(10),orders) + ' Ошибка:' + 
		+ (case when coalesce(dper_vn_m,0)>12 or coalesce(dper_oz_m,0)>12 then ' Кол-во месяцев не может быть больше 12;' else '' end)
		+ (case when coalesce(dper_vn_d,0)>=30 or coalesce(dper_oz_d,0)>=30 then ' Кол-во дней должно быть меньше 30;' else '' end)
		+ (case when (coalesce(dper_vn_m,0) + coalesce(dper_vn_d,0) / 30 + coalesce(dper_oz_m,0) + coalesce(dper_oz_d,0) / 30) > 12 then 
				' Сумма периодов по врем. нетрудосп. и отпуска без сохранения З/П не должна превышать 12 мес.;' else '' end)	

	from dbo.sa_szv4_svedenia
	where	
		link = @link
		and (
		coalesce(dper_vn_m,0)>12
		or coalesce(dper_vn_d,0)>=30
		or coalesce(dper_oz_m,0)>12
		or coalesce(dper_oz_d,0)>=30
		or (coalesce(dper_vn_m,0) + coalesce(dper_vn_d,0)/30 + coalesce(dper_oz_m,0) + coalesce(dper_oz_d,0)/30) > 12
		)

	UNION
	Select pachka, orders, msg = 'Пачка ' + convert(varchar(10),pachka) + ' стр. ' + convert(varchar(10),orders) + ' Ошибка:' + 
		+ ' Пересекающиеся периоды в стаже!'
	from dbo.sa_szv4_svedenia SV
	where	
		link = @link
		and exists (select * from dbo.SZV4_stazh S1 inner join dbo.SZV4_stazh S2 on S1.link_up = S2.link_up and  S1.link <> S2.link
		where S1.link_up = SV.link1 and (S1.date1 between S2.date1 and S2.date2 or S1.date2 between S2.date1 and S2.date2)) 
	UNION
	Select pachka = 0, orders = 0, msg = 'АДВ-11 Ошибка:' + 
		+ 'Задолженность на начало перирда за ' + convert(varchar(4),@year_begin-1) + ' может быть только положительной!'
	where
		(select sum(sum_str) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin-1) < 0
		or
		(select sum(sum_nak) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin-1) < 0
		or
		(select sum(sum_dop) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin-1) < 0
	UNION
	Select pachka = 0, orders = 0, msg = 'АДВ-11 Ошибка:' + 
		+ 'Задолженность на начало перирда за ' + convert(varchar(4),@year_begin) + ' может быть только отрицательной!'
	where
		(select sum(sum_str) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin) > 0
		or
		(select sum(sum_nak) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin) > 0
		or
		(select sum(sum_dop) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin) > 0
	UNION
	Select pachka = 0, orders = 0, msg = 'АДВ-11 Ошибка:' + 
		+ 'Уплата за период ' + convert(varchar(4),@year_begin-1) + ' страховых взносов должна быть равной задолженности за этот период!'
	where
		(select sum(sum_str) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin-1) <
					(select sum(sum_str) from dbo.SA_SZV4_PLAT where link = @link)
		AND
		(select sum(sum_str) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin-1) >
					(select sum(sum_str) from dbo.SA_SZV4_PLAT where link = @link and [year] = @year_begin-1)
	UNION
	Select pachka = 0, orders = 0, msg = 'АДВ-11 Ошибка:' + 
		+ 'Уплата за период ' + convert(varchar(4),@year_begin-1) + ' накопительных взносов должна быть равной задолженности за этот период!'
	where
		(select sum(sum_nak) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin-1) <
					(select sum(sum_nak) from dbo.SA_SZV4_PLAT where link = @link)
		AND
		(select sum(sum_nak) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin-1) >
					(select sum(sum_nak) from dbo.SA_SZV4_PLAT where link = @link and [year] = @year_begin-1)
	UNION
	Select pachka = 0, orders = 0, msg = 'АДВ-11 Ошибка:' + 
		+ 'Уплата за период ' + convert(varchar(4),@year_begin-1) + ' взносов по доп.тарифу должна быть равной задолженности за этот период!'
	where
		(select sum(sum_dop) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin-1) <
					(select sum(sum_dop) from dbo.SA_SZV4_PLAT where link = @link)
		AND
		(select sum(sum_dop) from dbo.SA_SZV4_DOLGI where link = @link and [year] = @year_begin-1) >
					(select sum(sum_dop) from dbo.SA_SZV4_PLAT where link = @link and [year] = @year_begin-1)
	UNION 
		/* не должно быть физлиц, по которым в данном периоде нет сумм и сведений о стаже */	
	Select pachka, orders, msg = 'Пачка ' + convert(varchar(10),pachka) + ' стр. ' + convert(varchar(10),orders) + ' , но могут появиться перечисленные суммы после распределения. Если после операции распределения у этого сотрудника не появятся перечисленные суммы, то удалите его из списка.'
	from dbo.sa_szv4_svedenia S inner join  dbo.szv4_pachka p on p.link = s.link
	WHERE s.link = @LINK AND s.sum_doh = 0 AND s.INSUR = 0 AND s.GAIN = 0 AND s.DOP = 0 and s.sum_uplata_dolga_str = 0 and s.sum_uplata_dolga_nak = 0 AND S.INCOME_M1 = 0 AND S.INCOME_M2 = 0 AND S.INCOME_M3 = 0
	and p.vid_kor != 3
	AND NOT EXISTS (SELECT * FROM dbo.SZV4_STAZH ST WHERE ST.LINK_UP = S.LINK1)
	Order by pachka, orders

	if @@ROWCOUNT = 0 
	BEGIN
		exec dbo.SZV4_NUMERATOR @link
		update dbo.szv4_pachka set proverka = 1 where link = @link
		set @result = 1
	END		


END

RETURN 0





GO


GRANT EXECUTE ON dbo.[SZV4_PACHKA_PROVERKA] TO PUBLIC

GO



GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[BK_IMPORT_PROV_FROM_BKS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[BK_IMPORT_PROV_FROM_BKS]

GO

CREATE PROCEDURE dbo.BK_IMPORT_PROV_FROM_BKS 
	@cBufferID	char(20),  
	@dDateB		datetime,
	@dDateE		datetime,
	@cBuffIdKBK char(100),
	@cBuffIdSGU char(100),
	@cBuffIdACC char(100),
	@iNotOperLoad	tinyint = 0

AS
BEGIN
	DECLARE
		--- Реквизиты документа ---	
		@intDOC_BKS INT,
		@DOC_NUM VARCHAR (30),
		@DOC_DATE DATETIME,
		@DATE_PROV DATETIME,
		@DOC_TYPE INT,
		@DOC_CODE VARCHAR (254),
		@DOC_NAME VARCHAR (254),
		@DEP_INN VARCHAR (12),
		@COMMENT  VARCHAR (254),
		@DEP_ACC  VARCHAR (20),
	
		@intDOC_SMETA	INT,
		@intDEP_LINK	INT,
		@intDEP_ACC	INT,
	
		--- Создание операций ---
		@intLINK_G1	INT,
		@strNAME_OPER_G1	VARCHAR (254),
		@intORDERS_G1	INT,

		--- СОХРАНЕНИЕ ПРОВОДОК ---
		--- G_PROV2 ---
		@intLINK_G2	INT,
		@strNAME_OPER_G2	VARCHAR (254),
		@intORDERS_G2	INT,
		@intECON_OPER	INT,

		@strJO_CODE	VARCHAR (10),
		@intJO		INT,

		@nSUMMA		NUMERIC(19,2),

		--- G_PROV_AP (дебет)---
		@strACC_CODE_DT	VARCHAR(10),
		@strKBK_CODE_DT	VARCHAR(30),
		@intKBK_TYPE_DT	INT,
		@strSGU_CODE_DT	VARCHAR(3),
		@strEKR_CODE_DT	VARCHAR(3),
		@strDCL_CODE_DT	VARCHAR(20),
		@strDEP_ACC_DT	VARCHAR(20),
		@strDEP_INN_DT	VARCHAR(13),
		@strDEP_NAME_DT	VARCHAR(254),	
		@strDEP_OKATO_DT VARCHAR(15),
		
		@intACC_DT	INT,
		@intKBK_DT	INT,
		@intSGU_DT	INT,
		@intEKR_DT	INT,
		@intDCL_DT	INT,
		@intDEP_ACC_DT	INT,
		@intDEP_DT	INT,

		--- G_PROV_AP (кредит)---
		@strACC_CODE_KT	VARCHAR(10),
		@strKBK_CODE_KT	VARCHAR(30),
		@intKBK_TYPE_KT	INT,
		@strSGU_CODE_KT	VARCHAR(3),
		@strEKR_CODE_KT	VARCHAR(3),
		@strDCL_CODE_KT	VARCHAR(20),
		@strDEP_ACC_KT	VARCHAR(20),
		@strDEP_INN_KT	VARCHAR(13),	
		@strDEP_NAME_KT	VARCHAR(254),	
		@strDEP_OKATO_KT VARCHAR(15),
		
		@intACC_KT	INT,
		@intKBK_KT	INT,
		@intSGU_KT	INT,
		@intEKR_KT	INT,
		@intDCL_KT	INT,
		@intDEP_ACC_KT	INT,
		@intDEP_KT	INT,


		--- ---
		@intERROR	INT,
		@cStrVal	varchar(100),
		@cStr		varchar(8000),
		@nameServer varchar(100),
		@nameBase	varchar(100),
		@nameUser	varchar(100),
		@userPass	varchar(100),
		@uid		uniqueidentifier,
		@cDepNextCode varchar(10),

		@intCount_Prov_Save	INT,
		@intCount_Doc_Save	INT,
		@cINNOwner varchar(12)

	select @cINNOwner = INN from dbo.DEPARTMENTS where LINK = isnull(dbo.BK_GetDepZB(),dbo.GetOwnDepLink())
	--- Список созданных документов ---
	DECLARE @TABLE_DOCS TABLE (DOC_BKS INT, DOC_SMETA INT, DATE DATETIME, DATE_PROV DATETIME, DOC_NUM char(25), DOC_CODE VARCHAR (254))
	create table #tProtocol(txt varchar(1000), NEW_ROW tinyint, nSTATUS tinyint, nTAB tinyint)

	exec X_GET_OPTION 'REPORT_ORTIONS_SERVER_BKS',0,@cStrVal output	
	set @nameServer=RTRIM(ISNULL(@cStrVal,''))
	IF  @nameServer = ''
	begin
		insert into #tProtocol values('Не указан сервер для подключению к ПК "Бюджет-КС"',1,2,0)
		select * from #tProtocol
		return 2
	end 

	exec X_GET_OPTION 'REPORT_ORTIONS_BASE_BKS',0,@cStrVal output 	
	set @nameBase=RTRIM(ISNULL(@cStrVal,''))
	IF  @nameBase = ''
	begin
		insert into #tProtocol values('Не указана база для подключения к ПК "Бюджет-КС"',1,2,0)
		select * from #tProtocol
		return 2
	end 

	exec X_GET_OPTION 'REPORT_ORTIONS_USER_BKS',0,@cStrVal output 	
	set @nameUser=RTRIM(ISNULL(@cStrVal,''))
	IF  @nameUser = ''
	begin
		insert into #tProtocol values('Не указан пользователь для подключению к ПК "Бюджет-КС"',1,2,0)
		select * from #tProtocol
		return 2
	end 

	exec X_GET_OPTION 'REPORT_ORTIONS_PASS_BKS',0,@cStrVal output 	
	set @userPass=RTRIM(ISNULL(@cStrVal,''))

	insert into #tProtocol values('Соединение с сервером ПК "Бюджет-КС"',1,0,0)
	insert into #tProtocol values('Сервер: ' + @nameServer + ', База: ' + @nameBase + ', Пользователь: ' + @nameUser,1,0,1)

	exec XO_CONNECT_ANOTHER_SERVER @nameServer,@nameUser,@userPass
	execute('if not exists (select * from ['+@nameServer + '].[' + @nameBase + '].dbo.sysobjects where name = ''PROV2SMETA'')
		begin
			insert into #tProtocol values(''Возможность импорта не реализована в указаной базе ПК "Бюджет-КС"'',1,2,0)
			select * from #tProtocol
		end')
	if @@rowcount > 0
		return 2

	--- Запрос в БКС ---
	CREATE TABLE #PROV_BKS (LINK int, NUMBER varchar(25), DATE datetime, DATE_PROV datetime, 
			DOC_TYPE int, DOC_CODE varchar(254), DOC_NAME varchar(254), DEP_INN varchar(13), COMMENT varchar(254), DEP_ACC varchar(20),
			ACC_CODE_DT varchar(10), ACC_LINK_DT int, KBK_CODE_DT varchar(30), KBK_LINK_DT int, KBK_TYPE_DT int, 
			SGU_CODE_DT varchar(3), SGU_LINK_DT int, EKR_CODE_DT varchar(3), EKR_LINK_DT int, DCL_CODE_DT varchar(20), 
			DEP_ACC_DT varchar(20), DACC_LINK_DT int, DEP_INN_DT varchar(13), DEP_LINK_DT int, DEP_NAME_DT varchar(254), DEP_OKATO_DT varchar(20), 
			ACC_CODE_KT varchar(10), ACC_LINK_KT int, KBK_CODE_KT varchar(30), KBK_LINK_KT int, KBK_TYPE_KT int, 
			SGU_CODE_KT varchar(3), SGU_LINK_KT int, EKR_CODE_KT varchar(3), EKR_LINK_KT int, DCL_CODE_KT varchar(20), 
			DEP_ACC_KT varchar(20), DACC_LINK_KT int, DEP_INN_KT varchar(13), DEP_LINK_KT int, DEP_NAME_KT varchar(254), DEP_OKATO_KT varchar(20), 
			SUMMA money, OPER_NAME varchar(254), JO_CODE varchar(10))
	
	insert into #tProtocol values('Прием данных из ПК "Бюджет-КС"',1,0,0)
	--execute('exec #tFromBKS ['+@nameServer + '].[' + @nameBase + '].dbo.[PROV2SMETA] ''' + convert(varchar(20),@dDateB,112) + ''','''  + convert(varchar(20),@dDateE,112) + ''',4,0,0,0,0,0,0,0,0,0,0,0,0')
	--set @cStr = 'insert into #PROV_BKS exec ['+@nameServer + '].[' + @nameBase + '].dbo.[PROV2SMETA] ''' + convert(varchar(20),@dDateB,112) + ''','''  + convert(varchar(20),@dDateE,112) + ''',4,0,0,0,0,0,0,0,0,0,0,0,0'
	
	set @uid = newid()
	set @cStr = 'exec ['+@nameServer + '].[' + @nameBase + '].dbo.[PROV2SMETA] ''' + convert(varchar(50),@uid) + ''',''' + convert(varchar(20),@dDateB,112) + ''','''  + convert(varchar(20),@dDateE,112) + ''',4,0,0,0,0,0,0,0,0,0,0,0,0'
	execute(@cStr)

	--select * from #PROV_BKS
	set @cStr = 'insert into #PROV_BKS
			select BKS.LINK, BKS.NUMBER, BKS.DATE, BKS.DATE_PROV, 
			DOC_TYPE = DT.LINK, 
			DOC_CODE = replace(BKS.DOC_CODE,''DOCUMENTS_0401003A'',''DOCUMENTS_0401003''), 
			BKS.DOC_NAME, 
			BKS.DEP_INN, 
			BKS.COMMENT, 
			BKS.DEP_ACC,
			ACC_CODE_DT = case when IO.LINK is not null then '''' else BKS.ACC_CODE_DT end, 
			ACC_LINK_DT = case when IO.LINK is not null then IO.DT_ACC_LINK else null end, 
			KBK_CODE_DT = case when IO.LINK is not null and IO.DT_KBK = 3 then ''''  when IO.LINK is not null and IO.DT_KBK = 2 then BKS.KBK_CODE_KT else BKS.KBK_CODE_DT end,
			KBK_LINK_DT = case when IO.LINK is not null and IO.DT_KBK = 3 then IO.DT_KBK_LINK else NULL end,
			BKS.KBK_TYPE_DT, 
			SGU_CODE_DT = case when IO.LINK is not null and IO.DT_SGU = 3 then '''' when IO.LINK is not null and IO.DT_SGU = 2 then BKS.SGU_CODE_KT else BKS.SGU_CODE_DT end,
			SGU_LINK_DT = case when IO.LINK is not null and IO.DT_SGU = 3 then IO.DT_SGU_LINK else NULL end,
			EKR_CODE_DT = case when IO.LINK is not null and IO.DT_EKR = 3 then '''' when IO.LINK is not null and IO.DT_EKR = 2 then BKS.EKR_CODE_KT when IO.LINK is not null and IO.DT_EKR = 4 then BKS.SGU_CODE_DT when IO.LINK is not null and IO.DT_EKR = 5 then BKS.SGU_CODE_KT else BKS.EKR_CODE_DT end,
			EKR_LINK_DT = case when IO.LINK is not null and IO.DT_EKR = 3 then IO.DT_EKR_LINK else NULL end,
			BKS.DCL_CODE_DT, 
			DEP_ACC_DT = case when IO.LINK is not null and IO.DT_ACC = 3 then ''''  when IO.LINK is not null and IO.DT_ACC = 2 then BKS.DEP_ACC_KT else BKS.DEP_ACC_DT end,
			DACC_LINK_DT = case when IO.LINK is not null and IO.DT_ACC = 3 then IO.DT_DACC_LINK else NULL end,
			DEP_CODE_DT = case when IO.LINK is not null and IO.DT_DEP = 3 then '''' when IO.LINK is not null and IO.DT_DEP = 2 then BKS.DEP_INN_KT when IO.LINK is not null and IO.DT_DEP = 4 then BKS.DEP_INN_UT else BKS.DEP_INN_DT end,
			DEP_LINK_DT = case when IO.LINK is not null and IO.DT_DEP = 3 then IO.DT_DEP_LINK else NULL end,
			DEP_NAME_DT = case when IO.LINK is not null and IO.DT_DEP = 3 then '''' when IO.LINK is not null and IO.DT_DEP = 2 then BKS.DEP_N_KT when IO.LINK is not null and IO.DT_DEP = 4 then BKS.DEP_N_UT else BKS.DEP_N_DT end,
			DEP_OKATO_DT = case when IO.LINK is not null and IO.DT_DEP = 3 then '''' when IO.LINK is not null and IO.DT_DEP = 2 then BKS.DEP_OKATO_KT when IO.LINK is not null and IO.DT_DEP = 4 then BKS.DEP_OKATO_UT else BKS.DEP_OKATO_DT end,
			
			ACC_CODE_KT = case when IO.LINK is not null then '''' else BKS.ACC_CODE_KT end, 
			ACC_LINK_KT = case when IO.LINK is not null then IO.KT_ACC_LINK else null end, 
			KBK_CODE_KT = case when IO.LINK is not null and IO.KT_KBK = 3 then ''''  when IO.LINK is not null and IO.KT_KBK = 1 then BKS.KBK_CODE_DT else BKS.KBK_CODE_KT end,
			KBK_LINK_KT = case when IO.LINK is not null and IO.KT_KBK = 3 then IO.KT_KBK_LINK else NULL end,
			BKS.KBK_TYPE_KT, 
			SGU_CODE_KT = case when IO.LINK is not null and IO.KT_SGU = 3 then '''' when IO.LINK is not null and IO.KT_SGU = 1 then BKS.SGU_CODE_DT else BKS.SGU_CODE_KT end,
			SGU_LINK_KT = case when IO.LINK is not null and IO.KT_SGU = 3 then IO.KT_SGU_LINK else NULL end,
			EKR_CODE_KT = case when IO.LINK is not null and IO.KT_EKR = 3 then '''' when IO.LINK is not null and IO.KT_EKR = 1 then BKS.EKR_CODE_DT when IO.LINK is not null and IO.KT_EKR = 4 then BKS.SGU_CODE_DT  when IO.LINK is not null and IO.KT_EKR = 5 then BKS.SGU_CODE_KT else BKS.EKR_CODE_KT end,
			EKR_LINK_KT = case when IO.LINK is not null and IO.KT_EKR = 3 then IO.KT_EKR_LINK else NULL end,
			BKS.DCL_CODE_KT, 
			DEP_ACC_KT = case when IO.LINK is not null and IO.KT_ACC = 3 then ''''  when IO.LINK is not null and IO.KT_ACC = 1 then BKS.DEP_ACC_DT else BKS.DEP_ACC_KT end,
			DACC_LINK_KT = case when IO.LINK is not null and IO.KT_ACC = 3 then IO.KT_DACC_LINK else NULL end,
			DEP_CODE_KT = case when IO.LINK is not null and IO.KT_DEP = 3 then ''''  when IO.LINK is not null and IO.KT_DEP = 1 then BKS.DEP_INN_DT when IO.LINK is not null and IO.KT_DEP = 4 then BKS.DEP_INN_UT else BKS.DEP_INN_KT end,
			DEP_LINK_KT = case when IO.LINK is not null and IO.KT_DEP = 3 then IO.KT_DEP_LINK else NULL end,
			DEP_NAME_KT = case when IO.LINK is not null and IO.KT_DEP = 3 then ''''  when IO.LINK is not null and IO.KT_DEP = 1 then BKS.DEP_N_DT when IO.LINK is not null and IO.KT_DEP = 4 then BKS.DEP_N_UT else BKS.DEP_N_KT end,
			DEP_OKATO_KT = case when IO.LINK is not null and IO.KT_DEP = 3 then ''''  when IO.LINK is not null and IO.KT_DEP = 1 then BKS.DEP_OKATO_DT when IO.LINK is not null and IO.KT_DEP = 4 then BKS.DEP_OKATO_UT else BKS.DEP_OKATO_KT end,
			
			SUMMA = case isnull(IO.[sign],0) when 1 then -BKS.SUMMA else BKS.SUMMA end, 
			OPER_NAME = case when IO.LINK is not null then IO.OP_NAME else BKS.OPER_NAME end,
			BKS.JO_CODE 
			from ['+@nameServer + '].[' + @nameBase + '].dbo.[DOC2SMETA] BKS 
			inner join dbo.DICTIONARY_DOC_TYPES DT on DT.CODE_BKS = replace(BKS.DOC_CODE,''DOCUMENTS_0401003A'',''DOCUMENTS_0401003'')
			inner join dbo.BufferGetTableByID(''' + @cBufferID + ''') B on DT.LINK = B.LINK
			' + case @iNotOperLoad when 0 then 'left' else 'inner' end + 
			' join dbo.BB_IMPORT_BKS_OPER IO on IO.USED = 1 and
														(BKS.ACC_CODE_DT = IO.BDT_ACC_CODE or IO.BDT_ACC_CODE = '''') and
														(BKS.ACC_CODE_KT = IO.BKT_ACC_CODE or IO.BKT_ACC_CODE = '''') and
														(BKS.SGU_CODE_DT like Replace(Replace(rtrim(IO.BDT_SGU_CODE),''*'',''%''),''?'',''_'') or IO.BDT_SGU_CODE = '''') and
														(BKS.SGU_CODE_KT like Replace(Replace(rtrim(IO.BKT_SGU_CODE),''*'',''%''),''?'',''_'') or IO.BKT_SGU_CODE = '''') and
														(IO.BDT_KBK_FILTER = '''' or left(rtrim(IO.BDT_KBK_FILTER),1) <> ''!'' and BKS.KBK_CODE_DT like Replace(Replace(rtrim(IO.BDT_KBK_FILTER),''*'',''%''),''?'',''_'') or 
																					 left(rtrim(IO.BDT_KBK_FILTER),1) = ''!'' and BKS.KBK_CODE_DT not like Replace(Replace(Replace(rtrim(IO.BDT_KBK_FILTER),''*'',''%''),''?'',''_''),''!'','''')) and
														(IO.BKT_KBK_FILTER = '''' or left(rtrim(IO.BKT_KBK_FILTER),1) <> ''!'' and BKS.KBK_CODE_KT like Replace(Replace(rtrim(IO.BKT_KBK_FILTER),''*'',''%''),''?'',''_'')or 
																					 left(rtrim(IO.BKT_KBK_FILTER),1) = ''!'' and BKS.KBK_CODE_KT not like Replace(Replace(Replace(rtrim(IO.BKT_KBK_FILTER),''*'',''%''),''?'',''_''),''!'','''')) 
			where BKS.UID = ''' + convert(varchar(50),@uid) + ''' and BKS.DEP_INN = ''' + STR(@cINNOwner) + ''''
	--select @cStr
	execute(@cStr)
	--select * from #PROV_BKS where number = '9'
	--insert into #tProtocol values('Принято ' + ltrim(str(@@rowcount)) + ' проводок',1,0,0)
	
/*
	set @cStr = 'delete from ['+@nameServer + '].[' + @nameBase + '].dbo.[DOC2SMETA] where UID = ''' + convert(varchar(50),@uid) + ''''
	execute(@cStr)
*/
/*
	
	set @cStr = 'select BKS.* 
			from ['+@nameServer + '].[' + @nameBase + '].dbo.[DOC2SMETA] BKS 
			inner join dbo.DICTIONARY_DOC_TYPES DT on DT.CODE_BKS = replace(BKS.DOC_CODE,''DOCUMENTS_0401003A'',''DOCUMENTS_0401003'')
			inner join dbo.BufferGetTableByID(''' + @cBufferID + ''') B on DT.LINK = B.LINK
			where BKS.UID = ''' + convert(varchar(50),@uid) + ''''
execute(@cStr)
	
 select * from #PROV_BKS*/

	set @cStr = 'EXEC ['+@nameServer + '].[' + @nameBase + '].dbo.DEL_FROM_DOC2SMETA ''' + convert(varchar(50),@uid) + ''''
	execute(@cStr)

	SELECT @intDEP_LINK = ISNULL (dbo.BK_GetDepZB (), dbo.GetOwnDepLink ())
	/*INSERT #PROV_BKS (LINK, NUMBER, DATE, DATE_PROV, DOC_CODE, DOC_NAME, DEP_INN, COMMENT, DEP_ACC,
				ACC_CODE_DT, KBK_CODE_DT, KBK_TYPE_DT, SGU_CODE_DT, EKR_CODE_DT, DCL_CODE_DT, DEP_ACC_DT, DEP_INN_DT, 
				ACC_CODE_KT, KBK_CODE_KT, KBK_TYPE_KT, SGU_CODE_KT, EKR_CODE_KT, DCL_CODE_KT, DEP_ACC_KT, DEP_INN_KT,
				SUMMA, OPER_NAME, JO_CODE)
	EXECUTE BKS_SMETA.DBO.PROV2SMETA @DATE_START, @DATE_END */
-- проверим наличие КБК,СГУ,Субсчетов при выключеных фильтрах
--КБК
	if isnull(@cBuffIdKBK,'') = ''
	begin 
		insert into #tProtocol
		select 'В справочнике КБК не найден КБК: ' + KBK_CODE_DT as txt,1 ,1,0
		from #PROV_BKS
		where KBK_CODE_DT not in (select replace(CODE,'.','') from dbo.KL_KBK) 
		union
		select 'В справочнике КБК не найден КБК: ' + KBK_CODE_KT + '' as txt,1,1,0
		from #PROV_BKS
		where KBK_CODE_KT not in (select replace(CODE,'.','') from dbo.KL_KBK)
		order by txt
	end
	ELSE
	begin
		update #PROV_BKS
		SET KBK_CODE_DT = KBK_CODE_KT
		where KBK_CODE_DT not in(SELECT replace(CODE,'.','') from dbo.KL_KBK KBK inner join dbo.BufferGetTableByID(@cBuffIdKBK) B on KBK.LINK = B.LINK) and
				KBK_CODE_KT in(SELECT replace(CODE,'.','') from dbo.KL_KBK KBK inner join dbo.BufferGetTableByID(@cBuffIdKBK) B on KBK.LINK = B.LINK)
		
		update #PROV_BKS
		SET KBK_CODE_KT = KBK_CODE_DT
		where KBK_CODE_KT not in(SELECT replace(CODE,'.','') from dbo.KL_KBK KBK inner join dbo.BufferGetTableByID(@cBuffIdKBK) B on KBK.LINK = B.LINK) and
				KBK_CODE_DT in(SELECT replace(CODE,'.','') from dbo.KL_KBK KBK inner join dbo.BufferGetTableByID(@cBuffIdKBK) B on KBK.LINK = B.LINK)
	end

--КБК
	if isnull(@cBuffIdSGU,'') = ''
	begin 
		insert into #tProtocol
		select 'В справочнике КОСГУ не найден КОСГУ/Д: ' + SGU_CODE_DT as txt,1 ,1,0
		from #PROV_BKS
		where SGU_CODE_DT not in (select CODE from dbo.KOSGU) 
		union
		select 'В справочнике КОСГУ не найден КОСГУ/К: ' + SGU_CODE_KT as txt,1,1,0
		from #PROV_BKS
		where SGU_CODE_KT not in (select CODE from dbo.KOSGU)
		union
		select 'В справочнике КОСГУ не найден КОСГУ (ЭКР/Д): ' + EKR_CODE_DT as txt,1 ,1,0
		from #PROV_BKS
		where EKR_CODE_DT not in (select CODE from dbo.KOSGU) 
		union
		select 'В справочнике КОСГУ не найден КОСГУ (ЭКР/К): ' + EKR_CODE_KT as txt,1,1,0
		from #PROV_BKS
		where EKR_CODE_KT not in (select CODE from dbo.KOSGU)
		order by txt
/*	
		select 'В справочнике КОСГУ не найден КОСГУ: ' + EKR_CODE_DT as txt,1 ,1,0
		from #PROV_BKS
		where SGU_CODE_DT not in (select CODE from dbo.KOSGU) 
		union
		select 'В справочнике КОСГУ не найден КОСГУ: ' + EKR_CODE_KT + '' as txt,1,1,0
		from #PROV_BKS
		where SGU_CODE_KT not in (select CODE from dbo.KOSGU)
		order by txt
*/	end

--КБК
	if isnull(@cBuffIdACC,'') = ''
	begin 
		insert into #tProtocol
		select 'В плане счетов не найден субсчет: ' + ACC_CODE_DT as txt,1 ,1,0
		from #PROV_BKS
		where ACC_CODE_DT not in (select replace(CODE,'.','') from dbo.S_ACCOUNTS) 
		union
		select 'В плане счетов не найден субсчет: ' + ACC_CODE_KT + '' as txt,1,1,0
		from #PROV_BKS
		where ACC_CODE_KT not in (select replace(CODE,'.','') from dbo.S_ACCOUNTS)
		order by txt
	end

-- конец проверки

--select * from #PROV_BKS
--where ACC_CODE_DT = ''
--where ACC_CODE_DT in ('120201') --, '140201')
--	OR ACC_CODE_KT in ('120201', '140201')
/*
	SELECT	all BKS.LINK, CONVERT (VARCHAR (15), ISNULL (BKS.NUMBER, '')),
			BKS.[DATE], BKS.DATE_PROV, 
			BKS.DOC_TYPE, BKS.DOC_CODE, BKS.DOC_NAME, BKS.DEP_INN, BKS.COMMENT, BKS.DEP_ACC,
		
			coalesce(ACCD1.LINK,BKS.ACC_LINK_DT,ACCD.LINK) as ACC_LINK_DT, BKS.ACC_CODE_DT, 
			isnull(BKS.KBK_LINK_DT,KBKD.LINK) as KBK_LINK_DT, BKS.KBK_CODE_DT, BKS.KBK_TYPE_DT, 
			isnull(BKS.SGU_LINK_DT,SGUD.LINK) as SGU_LINK_DT, BKS.SGU_CODE_DT, 
			EKRD.LINK as EKR_LINK_DT, EKRD.CODE as EKR_CODE_DT, 
			BKS.DCL_CODE_DT, 
			isnull(BKS.DACC_LINK_DT,null), BKS.DEP_ACC_DT, 
			isnull(BKS.DEP_LINK_DT,null), BKS.DEP_INN_DT, BKS.DEP_NAME_DT, 

			coalesce(ACCK1.LINK,BKS.ACC_LINK_KT,ACCK.LINK) as ACC_LINK_KT, BKS.ACC_CODE_KT, 
			isnull(BKS.KBK_LINK_KT,KBKK.LINK) as KBK_LINK_KT, BKS.KBK_CODE_KT, BKS.KBK_TYPE_KT, 
			isnull(BKS.SGU_LINK_KT,SGUK.LINK) as SGU_LINK_KT, BKS.SGU_CODE_KT, 
			EKRK.LINK as EKR_LINK_KT, EKRK.CODE as EKR_CODE_KT, 
			BKS.DCL_CODE_KT, 
			isnull(BKS.DACC_LINK_KT,null), BKS.DEP_ACC_KT, 
			isnull(BKS.DEP_LINK_KT,null),BKS.DEP_INN_KT, BKS.DEP_NAME_KT,
			BKS.SUMMA, CONVERT (VARCHAR (254), BKS.OPER_NAME), BKS.JO_CODE

			FROM #PROV_BKS BKS
			left join dbo.KL_KBK KBKD on BKS.KBK_CODE_DT = replace(KBKD.CODE,'.','')
				OR KBKD.LINK = BKS.KBK_LINK_DT and BKS.KBK_LINK_DT is not null
			left join dbo.BufferGetTableByID(@cBuffIdKBK) BKBKD on KBKD.LINK = BKBKD.LINK
			left join dbo.KL_KBK KBKK on BKS.KBK_CODE_KT = replace(KBKK.CODE,'.','')
				OR KBKK.LINK = BKS.KBK_LINK_KT and BKS.KBK_LINK_KT is not null
			left join dbo.BufferGetTableByID(@cBuffIdKBK) BKBKK on KBKK.LINK = BKBKK.LINK
			left join dbo.KOSGU SGUD on BKS.SGU_CODE_DT = SGUD.CODE
				OR SGUD.LINK = BKS.SGU_LINK_DT and BKS.SGU_LINK_DT is not null
			left join dbo.BufferGetTableByID(@cBuffIdSGU) BSGUD on SGUD.LINK = BSGUD.LINK
			left join dbo.KOSGU SGUK on BKS.SGU_CODE_KT = SGUK.CODE
				OR SGUK.LINK = BKS.SGU_LINK_KT and BKS.SGU_LINK_KT is not null
			left join dbo.BufferGetTableByID(@cBuffIdSGU) BSGUK on SGUK.LINK = BSGUK.LINK
			left join dbo.S_ACCOUNTS ACCD on (BKS.ACC_CODE_DT = replace(ACCD.CODE,'.','') and ACCD.CODE <> ''
				OR ACCD.LINK = BKS.ACC_LINK_DT)
			left join dbo.S_ACCOUNTS ACCK on (BKS.ACC_CODE_KT = replace(ACCK.CODE,'.','') and ACCK.CODE <> ''
				OR ACCK.LINK = BKS.ACC_LINK_KT)
			left join dbo.KOSGU EKRD on (ACCD.P_KASSA = 1 or BKS.SGU_LINK_DT = -1) and isnull(BKS.SGU_LINK_DT,SGUD.LINK) = EKRD.LINK or ACCD.P_KASSA = 0 and (BKS.EKR_CODE_DT = EKRD.CODE OR EKRD.LINK = BKS.EKR_LINK_DT and BKS.EKR_LINK_DT is not null) 
			left join dbo.BufferGetTableByID(@cBuffIdSGU) BEKRD on EKRD.LINK = BEKRD.LINK
			--left join dbo.KOSGU EKRK on (ACCK.P_EKR = 1 and ACCK.ANALIT_EKR = EKRK.LINK  or ACCK.P_EKR = 0 and(ACCK.P_KASSA = 1 and SGUK.LINK = EKRK.LINK or ACCK.P_KASSA = 0 and BKS.EKR_CODE_KT = EKRK.CODE)) 
			left join dbo.KOSGU EKRK on (ACCK.P_KASSA = 1 or BKS.SGU_LINK_KT = -1) and isnull(BKS.SGU_LINK_KT,SGUK.LINK) = EKRK.LINK or ACCK.P_KASSA = 0 and (BKS.EKR_CODE_KT = EKRK.CODE OR EKRK.LINK = BKS.EKR_LINK_KT and BKS.EKR_LINK_KT is not null) 
			left join dbo.BufferGetTableByID(@cBuffIdSGU) BEKRK on EKRK.LINK = BEKRK.LINK
			left join dbo.S_ACCOUNTS ACCD1 on EKRD.IS_EKR = 1 and ACCD1.cSinth = ACCD.cSinth and ACCD1.cSource = ACCD.cSource and ACCD1.ANALIT_EKR = EKRD.LINK
			left join dbo.BufferGetTableByID(@cBuffIdACC) BACCD on ACCD.LINK = BACCD.LINK
			left join dbo.S_ACCOUNTS ACCK1 on EKRK.IS_EKR = 1 and ACCK1.cSinth = ACCK.cSinth and ACCK1.cSource = ACCK.cSource and ACCK1.ANALIT_EKR = EKRK.LINK
			left join dbo.BufferGetTableByID(@cBuffIdACC) BACCK on ACCK.LINK = BACCK.LINK
			--left join dbo.KOSGU EKRD on (ACCD.P_EKR = 1 and ACCD.ANALIT_EKR = EKRD.LINK  or ACCD.P_EKR = 0 and(ACCD.P_KASSA = 1 and SGUD.LINK = EKRD.LINK or ACCD.P_KASSA = 0 and BKS.EKR_CODE_DT = EKRD.CODE)) 
			where	KBKD.LINK is not null and SGUD.LINK is not null and ACCD.LINK is not null and --(EKRD.LINK is not null and (BKS.EKR_CODE_DT <> '' or ACCD.P_EKR = 1 or ACCD.P_EKR = 1) or EKRD.LINK is null and BKS.EKR_CODE_DT = '') and
					KBKK.LINK is not null and SGUK.LINK is not null and ACCK.LINK is not null and --(EKRK.LINK is not null and (BKS.EKR_CODE_DT <> '' or ACCK.P_EKR = 1 or ACCK.P_EKR = 1) or EKRK.LINK is null and BKS.EKR_CODE_DT = '') and
--					(@cBuffIdKBK = '' or @cBuffIdKBK <> '' and BKBKD.LINK is not null and BKBKK.LINK is not null) and
--					(@cBuffIdKBK = '' or @cBuffIdKBK <> '' and (BKBKD.LINK is not null OR BKBKK.LINK is not null)) and
					(@cBuffIdSGU = '' or @cBuffIdSGU <> '' and BSGUD.LINK is not null and BSGUK.LINK is not null and BEKRD.LINK is not null and BEKRK.LINK is not null) and
					(@cBuffIdACC = '' or @cBuffIdACC <> '' and BACCD.LINK is not null and BACCK.LINK is not null)
			ORDER BY BKS.LINK
*/
	DECLARE #CURS_BKS CURSOR STATIC LOCAL FOR 
	SELECT	all BKS.LINK, CONVERT (VARCHAR (15), ISNULL (BKS.NUMBER, '')),
			BKS.[DATE], BKS.DATE_PROV, 
			BKS.DOC_TYPE, BKS.DOC_CODE, BKS.DOC_NAME, BKS.DEP_INN, BKS.COMMENT, BKS.DEP_ACC,
		
			coalesce(ACCD1.LINK,BKS.ACC_LINK_DT,ACCD.LINK) as ACC_LINK_DT, BKS.ACC_CODE_DT, 
			isnull(BKS.KBK_LINK_DT,KBKD.LINK) as KBK_LINK_DT, BKS.KBK_CODE_DT, BKS.KBK_TYPE_DT, 
			isnull(BKS.SGU_LINK_DT,SGUD.LINK) as SGU_LINK_DT, BKS.SGU_CODE_DT, 
			EKRD.LINK as EKR_LINK_DT, EKRD.CODE as EKR_CODE_DT, 
			BKS.DCL_CODE_DT, 
			isnull(BKS.DACC_LINK_DT,null), BKS.DEP_ACC_DT, 
			isnull(BKS.DEP_LINK_DT,null), BKS.DEP_INN_DT, BKS.DEP_NAME_DT, BKS.DEP_OKATO_DT,

			coalesce(ACCK1.LINK,BKS.ACC_LINK_KT,ACCK.LINK) as ACC_LINK_KT, BKS.ACC_CODE_KT, 
			isnull(BKS.KBK_LINK_KT,KBKK.LINK) as KBK_LINK_KT, BKS.KBK_CODE_KT, BKS.KBK_TYPE_KT, 
			isnull(BKS.SGU_LINK_KT,SGUK.LINK) as SGU_LINK_KT, BKS.SGU_CODE_KT, 
			EKRK.LINK as EKR_LINK_KT, EKRK.CODE as EKR_CODE_KT, 
			BKS.DCL_CODE_KT, 
			isnull(BKS.DACC_LINK_KT,null), BKS.DEP_ACC_KT, 
			isnull(BKS.DEP_LINK_KT,null),BKS.DEP_INN_KT, BKS.DEP_NAME_KT, BKS.DEP_OKATO_KT,
			BKS.SUMMA, CONVERT (VARCHAR (254), BKS.OPER_NAME), BKS.JO_CODE

			FROM #PROV_BKS BKS
			left join dbo.KL_KBK KBKD on BKS.KBK_CODE_DT = replace(KBKD.CODE,'.','') --and BKS.KBK_TYPE_DT = KBKD.TYPE
				OR KBKD.LINK = BKS.KBK_LINK_DT and BKS.KBK_LINK_DT is not null
			left join dbo.BufferGetTableByID(@cBuffIdKBK) BKBKD on KBKD.LINK = BKBKD.LINK
			left join dbo.KL_KBK KBKK on BKS.KBK_CODE_KT = replace(KBKK.CODE,'.','') --and BKS.KBK_TYPE_KT = KBKK.TYPE
				OR KBKK.LINK = BKS.KBK_LINK_KT and BKS.KBK_LINK_KT is not null
			left join dbo.BufferGetTableByID(@cBuffIdKBK) BKBKK on KBKK.LINK = BKBKK.LINK
			left join dbo.KOSGU SGUD on BKS.SGU_CODE_DT = SGUD.CODE
				OR SGUD.LINK = BKS.SGU_LINK_DT and BKS.SGU_LINK_DT is not null
			left join dbo.BufferGetTableByID(@cBuffIdSGU) BSGUD on SGUD.LINK = BSGUD.LINK
			left join dbo.KOSGU SGUK on BKS.SGU_CODE_KT = SGUK.CODE
				OR SGUK.LINK = BKS.SGU_LINK_KT and BKS.SGU_LINK_KT is not null
			left join dbo.BufferGetTableByID(@cBuffIdSGU) BSGUK on SGUK.LINK = BSGUK.LINK
			left join dbo.S_ACCOUNTS ACCD on (BKS.ACC_CODE_DT = replace(ACCD.CODE,'.','') and ACCD.CODE <> ''
				OR ACCD.LINK = BKS.ACC_LINK_DT)
			left join dbo.S_ACCOUNTS ACCK on (BKS.ACC_CODE_KT = replace(ACCK.CODE,'.','') and ACCK.CODE <> ''
				OR ACCK.LINK = BKS.ACC_LINK_KT)
			left join dbo.KOSGU EKRD on (ACCD.P_KASSA = 1 or BKS.SGU_LINK_DT = -1) and isnull(BKS.SGU_LINK_DT,SGUD.LINK) = EKRD.LINK or ACCD.P_KASSA = 0 and (BKS.EKR_CODE_DT = EKRD.CODE OR EKRD.LINK = BKS.EKR_LINK_DT and BKS.EKR_LINK_DT is not null) 
			left join dbo.BufferGetTableByID(@cBuffIdSGU) BEKRD on EKRD.LINK = BEKRD.LINK
			--left join dbo.KOSGU EKRK on (ACCK.P_EKR = 1 and ACCK.ANALIT_EKR = EKRK.LINK  or ACCK.P_EKR = 0 and(ACCK.P_KASSA = 1 and SGUK.LINK = EKRK.LINK or ACCK.P_KASSA = 0 and BKS.EKR_CODE_KT = EKRK.CODE)) 
			left join dbo.KOSGU EKRK on (ACCK.P_KASSA = 1 or BKS.SGU_LINK_KT = -1) and isnull(BKS.SGU_LINK_KT,SGUK.LINK) = EKRK.LINK or ACCK.P_KASSA = 0 and (BKS.EKR_CODE_KT = EKRK.CODE OR EKRK.LINK = BKS.EKR_LINK_KT and BKS.EKR_LINK_KT is not null) 
			left join dbo.BufferGetTableByID(@cBuffIdSGU) BEKRK on EKRK.LINK = BEKRK.LINK
			left join dbo.S_ACCOUNTS ACCD1 on EKRD.IS_EKR = 1 and ACCD1.cSinth = ACCD.cSinth and ACCD1.cSource = ACCD.cSource and ACCD1.ANALIT_EKR = EKRD.LINK
			left join dbo.BufferGetTableByID(@cBuffIdACC) BACCD on ACCD.LINK = BACCD.LINK
			left join dbo.S_ACCOUNTS ACCK1 on EKRK.IS_EKR = 1 and ACCK1.cSinth = ACCK.cSinth and ACCK1.cSource = ACCK.cSource and ACCK1.ANALIT_EKR = EKRK.LINK
			left join dbo.BufferGetTableByID(@cBuffIdACC) BACCK on ACCK.LINK = BACCK.LINK
			--left join dbo.KOSGU EKRD on (ACCD.P_EKR = 1 and ACCD.ANALIT_EKR = EKRD.LINK  or ACCD.P_EKR = 0 and(ACCD.P_KASSA = 1 and SGUD.LINK = EKRD.LINK or ACCD.P_KASSA = 0 and BKS.EKR_CODE_DT = EKRD.CODE)) 
			where	KBKD.LINK is not null and SGUD.LINK is not null and ACCD.LINK is not null and --(EKRD.LINK is not null and (BKS.EKR_CODE_DT <> '' or ACCD.P_EKR = 1 or ACCD.P_EKR = 1) or EKRD.LINK is null and BKS.EKR_CODE_DT = '') and
					KBKK.LINK is not null and SGUK.LINK is not null and ACCK.LINK is not null and --(EKRK.LINK is not null and (BKS.EKR_CODE_DT <> '' or ACCK.P_EKR = 1 or ACCK.P_EKR = 1) or EKRK.LINK is null and BKS.EKR_CODE_DT = '') and
--					(@cBuffIdKBK = '' or @cBuffIdKBK <> '' and BKBKD.LINK is not null and BKBKK.LINK is not null) and
--					(@cBuffIdKBK = '' or @cBuffIdKBK <> '' and (BKBKD.LINK is not null OR BKBKK.LINK is not null)) and
					(@cBuffIdSGU = '' or @cBuffIdSGU <> '' and BSGUD.LINK is not null and BSGUK.LINK is not null and BEKRD.LINK is not null and BEKRK.LINK is not null) and
					(@cBuffIdACC = '' or @cBuffIdACC <> '' and BACCD.LINK is not null and BACCK.LINK is not null)
			ORDER BY BKS.LINK
	
	--insert into #tProtocol values('Принято ' + ltrim(str(@@rowcount)) + ' проводок',1,0,0)
	
	OPEN #CURS_BKS 
	
	insert into #tProtocol values('Принято ' + ltrim(str(@@rowcount)) + ' проводок',1,0,0)
	insert into #tProtocol values('Сохранение принятых документов',1,0,0)
	
	FETCH FROM #CURS_BKS 
	INTO	@intDOC_BKS, @DOC_NUM, @DOC_DATE, @DATE_PROV, @DOC_TYPE, @DOC_CODE, @DOC_NAME,
			@DEP_INN, @COMMENT, @DEP_ACC,
		
			@intACC_DT, @strACC_CODE_DT, 
			@intKBK_DT, @strKBK_CODE_DT, @intKBK_TYPE_DT, 
			@intSGU_DT, @strSGU_CODE_DT, 
			@intEKR_DT, @strEKR_CODE_DT, 
			@strDCL_CODE_DT,@intDEP_ACC_DT, @strDEP_ACC_DT, 
			@intDEP_DT, @strDEP_INN_DT, @strDEP_NAME_DT, @strDEP_OKATO_DT,

			@intACC_KT, @strACC_CODE_KT, 
			@intKBK_KT, @strKBK_CODE_KT, @intKBK_TYPE_KT, 
			@intSGU_KT, @strSGU_CODE_KT, 
			@intEKR_KT, @strEKR_CODE_KT, 
			@strDCL_CODE_KT, @intDEP_ACC_KT, @strDEP_ACC_KT, 
			@intDEP_KT, @strDEP_INN_KT, @strDEP_NAME_KT, @strDEP_OKATO_KT,
			
			@nSUMMA, @strNAME_OPER_G1, @strJO_CODE
	
	SELECT @intCount_Prov_Save = 0,
		@intCount_Doc_Save = 0

	WHILE @@FETCH_STATUS = 0 
	BEGIN
		--- Выбор документа для СМЕТЫ, если нет, то создаем новый ---
		SELECT @intDOC_SMETA = (SELECT DOC_SMETA FROM @TABLE_DOCS WHERE DOC_BKS = @intDOC_BKS)
		
					
		--- Создание нового документа в смете ---
		IF @intDOC_SMETA IS NULL
		BEGIN
			insert into #tProtocol values('Прием документа "' + @DOC_NAME + '" №' + isnull(@DOC_NUM,'') + isnull(' от ' + ltrim(rtrim(convert(char(20),@DOC_DATE,104))),''),1,0,0)
			if exists(select * from dbo.DOCUMENTS_OPER G where NUMBER = isnull(@DOC_NUM,'') and DATE = @DOC_DATE and DATE_PROV = @DATE_PROV and DEP_LINK = @intDEP_LINK and KIND_CODE_BKS = @DOC_CODE) and
				not exists(select * from @TABLE_DOCS where @DATE_PROV = DATE_PROV and DATE = @DOC_DATE and @DOC_NUM = DOC_NUM and @DOC_CODE = DOC_CODE) or 
				(@DOC_CODE = 'DOCUMENTS_0401002' and exists(select P.* 
															from dbo.DOCUMENTS_PAY P 
															inner join dbo.G_PROV1 G1 on G1.LINK_UP = P.LINK  
															inner join dbo.G_PROV2 G2 on G2.LINK_UP = G1.LINK and G2.SUMMA = @nSUMMA  
															where P.NUMBER = isnull(@DOC_NUM,'') and P.DATE_PROV = @DATE_PROV and P.DATE = @DOC_DATE and P.DEP_LINK = @intDEP_LINK))
				insert into #tProtocol values('Документ "' + @DOC_NAME + '" №' + isnull(@DOC_NUM,'') + isnull(' от ' + ltrim(rtrim(convert(char(20),@DOC_DATE,104))),'') + ' уже существует. ',1,0,1)
			else
			begin
				SELECT @intDEP_ACC = (SELECT TOP 1 LINK FROM dbo.DEPARTMENT_ACCOUNTS WHERE CODE = @DEP_ACC)
				insert into #tProtocol values('Создание документа "' + @DOC_NAME + '" №' + isnull(@DOC_NUM,'') + isnull(' от ' + ltrim(rtrim(convert(char(20),@DOC_DATE,104))),''),1,0,1)
			
				SELECT @COMMENT = 'Принят из БКС: ' + ISNULL (@COMMENT, RTRIM (ISNULL (@DOC_NAME, '')))
				EXEC @intERROR = dbo.X_SAVE_DOCUMENTS_OPER @intDOC_SMETA OUTPUT, @DOC_NUM, @DOC_DATE, @DATE_PROV,
					0, @COMMENT, DEFAULT, @DOC_TYPE, @intDEP_LINK, @intDEP_ACC
				IF @intERROR <> 0
					RETURN @intERROR
				
				SET @intCount_Doc_Save = @intCount_Doc_Save + 1

				INSERT INTO @TABLE_DOCS (DOC_BKS, DOC_SMETA, DATE, DATE_PROV, DOC_NUM, DOC_CODE)
				VALUES (@intDOC_BKS, @intDOC_SMETA, @DOC_DATE, @DATE_PROV, @DOC_NUM, @DOC_CODE) 
			end
		END	-- IF @intDOC_SMETA IS NULL
	
		IF @intDOC_SMETA IS NULL
		BEGIN
			insert into #tProtocol values('Невозможно создать документ.',1,1,1)
			FETCH FROM #CURS_BKS 
			INTO	@intDOC_BKS, @DOC_NUM, @DOC_DATE, @DATE_PROV, @DOC_TYPE, @DOC_CODE, @DOC_NAME,
			@DEP_INN, @COMMENT, @DEP_ACC,
		
			@intACC_DT, @strACC_CODE_DT, 
			@intKBK_DT, @strKBK_CODE_DT, @intKBK_TYPE_DT, 
			@intSGU_DT, @strSGU_CODE_DT, 
			@intEKR_DT, @strEKR_CODE_DT, 
			@strDCL_CODE_DT,@intDEP_ACC_DT, @strDEP_ACC_DT, 
			@intDEP_DT, @strDEP_INN_DT, @strDEP_NAME_DT, @strDEP_OKATO_DT,

			@intACC_KT, @strACC_CODE_KT, 
			@intKBK_KT, @strKBK_CODE_KT, @intKBK_TYPE_KT, 
			@intSGU_KT, @strSGU_CODE_KT, 
			@intEKR_KT, @strEKR_CODE_KT, 
			@strDCL_CODE_KT, @intDEP_ACC_KT, @strDEP_ACC_KT, 
			@intDEP_KT, @strDEP_INN_KT, @strDEP_NAME_KT, @strDEP_OKATO_DT,
			
			@nSUMMA, @strNAME_OPER_G1, @strJO_CODE
			CONTINUE
		END

		--select @strDEP_INN_DT, @strDEP_NAME_DT, @strDEP_INN_KT, @strDEP_NAME_KT,@DOC_NUM
		--- ВЫЧИСЛЕНИЕ ЗНАЧЕНИЯ РЕКВИЗИТОВ ПРОВОДКИ (АНАЛИТИКИ) ---
		--- Дебетовая часть ---
		
		set @intDCL_DT = (SELECT TOP 1 LINK
		FROM dbo.DOP_CLASSIF
		WHERE CODE = @strDCL_CODE_DT)

		IF ISNULL (@strDEP_INN_DT, '') <> '' and @intDEP_DT is null
			SELECT TOP 1 @intDEP_DT = LINK
			FROM dbo.DEPARTMENTS  
			WHERE (rtrim(INN) + case INN_DOP when '' then '' else '/' + INN_DOP end) = @strDEP_INN_DT		

		IF @intDEP_ACC_DT is null and ISNULL (@strDEP_ACC_DT, '') <> '' 
			SELECT TOP 1 @intDEP_ACC_DT = LINK
			FROM dbo.DEPARTMENT_ACCOUNTS
			WHERE CODE = @strDEP_ACC_DT
				
		if isnull(@strDCL_CODE_DT,'') <> '' and @intDCL_DT is null
			insert into #tProtocol values('В справочнике не найдена доп. классификация: ' + @strDCL_CODE_DT,1 ,1,2)

	
		--print @strDEP_INN_DT
		if isnull(@strDEP_INN_DT,'') <> '' and isnull(@strDEP_NAME_DT,'') <> '' and @intDEP_DT is null
		begin
			select @cDepNextCode = cast(ISNULL(MAX(CONVERT(bigint, CODE)),0) + 1 as varchar(10))  
			FROM  dbo.DEPARTMENTS
			where dbo.CheckIsNumeric(CODE) = 1
			insert into dbo.DEPARTMENTS (CODE, INN, [NAME], FULL_NAME, TYPE, OKATO)
			values(@cDepNextCode,@strDEP_INN_DT,@strDEP_NAME_DT,@strDEP_NAME_DT,1, ISNULL(@strDEP_OKATO_DT,''))
			insert into #tProtocol values('Организация ' + @strDEP_NAME_DT + ' с ИНН: ' + @strDEP_INN_DT + ' добалена в справочник',1 ,1,2)
		end

		if isnull(@strDEP_INN_DT,'') <> '' and @intDEP_DT is null
				insert into #tProtocol values('В справочнике не найдена организация с ИНН: ' + @strDEP_INN_DT,1 ,1,2)

		if isnull(@strDEP_ACC_DT,'') <> '' and @intDEP_ACC_DT is null
				insert into #tProtocol values('В справочнике не найден счет организации: ' + @strDEP_ACC_DT,1 ,1,2)
		
	--	select @strDEP_INN_KT,@strDEP_NAME_KT,@strDEP_NAME_KT
	
--- Кредитовая часть ---
		
		set @intDCL_KT = (SELECT TOP 1 LINK
		FROM dbo.DOP_CLASSIF
		WHERE CODE = @strDCL_CODE_KT)	 

		IF ISNULL (@strDEP_INN_KT, '') <> '' and @intDEP_KT is null
			SELECT TOP 1 @intDEP_KT = LINK
			FROM dbo.DEPARTMENTS  
			WHERE (rtrim(INN) + case INN_DOP when '' then '' else '/' + INN_DOP end) = @strDEP_INN_KT		

		IF @intDEP_ACC_KT is null and ISNULL (@strDEP_ACC_KT, '') <> '' 
			SELECT TOP 1 @intDEP_ACC_KT = LINK
			FROM dbo.DEPARTMENT_ACCOUNTS
			WHERE CODE = @strDEP_ACC_KT

		if isnull(@strDCL_CODE_KT,'') <> '' and @intDCL_KT is null
			insert into #tProtocol values('В справочнике не найдена доп. классификация: ' + @strDCL_CODE_KT,1 ,1,2)

		if isnull(@strDEP_INN_KT,'') <> '' and @intDEP_KT is null and isnull(@strDEP_NAME_KT,'') <> '' 
		begin	
			select @cDepNextCode = cast(ISNULL(MAX(CONVERT(bigint, CODE)),0) + 1 as varchar(10))  
			FROM  dbo.DEPARTMENTS
			where dbo.CheckIsNumeric(CODE) = 1
			insert into dbo.DEPARTMENTS (CODE, INN, [NAME], FULL_NAME, TYPE, OKATO)
			values(@cDepNextCode,@strDEP_INN_KT,@strDEP_NAME_KT,@strDEP_NAME_KT,1, ISNULL(@strDEP_OKATO_KT,''))
			insert into #tProtocol values('Организация ' + @strDEP_NAME_KT + ' с ИНН: ' + @strDEP_INN_KT + ' добалена в справочник',1 ,1,2)
		end		

		if isnull(@strDEP_INN_KT,'') <> '' and @intDEP_KT is null
				insert into #tProtocol values('В справочнике не найдена организация с ИНН: ' + @strDEP_INN_KT,1 ,1,2)

		if isnull(@strDEP_ACC_KT,'') <> '' and @intDEP_ACC_KT is null
				insert into #tProtocol values('В справочнике не найден счет организации: ' + @strDEP_ACC_KT,1 ,1,2)

		IF @intACC_DT IS NULL OR @intACC_KT IS NULL
		BEGIN
			
			insert into #tProtocol values('Отсутствуе счет:' + case when @intACC_DT is null then @strACC_CODE_DT else '' end + '  ' + case when @intACC_KT is null then @strACC_CODE_KT else '' end,1,1,2)
			FETCH FROM #CURS_BKS 
			INTO	@intDOC_BKS, @DOC_NUM, @DOC_DATE, @DATE_PROV, @DOC_TYPE, @DOC_CODE, @DOC_NAME,
			@DEP_INN, @COMMENT, @DEP_ACC,
		
			@intACC_DT, @strACC_CODE_DT, 
			@intKBK_DT, @strKBK_CODE_DT, @intKBK_TYPE_DT, 
			@intSGU_DT, @strSGU_CODE_DT, 
			@intEKR_DT, @strEKR_CODE_DT, 
			@strDCL_CODE_DT,@intDEP_ACC_DT, @strDEP_ACC_DT, 
			@intDEP_DT, @strDEP_INN_DT, @strDEP_NAME_DT, @strDEP_OKATO_DT,

			@intACC_KT, @strACC_CODE_KT, 
			@intKBK_KT, @strKBK_CODE_KT, @intKBK_TYPE_KT, 
			@intSGU_KT, @strSGU_CODE_KT, 
			@intEKR_KT, @strEKR_CODE_KT, 
			@strDCL_CODE_KT, @intDEP_ACC_KT, @strDEP_ACC_KT, 
			@intDEP_KT, @strDEP_INN_KT, @strDEP_NAME_KT, @strDEP_OKATO_DT,
			
			@nSUMMA, @strNAME_OPER_G1, @strJO_CODE
			CONTINUE
		END
		if exists(select * from dbo.S_ACCOUNTS where LINK = @intACC_DT and P_KASSA = 1)
			select @intEKR_DT = @intSGU_DT, @strEKR_CODE_DT = @strSGU_CODE_DT

		if exists(select * from dbo.S_ACCOUNTS where LINK = @intACC_DT and P_EKR = 1)
			select @intEKR_DT = EKR.LINK, @strEKR_CODE_DT = EKR.CODE
			from dbo.S_ACCOUNTS SA
			inner join dbo.KOSGU EKR on SA.ANALIT_EKR = EKR.LINK
			where SA.LINK = @intACC_DT 

		if exists(select * from dbo.S_ACCOUNTS where LINK = @intACC_KT and P_KASSA = 1)
			select @intEKR_KT = @intSGU_KT, @strEKR_CODE_KT = @strSGU_CODE_KT

		if exists(select * from dbo.S_ACCOUNTS where LINK = @intACC_KT and P_EKR = 1)
			select @intEKR_KT = EKR.LINK, @strEKR_CODE_KT = EKR.CODE
			from dbo.S_ACCOUNTS SA
			inner join dbo.KOSGU EKR on SA.ANALIT_EKR = EKR.LINK
			where SA.LINK = @intACC_KT 


	
		insert into #tProtocol values('Сохранение операции ' + @strNAME_OPER_G1,1,1,2)
		--- Сохранение операции (G_PROV1) ---
		SELECT @intLINK_G1 = NULL
		SELECT @intORDERS_G1 = (SELECT MAX (ORDERS) FROM dbo.G_PROV1 WHERE LINK_UP = @intDOC_SMETA)
		SELECT @intORDERS_G1 = ISNULL (@intORDERS_G1, 0) + 1
			
			
		EXEC @intERROR = dbo.X_UPDATE_G_PROV1 @intLINK_G1 OUTPUT, @intDOC_SMETA, NULL,
			@strNAME_OPER_G1, @intORDERS_G1
		IF @intERROR <> 0
			RETURN @intERROR
		
					
		IF @intLINK_G1 IS NULL
		BEGIN
			insert into #tProtocol values('Ошибка при создании операции ' + @strNAME_OPER_G1,1,1,3)
			FETCH FROM #CURS_BKS 
			INTO	@intDOC_BKS, @DOC_NUM, @DOC_DATE, @DATE_PROV, @DOC_TYPE, @DOC_CODE, @DOC_NAME,
			@DEP_INN, @COMMENT, @DEP_ACC,
		
			@intACC_DT, @strACC_CODE_DT, 
			@intKBK_DT, @strKBK_CODE_DT, @intKBK_TYPE_DT, 
			@intSGU_DT, @strSGU_CODE_DT, 
			@intEKR_DT, @strEKR_CODE_DT, 
			@strDCL_CODE_DT,@intDEP_ACC_DT, @strDEP_ACC_DT, 
			@intDEP_DT, @strDEP_INN_DT, @strDEP_NAME_DT, @strDEP_OKATO_DT,

			@intACC_KT, @strACC_CODE_KT, 
			@intKBK_KT, @strKBK_CODE_KT, @intKBK_TYPE_KT, 
			@intSGU_KT, @strSGU_CODE_KT, 
			@intEKR_KT, @strEKR_CODE_KT, 
			@strDCL_CODE_KT, @intDEP_ACC_KT, @strDEP_ACC_KT, 
			@intDEP_KT, @strDEP_INN_KT, @strDEP_NAME_KT, @strDEP_OKATO_DT,
			
			@nSUMMA, @strNAME_OPER_G1, @strJO_CODE
			CONTINUE
		END

		--- Сохранение проводки (G_PROV2) ---
		
		SELECT @intLINK_G2 = NULL
		SELECT @intORDERS_G2 = (SELECT MAX (ORDERS) FROM dbo.G_PROV2 WHERE LINK_UP = @intLINK_G1)
		SELECT @intORDERS_G2 = ISNULL (@intORDERS_G2, 0) + 1
		SELECT @intECON_OPER = NULL

		SELECT TOP 1 @intECON_OPER = LINK
		FROM dbo.BX_BPROV_VIBOR_ECON_OPER (@intACC_DT, @intACC_KT)

		SET @strNAME_OPER_G2 = @strNAME_OPER_G1

		insert into #tProtocol values('Сохранение проводки: Дт "' + @strACC_CODE_DT + ' КБК: ' + @strKBK_CODE_DT + ' СГУ: ' + @strSGU_CODE_DT + ' ЭКР: ' + @strEKR_CODE_DT + ' Доп.кл: ' + @strDCL_CODE_DT + ' Орг.: ' + @strDEP_INN_DT + ' Счет.: ' + @strDEP_ACC_DT,1,0,3)
		insert into #tProtocol values('						Кт "' + @strACC_CODE_KT + ' КБК: ' + @strKBK_CODE_KT + ' СГУ: ' + @strSGU_CODE_KT + ' ЭКР: ' + @strEKR_CODE_KT + ' Доп.кл: ' + @strDCL_CODE_KT + ' Орг.: ' + @strDEP_INN_KT + ' Счет.: ' + @strDEP_ACC_KT,1,0,3)
		insert into #tProtocol values('						сумма ' + str(@nSUMMA,20,2),1,1,2) 
		EXEC @intERROR = dbo.X_UPDATE_G_PROV2 @intLINK_G2 OUTPUT, @intLINK_G1, NULL,
			@nSUMMA, 0, 0, @strNAME_OPER_G2, @intECON_OPER, @intORDERS_G2
		IF @intERROR <> 0
			RETURN @intERROR
			
		
		IF @intLINK_G2 IS NULL
		BEGIN
			insert into #tProtocol values('Ошибка при создании проводки ' + @strNAME_OPER_G2,1,1,3)
			FETCH FROM #CURS_BKS 
			INTO	@intDOC_BKS, @DOC_NUM, @DOC_DATE, @DATE_PROV, @DOC_TYPE, @DOC_CODE, @DOC_NAME,
			@DEP_INN, @COMMENT, @DEP_ACC,
		
			@intACC_DT, @strACC_CODE_DT, 
			@intKBK_DT, @strKBK_CODE_DT, @intKBK_TYPE_DT, 
			@intSGU_DT, @strSGU_CODE_DT, 
			@intEKR_DT, @strEKR_CODE_DT, 
			@strDCL_CODE_DT,@intDEP_ACC_DT, @strDEP_ACC_DT, 
			@intDEP_DT, @strDEP_INN_DT, @strDEP_NAME_DT, @strDEP_OKATO_DT,

			@intACC_KT, @strACC_CODE_KT, 
			@intKBK_KT, @strKBK_CODE_KT, @intKBK_TYPE_KT, 
			@intSGU_KT, @strSGU_CODE_KT, 
			@intEKR_KT, @strEKR_CODE_KT, 
			@strDCL_CODE_KT, @intDEP_ACC_KT, @strDEP_ACC_KT, 
			@intDEP_KT, @strDEP_INN_KT, @strDEP_NAME_KT, @strDEP_OKATO_DT,
			
			@nSUMMA, @strNAME_OPER_G1, @strJO_CODE
			CONTINUE
		END

/*
CREATE                  PROCEDURE X_UPDATE_G_PROV_AP
	@varKSLink_Up	INT,
	@varKSDB_KR	tinyint,
	@varKSAccount	INT,
	@varKSKBK		INT,
	@varKSEKR		INT,
	@varKSDEP		INT,
	@varKSSUB		INT,
	@varKSEMP		INT,
	@varKSNOMEN	INT,
	@varKSINV		INT,
	@varKSKAU		INT,
	@varKSDEP_ACC	INT,
	@varKSTMC 		INT,
	@varKSINDATE	DATETIME,
	@varKSAP1		INT,
	@varKSAP2		INT,
	@varKSAP3		INT,
	@varKSSGU		INT = null
*/
		--- Сохранение аналитики (Дебет) ---
		
				
		EXEC @intERROR = dbo.X_UPDATE_G_PROV_AP @intLINK_G2, 0, @intACC_DT, @intKBK_DT, @intEKR_DT, 
			@intDEP_DT, NULL, NULL, NULL, NULL, NULL, @intDEP_ACC_DT, NULL, NULL,
			NULL, @intDCL_DT, NULL, @intSGU_DT 
		IF @intERROR <> 0
			RETURN @intERROR

		
		--- Сохранение аналитики (Кредит) ---
		EXEC @intERROR = dbo.X_UPDATE_G_PROV_AP @intLINK_G2, 1, @intACC_KT, @intKBK_KT, @intEKR_KT, 
			@intDEP_KT, NULL, NULL, NULL, NULL, NULL, @intDEP_ACC_KT, NULL, NULL,
			NULL, @intDCL_KT, NULL, @intSGU_KT 
		IF @intERROR <> 0
			RETURN @intERROR
		
		SELECT @intCount_Prov_Save = @intCount_Prov_Save + 1
		FETCH FROM #CURS_BKS 
		INTO	@intDOC_BKS, @DOC_NUM, @DOC_DATE, @DATE_PROV, @DOC_TYPE, @DOC_CODE, @DOC_NAME,
			@DEP_INN, @COMMENT, @DEP_ACC,
		
			@intACC_DT, @strACC_CODE_DT, 
			@intKBK_DT, @strKBK_CODE_DT, @intKBK_TYPE_DT, 
			@intSGU_DT, @strSGU_CODE_DT, 
			@intEKR_DT, @strEKR_CODE_DT, 
			@strDCL_CODE_DT,@intDEP_ACC_DT, @strDEP_ACC_DT, 
			@intDEP_DT, @strDEP_INN_DT, @strDEP_NAME_DT, @strDEP_OKATO_DT,

			@intACC_KT, @strACC_CODE_KT, 
			@intKBK_KT, @strKBK_CODE_KT, @intKBK_TYPE_KT, 
			@intSGU_KT, @strSGU_CODE_KT, 
			@intEKR_KT, @strEKR_CODE_KT, 
			@strDCL_CODE_KT, @intDEP_ACC_KT, @strDEP_ACC_KT, 
			@intDEP_KT, @strDEP_INN_KT, @strDEP_NAME_KT, @strDEP_OKATO_DT,
			
			@nSUMMA, @strNAME_OPER_G1, @strJO_CODE
		END
	
	CLOSE #CURS_BKS
	DEALLOCATE #CURS_BKS
	
	exec dbo.X_SALDO_CommitChanges
	--SELECT * FROM #PROV_BKS
	insert into #tProtocol values('Сохранено документов: ' + LTRIM (STR (@intCount_DOC_Save)),1,0,0)
	insert into #tProtocol values('Сохранено проводок: ' + LTRIM (STR (@intCount_Prov_Save)),1,0,0)

	DROP TABLE #PROV_BKS
	
	exec dbo.BufferClear @cBufferID
	exec dbo.BufferClear @cBuffIdKBK
	exec dbo.BufferClear @cBuffIdSGU
	exec dbo.BufferClear @cBuffIdACC
	--SELECT * FROM @TABLE_DOCS
	select * from #tProtocol
	RETURN 0

END	--- END PROC ---




GO


GRANT EXECUTE ON dbo.[BK_IMPORT_PROV_FROM_BKS] TO PUBLIC

GO




GO
IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KJ_KADRY_ALL_REP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[KJ_KADRY_ALL_REP]

GO
CREATE       PROCEDURE dbo.KJ_KADRY_ALL_REP
	@dDate1 datetime,
	@varKScVal1 CHAR(1),
	@varKSnOtborLink1 int,
	@varKScVal2 CHAR(1),
	@varKSnOtborLink2 INT,
	@nCheck1 INT = 0
AS BEGIN
	-- выборка сотрудников из фильтра
	CREATE TABLE #KSEMPLS (LINK_EMPL INT)
	IF LEN(@varKScVal1) <> 0 
		INSERT	INTO #KSEMPLS
		SELECT	RECORD FROM OBJECT_VAR_EMPL WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT	INTO #KSEMPLS
		SELECT	EP.LINK
		FROM	DBO.KU_EMPL_PLACING_FN(@dDate1) EP WHERE EP.DEP_LINK = (select dep_link from user_dep) and EP.[STATUS] is not NULL

	-- выборка адресов из фильтра
	CREATE TABLE #KS_ADRES_EMPL (LINK INT)
	IF LEN(@varKScVal2) <> 0 
		INSERT	INTO #KS_ADRES_EMPL
		SELECT	RECORD FROM OBJECT_VAR_EMPL_ADRES WHERE LINK_UP = @varKSnOtborLink2
	ELSE
		INSERT	INTO #KS_ADRES_EMPL
		SELECT	ADR_OFIC_LINK FROM PERSON
	-- выборка реквизитов сотрудника
	-- !!! РАСШИРИТЬ НАБОР АТРИБУТОВ ПРИ НЕОБХОДИМОСТИ !!! --

	/**************Добавил Игнатьев А. 2013-06-02 Данные о повышении квалификации ***********/
	DECLARE @LINK_OBJ_DICTIONARY_KVAL_TYPE INT --Виды повышения квалификации	
	SET @LINK_OBJ_DICTIONARY_KVAL_TYPE = (SELECT TOP 1 LINK FROM dbo.S_OBJECTS WHERE CODE = 'DICTIONARY_KVAL_TYPE')
	
	CREATE TABLE #DICTIONARY_KVAL_TYPE (LINK INT, NAME VARCHAR(254))
	INSERT INTO #DICTIONARY_KVAL_TYPE (LINK, NAME)
	SELECT LINK, NAME FROM dbo.DICTION WHERE [OBJECT] = @LINK_OBJ_DICTIONARY_KVAL_TYPE
	
	--сведения о последнем повышении квалификации
	CREATE TABLE #LAST_EMPL_INCQUAL (EMPL_LINK INT, DATE_END DATETIME)
	INSERT INTO #LAST_EMPL_INCQUAL (EMPL_LINK, DATE_END)
	SELECT L.EMPL_LINK, DATE_END = MAX(DATE_END) FROM #KSEMPLS E INNER JOIN dbo.EMPL_INCQUAL L ON L.EMPL_LINK = E.LINK_EMPL AND DATE_BEGIN <= @dDate1 GROUP BY L.EMPL_LINK

	CREATE TABLE #KVAL (EMPL_LINK INT, DOC_DATE DATETIME, DATE_BEGIN DATETIME, DATE_END DATETIME, INCQUAL_NAME VARCHAR(254), PROG_NAME VARCHAR(254), [TIME] INT, PLACE VARCHAR(254))
	INSERT INTO #KVAL (EMPL_LINK, DOC_DATE, DATE_BEGIN, DATE_END, INCQUAL_NAME, PROG_NAME, [TIME], PLACE)
	SELECT
		EI.EMPL_LINK,
		EI.DOC_DATE,
		EI.DATE_BEGIN,
		EI.DATE_END,
		INCQUAL_NAME = CONVERT(VARCHAR(60), D.NAME),
		EI.PROG_NAME,
		ISNULL(EI.[TIME],0) AS [TIME],
		S.NAME AS PLACE
	FROM 
		#KSEMPLS E
		INNER JOIN dbo.EMPL_INCQUAL EI ON E.LINK_EMPL = EI.EMPL_LINK
		INNER JOIN #LAST_EMPL_INCQUAL L ON L.EMPL_LINK = EI.EMPL_LINK AND L.DATE_END = EI.DATE_END
		LEFT JOIN #DICTIONARY_KVAL_TYPE D ON EI.INCQUAL_LINK=D.LINK
		LEFT JOIN dbo.SCHOOL S ON EI.SCHOOL_LINK = S.LINK

	--сведения о стаже на госслужбе
	DECLARE @LINK_GOS_EXPIR INT
	SET @LINK_GOS_EXPIR = (SELECT TOP 1 LINK  from EXPIR WHERE DEF_KOEF > 0 AND NAME LIKE 'госслужб%' ORDER BY NAME)
	
	CREATE TABLE #EMPL_EXPIR (LINK_EMPL INT, STR_VAL VARCHAR(254))
	INSERT INTO #EMPL_EXPIR (LINK_EMPL, STR_VAL)
	SELECT 
		E.LINK_EMPL, STR_VAL = LTRIM(RTRIM(CONVERT(VARCHAR(2),years))) 
			+ CASE WHEN RIGHT(LTRIM(RTRIM(CONVERT(VARCHAR(2),years))),1) IN ('1','2','3','4') AND years NOT BETWEEN 10 AND 20 THEN 'г' ELSE 'л' END + '.' 
			+ LTRIM(RTRIM(CONVERT(VARCHAR(2),months))) + 'м.'
			+ LTRIM(RTRIM(CONVERT(VARCHAR(2),[days]))) + 'д.'
	FROM 
		#KSEMPLS E 
		INNER JOIN dbo.SA_EMPLEXPIRTABLE( DEFAULT, @dDate1,0, DEFAULT) X ON X.empl_link = E.LINK_EMPL
	WHERE
		X.expir_link = @LINK_GOS_EXPIR

	--сведения о стаже на последней должности
	CREATE TABLE #EMPL_MOVE (LINK_EMPL INT, DATE_BEGIN DATETIME)
	INSERT INTO #EMPL_MOVE (LINK_EMPL, DATE_BEGIN)
	Select empl_link, MAX(IM.date_begin)
	from #KSEMPLS E INNER JOIN dbo.sa_item_move IM ON IM.empl_link = E.LINK_EMPL
	where IM.active = 1 AND @dDate1 BETWEEN IM.date_begin AND ISNULL(IM.date_end3,'29990101')	
	GROUP BY empl_link
	/*****************************************************************************/
	
	SELECT	
		'Таб №' as C_1, KEP.TAB as V_1,
		'Фамилия' as C_2,KEP.FM as V_2,
		'Имя' as C_3,KEP.IM as V_3,
		'Отчество' as C_4,KEP.OT as V_4,
		'Структурное подразделение' as C_5,KEP.SUBDIV_NAME as V_5,
		'Должность' as C_6,KEP.POST_NAME as V_6,
		'Адрес 	регистрации' as C_26, rtrim(dbo.GetAddressByKladr(KP.ADR_OFIC_LINK)) +
									  ', д ' + RTRIM(CONVERT(varchar(10),KP.HOUSE_OFIC))+ 
									  '' + ( CASE WHEN isnull(KP.CORP_OFIC,'') <> '' THEN  (', корп '+RTRIM(CONVERT(varchar(5),KP.CORP_OFIC))) else '' END  )  + 
									  ', кв ' + RTRIM(CONVERT(varchar(10),KP.FLAT_OFIC)) AS V_26,
		'Адрес 	фактический' as C_27, rtrim(dbo.GetAddressByKladr(KP.ADR_REAL_LINK)) +
									  ', д ' + RTRIM(CONVERT(varchar(10),KP.HOUSE_REAL)) + 
									  '' + ( CASE WHEN isnull(KP.CORP_OFIC,'') <> '' THEN  (', корп '+RTRIM(CONVERT(varchar(5),KP.CORP_REAL))) else '' END  )  +
									  ', кв ' + RTRIM(CONVERT(varchar(10),KP.FLAT_REAL)) AS V_27,
		'Дата назн. на должн.' as C_7, CONVERT(VARCHAR(10),(SELECT top 1 DATE_BEGIN FROM ITEM_MOVE WHERE LINK = KEP.ITEM_MOVE_LINK),104) AS V_7,
		'Классный чин' as C_8,(SELECT TOP 1 rtrim(ltrim(CHIN_NAME)) + isnull(' (' + CONVERT(VARCHAR(10),DATE,104) + ')','') FROM KU_EMPL_CHIN WHERE EMPL_LINK = KEP.LINK ORDER BY DATE DESC ) as V_8,
		'Дата начала работы' as C_9,CONVERT(VARCHAR(10),KEP.DATE_BEGIN,104) as V_9,
		'Кол-во ставок' as C_11,KEP.NUM_STAKE as V_11,
		'Статус работы' as C_10,KEP.STATUS_NAME as V_10,
		'Пол' as C_12,CASE when KP.sex = 1 then 'М' else 'Ж' END as V_12,
		'Дата рождения' as C_13,CONVERT(VARCHAR(10),KP.BIRTHDATE,104) as V_13,
		'Место рождения' as C_14,KP.BIRTHPLACE as V_14,
		'Номер документа' as C_15,KP.DOC_NUM as V_15,
		'ИНН' as C_16,KP.INN as V_16,
		'Страх.свидетелстьво ПФ' as C_17,KP.INSUR_NUM as V_17,
		'№ мед.полиса' as C_18,rtrim(ltrim(isnull(KP.MED_POL_SER,''))) + rtrim(ltrim(isnull(KP.MED_POL_NUM,''))) as V_18,
		'№ вод.удостов.' as C_19,isnull(KP.DRIVER_DOC_NUM,'') as V_19,
		'Кат.водит.прав' as C_20,isnull(KP.DRIVER,'') as V_20,
		'Водит.класс' as C_21,isnull(KP.DRIVER_KLASS,'') as V_21,
		'Национальность' as C_22,isnull(KP.NATION_NAME,'') as V_22,
		'Образвоание' as C_23,DBO.KJ_GET_EDUC_EMPL(KEP.LINK) as V_23,
		'Ученая степень' as C_24,KP.ACAD_DEGREE_NAME as V_24,
		'Ученое звание' as C_25,KP.ACAD_STATUS_NAME as V_25,
		-- Воинские характеристики
		'Отношение к воен.обяз.' as C_35,isnull(KP.VOINOTN_NAME,'') as V_35,
		'Категория запаса' as C_28,isnull(KP.VOINKAT_NAME,'') as V_28,
		'Военный состав (профиль)' as C_29,isnull(KP.VOINSOST_NAME,'') as V_29,
		'Код ВУС' as C_30,isnull(KP.VOINVUS,'') as V_30,
		'№ военного билета' as C_31,isnull(KP.VOINBILET,'') as V_31,
		'Годность' as C_32,isnull(KP.VOINGODN_NAME,'') as V_32,
		'ВК по месту жительства' as C_33,isnull(KP.VOINVK_NAME,'') as V_33,
		'Воинский учет' as C_34,isnull(KP.VOINGRUP_NAME,'') as V_34,
		'Категория должности' as C_36,isnull(DS.kat_gos_name,'') as V_36,
		'Группа должности' as C_37,isnull(DS.gr_gos_name,'') as V_37,
		'Возраст' as C_38, dbo.ku_GetPersAge(KP.LINK,@dDate1) as V_38,
		-- Стажи
		'Общий стаж' as C_39,DBO.KU_GETEMPLEXPIR(KEP.LINK,'YEAR','GEN',@dDate1) as V_39,
		'Непрерывный стаж' as C_40,DBO.KU_GETEMPLEXPIR(KEP.LINK,'YEAR','GOS_NADB',@dDate1) as V_40,
		'Уволен' as C_41, CASE when KEP.SACK = 0 then 'Нет' else 'Да' END as V_41,
		'Лицевой счет' as C_42, EC.LIC_SCHET as V_42
		--данные по переподготовке
		,'Последн. повыш-е квалиф-ции' as C_43, CONVERT(VARCHAR(10),K.DOC_DATE,104) 
						+ ' ' + RTRIM(LTRIM(K.PLACE)) + '.' 
						+ ' ' + RTRIM(LTRIM(K.INCQUAL_NAME)) + '.'
						+ ' Обучение с ' + CONVERT(VARCHAR(10),K.DATE_BEGIN,104) + ' по ' + CONVERT(VARCHAR(10),K.DATE_END,104) + '.'
						+ ' Наименование программы "' + RTRIM(LTRIM(K.PROG_NAME)) + '"'
						as V_43
		,'Cтаж на госслужбе'	as C_44, X.STR_VAL as V_44
		,'Дата назначения на должность' as C_45, CONVERT(VARCHAR(10),M.DATE_BEGIN,104) as V_45
	FROM	
		KU_EMPL_PLACING_FN(@dDate1) KEP 
		LEFT JOIN KU_PERSON KP ON KEP.PERS_LINK = KP.LINK  
		LEFT JOIN DICTIONARY_STAFF DS ON KEP.STAFF_LINK = DS.STAFF_LINK
		LEFT JOIN dbo.SA_PERSON_ECARD_DEFAULT EC ON EC.PERS_LINK = KEP.PERS_LINK
		LEFT JOIN #KVAL K ON K.EMPL_LINK = KEP.LINK
		LEFT JOIN #EMPL_EXPIR X ON X.LINK_EMPL = KEP.LINK
		LEFT JOIN #EMPL_MOVE M ON M.LINK_EMPL = KEP.LINK
	WHERE	KEP.DEP_LINK = (SELECT DEP_LINK FROM USER_DEP)  and KEP.[STATUS] is not NULL
		AND ((LEN(@varKScVal2) <> 0 AND KP.ADR_OFIC_LINK IN (SELECT LINK FROM #KS_ADRES_EMPL)) OR LEN(@varKScVal2) = 0)
		AND ((LEN(@varKScVal1) <> 0 AND KEP.LINK IN (SELECT LINK_EMPL FROM #KSEMPLS)) OR LEN(@varKScVal1) = 0)
		AND (@nCheck1 = 0 OR @nCheck1 = 1 AND  KEP.SACK <> 1) 
		
	ORDER BY KEP.FM, KEP.IM, KEP.OT

DROP TABLE #KSEMPLS
DROP TABLE #KS_ADRES_EMPL
END





GO


GRANT EXECUTE ON dbo.[KJ_KADRY_ALL_REP] TO PUBLIC

GO



GO
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RN_SAVE_SUMMA]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[RN_SAVE_SUMMA]
GO





/*
© Кейсистемс (Keysystems), 2005
*/
--сохранение сумм

CREATE     
PROCEDURE dbo.RN_SAVE_SUMMA
	@LSF	int	= null,
    @Link_table int = null,
    @tmp_table varchar(100)=null,
    @del_tmp int=1 --удалить временный файл    
AS

--на входе временная табличка
/*
link_col int
link_row int
code_row varchar(50)
str_val varchar(1000)
summa numeric(18,4)
del bit
*/
IF @LSF is null or @link_table is null or @tmp_table is null
    RETURN -1


 declare @execStr varchar(1000)

  IF OBJECT_ID('tempdb..#TMP_TABLE') IS NULL
  BEGIN
     create table #TMP_TABLE (link_col int,link_row int,code_row varchar(100),str_val varchar(8000),summa numeric(20,4),del bit)
     set @ExecStr = 'insert #TMP_TABLE 
       (link_col,link_row,code_row,str_val,summa,del)
       select link_col,link_row,code_row,isnull(str_val,''''),summa,del from ' + @tmp_table  +case when @del_tmp=1 then  ' drop table ' + @tmp_table else '' end
     print @ExecStr
     execute(@ExecStr) 
   
   Create index #IX_TMP_TABLE_CODE_ROW on #TMP_TABLE (del,link_col,code_row)
   Create index #IX_TMP_TABLE_LINK_ROW on #TMP_TABLE (del,link_col,link_row)
  END

IF EXISTS(select * from #TMP_TABLE)
BEGIN 
   exec dbo.RO_REPORT_MODIFY @LSF
END

DECLARE @iLF INT , @vcCodeForm VARCHAR(100)

SELECT @iLF = rf.[Link_Form], 
         @vcCodeForm = rf.[Code]
 FROM [dbo].[REPORT_SAVED_FORMS] rsf
      JOIN [dbo].[REPORT_FORMS] rf ON rf.[Link_Form] = rsf.[Link_Form]
 WHERE rsf.[Link_Saved_Form] = @LSF

IF @vcCodeForm = 'users'
BEGIN
   insert #TMP_TABLE 
       (link_col,link_row,code_row,str_val,summa,del)
   SELECT DISTINCT rc.[Link_Col],
            NULL,
            rd.[Code_Row],
            '',
            1,
            0
   FROM report_coloumns rc
         JOIN [dbo].[REPORT_TABLES] rt ON rt.[Link_Table] = rc.[Link_Table]
         JOIN [dbo].[REPORT_COLOUMNS] RC2 ON RC2.[Link_Table] = rt.[Link_Table] AND rc.[Link_Col] <> RC2.[Link_Col]
         JOIN #TMP_TABLE rd ON rd.link_col = RC2.link_col AND rd.del = 0
   WHERE (rc.[Link_Table] = @Link_table OR @Link_table IS NULL)
         AND rt.[Orders] =  1
         AND rt.[Link_Form] = @iLF
         AND rc.[Orders] = 8        
         
   
END            

create table #link_col (link_col int)
insert #link_col
select link_col from report_coloumns where link_table=@link_table

declare @type_table int
select  @type_table=val_type from report_tables where link_table=@link_table

declare @count int
declare @nameLock varchar(100)
set @nameLock='RN_SAVE_SUMMA#'+LTRIM(RTRIM(STR(@Link_table)))
set @count=0
while EXISTS(select * from JURNAL where tableName=@nameLock and  link_pk=@LSF) and @count<10
    begin
        WAITFOR DELAY '00:00:01'
        set @count=@count+1
    end

exec X_LOCK_RECORD @nameLock,@LSF,'' 


SET NOCOUNT               ON
--SET ANSI_WARNINGS         ON  -- При возникновении ошибки транзакция не прерывается.
SET IMPLICIT_TRANSACTIONS OFF -- Режим явного определения транзакций.
SET LOCK_TIMEOUT          10000  -- Бесконечное время ожидания разблокировки ресурсов.

BEGIN TRANSACTION         -- Начало новой транзакции.
SAVE TRANSACTION SaveTran -- Создание точки сохранения.


--проверим, не архивный ли отчет сохраняем.
IF exists(select * from report_saved_forms where link_saved_form=@LSF and is_arhiv=1)
	begin
	   --архивный, надо перенести данные в оперативную таблицу
		exec rn_move_form_from_arh @LSF
	end

--print @type_table

IF @type_table=1
    begin
    --динамическая таблица
        --удаление данных
        DELETE REPORT_DINAMICS
        FROM REPORT_DINAMICS A
        WHERE Link_SF=@LSF AND 
              EXISTS(SELECT * FROM  #TMP_TABLE B WHERE B.del=1 AND B.link_col=0 and B.code_row=RTRIM(A.code_row))
			  and link_col in (select link_col from #link_col)
        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 

        DELETE REPORT_DINAMICS
        FROM REPORT_DINAMICS A
        WHERE Link_SF=@LSF AND 
              EXISTS(SELECT * FROM  #TMP_TABLE B WHERE B.del=1 and B.link_col>0 AND B.link_col=A.link_col and B.code_row=rtrim(A.code_row))


        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 

        UPDATE REPORT_DINAMICS
         SET float_val=B.summa,
             str_val=B.str_val
        FROM REPORT_DINAMICS A INNER JOIN #TMP_TABLE B ON B.del=0 AND B.link_col=A.link_col and B.code_row=rtrim(A.code_row)
        WHERE A.Link_SF=@LSF 

        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 


        INSERT REPORT_DINAMICS (link_sf,link_col,Code_row,Float_val,Str_val)
        SELECT @lsf link_sf,link_col,Code_row,max(summa),max(Str_val)
        FROM #TMP_TABLE B
        WHERE B.del=0 AND rtrim(B.code_row)<>'' and 
              not EXISTS(SELECT * FROM REPORT_DINAMICS C WHERE B.link_col=C.link_col and rtrim(B.code_row)=C.code_row and C.link_sf=@LSF)
			  and (summa<>0	or str_val<>'')
	    GROUP BY B.link_col,B.Code_row	

        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 

    end

IF @type_table=0
    begin
    --статическая таблица
        --удаление данных
        DELETE REPORT_SUMMA
        FROM REPORT_SUMMA A
        WHERE Link_Saved_Form=@LSF AND 
              EXISTS(SELECT * FROM  #TMP_TABLE B WHERE B.del=1 AND B.link_col=0 and B.link_row=A.link_row)
        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 

        DELETE REPORT_SUMMA
        FROM REPORT_SUMMA A
        WHERE Link_Saved_Form=@LSF AND 
              EXISTS(SELECT * FROM  #TMP_TABLE B WHERE B.del=1 and B.link_col>0 AND B.link_col=A.link_col and B.link_row=A.link_row )

        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 

        UPDATE REPORT_SUMMA
         SET summa=B.summa
        FROM REPORT_SUMMA A INNER JOIN #TMP_TABLE B ON B.del=0 AND B.link_col=A.link_col and B.link_row=A.link_row
        WHERE A.Link_Saved_Form=@LSF 



        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 

        UPDATE REPORT_STRING
         SET str_val=B.str_val
        FROM REPORT_STRING A INNER JOIN #TMP_TABLE B ON B.del=0 AND B.link_col=A.link_col and B.link_row=A.link_row
        WHERE A.Link_Saved_Form=@LSF 


        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 

        INSERT REPORT_SUMMA (link_saved_form,link_col,link_row,summa)
        SELECT @lsf Link_Saved_Form,link_col,link_row,max(summa)
        FROM #TMP_TABLE B
        WHERE B.del=0 AND
              not EXISTS(SELECT * FROM REPORT_SUMMA C WHERE B.link_col=C.link_col and B.link_row=C.link_row and C.Link_Saved_Form=@LSF) 
			  and summa<>0
	    GROUP BY B.link_col,B.link_row	


        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 

        INSERT REPORT_STRING (link_saved_form,link_col,link_row,str_val)
        SELECT @lsf Link_Saved_Form,link_col,link_row,max(str_val)
        FROM #TMP_TABLE B
        WHERE B.del=0 AND
              not EXISTS(SELECT * FROM REPORT_STRING C WHERE B.link_col=C.link_col and B.link_row=C.link_row and C.Link_Saved_Form=@LSF)
			  and str_val<>''
	    GROUP BY B.link_col,B.link_row	

        IF @@ERROR>0
            begin 
               ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
               COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
               exec X_UNLOCK_RECORD @nameLock,@LSF
               RETURN  
            end 
        
    end

/*
-- Группировка по строкам
SELECT code_row, summa = SUM(summa),del
INTO #TMP_TABLE_G
FROM #TMP_TABLE
GROUP BY code_row, del

-- Подготовка данных для системного журнала
DECLARE @varKSTASK Varchar(30), @varKSDB_Object VARCHAR(128), @varKSintOBJECT INT, @varKSEventText varchar(254)

SET @varKSTASK = (SELECT ltrim(rtrim(CODE_TASK)) FROM dbo.USER_TASK_INFO)
IF @type_table=0
	SET @varKSDB_Object = 'REPORT_SUMMA'
ELSE
	SET @varKSDB_Object = 'REPORT_DINAMICS'

SELECT @varKSintOBJECT = LINK FROM dbo.S_OBJECTS WHERE CODE = 'REPORT_SVOD'

SELECT @varKSEventText = 'Удаление строки из отчета: ' + LTRIM(RTRIM(RF.CODE))
FROM REPORT_FORMS RF, REPORT_SAVED_FORMS RSF WHERE RSF.LINK_Saved_Form = @LSF AND RF.LINK_FORM = RSF.LINK_FORM


-- Отметка в системном журнале об удалении ненулевых строк
INSERT INTO SYS_EVENTS (SID,HOSTNAME,APPNAME,EVENT_DATE,EVENT,TASK,DB_OBJECT,OBJECT,TEXT,LINK_OBJ)
SELECT	[SID] = SUSER_SID(),
	[HOSTNAME] = HOST_NAME(),
	[APPNAME] = APP_NAME(),
	[EVENT_DATE] = GETDATE(),
	[EVENT] = 'Сохранение документа',
	[TASK] = @varKSTASK,
	[DB_OBJECT] = @varKSDB_Object,
	[OBJECT] = @varKSintOBJECT,
	[TEXT] = LEFT(ISNULL(@varKSEventText, 'Удаление строки из неизвестного отчета ') + ', код строки: ' + ltrim(rtrim(b.code_row)),254),
	[LINK_OBJ] = @LSF
FROM #TMP_TABLE_G B
WHERE B.del=1 -- and b.summa <> 0
*/
IF @@ERROR>0
    begin 
       ROLLBACK TRANSACTION SaveTran -- Восстановление точки сохранения.
       COMMIT TRANSACTION -- Фиксация транзакции, которая ничего не изменила.
       RETURN  
    end 

COMMIT TRANSACTION -- Фиксация транзакции.

exec X_UNLOCK_RECORD @nameLock,@LSF

GO
GRANT ALL ON dbo.[RN_SAVE_SUMMA] TO PUBLIC


GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO


GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[KJ_KADRY_ALL_REP_DOP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[KJ_KADRY_ALL_REP_DOP]

GO
CREATE       PROCEDURE dbo.KJ_KADRY_ALL_REP_DOP
	@dDate1 datetime,
	@varKScVal1 CHAR(1),
	@varKSnOtborLink1 int,
	@varKScVal2 CHAR(1),
	@varKSnOtborLink2 INT,
	@nCheck1 INT = 0
AS BEGIN
	-- выборка сотрудников из фильтра
	CREATE TABLE #KSEMPLS (LINK_EMPL INT)
	IF LEN(@varKScVal1) <> 0 
		INSERT	INTO #KSEMPLS
		SELECT	RECORD FROM OBJECT_VAR_EMPL WHERE LINK_UP = @varKSnOtborLink1
	ELSE
		INSERT	INTO #KSEMPLS
		SELECT	EP.LINK
		FROM	DBO.KU_EMPL_PLACING_FN(@dDate1) EP WHERE EP.DEP_LINK = (select dep_link from user_dep) and EP.[STATUS] is not NULL

	-- выборка адресов из фильтра
	CREATE TABLE #KS_ADRES_EMPL (LINK INT)
	IF LEN(@varKScVal2) <> 0 
		INSERT	INTO #KS_ADRES_EMPL
		SELECT	RECORD FROM OBJECT_VAR_EMPL_ADRES WHERE LINK_UP = @varKSnOtborLink2
	ELSE
		INSERT	INTO #KS_ADRES_EMPL
		SELECT	ADR_OFIC_LINK FROM PERSON
	-- выборка реквизитов сотрудника
	-- !!! РАСШИРИТЬ НАБОР АТРИБУТОВ ПРИ НЕОБХОДИМОСТИ !!! --

	/**************Добавил Игнатьев А. 2013-06-02 Данные о повышении квалификации ***********/
	DECLARE @LINK_OBJ_DICTIONARY_KVAL_TYPE INT --Виды повышения квалификации	
	SET @LINK_OBJ_DICTIONARY_KVAL_TYPE = (SELECT TOP 1 LINK FROM dbo.S_OBJECTS WHERE CODE = 'DICTIONARY_KVAL_TYPE')
	
	CREATE TABLE #DICTIONARY_KVAL_TYPE (LINK INT, NAME VARCHAR(254))
	INSERT INTO #DICTIONARY_KVAL_TYPE (LINK, NAME)
	SELECT LINK, NAME FROM dbo.DICTION WHERE [OBJECT] = @LINK_OBJ_DICTIONARY_KVAL_TYPE
	
	--сведения о последнем повышении квалификации
	CREATE TABLE #LAST_EMPL_INCQUAL (EMPL_LINK INT, DATE_END DATETIME)
	INSERT INTO #LAST_EMPL_INCQUAL (EMPL_LINK, DATE_END)
	SELECT L.EMPL_LINK, DATE_END = MAX(DATE_END) FROM #KSEMPLS E INNER JOIN dbo.EMPL_INCQUAL L ON L.EMPL_LINK = E.LINK_EMPL AND DATE_BEGIN <= @dDate1 GROUP BY L.EMPL_LINK

	CREATE TABLE #KVAL (EMPL_LINK INT, DOC_DATE DATETIME, DATE_BEGIN DATETIME, DATE_END DATETIME, INCQUAL_NAME VARCHAR(254), PROG_NAME VARCHAR(254), [TIME] INT, PLACE VARCHAR(254))
	INSERT INTO #KVAL (EMPL_LINK, DOC_DATE, DATE_BEGIN, DATE_END, INCQUAL_NAME, PROG_NAME, [TIME], PLACE)
	SELECT
		EI.EMPL_LINK,
		EI.DOC_DATE,
		EI.DATE_BEGIN,
		EI.DATE_END,
		INCQUAL_NAME = CONVERT(VARCHAR(60), D.NAME),
		EI.PROG_NAME,
		ISNULL(EI.[TIME],0) AS [TIME],
		S.NAME AS PLACE
	FROM 
		#KSEMPLS E
		INNER JOIN dbo.EMPL_INCQUAL EI ON E.LINK_EMPL = EI.EMPL_LINK
		INNER JOIN #LAST_EMPL_INCQUAL L ON L.EMPL_LINK = EI.EMPL_LINK AND L.DATE_END = EI.DATE_END
		LEFT JOIN #DICTIONARY_KVAL_TYPE D ON EI.INCQUAL_LINK=D.LINK
		LEFT JOIN dbo.SCHOOL S ON EI.SCHOOL_LINK = S.LINK

	--сведения о стаже на госслужбе
	DECLARE @LINK_GOS_EXPIR INT
	SET @LINK_GOS_EXPIR = (SELECT TOP 1 LINK  from EXPIR WHERE DEF_KOEF > 0 AND NAME LIKE 'госслужб%' ORDER BY NAME)
	
	CREATE TABLE #EMPL_EXPIR (LINK_EMPL INT, STR_VAL VARCHAR(254))
	INSERT INTO #EMPL_EXPIR (LINK_EMPL, STR_VAL)
	SELECT 
		E.LINK_EMPL, STR_VAL = LTRIM(RTRIM(CONVERT(VARCHAR(2),years))) 
			+ CASE WHEN RIGHT(LTRIM(RTRIM(CONVERT(VARCHAR(2),years))),1) IN ('1','2','3','4') AND years NOT BETWEEN 10 AND 20 THEN 'г' ELSE 'л' END + '.' 
			+ LTRIM(RTRIM(CONVERT(VARCHAR(2),months))) + 'м.'
			+ LTRIM(RTRIM(CONVERT(VARCHAR(2),[days]))) + 'д.'
	FROM 
		#KSEMPLS E 
		INNER JOIN dbo.SA_EMPLEXPIRTABLE( DEFAULT, @dDate1,0, DEFAULT) X ON X.empl_link = E.LINK_EMPL
	WHERE
		X.expir_link = @LINK_GOS_EXPIR


	--сведения о стаже на последней должности
	CREATE TABLE #EMPL_MOVE (LINK_EMPL INT, DATE_BEGIN DATETIME)
	INSERT INTO #EMPL_MOVE (LINK_EMPL, DATE_BEGIN)
	Select empl_link, MAX(IM.date_begin)
	from #KSEMPLS E INNER JOIN dbo.sa_item_move IM ON IM.empl_link = E.LINK_EMPL
	where IM.active = 1 AND @dDate1 BETWEEN IM.date_begin AND ISNULL(IM.date_end3,'29990101')	
	GROUP BY empl_link

	/*****************************************************************************/

		SELECT	distinct
		'ФИО' as C_1,KEP.FIO as V_1,
		'Дата рождения' as C_2,CONVERT(VARCHAR(10),KP.BIRTHDATE,104) as V_2,
		'Паспортные данные' as C_3,KP.DOC_NUM + ', '+ isnull(RTRIM(KP.DOC_WHOM),'') + ', '+ isnull(CONVERT(VARCHAR(10),KP.DOC_DATE,104),'') as V_3,
		'Адрес 	регистрации' as C_4, rtrim(dbo.GetAddressByKladr(KP.ADR_OFIC_LINK)) +
									', д ' + RTRIM(CONVERT(varchar(10),KP.HOUSE_OFIC)) + 
									'' + ( CASE WHEN isnull(KP.CORP_OFIC,'') <> '' THEN  (', корп '+RTRIM(CONVERT(varchar(5),KP.CORP_OFIC))) else '' END  )  + 
									', кв ' + RTRIM(CONVERT(varchar(10),KP.FLAT_OFIC)) AS V_4,
		'Основание поступления на государственную гражданскую службу' as C_5,  '' as V_5, 
		'Наименование должности' as C_6,KEP.POST_NAME as V_6,
		'Дата назначения.' as C_7, CONVERT(VARCHAR(10),(SELECT top 1 DATE_BEGIN FROM ITEM_MOVE WHERE LINK = KEP.ITEM_MOVE_LINK),104) AS V_7,
		'Категория' as C_8,isnull(DS.kat_gos_name,'') as V_8,
		'Группа должностей' as C_9,isnull(DS.gr_gos_name,'') as V_9,
		'Образование, учебное заведение' as C_10,DBO.KJ_GET_EDUC_EMPL(KEP.LINK) as V_10,
		'Ученая степень(дата)' as C_11, CASE WHEN ISNULL(KP.ACAD_DEGREE_NAME,'') <> '' THEN  ltrim(rtrim(KP.ACAD_DEGREE_NAME)) +'('+CONVERT(VARCHAR(10),KP.ACAD_DEGREE_DATE,104)+')' ELSE '' END as V_11,
		'Ученое звание(дата)' as C_12, CASE WHEN ISNULL(KP.ACAD_STATUS_NAME,'') <> '' THEN  ltrim(rtrim(KP.ACAD_STATUS_NAME)) +'('+CONVERT(VARCHAR(10),KP.ACAD_DEGREE_DATE,104)+')' ELSE '' END  as V_12,
		'Воинский учет' as C_13,isnull(KP.VOINGRUP_NAME,'') as V_13,
		--данные по переподготовке
		'Повышение квалификации(период,место,программа)' as C_14, ' Обучение с ' + CONVERT(VARCHAR(10),K.DATE_BEGIN,104) + ' по ' + CONVERT(VARCHAR(10),K.DATE_END,104) + '.'
						+ ' ' + RTRIM(LTRIM(K.PLACE)) + '.' 
						+ ' Наименование программы "' + RTRIM(LTRIM(K.PROG_NAME)) + '"'
						as V_14,
		'Cтаж госслужбы'	as C_15, X.STR_VAL as V_15,
		'Классный чин (наименование, дата присвоения)' as C_16,(SELECT TOP 1 rtrim(ltrim(CHIN_NAME)) + isnull(' (' + CONVERT(VARCHAR(10),DATE,104) + ')','') FROM KU_EMPL_CHIN WHERE EMPL_LINK = KEP.LINK ORDER BY DATE DESC ) as V_16,
		'Дата начала работы' as C_17,CONVERT(VARCHAR(10),KEP.DATE_BEGIN,104) as V_17,
		'Аттестация (дата проведения)' as C_18, CONVERT(VARCHAR(10),max(KEA.[DATE]),104) as V_18,
		'Надбавка за особые условия (дата, размер)' as C_19, (SELECT TOP 1 
																(CASE WHEN len(DAY(date_begin)) = 1 THEN '0'+ convert(varchar(1),DAY(date_begin)) ELSE convert(varchar(2),DAY(date_begin)) END ) + '.'
																+ ( CASE WHEN len(MONTH(date_begin)) = 1 THEN '0'+ convert(varchar(1),MONTH(date_begin)) ELSE convert(varchar(2),MONTH(date_begin)) END ) + '.'
																+ convert(varchar(4),YEAR(date_begin))   +', '
																+ CONVERT(VARCHAR(10), SUMMA) +  (Case when LTRIM(right(LTRIM(rtrim(PAY_NAME)),4)) = '(%)' then right(LTRIM(rtrim(PAY_NAME)),4) else '' end) 
		                                                      FROM dbo.KU_EMPL_FOT WHERE empl_link = kep.link AND PAY_NAME like '%особые условия%') as V_19,
		----- >>>>
		'Надбавка за выслугу лет' as C_20, (SELECT TOP 1 
												(CASE WHEN len(DAY(date_begin)) = 1 THEN '0'+ convert(varchar(1),DAY(date_begin)) ELSE convert(varchar(2),DAY(date_begin)) END ) + '.'
												+ ( CASE WHEN len(MONTH(date_begin)) = 1 THEN '0'+ convert(varchar(1),MONTH(date_begin)) ELSE convert(varchar(2),MONTH(date_begin)) END ) + '.'
												+ convert(varchar(4),YEAR(date_begin))   +', '
												+ CONVERT(VARCHAR(10), SUMMA) +  (Case when LTRIM(right(LTRIM(rtrim(PAY_NAME)),4)) = '(%)' then right(LTRIM(rtrim(PAY_NAME)),4) else '' end)  
		                                    FROM dbo.KU_EMPL_FOT WHERE empl_link = kep.link AND PAY_NAME like '%выслуг%')  as V_20,
		'Дисциплинарные взыскания (вид, дата)' as C_21, (SELECT TOP 1 ltrim(rtrim(pen_NAME)) +', ' 
																+  (CASE WHEN len(DAY(pen_date)) = 1 THEN '0'+ convert(varchar(1),DAY(pen_date)) ELSE convert(varchar(2),DAY(pen_date)) END ) + '.'
																+ ( CASE WHEN len(MONTH(pen_date)) = 1 THEN '0'+ convert(varchar(1),MONTH(pen_date)) ELSE convert(varchar(2),MONTH(pen_date)) END ) + '.'
																+ convert(varchar(4),YEAR(pen_date))  
		                                                 FROM  dbo.PENALTIES WHERE [active] = 1 AND  empl_link = kep.link)	 as V_21,
		'Награды, поощрения' as C_22, (SELECT  TOP 1 ltrim(rtrim(encour_NAME)) +', ' 
											+  (CASE WHEN len(DAY([date])) = 1 THEN '0'+ convert(varchar(1),DAY([date])) ELSE convert(varchar(2),DAY([date])) END ) + '.'
											+ ( CASE WHEN len(MONTH([date])) = 1 THEN '0'+ convert(varchar(1),MONTH([date])) ELSE convert(varchar(2),MONTH([date])) END ) + '.'
											+ convert(varchar(4),YEAR([date])) 
		                               FROM dbo.ENCOURS  WHERE [active] = 1	AND  empl_link = kep.link) + (CASE WHEN isnull(ltrim(rtrim(A.AWARD_NAME)),'') <> '' then '; '+ ltrim(rtrim(A.AWARD_NAME)) + ', ' + CONVERT(VARCHAR(10),A.DOC_DATE,104) Else '' END )  as V_22,
		'Доступ к государственной тайне' as C_23, (SELECT  TOP 1 ltrim(rtrim(STEPEN_SPIS))  FROM KJ_PERS_GOSTAYNA WHERE PERS_LINK = KP.LINK )    as V_23
		------- <<<<<
	FROM	
		KU_EMPL_PLACING_FN(@dDate1) KEP 
		LEFT JOIN DBO.KU_PERSON KP ON KEP.PERS_LINK = KP.LINK  
		LEFT JOIN KU_PERS_AWARD A ON KEP.PERS_LINK =  A.PERS_LINK
		LEFT JOIN DBO.DICTIONARY_STAFF DS ON KEP.STAFF_LINK = DS.STAFF_LINK
		LEFT JOIN dbo.SA_PERSON_ECARD_DEFAULT EC ON EC.PERS_LINK = KEP.PERS_LINK
		LEFT JOIN #KVAL K ON K.EMPL_LINK = KEP.LINK
		LEFT JOIN #EMPL_EXPIR X ON X.LINK_EMPL = KEP.LINK
		LEFT JOIN #EMPL_MOVE M ON M.LINK_EMPL = KEP.LINK
		left join DBO.KU_EMPL_ATTEST KEA ON KEA.EMPL_LINK =  KEP.LINK
	WHERE	KEP.DEP_LINK = (SELECT DEP_LINK FROM USER_DEP)  and KEP.[STATUS] is not NULL
		AND ((LEN(@varKScVal2) <> 0 AND KP.ADR_OFIC_LINK IN (SELECT LINK FROM #KS_ADRES_EMPL)) OR LEN(@varKScVal2) = 0)
		AND ((LEN(@varKScVal1) <> 0 AND KEP.LINK IN (SELECT LINK_EMPL FROM #KSEMPLS)) OR LEN(@varKScVal1) = 0)
		AND (@nCheck1 = 0 OR @nCheck1 = 1 AND  KEP.SACK <> 1) 

		GROUP BY KEP.FIO, KEP.LINK, KP.BIRTHDATE, KP.DOC_NUM , KP.DOC_WHOM,KP.DOC_DATE ,KP.ADR_OFIC_LINK,KP.HOUSE_OFIC,KP.CORP_OFIC,KP.FLAT_OFIC , KEP.POST_NAME,
		KEP.ITEM_MOVE_LINK, DS.kat_gos_name, DS.gr_gos_name, KP.ACAD_DEGREE_NAME, KP.ACAD_DEGREE_DATE,KP.ACAD_STATUS_NAME, KP.VOINGRUP_NAME,
		K.DATE_BEGIN, K.DATE_END, K.PLACE , K.PROG_NAME, X.STR_VAL, KEP.DATE_BEGIN, A.AWARD_NAME, A.AWARD_NAME, A.DOC_DATE, KP.LINK
	ORDER BY V_1

DROP TABLE #KSEMPLS
DROP TABLE #KS_ADRES_EMPL
END






GO


GRANT EXECUTE ON dbo.[KJ_KADRY_ALL_REP_DOP] TO PUBLIC

GO



GO

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[RO_PRINT_125_2015]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[RO_PRINT_125_2015]

GO

/*
© Кейсистемс (Keysystems), 2009
*/

CREATE PROCEDURE dbo.[RO_PRINT_125_2015]
	@LSF	bigint,
	@bDeleteEmptyRows BIT = NULL,  --  NULL - данные выбираются не для печати, 1 - удаление пустых строк (поле DEL = 1), 0 - не удалять.
    @data int=1, -- c_nastr не будет создаваться!
	@notNullCol tinyint = 0,
	@AtrInOnePage tinyint = 0,
	@WEB_excel tinyint = 0 -- 1 - вызывается для печати из WEB для excel-генератора
AS

	if isnull(@WEB_excel, 0) <> 1
		select '' col1 
	declare  @atr varchar(254), @atr_value varchar(254)
	if YEAR((select begin_date from dbo.report_saved_forms where link_saved_form = @LSF)) > 2010
		set @atr = 'REPORTS_ATR_ACC_2011'
	else
		set @atr = 'REPORTS_ATR_ACC'
	set @atr_value = dbo.RN_GET_ATR_Value(@LSF, @atr)
	create table #all (ATR varchar(100), COL1 varchar(8000), COL2 varchar(8000), COL3 varchar(8000), COL4 varchar(8000), COL5 varchar(8000), COL6 varchar(8000), COL7 float, COL8 float, COL9 varchar (8000), COL10 varchar (8000), COL11 varchar (8000), COL12 varchar (8000), COL13 varchar (8000), COL14 varchar (8000), COL15 varchar (8000), COL16 varchar (8000), COL17 varchar (8000), COL18 varchar (8000), COL19 varchar (8000), CODE varchar(100), DEL bit, ITOG int, orders int IDENTITY(1,1))
	create table #doh (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(100), Col1 varchar(8000), Col2 varchar(8000), Col3 varchar(8000), Col4 varchar(8000), Col5 varchar(8000), Col6 varchar(8000), Col7 varchar(8000), Col8 float, col9 float, col10 varchar(8000), col11 varchar(8000), col12 varchar(8000), col13 varchar(8000), col14 varchar(8000), col15 varchar(8000), col16 varchar(8000), col17 varchar(8000), atr varchar(250) )
	create table #rash (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(100), Col1 varchar(8000), Col2 varchar(8000), Col3 varchar(8000), Col4 varchar(8000), Col5 varchar(8000), Col6 varchar(8000), Col7 varchar(8000), Col8 varchar(8000), Col9 varchar(8000), col10 float, col11 float, col12 varchar(8000), col13 varchar(8000), col14 varchar(8000), col15 varchar(8000), col16 varchar(8000), col17 varchar(8000), col18 varchar(8000), col19 varchar(8000), atr varchar(250) )
	create table #ist (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(100), Col1 varchar(8000), Col2 varchar(8000), Col3 varchar(8000), Col4 varchar(8000), Col5 varchar(8000), Col6 varchar(8000), Col7 varchar(8000), Col8 float, Col9 float, col10 varchar(8000), col11 varchar(8000), col12 varchar(8000), col13 varchar(8000), col14 varchar(8000), col15 varchar(8000), col16 varchar(8000), col17 varchar(8000), atr varchar(250) )
	create table #itog (checked tinyint, Upd tinyint, del tinyint, link_saved_form int, link_row int, orders int, Calc_orders int, Print_NULL tinyint, Code varchar(100), Col1 varchar(8000), Col2 varchar(8000), Col3 varchar(8000), Col4 varchar(8000), Col5 varchar(8000), Col6 varchar(8000), Col7 float, Col8 float, col9 varchar(8000), col10 varchar(8000), col11 varchar(8000), col12 varchar(8000), col13 varchar(8000), col14 varchar(8000), atr varchar(250))

	insert #doh exec dbo.ro_get_all_atr_table @LSF, 1, @bDeleteEmptyRows, @AtrInOnePage, @atr
	insert #rash exec dbo.ro_get_all_atr_table @LSF, 2, @bDeleteEmptyRows, @AtrInOnePage, @atr
	insert #ist exec dbo.ro_get_all_atr_table @LSF, 3, @bDeleteEmptyRows, @AtrInOnePage, @atr
	insert #itog exec dbo.ro_get_all_atr_table @LSF, 4, @bDeleteEmptyRows, @AtrInOnePage, @atr

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, RTRIM(COL1), COL2, COL3, COL4, COL5, COL6+COL7+ ( case when atr <>'' then '' else COL10 end),COL8,COL9,COL10,COL12,COL13, col14,CODE, 0 as DEL, 0 from #doh ORDER BY 1,3,4,5,6

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
--	SELECT atr, RTRIM(COL1), COL2, COL3, COL4, COL5, COL6+COL7+COL8+COL9+col12,COL10,COL11, col12, col14, col15, col16,CODE, 0 as DEL, 0 from #rash ORDER BY 1,3,4,5,6
	SELECT atr, RTRIM(COL1), COL2, COL3, COL4, COL5, COL6+COL7+COL8+COL9,COL10,COL11, col12, col14, col15, col16,CODE, 0 as DEL, 0 from #rash ORDER BY 1,3,4,5,6	

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, RTRIM(COL1), COL2, COL3, COL4, col5, COL6+COL7+(case when atr <>'' then '' else COL10 end),col8, col9, col10, col12, col13, col14,CODE, 0 as DEL, 0 from #ist ORDER BY 1,3,4,5,6


	if not exists(select top 1 * from #all)
		insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
		select atr, '', '', '', '', '','', NULL, NULL,'','','','', '', 0, 0
		from #itog 
		group by atr

	if not exists(select top 1 * from #all)
		insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
		select @atr_value, '', '', '', '', '', '', null, null,'','','','', '', 0, 0

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, 'Итого:', max(COL2), 'X' AS COL3, 'X' AS COL4, 'X' AS COL5, 'X' AS COL6, max(COL7) , max(COL8),max(COL9),max(COL10),max(COL11), 'X' AS COL12, max(CODE) AS CODE, 0 as DEL, 1  
	from #itog WHERE RTRIM(LTRIM(CODE)) = 'Итого'
	group by atr

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, 'Итого:', '' AS COL2, 'X' AS COL3, 'X' AS COL4, 'X' AS COL5, 'X' AS COL6, 0 as COL7 , 0 as COL8, '' AS COL9, '' AS COL10, '' AS COL11, 'X' AS COL12, '' AS CODE, 0 as DEL, 1  
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RTRIM(LTRIM(A1.CODE)) = 'Итого')
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	select atr, 'в том числе по', '', '', '', '', '', NULL, NULL, '', '', '', '', '', 0, 1
	from #all
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, 'номеру (коду) счета:', COL2, COL3, COL4, COL5,COL6,COL7, col8, col9, col10, col11,'X' AS COL12, CODE, 0 as DEL, 1  from #itog 
	WHERE RIGHT(RTRIM(CODE),2) = 'ИП' ORDER BY 1, 2, 3, 4, 5,6

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	select atr, 'номеру (коду) счета:', '', '', '', '', '', NULL, NULL, '', '', '', 'X', '', 0, 1
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RIGHT(RTRIM(A1.CODE),2) = 'ИП')
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	select atr, 'номеру (коду) счета:', '', '', '', '', '', NULL, NULL, '', '', '', 'X', '', 0, 1
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RIGHT(RTRIM(A1.CODE),2) = 'ИП')
	group by atr

	update A
	set col1 = ''
	from #all A
	where col1 = 'номеру (коду) счета:' and exists(select top 1 * from #all A1 where A.atr = A1.atr and A1.col1 = 'номеру (коду) счета:' and A1.orders < A.orders)

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	select atr, 'из них:', '', '', '', '', '', NULL, NULL, '', '', '', '',  '', 0, 1
	from #all 
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, 'денежные расчеты', '', '', '', '', '',COL7,COL8, '', '', '', '', CODE, 0 as DEL, 1   from #itog 
	WHERE RTRIM(LTRIM(CODE)) = 'итог_денежные_рассчёты'

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, 'денежные расчеты', '', '', '', '', '',0 as COL7,0 as COL8, '', '', '', '', '' as CODE, 0 as DEL, 1   
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RTRIM(LTRIM(A1.CODE)) = 'итог_денежные_рассчёты')
	group by atr

	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, '', COL2,COL3,COL4,COL5,COL6, COL7,COL8, col9, col10, col11, col12, CODE, 0 as DEL, 1 from #itog WHERE RIGHT(RTRIM(LTRIM(CODE)),2) = 'ИД'  ORDER BY 1, 2, 3, 4, 5,6
   
	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, '', '', '', '', '', '',0 as COL7,0 as COL8, '', '', '', '', '' as CODE, 0 as DEL, 1   
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RIGHT(RTRIM(LTRIM(A1.CODE)),2) = 'ИД')
	group by atr


	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, 'неденежные расчеты', '', '', '', '', '',COL7,COL8, '', '', '', '',CODE, 0 as DEL,1  
	from #itog WHERE LTRIM(RTRIM(CODE)) = 'итог_неденежные_рассчёты'

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr,'неденежные расчеты', '', '', '', '', '',0 as COL7,0 as COL8, '', '', '', '', '' as CODE, 0 as DEL, 1   
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and LTRIM(RTRIM(A1.CODE)) = 'итог_неденежные_рассчёты')
	group by atr
	
	insert #all (atr, COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, col9, col10, col11, col12, CODE, DEL, ITOG)
	SELECT atr, '', COL2,COL3,COL4,COL5,COL6,COL7,COL8, col9, col10, col11, col12,CODE, 0 as DEL, 1  from #itog WHERE RIGHT(LTRIM(RTRIM(CODE)),2) = 'ИН'  ORDER BY 1, 2, 3, 4, 5,6

	insert #all (atr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog)
	SELECT atr, '', '', '', '', '', '',0 as COL7,0 as COL8, '', '', '', '', '' as CODE, 0 as DEL, 1   
	from #all A
	where not exists(select top 1 * from #itog A1 where A.atr = A1.atr and RIGHT(RTRIM(LTRIM(A1.CODE)),2) =  'ИН')
	group by atr

	select atr as colatr, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, code, del, itog as colitog, orders from #all order by atr, orders

	drop table #all
	drop table #ist
	drop table #doh
	drop table #rash
	drop table #itog

	if isnull(@WEB_excel, 0) <> 1
	select cells as style,style as value from report_print_style where 1=0 order by cells




GO


GRANT EXECUTE ON dbo.[RO_PRINT_125_2015] TO PUBLIC

GO

GO

--AFTER CODE 29.06.2016
update EXPORT_MODELS set DATE_END   = '20151231' where MODEL_VER < 
'TXPP150101' AND CODE = 'PP'and DATE_END is null
update EXPORT_MODELS set DATE_END   = '20151231' where  CODE = 'PF'and 
DATE_END is null

DECLARE @varKSModelLink INT,
	@varKSBlockLink INT
SELECT @varKSModelLink = LINK_MODEL FROM dbo.EXPORT_MODELS WHERE MODEL_VER = 'TXPP150101' AND CODE = 'PP'
IF @varKSModelLink is null
begin
	INSERT INTO EXPORT_MODELS(CODE, NAME, MODEL_VER, ISONCE, NORM_DOC, FILE_NAME_MASK, FILE_NAME_PROC, PROC_EXP, PROC_DOP_PARAM, DEP_NAME, PROG_SAVE, DATE_END)
	SELECT 'PP','Платежное поручение','TXPP150101',0,'','XXXXXDNN.TTM','fb_file_name_doc','BB_EXPORT_PP','cModelVer','KOD_UBP','bb_import_PP()',NULL 
	SET @varKSModelLink = @@IDENTITY
end
else
	update EXPORT_MODELS
	set 	ISONCE = 0,
		NAME   = 'Платежное поручение',
		NORM_DOC   = '',
		FILE_NAME_MASK   = 'XXXXXDNN.TTM',
		FILE_NAME_PROC   = 'fb_file_name_doc',
		PROC_EXP   = 'BB_EXPORT_PP',
		PROC_DOP_PARAM   = 'cModelVer',
		PROG_SAVE   = 'bb_import_PP()',
		DEP_NAME   = 'KOD_UBP',
		DATE_END   = NULL
	where LINK_MODEL = @varKSModelLink
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'FK'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'FK',1,0,'Маркер',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 1,
			ISONCE = 0,
			NAME   = 'Маркер',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_VER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Номер версии формата',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NUM_VER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_VER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'NUM_VER','Номер версии формата','STRING',10,0,1,1,'NUM_VER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'FORMER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Наименование программного продукта, сформировавшего файл',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 50,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'FORMER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'FORMER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'FORMER','Наименование программного продукта, сформировавшего файл','STRING',50,0,0,1,'FORMER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'FORM_VER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Версия программного продукта',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'FORM_VER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'FORM_VER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'FORM_VER','Версия программного продукта','STRING',10,0,0,1,'FORM_VER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NORM_DOC')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'сылка на документ, утверждающий формат файла',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 250,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NORM_DOC',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NORM_DOC'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'NORM_DOC','сылка на документ, утверждающий формат файла','STRING',250,0,0,0,'NORM_DOC','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'FROM'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'FROM',2,0,'Почтовая информация об отправителях файла',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 2,
			ISONCE = 0,
			NAME   = 'Почтовая информация об отправителях файла',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BUDG_LEVEL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Уровень бюджета',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BUDG_LEVEL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BUDG_LEVEL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'BUDG_LEVEL','Уровень бюджета','STRING',1,1,0,1,'BUDG_LEVEL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Код клиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'KOD_UBP','Код клиента','STRING',5,1,1,1,'KOD_UBP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Наименование клиента',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 254,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_UBP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'NAME_UBP','Наименование клиента','STRING',254,0,1,1,'NAME_UBP','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'TO'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'TO',3,0,'Почтовая информация о получателе файла',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 3,
			ISONCE = 0,
			NAME   = 'Почтовая информация о получателе файла',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Код ОрФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 4,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'KOD_TOFK','Код ОрФК','STRING',4,1,1,1,'KOD_TOFK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Наименование ОрФК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_TOFK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'NAME_TOFK','Наименование ОрФК','STRING',2000,0,1,1,'NAME_TOFK','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'PP'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'PP',4,0,'Пакет',0
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 4,
			ISONCE = 0,
			NAME   = 'Пакет',
			OBLIGATORY = 0
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Дата',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DATE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'DATE','Дата','DATE',0,0,1,1,'DATE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Количество документов',
		VAL_TYPE 	= 'NUMBER',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'KOL','Количество документов','NUMBER',5,1,1,1,'KOL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_TOTAL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Контрольная сумма',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM_TOTAL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_TOTAL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'SUM_TOTAL','Контрольная сумма','NUMBER2',0,0,1,1,'SUM_TOTAL','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'PPT'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'PPT',5,2,'Платежное поручение',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 5,
			ISONCE = 2,
			NAME   = 'Платежное поручение',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_PP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= '№ платежного поручения',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NOM_PP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NOM_PP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'NOM_PP','№ платежного поручения','STRING',10,0,1,1,'NOM_PP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Дата платежного поручения',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DATE_PP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'DATE_PP','Дата платежного поручения','DATE',0,1,1,1,'DATE_PP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_PP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Сумма платежного поручения',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM_PP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM_PP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'SUM_PP','Сумма платежного поручения','NUMBER2',0,1,1,1,'SUM_PP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'Вид платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'VID_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'VID_PL','Вид платежа','STRING',1,1,1,1,'VID_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_OPER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 5,
		NAME   		= 'Вид операции.',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'VID_OPER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'VID_OPER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 5,'VID_OPER','Вид операции.','STRING',2,1,1,1,'VID_OPER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 7,
		NAME   		= 'ИНН Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 12,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'INN_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 7,'INN_PAY','ИНН Плательщика','STRING',12,0,1,1,'INN_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 8,
		NAME   		= 'КПП Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KPP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 8,'KPP_PAY','КПП Плательщика','STRING',9,1,1,1,'KPP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 9,
		NAME   		= 'Наименование Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'CNAME_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 9,'CNAME_PAY','Наименование Плательщика','STRING',160,0,1,1,'CNAME_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 10,
		NAME   		= 'Расчетный счет Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 10,'BS_PAY','Расчетный счет Плательщика','STRING',20,1,1,1,'BS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 11,
		NAME   		= 'БИК банка Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BIC_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 11,'BIC_PAY','БИК банка Плательщика','STRING',9,1,1,1,'BIC_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 12,
		NAME   		= 'Наименование банка Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_BIC_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 12,'NAME_BIC_PAY','Наименование банка Плательщика','STRING',160,0,1,1,'NAME_BIC_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 13,
		NAME   		= 'Коррсчет банка Плательщика в РКЦ',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_KS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 13,'BS_KS_PAY','Коррсчет банка Плательщика в РКЦ','STRING',20,1,1,0,'BS_KS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 14,
		NAME   		= 'ИНН получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 12,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'INN_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'INN_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 14,'INN_RCP','ИНН получателя','STRING',12,0,0,0,'INN_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 15,
		NAME   		= 'КПП получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KPP_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KPP_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 15,'KPP_RCP','КПП получателя','STRING',9,0,0,0,'KPP_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_UBP_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 16,
		NAME   		= 'Наименование получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'CNAME_UBP_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'CNAME_UBP_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 16,'CNAME_UBP_RCP','Наименование получателя','STRING',160,0,1,1,'CNAME_UBP_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 17,
		NAME   		= 'Расчетный счет Получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 17,'BS_RCP','Расчетный счет Получателя','STRING',20,0,0,0,'BS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 18,
		NAME   		= 'БИК банка Получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 9,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'BIC_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BIC_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 18,'BIC_RCP','БИК банка Получателя','STRING',9,1,1,1,'BIC_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 19,
		NAME   		= 'Наименование банка получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 160,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_BIC_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_BIC_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 19,'NAME_BIC_RCP','Наименование банка получателя','STRING',160,0,1,1,'NAME_BIC_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 20,
		NAME   		= 'Корсчет банка получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'BS_KS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'BS_KS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 20,'BS_KS_RCP','Корсчет банка получателя','STRING',20,1,0,0,'BS_KS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 21,
		NAME   		= 'Срок платежа',
		VAL_TYPE 	= 'DATE',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 21,'DATE_PAY','Срок платежа','DATE',0,0,0,0,'DATE_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ORDER_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 22,
		NAME   		= 'Очередность платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'ORDER_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ORDER_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 22,'ORDER_PAY','Очередность платежа','STRING',1,1,1,1,'ORDER_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'UIN_CODE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 23,
		NAME   		= 'уин',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 25,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'UIN_CODE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'UIN_CODE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 23,'UIN_CODE','уин','STRING',25,0,0,0,'UIN_CODE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 24,
		NAME   		= 'Назначение платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 210,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'PURPOSE',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PURPOSE'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 24,'PURPOSE','Назначение платежа','STRING',210,0,1,1,'PURPOSE','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PAYSTATUS')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 25,
		NAME   		= 'Статус составителя расчетного документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'PAYSTATUS',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PAYSTATUS'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 25,'PAYSTATUS','Статус составителя расчетного документа','STRING',2,0,0,0,'PAYSTATUS','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 26,
		NAME   		= 'Код бюджетной классификации',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 26,'KBK','Код бюджетной классификации','STRING',20,1,0,0,'KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OKATO')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 27,
		NAME   		= 'Код ОКАТО',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OKATO',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OKATO'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 27,'OKATO','Код ОКАТО','STRING',11,0,0,0,'OKATO','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'OSNPLAT')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 28,
		NAME   		= 'Показатель основания платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'OSNPLAT',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'OSNPLAT'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 28,'OSNPLAT','Показатель основания платежа','STRING',2,0,0,0,'OSNPLAT','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAL_PER')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 29,
		NAME   		= 'Показатель налогового периода',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NAL_PER',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAL_PER'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 29,'NAL_PER','Показатель налогового периода','STRING',10,0,0,0,'NAL_PER','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_DOK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 30,
		NAME   		= 'Показатель номера документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 15,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'NUM_DOK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NUM_DOK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 30,'NUM_DOK','Показатель номера документа','STRING',15,0,0,0,'NUM_DOK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_DOK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 31,
		NAME   		= 'Показатель даты документа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 10,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'DATE_DOK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DATE_DOK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 31,'DATE_DOK','Показатель даты документа','STRING',10,0,0,0,'DATE_DOK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_PL')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 32,
		NAME   		= 'Тип платежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'TYPE_PL',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_PL'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 32,'TYPE_PL','Тип платежа','STRING',2,0,0,0,'TYPE_PL','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_FK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 33,
		NAME   		= 'Глобальный уни-кальный идентификатор',
		VAL_TYPE 	= 'GUID',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'GUID_FK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'GUID_FK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 33,'GUID_FK','Глобальный уни-кальный идентификатор','GUID',0,0,0,0,'GUID_FK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 34,
		NAME   		= 'Код ОрФК  клиента-плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 4,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_TOFK_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_TOFK_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 34,'KOD_TOFK_PAY','Код ОрФК  клиента-плательщика','STRING',4,1,1,1,'KOD_TOFK_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 35,
		NAME   		= 'Наименование ОрФК клиента- плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_TOFK_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_TOFK_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 35,'NAME_TOFK_PAY','Наименование ОрФК клиента- плательщика','STRING',2000,0,1,1,'NAME_TOFK_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 36,
		NAME   		= 'Код клиента - плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 5,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'KOD_UBP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_UBP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 36,'KOD_UBP_PAY','Код клиента - плательщика','STRING',5,1,1,1,'KOD_UBP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 37,
		NAME   		= 'Полное наименование клиента - Плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2000,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'NAME_UBP_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'NAME_UBP_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 37,'NAME_UBP_PAY','Полное наименование клиента - Плательщика','STRING',2000,0,1,1,'NAME_UBP_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 38,
		NAME   		= 'Л/с клиента - плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'LS_PAY',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 38,'LS_PAY','Л/с клиента - плательщика','STRING',11,1,0,0,'LS_PAY','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 39,
		NAME   		= 'Л/с клиента - получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 11,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'LS_PAY_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'LS_PAY_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 39,'LS_PAY_RCP','Л/с клиента - получателя','STRING',11,1,0,0,'LS_PAY_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PRINT_KPP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 40,
		NAME   		= 'Признак печати КПП',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'PRINT_KPP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PRINT_KPP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 40,'PRINT_KPP','Признак печати КПП','STRING',1,1,0,0,'PRINT_KPP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'PRIZ')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 41,
		NAME   		= 'Признак наличия Расшифровки к платежному поручению',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'PRIZ',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'PRIZ'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 41,'PRIZ','Признак наличия Расшифровки к платежному поручению','STRING',1,1,1,1,'PRIZ','',''
set @varKSBlockLink = NULL
select 	@varKSBlockLink = LINK_BLOCK from dbo.EXPORT_BLOCKS where LINK_MODEL = @varKSModelLink and CODE = 'PPST'
if @varKSBlockLink is null
begin
	INSERT INTO EXPORT_BLOCKS(LINK_MODEL,CODE, ORDERS, ISONCE, NAME, OBLIGATORY)
	SELECT @varKSModelLink,'PPST',6,2,'Строки платежного поручения по бюджетной классификации',1
	SET @varKSBlockLink = @@IDENTITY
end
else
	update EXPORT_BLOCKS
	set 	ORDERS = 6,
			ISONCE = 2,
			NAME   = 'Строки платежного поручения по бюджетной классификации',
			OBLIGATORY = 1
	where LINK_BLOCK = @varKSBlockLink
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 1,
		NAME   		= 'Код по КБК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 1,'KBK','Код по КБК','STRING',20,1,0,0,'KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 2,
		NAME   		= 'Тип КБК',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'TYPE_KBK',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'TYPE_KBK'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 2,'TYPE_KBK','Тип КБК','STRING',2,1,1,1,'TYPE_KBK','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 3,
		NAME   		= 'Код цели плательщика',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'ADD_KLASS',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 3,'ADD_KLASS','Код цели плательщика','STRING',20,0,0,0,'ADD_KLASS','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_RCP')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 4,
		NAME   		= 'Код цели получателя',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 20,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'ADD_KLASS_RCP',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'ADD_KLASS_RCP'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 4,'ADD_KLASS_RCP','Код цели получателя','STRING',20,0,0,0,'ADD_KLASS_RCP','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 5,
		NAME   		= 'Сумма',
		VAL_TYPE 	= 'NUMBER2',
		VAL_LEN 	= 0,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'SUM',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'SUM'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 5,'SUM','Сумма','NUMBER2',0,1,1,1,'SUM','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'DIR_SUM')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 6,
		NAME   		= 'Направление пла-тежа',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 1,
		OBLIGATORY	= 1,
		ALIAS_CODE	= 'DIR_SUM',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'DIR_SUM'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 6,'DIR_SUM','Направление пла-тежа','STRING',1,1,1,1,'DIR_SUM','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'MES_FIN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 7,
		NAME   		= 'Месяц финансиро-вания',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 2,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'MES_FIN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'MES_FIN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 7,'MES_FIN','Месяц финансиро-вания','STRING',2,1,0,0,'MES_FIN','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'REZERV')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 8,
		NAME   		= 'Резервное поле',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 40,
		VAL_LEN_EQ	= 0,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'REZERV',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'REZERV'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 8,'REZERV','Резервное поле','STRING',40,0,0,0,'REZERV','',''
if exists(select * from EXPORT_FIELDS where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_FIN')
	UPDATE EXPORT_FIELDS
	SET 	ORDERS 		= 9,
		NAME   		= 'Код источника финансирования',
		VAL_TYPE 	= 'STRING',
		VAL_LEN 	= 1,
		VAL_LEN_EQ	= 1,
		NEED_CHECK	= 0,
		OBLIGATORY	= 0,
		ALIAS_CODE	= 'KOD_FIN',
		CHECK_PROC	= '',
		VAL_LIST	= ''
	where LINK_BLOCK = @varKSBlockLink and CODE = 'KOD_FIN'
else		
	INSERT INTO EXPORT_FIELDS (LINK_BLOCK, ORDERS, CODE, NAME, VAL_TYPE, VAL_LEN, VAL_LEN_EQ, NEED_CHECK, OBLIGATORY, ALIAS_CODE, CHECK_PROC, VAL_LIST)
	SELECT @varKSBlockLink, 9,'KOD_FIN','Код источника финансирования','STRING',1,1,0,0,'KOD_FIN','',''
GO

GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='COLUMN_DIC_DEP_SVOD_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'COLUMN_DIC_DEP_SVOD_CODE', 'Код в Свод-Смарт', 86, (SELECT LINK FROM S_OBJECTS WHERE CODE='DICTIONARY_DEPARTMENT'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'COLUMN_DIC_DEP_SVOD_CODE', NAME = 'Код в Свод-Смарт', ORDERS = '86', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='DICTIONARY_DEPARTMENT'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='COLUMN_DIC_DEP_SVOD_CODE'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'TITLE', 'Код в Свод-Смарт'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'VISIBLE', '2'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'CONTROLSOURCE', 'm.cAlias+".SVOD_CODE"'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'STORAGE', 'DEPARTMENTS'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'TYPE_FIELD_DICT', 'VARCHAR(13)'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'SHORT_CODE_OBJ', 'SVOD_CODE'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'CONTROLSOURCE_EDIT', 'm.cAlias+".SVOD_CODE"'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'CONTROL_NAME_EDIT', 'PageFrame1.Page1.ATxt13'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'COMMENTARY', 'Код организации в Свод-Смарт для расчета отчетности'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'ASPTYPE', 'TextBox'
GO
EXEC X_SET_PROP 'COLUMN_DIC_DEP_SVOD_CODE', 'FIELD_DATA', 'SVOD_CODE'
GO

GO
declare @P1 int, @LINK_DED INT,@Object INT
SELECT @Object = LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T1'
SELECT @P1 = link FROM DICTIONARY_MROT WHERE period = '20150101'
SELECT TOP 1  @LINK_DED = LINK  FROM  dbo.DICTIONARY_TYP_DEDUCTION WHERE SNAME = '311'

IF NOT EXISTS(SELECT * FROM MINROT_DICTION WHERE LINK_MINROT =  @P1 AND  LINK_DICTION =  @LINK_DED  AND OBJECT = @Object)
BEGIN
		IF COALESCE(@LINK_DED,0) > 0 
			INSERT INTO MINROT_DICTION (LINK_MINROT,LINK_DICTION,OBJECT,PREDEL,SUMMA)
			VALUES(@P1,@LINK_DED,@Object,0,2000000)	
end	
GO

declare @P1 int, @LINK_DED INT,@Object INT
SELECT @Object = LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T1'
SELECT @P1 = link FROM DICTIONARY_MROT WHERE period = '20150101'
SELECT TOP 1  @LINK_DED = LINK  FROM  dbo.DICTIONARY_TYP_DEDUCTION WHERE SNAME = '312'

IF NOT EXISTS(SELECT * FROM MINROT_DICTION WHERE LINK_MINROT =  @P1 AND  LINK_DICTION =  @LINK_DED  AND OBJECT = @Object)
BEGIN
		IF COALESCE(@LINK_DED,0) > 0 
			INSERT INTO MINROT_DICTION (LINK_MINROT,LINK_DICTION,OBJECT,PREDEL,SUMMA)
			VALUES(@P1,@LINK_DED,@Object,0,2000000)	
end		
GO



declare @P1 int, @LINK_DED INT,@Object INT
SELECT @Object = LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T1'
SELECT @P1 = link FROM DICTIONARY_MROT WHERE period = '20160101'
SELECT TOP 1  @LINK_DED = LINK  FROM  dbo.DICTIONARY_TYP_DEDUCTION WHERE SNAME = '311'

IF NOT EXISTS(SELECT * FROM MINROT_DICTION WHERE LINK_MINROT =  @P1 AND  LINK_DICTION =  @LINK_DED  AND OBJECT = @Object)
BEGIN
		IF COALESCE(@LINK_DED,0) > 0 
			INSERT INTO MINROT_DICTION (LINK_MINROT,LINK_DICTION,OBJECT,PREDEL,SUMMA)
			VALUES(@P1,@LINK_DED,@Object,0,2000000)	
end	
GO

declare @P1 int, @LINK_DED INT,@Object INT
SELECT @Object = LINK FROM dbo.S_OBJECTS WHERE CODE = 'COLUMN_REF_PAY_MROT_T1'
SELECT @P1 = link FROM DICTIONARY_MROT WHERE period = '20160101'
SELECT TOP 1  @LINK_DED = LINK  FROM  dbo.DICTIONARY_TYP_DEDUCTION WHERE SNAME = '312'

IF NOT EXISTS(SELECT * FROM MINROT_DICTION WHERE LINK_MINROT =  @P1 AND  LINK_DICTION =  @LINK_DED  AND OBJECT = @Object)
BEGIN
		IF COALESCE(@LINK_DED,0) > 0 
			INSERT INTO MINROT_DICTION (LINK_MINROT,LINK_DICTION,OBJECT,PREDEL,SUMMA)
			VALUES(@P1,@LINK_DED,@Object,0,2000000)	
end		
GO

GO


EXECUTE dbo.X_CREATE_ANALIT
GO

EXECUTE dbo.X_CREATE_X_SELECT_PROV_AP
GO

EXEC dbo.BX_CREATE_G_PROV_AP_EDIT_TABLE
GO

EXEC DBO.BV_CREATE_DOC_ANALIT_TABLE_70N 
GO

GO
EXEC X_SET_PROP 'DOCUMENTS_OS1B_70N', 'PRINT_OBJECT_METHOD', 'BK_PRINT_WITH_SQL_PROC ("dbo.BK_PRINTDOC_OS1B")'
GO
GO
/****** Объект: Форма14_2015******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'FORM14_EDIT_15')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'FORM14_EDIT_15')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'FORM14_EDIT_15')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'FORM14_EDIT_15')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'FORM14_EDIT_15'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'FORM14_EDIT_15')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_EDIT_15', 'Форма14_2015', 6, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_SFORMS'), (SELECT LINK FROM S_OBJECTS WHERE CODE='CLASS_SQLTREE_GROUP'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_EDIT_15', NAME = 'Форма14_2015', ORDERS = '6', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_SFORMS'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='CLASS_SQLTREE_GROUP'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_EDIT_15'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='REPORT_SVOD_MARKER_1_2')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'REPORT_SVOD_MARKER_1_2', 'Поле-маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'REPORT_SVOD_MARKER_1_2', NAME = 'Поле-маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='REPORT_SVOD_MARKER_1_2'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_SHIFR_2015')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_SHIFR_2015', 'Шифр строки', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_SHIFR_2015', NAME = 'Шифр строки', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_SHIFR_2015'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_KODS_2015')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_KODS_2015', 'КОД', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_KODS_2015', NAME = 'КОД', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_KODS_2015'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_KOD_NAME_2015')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_KOD_NAME_2015', 'Наименование строки', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_KOD_NAME_2015', NAME = 'Наименование строки', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_KOD_NAME_2015'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_2015_GR3')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_2015_GR3', 'Графа3', 5, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_2015_GR3', NAME = 'Графа3', ORDERS = '5', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_2015_GR3'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_2015_GR4')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_2015_GR4', 'Графа4', 6, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_2015_GR4', NAME = 'Графа4', ORDERS = '6', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_2015_GR4'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_2015_GR5')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_2015_GR5', 'Графа5', 7, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_2015_GR5', NAME = 'Графа5', ORDERS = '7', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_2015_GR5'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_2015_GR6')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_2015_GR6', 'Графа6', 8, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_2015_GR6', NAME = 'Графа6', ORDERS = '8', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_2015_GR6'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_2015_GR7')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_2015_GR7', 'Графа7', 9, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_2015_GR7', NAME = 'Графа7', ORDERS = '9', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_2015_GR7'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_2015_GR8')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_2015_GR8', 'Графа8', 10, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_2015_GR8', NAME = 'Графа8', ORDERS = '10', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_2015_GR8'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='FORM14_2015_GR9')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'FORM14_2015_GR9', 'Графа9', 11, (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'FORM14_2015_GR9', NAME = 'Графа9', ORDERS = '11', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='FORM14_EDIT_15'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='FORM14_2015_GR9'
GO
EXEC X_SET_PROP 'FORM14_EDIT_15', 'SELECT_RECORDS_METHOD', 'SQL.EXEC(''exec dbo.RO_VIEW_FORM14_NASTR_2015 '' + STR(m.nLink)+'',null,1'', m.cAlias)'
GO
EXEC X_SET_PROP 'FORM14_EDIT_15', 'SELECT_RECORDS_METHOD_EDIT', 'SQL.EXEC(''exec dbo.RO_VIEW_FORM14_NASTR_2015 '' + STR(m.nLink)+'',null,1'', m.cAlias)'
GO
EXEC X_SET_PROP 'FORM14_EDIT_15', 'SERVER_TABLE_NAME', 'REPORT_SAVED_FORMS'
GO
EXEC X_SET_PROP 'FORM14_EDIT_15', 'EDIT_OBJECT_METHOD_SQL', 'RO_WEB_EDIT_FORM14_2015'
GO
EXEC X_SET_PROP 'FORM14_EDIT_15', 'SELECT_RECORDS_METHOD_SQL', 'RO_WEB_TREE_FORM14_2015'
GO
EXEC X_SET_PROP 'FORM14_EDIT_15', 'SAVE_OBJECT_METHOD_SQL', 'RO_WEB_SAVE_FORM14_2015'
GO
EXEC X_SET_PROP 'FORM14_EDIT_15', 'CHECK_PROC_SQL', 'RO_CHECK_KS'
GO
EXEC X_SET_PROP 'FORM14_EDIT_15', 'WEB_TOOLBAR_TREE', 'REPORT_SVOD_TOOLBAR_MONITOR'
GO
EXEC X_SET_PROP 'REPORT_SVOD_MARKER_1_2', 'TITLE', 'M'
GO
EXEC X_SET_PROP 'REPORT_SVOD_MARKER_1_2', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'REPORT_SVOD_MARKER_1_2', 'CONTROLSOURCE', 'm.cAlias + ".CHECKED"'
GO
EXEC X_SET_PROP 'REPORT_SVOD_MARKER_1_2', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'REPORT_SVOD_MARKER_1_2', 'ROWSOURCE', 'CHECKED'
GO
EXEC X_SET_PROP 'REPORT_SVOD_MARKER_1_2', 'SHORT_CODE_OBJ', 'CHECKED'
GO
EXEC X_SET_PROP 'REPORT_SVOD_MARKER_1_2', 'ASPTYPE', 'checkbox'
GO
EXEC X_SET_PROP 'REPORT_SVOD_MARKER_1_2', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'FORM14_SHIFR_2015', 'TITLE', 'Шифр'
GO
EXEC X_SET_PROP 'FORM14_SHIFR_2015', 'CONTROLSOURCE', 'm.cAlias + ".SHIFR"'
GO
EXEC X_SET_PROP 'FORM14_SHIFR_2015', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'FORM14_SHIFR_2015', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".SHIFR"'
GO
EXEC X_SET_PROP 'FORM14_SHIFR_2015', 'FIELD_DATA', 'SHIFR'
GO
EXEC X_SET_PROP 'FORM14_KODS_2015', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'FORM14_KODS_2015', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'FORM14_KODS_2015', 'CONTROLSOURCE', 'm.cAlias + ".KODS"'
GO
EXEC X_SET_PROP 'FORM14_KODS_2015', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".KODS"'
GO
EXEC X_SET_PROP 'FORM14_KODS_2015', 'FIELD_DATA', 'KODS'
GO
EXEC X_SET_PROP 'FORM14_KOD_NAME_2015', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'FORM14_KOD_NAME_2015', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'FORM14_KOD_NAME_2015', 'CONTROLSOURCE', 'm.cAlias + ".NAME"'
GO
EXEC X_SET_PROP 'FORM14_KOD_NAME_2015', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".NAME"'
GO
EXEC X_SET_PROP 'FORM14_KOD_NAME_2015', 'FIELD_DATA', 'NAME'
GO
EXEC X_SET_PROP 'FORM14_2015_GR3', 'TITLE', 'Графа3'
GO
EXEC X_SET_PROP 'FORM14_2015_GR3', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'FORM14_2015_GR3', 'CONTROLSOURCE', 'm.cAlias + ".GR3"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR3', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'FORM14_2015_GR3', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".GR3"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR3', 'FIELD_DATA', 'GR3'
GO
EXEC X_SET_PROP 'FORM14_2015_GR4', 'TITLE', 'Графа4'
GO
EXEC X_SET_PROP 'FORM14_2015_GR4', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'FORM14_2015_GR4', 'CONTROLSOURCE', 'm.cAlias + ".GR4"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR4', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'FORM14_2015_GR4', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".GR4"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR4', 'FIELD_DATA', 'GR4'
GO
EXEC X_SET_PROP 'FORM14_2015_GR5', 'TITLE', 'Графа3'
GO
EXEC X_SET_PROP 'FORM14_2015_GR5', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'FORM14_2015_GR5', 'CONTROLSOURCE', 'm.cAlias + ".GR5"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR5', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'FORM14_2015_GR5', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".GR5"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR5', 'FIELD_DATA', 'GR5'
GO
EXEC X_SET_PROP 'FORM14_2015_GR6', 'TITLE', 'Графа6'
GO
EXEC X_SET_PROP 'FORM14_2015_GR6', 'CONTROLSOURCE', 'm.cAlias + ".GR6"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR6', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".GR6"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR6', 'FIELD_DATA', 'GR6'
GO
EXEC X_SET_PROP 'FORM14_2015_GR7', 'TITLE', 'Графа7'
GO
EXEC X_SET_PROP 'FORM14_2015_GR7', 'CONTROLSOURCE', 'm.cAlias + ".GR7"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR7', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".GR7"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR7', 'FIELD_DATA', 'GR7'
GO
EXEC X_SET_PROP 'FORM14_2015_GR8', 'TITLE', 'Графа8'
GO
EXEC X_SET_PROP 'FORM14_2015_GR8', 'CONTROLSOURCE', 'm.cAlias + ".GR8"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR8', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".GR8"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR8', 'FIELD_DATA', 'GR8'
GO
EXEC X_SET_PROP 'FORM14_2015_GR9', 'TITLE', 'Графа9'
GO
EXEC X_SET_PROP 'FORM14_2015_GR9', 'CONTROLSOURCE', 'm.cAlias + ".GR9"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR9', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".GR9"'
GO
EXEC X_SET_PROP 'FORM14_2015_GR9', 'FIELD_DATA', 'GR9'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/
EXEC DBO.W_SPERM_WRITE 'FORM14_EDIT_15', 'public', 4,0
GO
EXEC DBO.W_SPERM_WRITE 'FORM14_EDIT_15', 'Свод-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'FORM14_EDIT_15', 'Свод-КС - получатель', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'FORM14_EDIT_15', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'FORM14_EDIT_15', 'Главный бухгалтер', 4,0
GO


GO
IF not exists(select * from dbo.formula_bridge where name = '6НДФЛ_РАЗДЕЛ1' and PROC_NAME = 'I_REPORT_FORMULA_6_NDFL_RAZD1')
begin
  	
  IF not exists(select * from dbo.DICTION where name = '6НДФЛ_РАЗДЕЛ1')
  begin
		-- insert формулы установки в таблицу dbo.DICTION  
		declare @linkObjF int,
				@LinkOBJ int
							
		set @linkObjF  = (select link from dbo.s_objects where code = 'FORMULA_BRIDGE')
  
		insert into  dbo.DICTION (NAME,[OBJECT], CODE, begindate, enddate)
			values ('6НДФЛ_РАЗДЕЛ1', @linkObjF, NULL, '17530101','99991231')

		set @LinkOBJ = (select link from dbo.DICTION where name = '6НДФЛ_РАЗДЕЛ1')
		
		-- insert порядка для формулы в таблицу dbo.DICTION_APP 
		IF not exists(select * from dbo.DICTION_APP where link_up = (select link from dbo.DICTION where name = '6НДФЛ_РАЗДЕЛ1') and [object] = (select link from s_objects where  code = 'FORMULA_ORDERS'))
		begin	
			declare @linkObjF_ORD int 
					
			set @linkObjF_ORD = (select link from dbo.s_objects where code = 'FORMULA_ORDERS') 
			insert into  dbo.DICTION_APP (LINK_UP,[OBJECT], VALUE)
				values (@LinkOBJ, @linkObjF_ORD, '9')		
				
		end
		-- insert процедуры обработки для формулы в таблицу dbo.DICTION_APP 		
		IF not exists(select * from dbo.DICTION_APP where link_up = (select link from dbo.DICTION where name = '6НДФЛ_РАЗДЕЛ1') and [object] = (select link from s_objects where  code = 'FORMULA_PROCEDURE'))
		begin	
			
			declare @linkObjF_PROC int 
					
			set @linkObjF_PROC = (select link from dbo.s_objects where code = 'FORMULA_PROCEDURE') 
		
			insert into  dbo.DICTION_APP (LINK_UP,[OBJECT], VALUE)
				values (@LinkOBJ, @linkObjF_PROC, 'I_REPORT_FORMULA_6_NDFL_RAZD1')		
 
		end
			
  end	
 
end   

GO



IF not exists(select * from dbo.formula_bridge where name = '6НДФЛ_01012016_УСТАНОВКА' and PROC_NAME = 'SA_6NDFL_01012016_PREPARE')
begin
  	
  IF not exists(select * from dbo.DICTION where name = '6НДФЛ_01012016_УСТАНОВКА')
  begin
		-- insert формулы установки в таблицу dbo.DICTION  
		declare @linkObjF int,
				@LinkOBJ int
							
		set @linkObjF  = (select link from dbo.s_objects where code = 'FORMULA_BRIDGE')
  
		insert into  dbo.DICTION (NAME,[OBJECT], CODE, begindate, enddate)
			values ('6НДФЛ_01012016_УСТАНОВКА', @linkObjF, NULL, '17530101','99991231')

		set @LinkOBJ = (select link from dbo.DICTION where name = '6НДФЛ_01012016_УСТАНОВКА')
		
		-- insert порядка для формулы в таблицу dbo.DICTION_APP 
		IF not exists(select * from dbo.DICTION_APP where link_up = (select link from dbo.DICTION where name = '6НДФЛ_01012016_УСТАНОВКА') and [object] = (select link from s_objects where  code = 'FORMULA_ORDERS'))
		begin	
			declare @linkObjF_ORD int 
					
			set @linkObjF_ORD = (select link from dbo.s_objects where code = 'FORMULA_ORDERS') 
			insert into  dbo.DICTION_APP (LINK_UP,[OBJECT], VALUE)
				values (@LinkOBJ, @linkObjF_ORD, '9')		
				
		end
		-- insert процедуры обработки для формулы в таблицу dbo.DICTION_APP 		
		IF not exists(select * from dbo.DICTION_APP where link_up = (select link from dbo.DICTION where name = '6НДФЛ_01012016_УСТАНОВКА') and [object] = (select link from s_objects where  code = 'FORMULA_PROCEDURE'))
		begin	
			
			declare @linkObjF_PROC int 
					
			set @linkObjF_PROC = (select link from dbo.s_objects where code = 'FORMULA_PROCEDURE') 
		
			insert into  dbo.DICTION_APP (LINK_UP,[OBJECT], VALUE)
				values (@LinkOBJ, @linkObjF_PROC, 'SA_6NDFL_01012016_PREPARE')		
 
		end
			
  end	
 
end   

GO

GO
/****** Объект: Дополнение к стажу******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'KI_EXPIR_DOP')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'KI_EXPIR_DOP')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'KI_EXPIR_DOP')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'KI_EXPIR_DOP')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'KI_EXPIR_DOP'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'KI_EXPIR_DOP')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'KI_EXPIR_DOP', 'Дополнение к стажу', 25, (SELECT LINK FROM S_OBJECTS WHERE CODE='CATALOG_DICTION_KADR'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),1,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'KI_EXPIR_DOP', NAME = 'Дополнение к стажу', ORDERS = '25', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='CATALOG_DICTION_KADR'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 1, INHERITED = 1
	WHERE CODE ='KI_EXPIR_DOP'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_CHECKED')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_CHECKED', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_CHECKED', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_CHECKED'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_PERS_LINK')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_PERS_LINK', 'Ссылка на физ. лицо', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_PERS_LINK', NAME = 'Ссылка на физ. лицо', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_PERS_LINK'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_NAME_PERS')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_NAME_PERS', 'ФИО', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_NAME_PERS', NAME = 'ФИО', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_NAME_PERS'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_TAB')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_TAB', 'Табельный номер', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_TAB', NAME = 'Табельный номер', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_TAB'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_CODE', 'Код', 5, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_CODE', NAME = 'Код', ORDERS = '5', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_NAME', 'Вид стажа', 6, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_NAME', NAME = 'Вид стажа', ORDERS = '6', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_NAME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_DATE_BEGIN')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_DATE_BEGIN', 'Дата начала', 7, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_DATE_BEGIN', NAME = 'Дата начала', ORDERS = '7', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_DATE_BEGIN'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_YEARS')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_YEARS', 'Лет', 8, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_YEARS', NAME = 'Лет', ORDERS = '8', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_YEARS'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_MONTHS')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_MONTHS', 'Месяцев', 9, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_MONTHS', NAME = 'Месяцев', ORDERS = '9', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_MONTHS'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_DAYS')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_DAYS', 'Дней', 10, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_DAYS', NAME = 'Дней', ORDERS = '10', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_DAYS'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='EXPIR_DOP_COM')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'EXPIR_DOP_COM', 'Коментарий', 11, (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'EXPIR_DOP_COM', NAME = 'Коментарий', ORDERS = '11', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='KI_EXPIR_DOP'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='EXPIR_DOP_COM'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'TITLE', 'Дополение к стажу'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'INIT_OBJECT_METHOD', 'ki_expir_dop(''KI_EXPIR_DOP'')'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'REMOVE_OBJECT_METHOD', 'I_DELETE_RECORDS(m.oForm.Alias, "KI_EXPIR_DOP", "KI_EXPIR_DOP_DELETE", 4, .F., .F.)'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'SAVE_OBJECT_METHOD', 'X_SAVE(''KI_EXPIR_DOP_SAVE'', m.cAlias,"EMPL_LINK,EXPIR_LINK,DATE_BEGIN,YEARS,MONTHS,DAYS,COMENT","KI_EXPIR_DOP")'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'PRINT_OBJECT_METHOD', 'KIR_PRINT_DICTIONARY(oForm.Alias, "KI_EXPIR_DOP")'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'EDIT_OBJECT_METHOD', 'k_brow(''KI_EXPIR_DOP_EDIT'')'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''KI_EXPIR_DOP'')'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'SELECT_RECORDS_METHOD_EDIT', 'X_SELECT_DICTIONS(''KI_EXPIR_DOP'')'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'OPEN_CODE', 'COMENT'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'SERVER_TABLE_NAME', 'EMPL_EXPIR_DOP'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'OPERATION_MASK', '31'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'EDIT_OBJECT_METHOD_SQL', 'k_brow(''KI_EXPIR_DOP_EDIT'')'
GO
EXEC X_SET_PROP 'KI_EXPIR_DOP', 'SELECT_RECORDS_METHOD_SQL', 'select [checked] =0, LINK,EMPL_LINK,EXPIR_LINK,DATE_BEGIN,YEARS,MONTHS,DAYS,COMENT from empl_expir_DOP'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CHECKED', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CHECKED', 'CONTROLSOURCE', 'm.cAlias+".CHECKED"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CHECKED', 'SHORT_CODE_OBJ', 'CHECKED'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CHECKED', 'CONTROLSOURCE_EDIT', 'm.cAlias+".CHECKED"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CHECKED', 'ASPTYPE', 'checkbox'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CHECKED', 'FIELD_DATA', 'checked'
GO
EXEC X_SET_PROP 'EXPIR_DOP_PERS_LINK', 'CONTROLSOURCE', 'm.cAlias+".PERS_LINK"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_PERS_LINK', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'EXPIR_DOP_PERS_LINK', 'TYPE_FIELD_DICT', 'INT'
GO
EXEC X_SET_PROP 'EXPIR_DOP_PERS_LINK', 'SHORT_CODE_OBJ', 'PERS_LINK'
GO
EXEC X_SET_PROP 'EXPIR_DOP_PERS_LINK', 'CONTROLSOURCE_EDIT', 'm.cAlias+".PERS_LINK"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_PERS_LINK', 'FIELD_DATA', 'pers_link'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'TITLE', 'ФИО'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'EDIT_OBJECT_METHOD', 'A_VIBOR_01 ("SD_EMPL",oForm.ALIAS,"LINK, pers_link,FIO,TAB", "EMPL_LINK,PERS_LINK, FIO,TAB", "", "", "", .T., 1, oForm, oObj)'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'CONTROLSOURCE', 'm.cAlias+".FIO"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'OPERATE_METHOD', 'x_edit_rec("SD_EMPL",EVALUATE(m.cAliasOperate+''.EMPL_LINK''))'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'FIELD_IN_ALIAS', '2'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'TYPE_FIELD_DICT', 'VARCHAR(100)'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'SHORT_CODE_OBJ', 'FIO'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'CONTROLSOURCE_EDIT', 'm.cAlias+".FIO"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'CONTROL_NAME_EDIT', 'SPRFIO'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'COMMENTARY', 'Ф.И.О.'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME_PERS', 'FIELD_DATA', 'FIO'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'TITLE', 'Табельный номер'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'VISIBLE', '2'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'CONTROLSOURCE', 'm.cAlias + ".TAB"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'STORAGE', 'DICTION'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'TYPE_FIELD_DICT', 'varchar(12)'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'SHORT_CODE_OBJ', 'TAB'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".TAB"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'CONTROL_NAME_EDIT', 'aTxt6'
GO
EXEC X_SET_PROP 'EXPIR_DOP_TAB', 'COMMENTARY', 'Табельный номер'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'EDIT_OBJECT_METHOD', 'A_VIBOR_01 ("EXPIR",oForm.ALIAS,"LINK, CODE, NAME", "EXPIR_LINK, EXPIR_CODE, EXPIR_NAME", "", "", "", .T., 1, oForm, oObj)'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'CONTROLSOURCE', 'm.cAlias+".EXPIR_CODE"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'STORAGE', 'DICTION'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'TYPE_FIELD_DICT', 'VARCHAR(2)'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'SHORT_CODE_OBJ', 'EXPIR_CODE'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'CONTROLSOURCE_EDIT', 'm.cAlias+".EXPIR_CODE"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'CONTROL_NAME_EDIT', 'sprEXPIR'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'REFERENCE_TO_FIELD', 'EXPIR_CODE'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'ASPTYPE', 'TextBox'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'ATTRIBUTES', ' style="Z-INDEX: 104; LEFT: 312px; POSITION: absolute; TOP: 16px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'LABEL_ATTRIBUTES', ' style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 24px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'FIELD_ALIAS', 'EXPIR'
GO
EXEC X_SET_PROP 'EXPIR_DOP_CODE', 'FIELD_DATA', 'EXPIR_CODE'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'TITLE', 'Вид стажа'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'CONTROLSOURCE', 'm.cAlias+".EXPIR_NAME"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'STORAGE', 'DICTION'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'TYPE_FIELD_DICT', 'VARCHAR(100)'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'SHORT_CODE_OBJ', 'EXPIR_NAME'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'CONTROLSOURCE_EDIT', 'm.cAlias+".EXPIR_NAME"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'CONTROL_NAME_EDIT', 'aTxt1'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'REFERENCE_TO_FIELD', 'EXPIR_NAME'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'ASPTYPE', 'TextBox'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'ATTRIBUTES', ' style="Z-INDEX: 105; LEFT: 312px; POSITION: absolute; TOP: 48px"
Width="352px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'LABEL_ATTRIBUTES', ' style="Z-INDEX: 102; LEFT: 16px; POSITION: absolute; TOP: 56px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'FIELD_ALIAS', 'EXPIR'
GO
EXEC X_SET_PROP 'EXPIR_DOP_NAME', 'FIELD_DATA', 'EXPIR_NAME'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DATE_BEGIN', 'TITLE', 'Дата начала'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DATE_BEGIN', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DATE_BEGIN', 'CONTROLSOURCE', 'm.cAlias+".DATE_BEGIN"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DATE_BEGIN', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DATE_BEGIN', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DATE_BEGIN', 'TYPE_FIELD_DICT', 'varchar(10)'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DATE_BEGIN', 'CONTROLSOURCE_EDIT', 'm.cAlias+".DATE_BEGIN"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DATE_BEGIN', 'CONTROL_NAME_EDIT', 'sdDATE_BEGIN'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DATE_BEGIN', 'COMMENTARY', 'Дата начала действия дополнения'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'CONTROLSOURCE', 'm.cAlias+".YEARS"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'STORAGE', 'DICTION'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'TYPE_FIELD_DICT', 'INT'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'SHORT_CODE_OBJ', 'YEARS'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'CONTROLSOURCE_EDIT', 'm.cAlias+".YEARS"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'CONTROL_NAME_EDIT', 'Atxt2'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'REFERENCE_TO_FIELD', 'YEARS'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'ASPTYPE', 'TextBox'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'ATTRIBUTES', ' style="Z-INDEX: 104; LEFT: 312px; POSITION: absolute; TOP: 16px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'LABEL_ATTRIBUTES', ' style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 24px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'FIELD_ALIAS', 'EXPIR_DOP'
GO
EXEC X_SET_PROP 'EXPIR_DOP_YEARS', 'FIELD_DATA', 'YEARS'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'TITLE', 'Месяцев'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'CONTROLSOURCE', 'm.cAlias+".MONTHS"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'STORAGE', 'DICTION'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'TYPE_FIELD_DICT', 'INT'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'SHORT_CODE_OBJ', 'MONTHS'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'CONTROLSOURCE_EDIT', 'm.cAlias+".MONTHS"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'CONTROL_NAME_EDIT', 'Atxt3'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'REFERENCE_TO_FIELD', 'MONTHS'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'ASPTYPE', 'TextBox'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'ATTRIBUTES', ' style="Z-INDEX: 104; LEFT: 312px; POSITION: absolute; TOP: 16px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'LABEL_ATTRIBUTES', ' style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 24px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'FIELD_ALIAS', 'EXPIR_DOP'
GO
EXEC X_SET_PROP 'EXPIR_DOP_MONTHS', 'FIELD_DATA', 'MONTHS'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'TITLE', 'Дней'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'CONTROLSOURCE', 'm.cAlias+".DAYS"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'STORAGE', 'DICTION'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'TYPE_FIELD_DICT', 'INT'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'SHORT_CODE_OBJ', 'DAYS'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'CONTROLSOURCE_EDIT', 'm.cAlias+".DAYS"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'CONTROL_NAME_EDIT', 'Atxt4'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'REFERENCE_TO_FIELD', 'DAYS'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'ASPTYPE', 'TextBox'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'ATTRIBUTES', ' style="Z-INDEX: 104; LEFT: 312px; POSITION: absolute; TOP: 16px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'LABEL_ATTRIBUTES', ' style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 24px"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'FIELD_ALIAS', 'EXPIR_DOP'
GO
EXEC X_SET_PROP 'EXPIR_DOP_DAYS', 'FIELD_DATA', 'DAYS'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'TITLE', 'Коментарий'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'CONTROLSOURCE', 'm.cAlias + ".COMENT"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'STORAGE', 'DICTION'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'TYPE_FIELD_DICT', 'varchar(254)'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'SHORT_CODE_OBJ', 'COMENT'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".COMENT"'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'CONTROL_NAME_EDIT', 'aedit5'
GO
EXEC X_SET_PROP 'EXPIR_DOP_COM', 'COMMENTARY', 'Коментарий'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/
EXEC DBO.W_SPERM_WRITE 'KI_EXPIR_DOP', 'Кадры-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'KI_EXPIR_DOP', 'Зарплата-КС', 63,0
GO

/**************** ДОБАВЛЕНИЕ В НАВИГАТОР ОБЪЕКТА "Сведения о стаже"*************/ 
 
DECLARE @LINK_VAR INT
SET @LINK_VAR = NULL

DECLARE @LINK_SELF INT 
SET @LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'KADR_DICTIONARY_FOLDER' AND NAME = 'СПРАВОЧНИКИ')

DECLARE @ORD INT, @LINK_SNAVIGATOR INT
SET @ORD = (SELECT COALESCE(MAX(ORDERS),0) + 1 FROM DBO.S_NAVIGATOR WHERE LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'KADR_DICTIONARY_FOLDER' AND NAME = 'СПРАВОЧНИКИ'))
SET @LINK_SNAVIGATOR = COALESCE((SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'KADR_EXPIR_FOLDER'),0)

IF COALESCE(@LINK_SELF,0) > 0  
 		EXEC DBO.W_ESN_UPDATEDOCUMENT @LINK_SNAVIGATOR, 'KADR_EXPIR_FOLDER', 'Сведения о стаже', @ORD, NULL, 1, @LINK_SELF, 'FOLDER', NULL, @LINK_VAR, 3
GO

/**************** ПЕРЕМЕЩЕНИЕ В НАВИГАТОР ОБЪЕКТА "Виды стажа"*************/ 
 

IF EXISTS (SELECT * FROM DBO.S_NAVIGATOR  WHERE CODE = 'KADR_EXPIR' AND LINK_SELF = (SELECT top 1 link FROM DBO.S_NAVIGATOR WHERE CODE = 'KADR_DICTIONARY_FOLDER'))
    UPDATE s_navigator
	SET link_self = (SELECT top 1 link FROM DBO.S_NAVIGATOR WHERE CODE = 'KADR_EXPIR_FOLDER')
	WHERE code =  'KADR_EXPIR'
	
GO

/**************** ДОБАВЛЕНИЕ В НАВИГАТОР ОБЪЕКТА "Дополнение к стажу"*************/ 
 
DECLARE @LINK_VAR INT
SET @LINK_VAR = NULL

DECLARE @LINK_SELF INT 
SET @LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'KADR_EXPIR_FOLDER' AND NAME = 'Сведения о стаже')

DECLARE @OBJECT INT
SET @OBJECT = (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'KI_EXPIR_DOP')

DECLARE @ORD INT, @LINK_SNAVIGATOR INT
SET @ORD = (SELECT COALESCE(MAX(ORDERS),0) + 1 FROM DBO.S_NAVIGATOR WHERE LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'KADR_EXPIR_FOLDER' AND NAME = 'Сведения о стаже'))
SET @LINK_SNAVIGATOR = COALESCE((SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'KADR_EXPIR_DOP'),0)

IF COALESCE(@LINK_SELF,0) > 0  AND COALESCE(@OBJECT,0) > 0  
 		EXEC DBO.W_ESN_UPDATEDOCUMENT @LINK_SNAVIGATOR, 'KADR_EXPIR_DOP', 'Дополнение к стажу', @ORD, NULL, 1, @LINK_SELF, 'DICTIONARY', @OBJECT, @LINK_VAR, 3
GO


GO
-- Отчет "Сведения для открытия банковских карт"
-- Сгенерировано скриптом scriptObjectVar 'KJ_KADRY_ALL_PHIS_REP'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'KJ_KADRY_ALL_PHIS_REP'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Сведения для открытия банковских карт',NULL, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'KJ_KADRY_ALL_PHIS_REP',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'm_print_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'VISIBLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'VISIBLE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= '	EXEC dbo.KJ_KADRY_ALL_PHIS_REP	@dDate1, @cText1, @cVal1,  @nOtborLink1
'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#KJ_KADRY_ALL_PHIS_REP'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(.T.,"REP_INF_PERS_CARD_OPEN.XLT","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #KJ_KADRY_ALL_PHIS_REP
	@dDate1 datetime	/* Дата */,
	@cText1 varchar(8000)	/* Номер договора */,
	@nFilterLink int	/* Фильтр */
AS
BEGIN
	DECLARE @cVal1 char(1), @nOtborLink1 int	/* Отбор физических лиц */
	SELECT @nOtborLink1 = (SELECT LINK FROM OBJECT_VAR WHERE LINK_SELF=@nFilterLink AND OBJECT=(SELECT LINK FROM S_OBJECTS WHERE CODE=''OTBOR_QUERY_SQL_FL''))
	SELECT @cVal1 = (SELECT VALUE FROM OBJECT_VAR_VALUES WHERE LINK_UP=@nOtborLink1 AND PROPERTY=(SELECT LINK FROM S_PROPERTY WHERE CODE=''QUERY_OTBOR_CHECK''))

	EXEC dbo.KJ_KADRY_ALL_PHIS_REP	@dDate1, @cText1, @cVal1,  @nOtborLink1


END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= 'PROTOCOLS_EOD_ALL_PHIS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_CODE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_CODE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATE_TYPE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATE_TYPE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'SQUERY_NO_SHOW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'SQUERY_NO_SHOW'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'KJ_KADRY_ALL_PHIS_REP'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_FILTER' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_FILTER'),
		'Стандартный фильтр для запроса',0, 
		(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP'),
		'KJ_KADRY_ALL_PHIS_REP_FILTER',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'OTBOR_QUERY_SQL_FL'),
					'Отбор физических лиц',1, 
					(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_FILTER'),
					'KJ_KADRY_ALL_PHIS_REP_OTBOR_1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_CHECK') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_CHECK'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE'),
							'DICTIONARY_PHYSICAL_PERSONS2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_FIELD') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_FIELD'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_VALUE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_OTBOR_1'),
							(Select link from s_property where code = 'QUERY_OTBOR_VALUE'),
							''
						
GO
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_MAIN_PARAM' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Группа настроек',2, 
		(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP'),
		'KJ_KADRY_ALL_PHIS_REP_MAIN_PARAM',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_PARAM' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_DATEBOX'),
					'Дата',3, 
					(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_MAIN_PARAM'),
					'KJ_KADRY_ALL_PHIS_REP_PARAM',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'DATEBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							'Дата, на которую формируется список физ лиц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущая дата,Расчетная дата,Начало расч. периода,Конец расч. периода,Начало года,Конец года,Начало расч. месяца,Конец расч. месяца'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@dDate1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'datetime'
						
GO
					
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущая дата'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP_PARAM1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Номер договора',4, 
					(Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_MAIN_PARAM'),
					'KJ_KADRY_ALL_PHIS_REP_PARAM1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'KJ_KADRY_ALL_PHIS_REP_PARAM1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Группа настроек    ***/
GO


/**************** ДОБАВЛЕНИЕ В НАВИГАТОР ОБЪЕКТА "Сведения для открытия пластиковых карт"*************/ 
 
DECLARE @LINK_VAR INT
SET @LINK_VAR = (SELECT LINK FROM OBJECT_VAR WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP')

DECLARE @LINK_SELF INT 
SET @LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SALARY_REP_EMPL' AND NAME = 'СВЕДЕНИЯ О СОТРУДНИКАХ')

DECLARE @OBJECT INT
SET @OBJECT = (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'QUERY_SQL')

DECLARE @ORD INT, @LINK_SNAVIGATOR INT
SET @ORD = (SELECT COALESCE(MAX(ORDERS),0) + 1 FROM DBO.S_NAVIGATOR WHERE LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SALARY_REP_EMPL' AND NAME = 'СВЕДЕНИЯ О СОТРУДНИКАХ'))
SET @LINK_SNAVIGATOR = COALESCE((SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'KJ_KADRY_ALL_PHIS_REP'),0)

IF COALESCE(@LINK_SELF,0) > 0  AND COALESCE(@OBJECT,0) > 0  
 		EXEC DBO.W_ESN_UPDATEDOCUMENT @LINK_SNAVIGATOR, 'KJ_KADRY_ALL_PHIS_REP', 'Сведения для открытия пластиковых карт', @ORD, NULL, 1, @LINK_SELF, 'REPORT', @OBJECT, @LINK_VAR, 3
GO



GO
 

/****** Объект: Сведения для открытия пластиковых карт******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'PROTOCOLS_EOD_ALL_PHIS')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'PROTOCOLS_EOD_ALL_PHIS')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'PROTOCOLS_EOD_ALL_PHIS')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'PROTOCOLS_EOD_ALL_PHIS')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'PROTOCOLS_EOD_ALL_PHIS'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'PROTOCOLS_EOD_ALL_PHIS')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='PROTOCOLS_EOD_ALL_PHIS')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'PROTOCOLS_EOD_ALL_PHIS', 'Сведения для открытия пластиковых карт', 16, (SELECT LINK FROM S_OBJECTS WHERE CODE='EOD_CATALOG'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),1,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'PROTOCOLS_EOD_ALL_PHIS', NAME = 'Сведения для открытия пластиковых карт', ORDERS = '16', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='EOD_CATALOG'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 1, INHERITED = 1
	WHERE CODE ='PROTOCOLS_EOD_ALL_PHIS'
GO
EXEC X_SET_PROP 'PROTOCOLS_EOD_ALL_PHIS', 'TITLE', 'Сведения для открытия пластиковых карт'
GO
EXEC X_SET_PROP 'PROTOCOLS_EOD_ALL_PHIS', 'INIT_OBJECT_METHOD', 'export_files ("EXPORT_FORMATS_ALL_PHIS",oForm.alter_exec_param)'
GO
EXEC X_SET_PROP 'PROTOCOLS_EOD_ALL_PHIS', 'ACTIVATE_METHOD', ''
GO
EXEC X_SET_PROP 'PROTOCOLS_EOD_ALL_PHIS', 'HELP_TOPIC', 'Сведения для открытия пластиковых карт'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/



GO
/****** Объект: Сервер для синхронизации******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_SERVER_NAME')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_SERVER_NAME')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_SERVER_NAME')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_SERVER_NAME')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_SERVER_NAME'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_SERVER_NAME')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_SERVER_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_SERVER_NAME', 'Сервер для синхронизации', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_SERVER_NAME', NAME = 'Сервер для синхронизации', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_SERVER_NAME'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_SERVER_NAME', 'Зарплата-КС', 63,0
GO

/****** Объект: База для синхронизации******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_BASE_NAME')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_BASE_NAME')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_BASE_NAME')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_BASE_NAME')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_BASE_NAME'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_BASE_NAME')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_BASE_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_BASE_NAME', 'База для синхронизации', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_BASE_NAME', NAME = 'База для синхронизации', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_BASE_NAME'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_BASE_NAME', 'Зарплата-КС', 63,0
GO

/****** Объект: Пользователь для синхронизации******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_USER_NAME')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_USER_NAME')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_USER_NAME')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_USER_NAME')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_USER_NAME'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_USER_NAME')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_USER_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_USER_NAME', 'Пользователь для синхронизации', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_USER_NAME', NAME = 'Пользователь для синхронизации', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_USER_NAME'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_USER_NAME', 'Зарплата-КС', 63,0
GO

/****** Объект: Пароль пользователя******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_PASSWORD')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_PASSWORD')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_PASSWORD')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPT_PASSWORD')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_PASSWORD'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPT_PASSWORD')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_PASSWORD')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_PASSWORD', 'Пароль пользователя', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_PASSWORD', NAME = 'Пароль пользователя', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_PASSWORD'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_PASSWORD', 'Зарплата-КС', 63,0
GO


GO
/****** Объект: Справочник типов корректировки******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'RB_VIEW_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'RB_VIEW_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'RB_VIEW_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'RB_VIEW_ATR_TYPE_KORR')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'RB_VIEW_ATR_TYPE_KORR'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'RB_VIEW_ATR_TYPE_KORR')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'RB_VIEW_ATR_TYPE_KORR', 'Справочник типов корректировки', 123, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_DICTIONARY'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'RB_VIEW_ATR_TYPE_KORR', NAME = 'Справочник типов корректировки', ORDERS = '123', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_DICTIONARY'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='RB_VIEW_ATR_TYPE_KORR'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_DA_NET_MARKER_1')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'RB_VIEW_ATR_DA_NET_MARKER_1', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'RB_VIEW_ATR_DA_NET_MARKER_1', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='RB_VIEW_ATR_DA_NET_MARKER_1'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_DA_NET_CODE_1')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'RB_VIEW_ATR_DA_NET_CODE_1', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'RB_VIEW_ATR_DA_NET_CODE_1', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='RB_VIEW_ATR_TYPE_KORR'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='RB_VIEW_ATR_DA_NET_CODE_1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'TITLE', 'Справочник типов корректировки'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'INIT_OBJECT_METHOD', 'x_spisok(''RB_VIEW_ATR_TYPE_KORR'')'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SAVE_OBJECT_METHOD', 'sql.exec("if object_id(''tempdb..#RB_VIEW_ATR_TYPE_KORR'') is not NULL drop table #RB_VIEW_ATR_TYPE_KORRcreate table #RB_VIEW_ATR_TYPE_KORR(link int, CODE varchar(4))", "")
A_SAVE_CURSOR (''#RB_VIEW_ATR_TYPE_KORR'', m.cAlias, '''', ''link,CODE'', ''link,CODE'', ''upd=1'')
sql.call(''dbo.RT_WEB_SAVE_DICT_PRINT'',0,'''')
'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'EDIT_OBJECT_METHOD', 'x_brow()'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SELECT_RECORDS_METHOD', 'sql.exec(''select 0 as checked, 0 as upd, 0 as del, * from RB_VIEW_ATR_TYPE_KORR'',m.cAlias)'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SELECT_RECORDS_METHOD_EDIT', 'sql.exec(''select 0 as checked, 0 as upd, 0 as del, * from RB_VIEW_ATR_TYPE_KORR where Link = '' + STR(m.nLink),m.cAlias)'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'OPEN_CODE', 'TYPE'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'MSG_SEL_ONE', 'IIF(ISNULL(TYPE),'''', TYPE) + [-] + IIF(ISNULL(NUMB), '''', NUMB)'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SERVER_TABLE_NAME', ''
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'EDIT_OBJECT_METHOD_SQL', 'KU_EDIT_OBJECT_METHOD @cObject = ''RB_VIEW_ATR_TYPE_KORR '''
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''RB_VIEW_ATR_DA_NET'''
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'SAVE_OBJECT_METHOD_SQL', 'RT_WEB_SAVE_DICT_PRINT'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'EXCH_MODEL_CODE', 'L'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_TYPE_KORR', 'EXCHANGE', '1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'CONTROL_NAME_EDIT', 'check1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'ASPTYPE', 'checkbox'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_MARKER_1', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'CONTROL_NAME_EDIT', 'ATxt1'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'ASPTYPE', 'WebTextEdit'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'ATTRIBUTES', 'style="Z-INDEX: 102; LEFT: 250px; POSITION: absolute; TOP: 16px""
Width="500px"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'LABEL_ATTRIBUTES', 'style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 16px"'
GO
EXEC X_SET_PROP 'RB_VIEW_ATR_DA_NET_CODE_1', 'FIELD_DATA', 'NAME'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/


GO
/****** Объект: Тип корректировки******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'REPORTS_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'REPORTS_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'REPORTS_ATR_TYPE_KORR')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'REPORTS_ATR_TYPE_KORR')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'REPORTS_ATR_TYPE_KORR'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'REPORTS_ATR_TYPE_KORR')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='REPORTS_ATR_TYPE_KORR')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'REPORTS_ATR_TYPE_KORR', 'Тип корректировки', 59, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORTS_ATR'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_ATRIBUT'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'REPORTS_ATR_TYPE_KORR', NAME = 'Тип корректировки', ORDERS = '59', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORTS_ATR'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_ATRIBUT'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='REPORTS_ATR_TYPE_KORR'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'NAME', 'Тип корректировки'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'EDIT_OBJECT_METHOD', 'A_VIBOR_01 ("RB_VIEW_ATR_TYPE_KORR",oForm.ALIAS_ATR, "CODE", "REPORTS_ATR_TYPE_KORR", "", "", "", .T., 0, oForm, oObj)'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'VISIBLE', '1'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'CONTROL_TYPE', '1'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'SHORT_NAME', 'Тип корректировки'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'CHECK_WHEN', 'ALIB_NEED_SPR (oObj)'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'DEFAULT_VALUE', 'исхд'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'MAXWIDTH', '11'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'DICTIONARY', 'RB_VIEW_ATR_TYPE_KORR'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'DICTIONARY_COLUMNS_LIST', 'REPORTS_ATR_TYPE_KORR'
GO
EXEC X_SET_PROP 'REPORTS_ATR_TYPE_KORR', 'DICTIONARY_FIELDS_LIST', 'CODE'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: КОД_СТРОКИ_0503123M_2016_t2 С КОДОМ R_SPR_0503123_CODE_STR_2------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_0503123_CODE_STR_2'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_0503123_CODE_STR_2', 'КОД_СТРОКИ_0503123M_2016_т2', '#Cols_tmp', '#Data_tmp', 1


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_0503123_CODE_STR_2]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_0503123_CODE_STR_2]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 16.10.2015

	справочник КОД_СТРОКИ_0503123M_2016_т2 (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_0503123_CODE_STR_2]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_0503123_CODE_STR_2' GROUP BY Code, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_0503123_CODE_STR_2] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503123_CODE_STR_2')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503123_CODE_STR_2'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503123_CODE_STR_2', 'КОД_СТРОКИ_0503123M_2016_т2', 230, (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503123_CODE_STR_2', NAME = 'КОД_СТРОКИ_0503123M_2016_т2', ORDERS = '230', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503123_CODE_STR_2'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503123_CODE_STR_2_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503123_CODE_STR_2_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503123_CODE_STR_2_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503123_CODE_STR_2_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503123_CODE_STR_2_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503123_CODE_STR_2_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503123_CODE_STR_2_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503123_CODE_STR_2_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503123_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503123_CODE_STR_2_Name'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'TITLE', 'КОД_СТРОКИ_0503123M_2016_т2'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_0503123_CODE_STR_2'')'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_0503123_CODE_STR_2'')'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'SERVER_TABLE_NAME', 'R_SPR_0503123_CODE_STR_2'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_0503123_CODE_STR_2'''
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_0503123_CODE_STR_2_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_0503123_CODE_STR_2', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503123_CODE_STR_2', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503123_CODE_STR_2', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503123_CODE_STR_2', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503123_CODE_STR_2',0,'КОД_СТРОКИ_0503123M_2016_т2','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='FORM_2011' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503123_CODE_STR_2',@link_self,'КОД_СТРОКИ_0503123M_2016_т2','HEADER'
GO
delete report_control_protokol
delete report_kbk_hist where link_up in (select link from report_kbk where code_form= 'R_SPR_0503123_CODE_STR_2')
delete report_kbk_cashe where link_up in (select link from report_kbk where code_form= 'R_SPR_0503123_CODE_STR_2')
delete report_kbk where code_form= 'R_SPR_0503123_CODE_STR_2'
declare @LS int
insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '900',0,'R_SPR_0503123_CODE_STR_2',1,'Расходы',0,'',0,'','', '20160101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '980',0,'R_SPR_0503123_CODE_STR_2',1,'Возврат дебиторской задолжености прошлых лет',0,'',0,'','', '20160101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '990',0,'R_SPR_0503123_CODE_STR_2',1,'Операции с денежными обеспечениями',0,'',0,'','', '20160101',NULL,0

exec dbo.[RO_KBK_CASHE_UPDATE] @vcCodeForm = 'R_SPR_0503123_CODE_STR_2'

GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: КОД_СТРОКИ_0503723M_2016_t2 С КОДОМ R_SPR_0503723_CODE_STR_2------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_0503723_CODE_STR_2'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_0503723_CODE_STR_2', 'КОД_СТРОКИ_0503723M_2016_т2', '#Cols_tmp', '#Data_tmp', 1


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_0503723_CODE_STR_2]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_0503723_CODE_STR_2]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 16.10.2015

	справочник КОД_СТРОКИ_0503723M_2016_т2 (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_0503723_CODE_STR_2]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_0503723_CODE_STR_2' GROUP BY Code, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_0503723_CODE_STR_2] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503723_CODE_STR_2')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503723_CODE_STR_2'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503723_CODE_STR_2', 'КОД_СТРОКИ_0503723M_2016_т2', 230, (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503723_CODE_STR_2', NAME = 'КОД_СТРОКИ_0503723M_2016_т2', ORDERS = '230', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503723_CODE_STR_2'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503723_CODE_STR_2_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503723_CODE_STR_2_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503723_CODE_STR_2_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503723_CODE_STR_2_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503723_CODE_STR_2_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503723_CODE_STR_2_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503723_CODE_STR_2_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503723_CODE_STR_2_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503723_CODE_STR_2'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503723_CODE_STR_2_Name'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'TITLE', 'КОД_СТРОКИ_0503723M_2016_т2'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_0503723_CODE_STR_2'')'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_0503723_CODE_STR_2'')'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'SERVER_TABLE_NAME', 'R_SPR_0503723_CODE_STR_2'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_0503723_CODE_STR_2'''
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_0503723_CODE_STR_2_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_0503723_CODE_STR_2', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503723_CODE_STR_2', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503723_CODE_STR_2', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503723_CODE_STR_2', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503723_CODE_STR_2',0,'КОД_СТРОКИ_0503723M_2016_т2','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='FORM_2011' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503723_CODE_STR_2',@link_self,'КОД_СТРОКИ_0503723M_2016_т2','HEADER'
GO
delete report_control_protokol
delete report_kbk_hist where link_up in (select link from report_kbk where code_form= 'R_SPR_0503723_CODE_STR_2')
delete report_kbk_cashe where link_up in (select link from report_kbk where code_form= 'R_SPR_0503723_CODE_STR_2')
delete report_kbk where code_form= 'R_SPR_0503723_CODE_STR_2'
declare @LS int
insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '900',0,'R_SPR_0503723_CODE_STR_2',1,'Расходы',0,'',0,'','', '20160101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '980',0,'R_SPR_0503723_CODE_STR_2',1,'Расходы по текущим операциям',0,'',0,'','', '20160101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '990',0,'R_SPR_0503723_CODE_STR_2',1,'Расходы по инвистиционным операциям',0,'',0,'','', '20160101',NULL,0

exec dbo.[RO_KBK_CASHE_UPDATE] @vcCodeForm = 'R_SPR_0503723_CODE_STR_2'

GO


GO
exec RN_SAVE_REPORT_KBK 0,'R_SPR_KBK_0503074',0,'Справочник разделов, подразделов, целевых статей и видов расходов для заполнения форм 14 и 14МО','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='FORM_2011' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_KBK_0503074',@link_self,'Справочник разделов, подразделов, целевых статей и видов расходов для заполнения форм 14 и 14МО','HEADER'
GO
delete report_control_protokol
delete report_kbk_hist where link_up in (select link from report_kbk where code_form= 'R_SPR_KBK_0503074')
delete report_kbk_cashe where link_up in (select link from report_kbk where code_form= 'R_SPR_KBK_0503074')
delete report_kbk where code_form= 'R_SPR_KBK_0503074'
declare @LS int
insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '00000',0,'R_SPR_KBK_0503074',1,'В целом бюджет. и внебюджет',0,'00000000000000000',0,'','', '19000101',NULL,0

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00000' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00001',@LS,'R_SPR_KBK_0503074',1,'ВСЕГО',0,'00000000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00002',@LS,'R_SPR_KBK_0503074',1,'ОБЩЕГОСУДАРСТВЕННЫЕ ВОПРОСЫ',0,'01000000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00161',@LS,'R_SPR_KBK_0503074',1,'НАЦИОНАЛЬНАЯ ОБОРОНА',0,'02000000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00166',@LS,'R_SPR_KBK_0503074',1,'"НАЦИОНАЛЬНАЯ БЕЗОПАСНОСТЬ И ПРАВООХРАНИТЕЛЬНАЯ ДЕЯТЕЛЬНОСТЬ"',0,'03000000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00197',@LS,'R_SPR_KBK_0503074',1,'НАЦИОНАЛЬНАЯ ЭКОНОМИКА',0,'04000000000000000',0,'','','19000101',NULL,5

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00262',@LS,'R_SPR_KBK_0503074',1,'ЖИЛИЩНО-КОММУНАЛЬНОЕ ХОЗЯЙСТВО',0,'05000000000000000',0,'','','19000101',NULL,6

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00270',@LS,'R_SPR_KBK_0503074',1,'ОХРАНА ОКРУЖАЮЩЕЙ СРЕДЫ',0,'06000000000000000',0,'','','19000101',NULL,7

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00278',@LS,'R_SPR_KBK_0503074',1,'ОБРАЗОВАНИЕ',0,'07000000000000000',0,'','','19000101',NULL,8

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00710',@LS,'R_SPR_KBK_0503074',1,'СОЦИАЛЬНАЯ ПОЛИТИКА',0,'10000000000000000',0,'','','19000101',NULL,11

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00784',@LS,'R_SPR_KBK_0503074',1,'КУЛЬТУРА, КИНЕМАТОГРАФИЯ',0,'08000000000000000',0,'','','19000101',NULL,9

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00796',@LS,'R_SPR_KBK_0503074',1,'ЗДРАВООХРАНЕНИЕ',0,'09000000000000000',0,'','','19000101',NULL,10

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00808',@LS,'R_SPR_KBK_0503074',1,'ФИЗИЧЕСКАЯ КУЛЬТУРА И СПОРТ',0,'11000000000000000',0,'','','19000101',NULL,12

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00001' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00819',@LS,'R_SPR_KBK_0503074',1,'СРЕДСТВА МАССОВОЙ ИНФОРМАЦИИ',0,'12000000000000000',0,'','','19000101',NULL,13

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00002' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00028',@LS,'R_SPR_KBK_0503074',1,'Функционирование Правительства Российской Федерации, высших исполнительных органов государственной власти субъектов Российской Федерации, местных администраций',0,'01040000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00002' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00034',@LS,'R_SPR_KBK_0503074',1,'Судебная система',0,'01050000000000000',0,'','','19000101',NULL,5

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00002' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00132',@LS,'R_SPR_KBK_0503074',1,'Обеспечение проведения выборов и референдумов',0,'01070000000000000',0,'','','19000101',NULL,13

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00166' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00176',@LS,'R_SPR_KBK_0503074',1,'Органы юстиции',0,'03040000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00198',@LS,'R_SPR_KBK_0503074',1,'Общеэкономические вопросы',0,'04010000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00219',@LS,'R_SPR_KBK_0503074',1,'Сельское хозяйство и рыболовство',0,'04050000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00227',@LS,'R_SPR_KBK_0503074',1,'Водное хозяйство',0,'04060000000000000',0,'','','19000101',NULL,6

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00234',@LS,'R_SPR_KBK_0503074',1,'Лесное хозяйство',0,'04070000000000000',0,'','','19000101',NULL,7

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00241',@LS,'R_SPR_KBK_0503074',1,'Транспорт',0,'04080000000000000',0,'','','19000101',NULL,8

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00278' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00279',@LS,'R_SPR_KBK_0503074',1,'Другие вопросы в области образования',0,'07090000000000000',0,'','','19000101',NULL,8

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00710' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00303',@LS,'R_SPR_KBK_0503074',1,'Другие вопросы в области социальной политики',0,'10060000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00002' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00431',@LS,'R_SPR_KBK_0503074',1,'Функционирование высшего должностного лица субъекта Российской Федерации и муниципального образования',0,'01020000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00002' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00436',@LS,'R_SPR_KBK_0503074',1,'Функционирование законодательных (представительных) органов государственной власти и представительных органов муниципальных образований',0,'01030000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00002' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00503',@LS,'R_SPR_KBK_0503074',1,'Обеспечение деятельности финансовых, налоговых и таможенных органов и органов финансового (финансово-бюджетного) надзора',0,'01060000000000000',0,'','','19000101',NULL,12

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00166' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00575',@LS,'R_SPR_KBK_0503074',1,'Защита населения и территории от чрезвычайных ситуаций природного и техногенного характера, гражданская оборона',0,'03090000000000000',0,'','','19000101',NULL,5

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00593',@LS,'R_SPR_KBK_0503074',1,'Топливно-энергетический комплекс',0,'04020000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00640',@LS,'R_SPR_KBK_0503074',1,'Дорожное хозяйство',0,'04090000000000000',0,'','','19000101',NULL,10

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00646',@LS,'R_SPR_KBK_0503074',1,'Связь и информатика',0,'04100000000000000',0,'','','19000101',NULL,11

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00656',@LS,'R_SPR_KBK_0503074',1,'Другие вопросы в области национальной экономики',0,'04120000000000000',0,'','','19000101',NULL,12

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00262' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00667',@LS,'R_SPR_KBK_0503074',1,'Другие вопросы в области жилищно-коммунального хозяйства',0,'05050000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00270' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00673',@LS,'R_SPR_KBK_0503074',1,'Другие вопросы в области охраны окружающей среды',0,'06050000000000000',0,'','','19000101',NULL,7

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00278' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00683',@LS,'R_SPR_KBK_0503074',1,'Молодежная политика и оздоровление детей',0,'07070000000000000',0,'','','19000101',NULL,7

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00161' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00766',@LS,'R_SPR_KBK_0503074',1,'Мобилизационная и вневойсковая подготовка',0,'02030000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00270' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00769',@LS,'R_SPR_KBK_0503074',1,'Охрана и использование объектов животного мира',0,'06030000000000000',0,'','','19000101',NULL,6

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00002' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00772',@LS,'R_SPR_KBK_0503074',1,'Другие общегосударственные вопросы',0,'01130000000000000',0,'','','19000101',NULL,14

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00784' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00785',@LS,'R_SPR_KBK_0503074',1,'Другие вопросы в области культуры, кинематографии',0,'08040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00002' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00787',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в сфере управления федеральным имуществом',0,'01130000000000000',0,'','','19000101',NULL,15

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00796' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00797',@LS,'R_SPR_KBK_0503074',1,'Другие вопросы в области здравоохранения',0,'09090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00808' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00809',@LS,'R_SPR_KBK_0503074',1,'Другие вопросы в области физической культуры и спорта',0,'11050000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00819' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00820',@LS,'R_SPR_KBK_0503074',1,'Другие вопросы в области средств массовой информации',0,'12040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00197' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '01594',@LS,'R_SPR_KBK_0503074',1,'Воспроизводство минерально-сырьевой базы',0,'04040000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00034' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00035',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций',0,'01050000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00176' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00177',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций',0,'03040000000000000',0,'','','19000101',NULL,5

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00431' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00432',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'01020000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00436' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00442',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'01030000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00028' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00451',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'01040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00034' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00484',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'01050000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00503' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00517',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'01060000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00132' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00524',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'01070000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00176' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00571',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'03040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00575' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00580',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'03090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00198' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00588',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04010000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00198' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00592',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области содействия занятости населения',0,'04010000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00198' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00594',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в сфере трудового законодательства',0,'04010000000000000',0,'','','19000101',NULL,5

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00198' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00595',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в сфере государственного контроля (надзора) в области промышленной безопасности, электроэнергетики и безопасности гидротехнических сооружений',0,'04010000000000000',0,'','','19000101',NULL,6

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '01594' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00598',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в сфере недропользования',0,'04040000000000000',0,'','','19000101',NULL,5

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00593' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00599',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04020000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00593' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00602',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в сфере топливно-энергетический комплекса',0,'04020000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00219' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00608',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04050000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00219' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00611',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области сельского хозяйства и рыболовства',0,'04050000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00227' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00616',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04060000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00227' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00620',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области водных отношений',0,'04060000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00234' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00626',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04070000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00234' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00630',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области лесных отношений',0,'04070000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00241' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00637',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04080000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00241' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00641',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в сфере транспорта',0,'04080000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00640' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00643',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00640' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00647',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в сфере дорожного хозяйства',0,'04090000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00646' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00653',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04100000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00646' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00657',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в сфере связи и информатики',0,'04100000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00656' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00664',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04120000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00656' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00668',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области ветеринарного и фитосанитарного надзора',0,'04120000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00656' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00669',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в сфере государственной регистрации прав на недвижимое имущество и сделок с ним государственного кадастрового учета, кадастровой оценки объектов недвижимости, землеустройства, государственного мониторинга',0,'04120000000000000',0,'','','19000101',NULL,5

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00667' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00670',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'05050000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00667' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00674',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области жилищно-коммунального хозяйства',0,'05050000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00673' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00680',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'06050000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00683' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00684',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'07070000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00673' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00687',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области охраны окружающей среды',0,'06050000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00279' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00688',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'07090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00303' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00713',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерациив области в области социальной политики',0,'10060000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00303' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00725',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'10060000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00279' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00732',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций',0,'07090000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00766' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00767',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций',0,'02030000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00769' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00770',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области охраны и использования объектов животного мира',0,'06030000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00769' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00771',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации по организации, регулирования и охраны водных биологических ресурсов',0,'06030000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00772' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00781',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'01130000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00772' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00782',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'01130000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00772' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00783',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'01130000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00785' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00786',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций',0,'08040000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00785' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00793',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'08040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00797' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00798',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций',0,'09090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00797' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00805',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'09090000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00809' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00810',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций',0,'11050000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00809' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00816',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'11050000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00809' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00821',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерациив области в области физической культуры и спорта',0,'11050000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00820' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00827',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'12040000000000000',0,'','','19000101',NULL,1

GO
declare @LS int

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00820' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00830',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерациив области в области средств массовой информации',0,'12040000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00769' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00837',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций',0,'06030000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '01594' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '01595',@LS,'R_SPR_KBK_0503074',1,'Руководство и управление в сфере установленных функций органов государственной власти субъектов Российской Федерации (органов местного самоуправления)',0,'04040000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00432' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00433',@LS,'R_SPR_KBK_0503074',1,'Высшее должностное лицо субъекта Российской Федерации',0,'01020000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00432' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00434',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'01020000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00432' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00435',@LS,'R_SPR_KBK_0503074',1,'Глава муниципального образования',0,'01020000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00442' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00443',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'01030000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00442' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00444',@LS,'R_SPR_KBK_0503074',1,'Председатель законодательного (представительного) органа государственной власти субъекта Российской Федерации',0,'01030000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00442' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00445',@LS,'R_SPR_KBK_0503074',1,'Депутаты (члены) законодательного (представительного) органа государственной власти субъекта Российской Федерации',0,'01030000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00442' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00446',@LS,'R_SPR_KBK_0503074',1,'Председатель представительного органа муниципального образования',0,'01030000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00442' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00447',@LS,'R_SPR_KBK_0503074',1,'Депутаты представительного органа муниципального образования',0,'01030000000000000',0,'','','19000101',NULL,5

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00451' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00452',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'01040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00451' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00453',@LS,'R_SPR_KBK_0503074',1,'Высшее должностное лицо субъекта Российской Федерации и его заместители',0,'01040000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00451' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00454',@LS,'R_SPR_KBK_0503074',1,'Глава местной администрации (исполнительно-распорядительного органа муниципального образования)',0,'01040000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00451' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00455',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'01040000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00484' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00485',@LS,'R_SPR_KBK_0503074',1,'Конституционный (уставный) суд субъекта Российской Федерации',0,'01050000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00484' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00488',@LS,'R_SPR_KBK_0503074',1,'Обеспечение деятельности аппаратов судов (мировых судей)',0,'01050000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00517' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00518',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'01060000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00517' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00519',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'01060000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00517' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00520',@LS,'R_SPR_KBK_0503074',1,'Руководитель контрольно-счетной палаты субъекта Российской Федерации и его заместители',0,'01060000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00517' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00521',@LS,'R_SPR_KBK_0503074',1,'Руководитель контрольно-счетной палаты муниципального образования и его заместители',0,'01060000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00524' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00525',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'01070000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00524' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00526',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'01070000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00524' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00527',@LS,'R_SPR_KBK_0503074',1,'Члены избирательной комиссии субъекта Российской Федерации',0,'01070000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00524' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00528',@LS,'R_SPR_KBK_0503074',1,'Члены избирательной комиссии муниципального образования',0,'01070000000000000',0,'','','19000101',NULL,4

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00571' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00572',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'03040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00571' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00573',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'03040000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00580' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00581',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'03090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00580' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00582',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'03090000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00588' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00589',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04010000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00588' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00590',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04010000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '01595' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00596',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '01595' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00597',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04040000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00599' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00600',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04020000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00599' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00601',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04020000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00608' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00609',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04050000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00608' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00610',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04050000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00616' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00617',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04060000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00616' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00618',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04060000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00626' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00627',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04070000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00626' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00628',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04070000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00637' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00638',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04080000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00637' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00639',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04080000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00643' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00644',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00643' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00645',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04090000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00653' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00654',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04100000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00653' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00655',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04100000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00664' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00665',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'04120000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00664' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00666',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'04120000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00670' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00671',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'05050000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00670' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00672',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'05050000000000000',0,'','','19000101',NULL,3

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00680' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00681',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'06050000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00680' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00682',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'06050000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00684' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00685',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'07070000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00684' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00686',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'07070000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00688' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00689',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'07090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00688' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00690',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'07090000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00725' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00711',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'10060000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00725' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00712',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'10060000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00035' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00722',@LS,'R_SPR_KBK_0503074',1,'Составление (изменение и дополнение) списков кандидатов в присяжные заседатели федеральных судов общей юрисдикции в Российской Федерации',0,'01050000000000000',0,'','','19000101',NULL,7

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00732' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00733',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области образования',0,'07090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00484' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00734',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'01050000000000000',0,'','','19000101',NULL,5

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00767' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00768',@LS,'R_SPR_KBK_0503074',1,'Осуществление первичного воинского учета на территориях, где отсутствуют военные комиссариаты',0,'02030000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00786' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00792',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации по государственной охране объектов культурного наследия (памятников истории и культуры) федерального значения',0,'08040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00793' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00794',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'08040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00793' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00795',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'08040000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00798' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00804',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерациив в области здравоохранения',0,'09090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00805' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00806',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'09090000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00805' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00807',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'09090000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00816' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00817',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'11050000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00816' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00818',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'11050000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00827' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00828',@LS,'R_SPR_KBK_0503074',1,'Центральный аппарат',0,'12040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00827' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00829',@LS,'R_SPR_KBK_0503074',1,'Территориальные органы',0,'12040000000000000',0,'','','19000101',NULL,2

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00177' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00831',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации по государственной регистрации актов гражданского состояния',0,'03040000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00837' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00838',@LS,'R_SPR_KBK_0503074',1,'Осуществление полномочий Российской Федерации в области охраны и использования охотничьих ресурсов',0,'06030000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00485' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00486',@LS,'R_SPR_KBK_0503074',1,'Судьи (уставных судов )',0,'01050000000000000',0,'','','19000101',NULL,1

set @LS = 0
	select @LS = Link from report_kbk where Code_Form = 'R_SPR_KBK_0503074' and  Code = '00485' and begin_date ='19000101' and end_date  is NULL
	insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
	select '00487',@LS,'R_SPR_KBK_0503074',1,'Обеспечение деятельности аппаратов (уставных) судов',0,'01050000000000000',0,'','','19000101',NULL,2

exec dbo.[RO_KBK_CASHE_UPDATE] @vcCodeForm = 'R_SPR_KBK_0503074'

GO


GO
/****** Объект: Настройка интеграции ПК Зарплата-КС******/


DECLARE @T TABLE (LINK INT, CODE VARCHAR(30), FLAG TINYINT)

/******--Запомнить настройки на базе пользователя ******/
INSERT @T (LINK, CODE, FLAG)
SELECT LINK, CODE, 1
FROM  dbo.S_OBJECTS SO WHERE CODE='SAL_OPTIONS_SYNC'

WHILE EXISTS(SELECT * FROM dbo.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM @T WHERE FLAG=1))
BEGIN
	INSERT @T (LINK, CODE,FLAG)
	SELECT LINK, CODE, 0 
	FROM dbo.S_OBJECTS SO WHERE LINK_SELF IN (SELECT LINK FROM @T WHERE FLAG=1)
	UPDATE @T SET FLAG=2 WHERE FLAG=1
	UPDATE @T SET FLAG=1 WHERE FLAG=0
END

IF exists(select * from sysobjects where id = object_id('[dbo].[_UPD_OPT_SAL_OPTIONS_SYNC]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
	DROP TABLE [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC]

CREATE TABLE  dbo._UPD_OPT_SAL_OPTIONS_SYNC (CODE VARCHAR(30), [SID] varbinary(85), VALUE VARCHAR(1000))

INSERT INTO _UPD_OPT_SAL_OPTIONS_SYNC (CODE, [SID], VALUE)
SELECT T.CODE, so.[sid], so.VALUE
FROM 
	@T T INNER JOIN dbo.S_OPTIONS so ON so.[OBJECT] = T.LINK

GO

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPTIONS_SYNC')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPTIONS_SYNC')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPTIONS_SYNC')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPTIONS_SYNC')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPTIONS_SYNC'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPTIONS_SYNC')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPTIONS_SYNC', 'Настройка интеграции ПК Зарплата-КС', 20, (SELECT LINK FROM S_OBJECTS WHERE CODE='NASTR_CATALOG'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),1,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPTIONS_SYNC', NAME = 'Настройка интеграции ПК Зарплата-КС', ORDERS = '20', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='NASTR_CATALOG'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 1, INHERITED = 1
	WHERE CODE ='SAL_OPTIONS_SYNC'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_INTEGR_CHANAL')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_INTEGR_CHANAL', 'Канал передачи Сметы-Смарт', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_INTEGR_CHANAL', NAME = 'Канал передачи Сметы-Смарт', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_INTEGR_CHANAL'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_SERVER_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_SERVER_NAME', 'Сервер для синхронизации', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_SERVER_NAME', NAME = 'Сервер для синхронизации', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_SERVER_NAME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_BASE_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_BASE_NAME', 'База для синхронизации', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_BASE_NAME', NAME = 'База для синхронизации', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_BASE_NAME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_USER_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_USER_NAME', 'Пользователь для синхронизации', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_USER_NAME', NAME = 'Пользователь для синхронизации', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_USER_NAME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_PASSWORD')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_PASSWORD', 'Пароль пользователя', 5, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_PASSWORD', NAME = 'Пароль пользователя', ORDERS = '5', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_PASSWORD'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_SERV_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_SERV_NAME', 'Сервер для синхронизации', 6, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_SERV_NAME', NAME = 'Сервер для синхронизации', ORDERS = '6', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_SERV_NAME'
GO
EXEC X_SET_PROP 'SAL_OPTIONS_SYNC', 'INIT_OBJECT_METHOD', 'SALARY_FORM_LOAD(''sa_rms_contacts_options'')'
GO
EXEC X_SET_PROP 'SAL_OPT_INTEGR_CHANAL', 'TITLE', 'База Сметы-Смарт'
GO
EXEC X_SET_PROP 'SAL_OPT_INTEGR_CHANAL', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'SAL_OPT_INTEGR_CHANAL', 'STORAGE', 'S_OPTIONS'
GO
/******--Восстановить, либо установить настройки на базе пользователя ******/
DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_BASE_NAME' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_BASE_NAME')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_BASE_NAME'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_BASE_NAME'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_BASE_NAME'

GO

DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_INTEGR_CHANAL' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_INTEGR_CHANAL')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_INTEGR_CHANAL'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_INTEGR_CHANAL'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '4' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_INTEGR_CHANAL'

GO

DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_PASSWORD' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_PASSWORD')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_PASSWORD'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_PASSWORD'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_PASSWORD'

GO

DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_SERVER_NAME' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_SERVER_NAME')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_SERVER_NAME'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_SERVER_NAME'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_SERVER_NAME'

GO

DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_USER_NAME' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_USER_NAME')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_USER_NAME'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_USER_NAME'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_USER_NAME'

GO


IF exists(select * from sysobjects where id = object_id('[dbo].[_UPD_OPT_SAL_OPTIONS_SYNC]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
	DROP TABLE [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC]

GO


/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/
EXEC DBO.W_SPERM_WRITE 'SAL_OPTIONS_SYNC', 'Зарплата-КС', 63,0
GO

/**************** УСТАНОВКА ДОСТУПА К НАСТРОЙКАМ *************/
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_BASE_NAME', 'Зарплата-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_INTEGR_CHANAL', 'Зарплата-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_PASSWORD', 'Зарплата-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_SERVER_NAME', 'Зарплата-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_USER_NAME', 'Зарплата-КС', 63,0
GO

/**************** ДОБАВЛЕНИЕ В НАВИГАТОР ОБЪЕКТА "Настройка синхронизации с ПК Смета-Смарт"*************/ 
 
/****** Объект: Настройка интеграции ПК Зарплата-КС******/


DECLARE @T TABLE (LINK INT, CODE VARCHAR(30), FLAG TINYINT)

/******--Запомнить настройки на базе пользователя ******/
INSERT @T (LINK, CODE, FLAG)
SELECT LINK, CODE, 1
FROM  dbo.S_OBJECTS SO WHERE CODE='SAL_OPTIONS_SYNC'

WHILE EXISTS(SELECT * FROM dbo.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM @T WHERE FLAG=1))
BEGIN
	INSERT @T (LINK, CODE,FLAG)
	SELECT LINK, CODE, 0 
	FROM dbo.S_OBJECTS SO WHERE LINK_SELF IN (SELECT LINK FROM @T WHERE FLAG=1)
	UPDATE @T SET FLAG=2 WHERE FLAG=1
	UPDATE @T SET FLAG=1 WHERE FLAG=0
END

IF exists(select * from sysobjects where id = object_id('[dbo].[_UPD_OPT_SAL_OPTIONS_SYNC]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
	DROP TABLE [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC]

CREATE TABLE  dbo._UPD_OPT_SAL_OPTIONS_SYNC (CODE VARCHAR(30), [SID] varbinary(85), VALUE VARCHAR(1000))

INSERT INTO _UPD_OPT_SAL_OPTIONS_SYNC (CODE, [SID], VALUE)
SELECT T.CODE, so.[sid], so.VALUE
FROM 
	@T T INNER JOIN dbo.S_OPTIONS so ON so.[OBJECT] = T.LINK

GO

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPTIONS_SYNC')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPTIONS_SYNC')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPTIONS_SYNC')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'SAL_OPTIONS_SYNC')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPTIONS_SYNC'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPTIONS_SYNC')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPTIONS_SYNC', 'Настройка интеграции ПК Зарплата-КС', 20, (SELECT LINK FROM S_OBJECTS WHERE CODE='NASTR_CATALOG'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),1,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPTIONS_SYNC', NAME = 'Настройка интеграции ПК Зарплата-КС', ORDERS = '20', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='NASTR_CATALOG'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 1, INHERITED = 1
	WHERE CODE ='SAL_OPTIONS_SYNC'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_INTEGR_CHANAL')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_INTEGR_CHANAL', 'Канал передачи Сметы-Смарт', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_INTEGR_CHANAL', NAME = 'Канал передачи Сметы-Смарт', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_INTEGR_CHANAL'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_SERVER_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_SERVER_NAME', 'Сервер для синхронизации', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_SERVER_NAME', NAME = 'Сервер для синхронизации', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_SERVER_NAME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_BASE_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_BASE_NAME', 'База для синхронизации', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_BASE_NAME', NAME = 'База для синхронизации', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_BASE_NAME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_USER_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_USER_NAME', 'Пользователь для синхронизации', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_USER_NAME', NAME = 'Пользователь для синхронизации', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_USER_NAME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_PASSWORD')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_PASSWORD', 'Пароль пользователя', 5, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_PASSWORD', NAME = 'Пароль пользователя', ORDERS = '5', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_PASSWORD'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SAL_OPT_SERV_NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SAL_OPT_SERV_NAME', 'Сервер для синхронизации', 6, (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SAL_OPT_SERV_NAME', NAME = 'Сервер для синхронизации', ORDERS = '6', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SAL_OPTIONS_SYNC'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='REFERENCE_RUN_LINK'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SAL_OPT_SERV_NAME'
GO
EXEC X_SET_PROP 'SAL_OPTIONS_SYNC', 'INIT_OBJECT_METHOD', 'SALARY_FORM_LOAD(''sa_rms_contacts_options'')'
GO
EXEC X_SET_PROP 'SAL_OPT_INTEGR_CHANAL', 'TITLE', 'База Сметы-Смарт'
GO
EXEC X_SET_PROP 'SAL_OPT_INTEGR_CHANAL', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'SAL_OPT_INTEGR_CHANAL', 'STORAGE', 'S_OPTIONS'
GO
/******--Восстановить, либо установить настройки на базе пользователя ******/
DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_BASE_NAME' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_BASE_NAME')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_BASE_NAME'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_BASE_NAME'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_BASE_NAME'

GO

DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_INTEGR_CHANAL' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_INTEGR_CHANAL')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_INTEGR_CHANAL'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_INTEGR_CHANAL'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '4' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_INTEGR_CHANAL'

GO

DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_PASSWORD' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_PASSWORD')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_PASSWORD'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_PASSWORD'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_PASSWORD'

GO

DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_SERVER_NAME' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_SERVER_NAME')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_SERVER_NAME'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_SERVER_NAME'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_SERVER_NAME'

GO

DELETE FROM dbo.S_OPTIONS WHERE SID IS NULL AND EXISTS (SELECT * FROM  dbo.S_OBJECTS SO WHERE SO.CODE = 'SAL_OPT_USER_NAME' AND SO.LINK = [OBJECT])
GO

IF EXISTS (SELECT * FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_USER_NAME')
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT (SELECT TOP 1 LINK FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_USER_NAME'), SID, VALUE FROM [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC] WHERE CODE = 'SAL_OPT_USER_NAME'
ELSE 
	INSERT INTO dbo.S_OPTIONS ([OBJECT],SID,VALUE)
	SELECT LINK, NULL, '' FROM  dbo.S_OBJECTS WHERE CODE = 'SAL_OPT_USER_NAME'

GO


IF exists(select * from sysobjects where id = object_id('[dbo].[_UPD_OPT_SAL_OPTIONS_SYNC]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
	DROP TABLE [dbo].[_UPD_OPT_SAL_OPTIONS_SYNC]

GO


/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/
EXEC DBO.W_SPERM_WRITE 'SAL_OPTIONS_SYNC', 'Зарплата-КС', 63,0
GO

/**************** УСТАНОВКА ДОСТУПА К НАСТРОЙКАМ *************/
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_BASE_NAME', 'Зарплата-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_INTEGR_CHANAL', 'Зарплата-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_PASSWORD', 'Зарплата-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_SERVER_NAME', 'Зарплата-КС', 63,0
GO
EXEC DBO.W_SPERM_WRITE 'SAL_OPT_USER_NAME', 'Зарплата-КС', 63,0
GO

/**************** ДОБАВЛЕНИЕ В НАВИГАТОР ОБЪЕКТА "Настройка синхронизации с ПК Смета-Смарт"*************/ 
 

UPDATE DBO.S_NAVIGATOR SET 
	NAME = 'Синхронизация с ПК Смета-Смарт',
	LINK_SELF = (SELECT TOP 1 LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'ADMIN' AND NAME = 'АДМИНИСТРИРОВАНИЕ-КС')
WHERE 
	CODE = 'SAL_INTEGR_SMETA_SMART_FOLDER' 
GO


DECLARE @LINK_VAR INT
SET @LINK_VAR = NULL

DECLARE @LINK_SELF INT 
SET @LINK_SELF = (SELECT TOP 1 LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SAL_INTEGR_SMETA_SMART_FOLDER')

DECLARE @OBJECT INT
SET @OBJECT = (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'SAL_OPTIONS_SYNC')

DECLARE @ORD INT, @LINK_SNAVIGATOR INT
SET @ORD = (SELECT COALESCE(MAX(ORDERS),0) + 1 FROM DBO.S_NAVIGATOR WHERE LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SAL_INTEGR_SMETA_SMART_FOLDER' AND NAME = 'Синхронизация с ПК Смета-Смарт'))
SET @LINK_SNAVIGATOR = COALESCE((SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'NV_SAL_OPTIONS_INTEGRATION'),0)

IF COALESCE(@LINK_SELF,0) > 0  AND COALESCE(@OBJECT,0) > 0  
 		EXEC DBO.W_ESN_UPDATEDOCUMENT @LINK_SNAVIGATOR, 'NV_SAL_OPTIONS_INTEGRATION', 'Настройка синхронизации с ПК Смета-Смарт', @ORD, NULL, 1, @LINK_SELF, 'NASTR', @OBJECT, @LINK_VAR, 3
GO

GO


IF EXISTS(SELECT * FROM s_navigator WHERE CODE = 'SAL_CLIENT_EXCH_SERVICE' )
	UPDATE s_navigator 
	SET visible = 0
	WHERE CODE = 'SAL_CLIENT_EXCH_SERVICE' 
	
GO
	
GO

---------------------------------------------------------------------------------------------------------------------------
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)547' and start_date = '20081020'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)547' and start_date = '20090602'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)548' and start_date = '20081020'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)549' and start_date = '20081020'
update dbo.report_forms set end_date = '20100331' where code = '(131-ФЗ)549' and start_date = '20090602'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)549' and start_date = '20100401'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)550' and start_date = '20100401'
update dbo.report_forms set end_date = '20100331' where code = '(131-ФЗ)550' and start_date = '20090602'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)550' and start_date = '20081020'
update dbo.report_forms set end_date = '20130331' where code = '(131-ФЗ)550' and start_date = '20120401'
update dbo.report_forms set end_date = '20130331' where code = '(131-ФЗ)551' and start_date = '20120401'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)551' and start_date = '20081020'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)551' and start_date = '20101001'
update dbo.report_forms set end_date = '20100930' where code = '(131-ФЗ)551' and start_date = '20100401'
update dbo.report_forms set end_date = '20100331' where code = '(131-ФЗ)551' and start_date = '20090602'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)552' and start_date = '20081020'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)552' and start_date = '20090602'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)553' and start_date = '20081020'
update dbo.report_forms set end_date = '20100331' where code = '(131-ФЗ)553' and start_date = '20090602'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)553' and start_date = '20100401'
update dbo.report_forms set end_date = '20130331' where code = '(131-ФЗ)553' and start_date = '20120401'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)554' and start_date = '20081020'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)555' and start_date = '20081020'
update dbo.report_forms set end_date = '20100930' where code = '(131-ФЗ)557' and start_date = '20100401'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)557' and start_date = '20081020'
GO
update dbo.report_forms set end_date = '20100331' where code = '(131-ФЗ)557' and start_date = '20090602'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)557' and start_date = '20101001'
update dbo.report_forms set end_date = '20130331' where code = '(131-ФЗ)557' and start_date = '20120401'
update dbo.report_forms set end_date = '20130331' where code = '(131-ФЗ)558' and start_date = '20120401'
update dbo.report_forms set end_date = '20100331' where code = '(131-ФЗ)558' and start_date = '20090602'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)558' and start_date = '20081020'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)558' and start_date = '20100401'
update dbo.report_forms set end_date = '20100331' where code = '(131-ФЗ)559' and start_date = '20090602'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)559' and start_date = '20081020'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)559' and start_date = '20100401'
update dbo.report_forms set end_date = '20100331' where code = '(131-ФЗ)560' and start_date = '20090602'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)560' and start_date = '20100101'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)560' and start_date = '20081020'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)561' and start_date = '20081020'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)561' and start_date = '20090602'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)562' and start_date = '20081020'
update dbo.report_forms set end_date = '20100331' where code = '(131-ФЗ)562' and start_date = '20090602'
update dbo.report_forms set end_date = '20120331' where code = '(131-ФЗ)562' and start_date = '20100401'
update dbo.report_forms set end_date = '20130331' where code = '(131-ФЗ)562' and start_date = '20120401'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)564' and start_date = '20081020'
update dbo.report_forms set end_date = '20081231' where code = '(131-ФЗ)565' and start_date = '20081020'
update dbo.report_forms set end_date = '20081230' where code = '(137н)0503125' and start_date = '20071003'
update dbo.report_forms set end_date = '20081231' where code = '(19н)621' and start_date = '20071201'
update dbo.report_forms set end_date = '20120629' where code = '(281)422' and start_date = '20080626'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503110' and start_date = '20081013'
GO
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503110' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503114' and start_date = '20070918'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503114M' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503117' and start_date = '20070919'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503117M' and start_date = '20070919'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503120' and start_date = '20070823'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503120V' and start_date = '20070823'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503121' and start_date = '20071001'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503123' and start_date = '20071002'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503124' and start_date = '20070920'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503124' and start_date = '20081023'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503125' and start_date = '20071001'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503125М' and start_date = '20080203'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503125МБР' and start_date = '20080203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503127' and start_date = '20071020'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503127M' and start_date = '20071020'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503130' and start_date = '20070823'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503134' and start_date = '20070921'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503137' and start_date = '20070918'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503137M' and start_date = '20070918'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503140' and start_date = '20071205'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503150' and start_date = '20070824'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503151' and start_date = '20080909'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503152' and start_date = '20080909'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503160' and start_date = '20071128'
GO
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503161' and start_date = '20071129'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503162' and start_date = '20071129'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503163' and start_date = '20071130'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503164' and start_date = '20070920'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503164M' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503166' and start_date = '20071203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503167' and start_date = '20071203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503168_МАТ' and start_date = '20071005'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503168_НМА' and start_date = '20071005'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503168_НПА' and start_date = '20071003'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503168_ОСН' and start_date = '20071004'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503169_БД' and start_date = '20071130'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503169_БК' and start_date = '20071201'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503169_ВБД' and start_date = '20071201'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503169_ВБК' and start_date = '20071202'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503171' and start_date = '20071203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503172' and start_date = '20071203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503172' and start_date = '20081027'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503172_OLD' and start_date = '20071203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503173' and start_date = '20071203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503173V' and start_date = '20071203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503176' and start_date = '20071203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503177' and start_date = '20071203'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503178_Б' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503178_ВБ' and start_date = '20071205'
GO
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503178_СВ' and start_date = '20071205'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503179G' and start_date = '20081001'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503182' and start_date = '20070921'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503182M' and start_date = '20070921'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503230' and start_date = '20080828'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503314' and start_date = '20071001'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503314G' and start_date = '20071001'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503314M' and start_date = '20071001'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503317G' and start_date = '20071001'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503317M' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503320' and start_date = '20070824'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503321' and start_date = '20071001'
update dbo.report_forms set end_date = '20081230' where code = '(72Н)0503323' and start_date = '20071003'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503364' and start_date = '20070921'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503364f' and start_date = '20070921'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503364M' and start_date = '20080301'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503364Mf' and start_date = '20080101'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503364Mf' and start_date = '20080301'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503368_МАТ' and start_date = '20071007'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503368_НМА' and start_date = '20071006'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503368_НПА' and start_date = '20071006'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503368_ОСН' and start_date = '20071005'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503369_БД' and start_date = '20081231'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503369_БК' and start_date = '20071201'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503369_ВБД' and start_date = '20071203'
GO
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503369_ВБК' and start_date = '20071202'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503371' and start_date = '20071204'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503372' and start_date = '20071204'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503373' and start_date = '20071204'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503373f' and start_date = '20071204'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503373V' and start_date = '20071205'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503376' and start_date = '20071204'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503379' and start_date = '20070922'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503379f' and start_date = '20070922'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0503382' and start_date = '20070922'
update dbo.report_forms set end_date = '20081231' where code = '(72н)0503382M' and start_date = '20080718'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0521429' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0521429M' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0521441' and start_date = '20071002'
update dbo.report_forms set end_date = '20081230' where code = '(72н)0521443' and start_date = '20080116'
update dbo.report_forms set end_date = '20081230' where code = '(72н)410' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)410f' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)410m' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)410s' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '(72н)425' and start_date = '20071001'
update dbo.report_forms set end_date = '20081231' where code = '(72н)425M' and start_date = '20071001'
update dbo.report_forms set end_date = '20111031' where code = '(86н)001' and start_date = '20110901'
update dbo.report_forms set end_date = '20111031' where code = '(86н)002' and start_date = '20110901'
update dbo.report_forms set end_date = '20101231' where code = '015' and start_date = '20100101'
update dbo.report_forms set end_date = '20091230' where code = '015' and start_date = '20070822'
GO
update dbo.report_forms set end_date = '20101231' where code = '0503074' and start_date = '20071201'
update dbo.report_forms set end_date = '20141231' where code = '0503074' and start_date = '20110101'
update dbo.report_forms set end_date = '20151231' where code = '0503074' and start_date = '20150101'
update dbo.report_forms set end_date = '20141230' where code = '0503074G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503074G' and start_date = '20080101'
update dbo.report_forms set end_date = '20101231' where code = '0503074G_MO' and start_date = '20071201'
update dbo.report_forms set end_date = '20101231' where code = '0503074mo' and start_date = '20090101'
update dbo.report_forms set end_date = '20151231' where code = '0503075' and start_date = '20110101'
update dbo.report_forms set end_date = '20081230' where code = '05030mo' and start_date = '20071201'
update dbo.report_forms set end_date = '20091230' where code = '0503110G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121231' where code = '0503110G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101230' where code = '0503110G' and start_date = '20100101'
update dbo.report_forms set end_date = '20101231' where code = '0503110G' and start_date = '20101231'
update dbo.report_forms set end_date = '20091231' where code = '0503110G' and start_date = '20091231'
update dbo.report_forms set end_date = '20141231' where code = '0503110G' and start_date = '20130101'
update dbo.report_forms set end_date = '20121231' where code = '0503114G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101230' where code = '0503114G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503114G' and start_date = '20101231'
update dbo.report_forms set end_date = '20091230' where code = '0503114G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091231' where code = '0503114M' and start_date = '20090101'
update dbo.report_forms set end_date = '20121231' where code = '0503114M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503114M' and start_date = '20100101'
update dbo.report_forms set end_date = '20101230' where code = '0503117G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503117G' and start_date = '20101231'
update dbo.report_forms set end_date = '20091230' where code = '0503117G' and start_date = '20081231'
GO
update dbo.report_forms set end_date = '20091231' where code = '0503117M' and start_date = '20090101'
update dbo.report_forms set end_date = '20151231' where code = '0503117M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503117M' and start_date = '20100101'
update dbo.report_forms set end_date = '20081230' where code = '0503120' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0503120' and start_date = '20070820'
update dbo.report_forms set end_date = '20081230' where code = '0503120' and start_date = '20070821'
update dbo.report_forms set end_date = '20091230' where code = '0503120G' and start_date = '20090101'
update dbo.report_forms set end_date = '20101230' where code = '0503120G' and start_date = '20100101'
update dbo.report_forms set end_date = '20081231' where code = '0503120G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091231' where code = '0503120G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503120G' and start_date = '20101231'
update dbo.report_forms set end_date = '20111231' where code = '0503120G' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = '0503120G' and start_date = '20120101'
update dbo.report_forms set end_date = '20140101' where code = '0503120G' and start_date = '20130101'
update dbo.report_forms set end_date = '20081230' where code = '0503121' and start_date = '20070822'
update dbo.report_forms set end_date = '20081231' where code = '0503121G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121231' where code = '0503121G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503121G' and start_date = '20091231'
update dbo.report_forms set end_date = '20091230' where code = '0503121G' and start_date = '20090101'
update dbo.report_forms set end_date = '20141230' where code = '0503121G' and start_date = '20130101'
update dbo.report_forms set end_date = '20081230' where code = '0503122' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0503123' and start_date = '20070822'
update dbo.report_forms set end_date = '20091230' where code = '0503123G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503123G' and start_date = '20091231'
update dbo.report_forms set end_date = '20121231' where code = '0503123G' and start_date = '20110101'
GO
update dbo.report_forms set end_date = '20101231' where code = '0503124G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503124G' and start_date = '20091231'
update dbo.report_forms set end_date = '20091230' where code = '0503124G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091231' where code = '0503124M' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503124M' and start_date = '20100101'
update dbo.report_forms set end_date = '20081230' where code = '0503125' and start_date = '20070822'
update dbo.report_forms set end_date = '20091130' where code = '0503125G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101230' where code = '0503125G' and start_date = '20091201'
update dbo.report_forms set end_date = '20111230' where code = '0503125G' and start_date = '20101231'
update dbo.report_forms set end_date = '20141231' where code = '0503125G' and start_date = '20111231'
update dbo.report_forms set end_date = '20151231' where code = '0503125M' and start_date = '20150101'
update dbo.report_forms set end_date = '20141231' where code = '0503125M' and start_date = '20110101'
update dbo.report_forms set end_date = '20091231' where code = '0503125M' and start_date = '20091201'
update dbo.report_forms set end_date = '20101231' where code = '0503125M' and start_date = '20100101'
update dbo.report_forms set end_date = '20091130' where code = '0503125M' and start_date = '20090101'
update dbo.report_forms set end_date = '20081230' where code = '0503126' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0503127' and start_date = '19810101'
update dbo.report_forms set end_date = '20081230' where code = '0503127' and start_date = '19820101'
update dbo.report_forms set end_date = '20081230' where code = '0503127' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0503127' and start_date = '20070917'
update dbo.report_forms set end_date = '20091230' where code = '0503127G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091231' where code = '0503127G' and start_date = '20091231'
update dbo.report_forms set end_date = '20111230' where code = '0503127G' and start_date = '20100101'
update dbo.report_forms set end_date = '20151231' where code = '0503127M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503127M' and start_date = '20100101'
GO
update dbo.report_forms set end_date = '20091231' where code = '0503127M' and start_date = '20081231'
update dbo.report_forms set end_date = '20081230' where code = '0503128' and start_date = '20070926'
update dbo.report_forms set end_date = '20081230' where code = '0503128' and start_date = '20070822'
update dbo.report_forms set end_date = '20101230' where code = '0503128G' and start_date = '20091231'
update dbo.report_forms set end_date = '20111230' where code = '0503128G' and start_date = '20101231'
update dbo.report_forms set end_date = '20141231' where code = '0503128G' and start_date = '20111231'
update dbo.report_forms set end_date = '20151231' where code = '0503128M' and start_date = '20150101'
update dbo.report_forms set end_date = '20141231' where code = '0503128M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503128M' and start_date = '20100101'
update dbo.report_forms set end_date = '20081230' where code = '0503129' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '050312s' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0503130' and start_date = '20070822'
update dbo.report_forms set end_date = '20091230' where code = '0503130G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101230' where code = '0503130G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503130G' and start_date = '20101231'
update dbo.report_forms set end_date = '20111231' where code = '0503130G' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503130G' and start_date = '20141231'
update dbo.report_forms set end_date = '20141230' where code = '0503130G' and start_date = '20130101'
update dbo.report_forms set end_date = '20121230' where code = '0503130G' and start_date = '20120101'
update dbo.report_forms set end_date = '20121231' where code = '0503130G' and start_date = '20121231'
update dbo.report_forms set end_date = '20121231' where code = '0503134G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503134G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503134G' and start_date = '20091231'
update dbo.report_forms set end_date = '20091230' where code = '0503134G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503134M' and start_date = '20090101'
GO
update dbo.report_forms set end_date = '20121231' where code = '0503134M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503137G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503137G' and start_date = '20091231'
update dbo.report_forms set end_date = '20091230' where code = '0503137G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121231' where code = '0503137G' and start_date = '20110101'
update dbo.report_forms set end_date = '20091231' where code = '0503137M' and start_date = '20090101'
update dbo.report_forms set end_date = '20101231' where code = '0503137M' and start_date = '20100101'
update dbo.report_forms set end_date = '20121231' where code = '0503137M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503138G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503138G' and start_date = '20091231'
update dbo.report_forms set end_date = '20121231' where code = '0503138G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503138M' and start_date = '20100101'
update dbo.report_forms set end_date = '20121231' where code = '0503138M' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = '0503138M_kassa' and start_date = '20120101'
update dbo.report_forms set end_date = '20081230' where code = '050313s' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0503140' and start_date = '20070822'
update dbo.report_forms set end_date = '20081231' where code = '0503140G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121231' where code = '0503140G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503140G' and start_date = '20091231'
update dbo.report_forms set end_date = '20121231' where code = '0503140M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503140M' and start_date = '20090101'
update dbo.report_forms set end_date = '20081230' where code = '0503150' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0503150' and start_date = '20070823'
update dbo.report_forms set end_date = '20121231' where code = '0503150M' and start_date = '20111231'
update dbo.report_forms set end_date = '20081230' where code = '0503151G' and start_date = '20081231'
GO
update dbo.report_forms set end_date = '20101231' where code = '0503151G' and start_date = '20091231'
update dbo.report_forms set end_date = '20121231' where code = '0503151M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503151M' and start_date = '20090101'
update dbo.report_forms set end_date = '20081230' where code = '0503152G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503152M' and start_date = '20090101'
update dbo.report_forms set end_date = '20121231' where code = '0503152M' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = '0503154M' and start_date = '20111231'
update dbo.report_forms set end_date = '20081230' where code = '050316_' and start_date = '20070822'
update dbo.report_forms set end_date = '20081231' where code = '0503160' and start_date = '20070822'
update dbo.report_forms set end_date = '20101231' where code = '0503160G_т3' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503161G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503161G' and start_date = '20091231'
update dbo.report_forms set end_date = '20091230' where code = '0503162G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503162G' and start_date = '20101230'
update dbo.report_forms set end_date = '20121230' where code = '0503162G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101230' where code = '0503162G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101230' where code = '0503163G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503163G' and start_date = '20101230'
update dbo.report_forms set end_date = '20101231' where code = '0503164G' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '0503164G' and start_date = '20091231'
update dbo.report_forms set end_date = '20091230' where code = '0503164G' and start_date = '20081231'
update dbo.report_forms set end_date = '20141231' where code = '0503164G' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503164G' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503164G' and start_date = '20141231'
update dbo.report_forms set end_date = '20091230' where code = '0503164G_1' and start_date = '20081231'
GO
update dbo.report_forms set end_date = '20101231' where code = '0503164M' and start_date = '20100101'
update dbo.report_forms set end_date = '20121231' where code = '0503164M' and start_date = '20110101'
update dbo.report_forms set end_date = '20091231' where code = '0503164M' and start_date = '20090101'
update dbo.report_forms set end_date = '20151231' where code = '0503164M' and start_date = '20150101'
update dbo.report_forms set end_date = '20141231' where code = '0503164M' and start_date = '20130101'
update dbo.report_forms set end_date = '20101231' where code = '0503166G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121230' where code = '0503166G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503167G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121231' where code = '0503168G_БД' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503168G_БД' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503168G_БД' and start_date = '20091231'
update dbo.report_forms set end_date = '20141231' where code = '0503168G_БД' and start_date = '20130101'
update dbo.report_forms set end_date = '20101230' where code = '0503168G_ВБД' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503168G_ВБД' and start_date = '20101231'
update dbo.report_forms set end_date = '20121231' where code = '0503168G_ВБД' and start_date = '20110101'
update dbo.report_forms set end_date = '20091230' where code = '0503168G_МАТ' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503168G_НМА' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503168G_НПА' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503168G_ОСН' and start_date = '20081231'
update dbo.report_forms set end_date = '20081230' where code = '0503169' and start_date = '20070822'
update dbo.report_forms set end_date = '20101230' where code = '0503169G_БД' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503169G_БД' and start_date = '20101231'
update dbo.report_forms set end_date = '20141231' where code = '0503169G_БД' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503169G_БД' and start_date = '20110101'
update dbo.report_forms set end_date = '20121230' where code = '0503169G_БК' and start_date = '20110101'
GO
update dbo.report_forms set end_date = '20141231' where code = '0503169G_БК' and start_date = '20121231'
update dbo.report_forms set end_date = '20101231' where code = '0503169G_БК' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503169G_БК' and start_date = '20081231'
update dbo.report_forms set end_date = '20101230' where code = '0503169G_ВБД' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503169G_ВБД' and start_date = '20101231'
update dbo.report_forms set end_date = '20121231' where code = '0503169G_ВБД' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503169G_ВБД' and start_date = '20110101'
update dbo.report_forms set end_date = '20121230' where code = '0503169G_ВБК' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = '0503169G_ВБК' and start_date = '20121231'
update dbo.report_forms set end_date = '20101231' where code = '0503169G_ВБК' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503169G_ВБК' and start_date = '20081231'
update dbo.report_forms set end_date = '20121230' where code = '0503169M_БД' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503169M_БД' and start_date = '20121231'
update dbo.report_forms set end_date = '20151231' where code = '0503169M_БД' and start_date = '20150101'
update dbo.report_forms set end_date = '20151231' where code = '0503169M_БК' and start_date = '20150101'
update dbo.report_forms set end_date = '20141231' where code = '0503169M_БК' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503169M_БК' and start_date = '20110101'
update dbo.report_forms set end_date = '20121230' where code = '0503169M_ВБД' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = '0503169M_ВБД' and start_date = '20121231'
update dbo.report_forms set end_date = '20121231' where code = '0503169M_ВБК' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503169M_ВБК' and start_date = '20110101'
update dbo.report_forms set end_date = '20081230' where code = '050317_' and start_date = '20070822'
update dbo.report_forms set end_date = '20101230' where code = '0503171G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121230' where code = '0503171G' and start_date = '20110301'
update dbo.report_forms set end_date = '20110201' where code = '0503171G' and start_date = '20101231'
GO
update dbo.report_forms set end_date = '20101231' where code = '0503172G' and start_date = '20101231'
update dbo.report_forms set end_date = '20121230' where code = '0503172G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101230' where code = '0503172G' and start_date = '20081231'
update dbo.report_forms set end_date = '20071201' where code = '0503173G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503173G_Б' and start_date = '20081231'
update dbo.report_forms set end_date = '20111230' where code = '0503173G_Б' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503173G_Б' and start_date = '20091231'
update dbo.report_forms set end_date = '20121230' where code = '0503173G_Б' and start_date = '20120101'
update dbo.report_forms set end_date = '20111231' where code = '0503173G_Б' and start_date = '20111231'
update dbo.report_forms set end_date = '20141231' where code = '0503173G_Б' and start_date = '20121231'
update dbo.report_forms set end_date = '20121231' where code = '0503173G_ВБ' and start_date = '20121231'
update dbo.report_forms set end_date = '20111231' where code = '0503173G_ВБ' and start_date = '20111231'
update dbo.report_forms set end_date = '20121230' where code = '0503173G_ВБ' and start_date = '20120101'
update dbo.report_forms set end_date = '20101231' where code = '0503173G_ВБ' and start_date = '20091231'
update dbo.report_forms set end_date = '20111230' where code = '0503173G_ВБ' and start_date = '20110101'
update dbo.report_forms set end_date = '20091230' where code = '0503173G_ВБ' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503173G_СВ' and start_date = '20081231'
update dbo.report_forms set end_date = '20111230' where code = '0503173G_СВ' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503173G_СВ' and start_date = '20091231'
update dbo.report_forms set end_date = '20121230' where code = '0503173G_СВ' and start_date = '20120101'
update dbo.report_forms set end_date = '20111231' where code = '0503173G_СВ' and start_date = '20111231'
update dbo.report_forms set end_date = '20141231' where code = '0503173G_СВ' and start_date = '20121231'
update dbo.report_forms set end_date = '20121231' where code = '0503176G' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503176G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503176G' and start_date = '20081231'
GO
update dbo.report_forms set end_date = '20091230' where code = '0503177G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503177G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503177G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503177M' and start_date = '20100101'
update dbo.report_forms set end_date = '20101231' where code = '0503178G_Б' and start_date = '20081231'
update dbo.report_forms set end_date = '20121231' where code = '0503178G_Б' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503178G_Б' and start_date = '20130101'
update dbo.report_forms set end_date = '20121231' where code = '0503178G_ВБ' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503178G_ВБ' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503178G_СВ' and start_date = '20081231'
update dbo.report_forms set end_date = '20121231' where code = '0503178G_СВ' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503178G_СВ' and start_date = '20130101'
update dbo.report_forms set end_date = '20141231' where code = '0503178M_Б' and start_date = '20130101'
update dbo.report_forms set end_date = '20101231' where code = '0503178M_Б' and start_date = '20090101'
update dbo.report_forms set end_date = '20121231' where code = '0503178M_Б' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = '0503178M_ВБ' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503178M_ВБ' and start_date = '20090101'
update dbo.report_forms set end_date = '20101231' where code = '0503178M_СВ' and start_date = '20090101'
update dbo.report_forms set end_date = '20121231' where code = '0503178M_СВ' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503178M_СВ' and start_date = '20130101'
update dbo.report_forms set end_date = '20091230' where code = '0503179G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503182G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503182G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503182G' and start_date = '20091231'
update dbo.report_forms set end_date = '20121231' where code = '0503182G' and start_date = '20110101'
GO
update dbo.report_forms set end_date = '20101231' where code = '0503182M' and start_date = '20100101'
update dbo.report_forms set end_date = '20121231' where code = '0503182M' and start_date = '20110101'
update dbo.report_forms set end_date = '20091231' where code = '0503182M' and start_date = '20090101'
update dbo.report_forms set end_date = '20101231' where code = '0503184M' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '0503184M' and start_date = '20081231'
update dbo.report_forms set end_date = '20091231' where code = '0503230G' and start_date = '20091231'
update dbo.report_forms set end_date = '20091230' where code = '0503230G' and start_date = '20090101'
update dbo.report_forms set end_date = '20101230' where code = '0503230G' and start_date = '20100101'
update dbo.report_forms set end_date = '20111231' where code = '0503230G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503230G' and start_date = '20101231'
update dbo.report_forms set end_date = '20081231' where code = '0503230G' and start_date = '20081231'
update dbo.report_forms set end_date = '20141230' where code = '0503230G' and start_date = '20130101'
update dbo.report_forms set end_date = '20121230' where code = '0503230G' and start_date = '20120101'
update dbo.report_forms set end_date = '20121231' where code = '0503230G' and start_date = '20121231'
update dbo.report_forms set end_date = '20141231' where code = '0503230G' and start_date = '20141231'
update dbo.report_forms set end_date = '20101230' where code = '0503230Gf' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '0503230Gf' and start_date = '20090101'
update dbo.report_forms set end_date = '20091231' where code = '0503230Gm' and start_date = '20090101'
update dbo.report_forms set end_date = '20101230' where code = '0503230Gm' and start_date = '20100101'
update dbo.report_forms set end_date = '20101230' where code = '0503230Gs' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '0503230Gs' and start_date = '20090102'
update dbo.report_forms set end_date = '20101230' where code = '0503314G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503314G' and start_date = '20101231'
update dbo.report_forms set end_date = '20091230' where code = '0503314G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121231' where code = '0503314G' and start_date = '20110101'
GO
update dbo.report_forms set end_date = '20091231' where code = '0503314M' and start_date = '20090101'
update dbo.report_forms set end_date = '20121231' where code = '0503314M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503314M' and start_date = '20100101'
update dbo.report_forms set end_date = '20081230' where code = '0503317' and start_date = '20070823'
update dbo.report_forms set end_date = '20091230' where code = '0503317G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101230' where code = '0503317G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503317G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101231' where code = '0503317G_C' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503317G_ФК' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503317G_ФК' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503317M' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '0503317M' and start_date = '20081231'
update dbo.report_forms set end_date = '20091231' where code = '0503317M_ФК' and start_date = '20090101'
update dbo.report_forms set end_date = '20101231' where code = '0503317M_ФК' and start_date = '20100101'
update dbo.report_forms set end_date = '20101230' where code = '0503320G' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '0503320G' and start_date = '20091231'
update dbo.report_forms set end_date = '20091230' where code = '0503320G' and start_date = '20090101'
update dbo.report_forms set end_date = '20101231' where code = '0503320G' and start_date = '20101231'
update dbo.report_forms set end_date = '20111231' where code = '0503320G' and start_date = '20110101'
update dbo.report_forms set end_date = '20081231' where code = '0503320G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121231' where code = '0503320G' and start_date = '20120101'
update dbo.report_forms set end_date = '20121231' where code = '0503321G' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503321G' and start_date = '20120101'
update dbo.report_forms set end_date = '20111231' where code = '0503321G' and start_date = '20111231'
update dbo.report_forms set end_date = '20091230' where code = '0503321G' and start_date = '20090101'
GO
update dbo.report_forms set end_date = '20111230' where code = '0503321G' and start_date = '20110101'
update dbo.report_forms set end_date = '20081231' where code = '0503321G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503321G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503323G' and start_date = '20091231'
update dbo.report_forms set end_date = '20111230' where code = '0503323G' and start_date = '20110101'
update dbo.report_forms set end_date = '20091230' where code = '0503323G' and start_date = '20081231'
update dbo.report_forms set end_date = '20111231' where code = '0503323G' and start_date = '20111231'
update dbo.report_forms set end_date = '20121230' where code = '0503323G' and start_date = '20120101'
update dbo.report_forms set end_date = '20121231' where code = '0503323G' and start_date = '20121231'
update dbo.report_forms set end_date = '20121231' where code = '0503323M' and start_date = '20090101'
update dbo.report_forms set end_date = '20101231' where code = '0503324G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503324G' and start_date = '20091231'
update dbo.report_forms set end_date = '20121230' where code = '0503324G' and start_date = '20110101'
update dbo.report_forms set end_date = '20091231' where code = '0503324M' and start_date = '20090629'
update dbo.report_forms set end_date = '20101031' where code = '0503324M' and start_date = '20100101'
update dbo.report_forms set end_date = '20101231' where code = '0503324M' and start_date = '20101101'
update dbo.report_forms set end_date = '20121231' where code = '0503324M' and start_date = '20110101'
update dbo.report_forms set end_date = '20090629' where code = '0503324M' and start_date = '20090101'
update dbo.report_forms set end_date = '20101030' where code = '0503324M_RA' and start_date = '20100101'
update dbo.report_forms set end_date = '20121130' where code = '0503324M_RK' and start_date = '20110101'
update dbo.report_forms set end_date = '20110831' where code = '0503324M_RS' and start_date = '20090630'
update dbo.report_forms set end_date = '20111231' where code = '0503324M_RS' and start_date = '20110901'
update dbo.report_forms set end_date = '20101231' where code = '0503361G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503361Gf' and start_date = '20091231'
update dbo.report_forms set end_date = '20101230' where code = '0503364G' and start_date = '20091231'
GO
update dbo.report_forms set end_date = '20101231' where code = '0503364G' and start_date = '20101231'
update dbo.report_forms set end_date = '20091230' where code = '0503364G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121230' where code = '0503364G' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = '0503364G' and start_date = '20121231'
update dbo.report_forms set end_date = '20121231' where code = '0503364GF' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503364GF' and start_date = '20110101'
update dbo.report_forms set end_date = '20091230' where code = '0503364GF' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503364GF' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503364GF' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503364M' and start_date = '20100101'
update dbo.report_forms set end_date = '20121231' where code = '0503364M' and start_date = '20110101'
update dbo.report_forms set end_date = '20091231' where code = '0503364M' and start_date = '20090101'
update dbo.report_forms set end_date = '20091231' where code = '0503364MF' and start_date = '20090101'
update dbo.report_forms set end_date = '20121231' where code = '0503364MF' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503364MF' and start_date = '20100101'
update dbo.report_forms set end_date = '20101230' where code = '0503368G_БД' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503368G_БД' and start_date = '20101231'
update dbo.report_forms set end_date = '20111231' where code = '0503368G_БД' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503368G_БД_1' and start_date = '20101231'
update dbo.report_forms set end_date = '20121231' where code = '0503368G_ВБД' and start_date = '20120101'
update dbo.report_forms set end_date = '20111231' where code = '0503368G_ВБД' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503368G_ВБД' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503368G_ВБД' and start_date = '20091231'
update dbo.report_forms set end_date = '20091230' where code = '0503368G_МАТ' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503368G_НМА' and start_date = '20081231'
GO
update dbo.report_forms set end_date = '20091230' where code = '0503368G_НПА' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503368G_ОСН' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503369G_БД' and start_date = '20081231'
update dbo.report_forms set end_date = '20111231' where code = '0503369G_БД' and start_date = '20110101'
update dbo.report_forms set end_date = '20121230' where code = '0503369G_БД' and start_date = '20120101'
update dbo.report_forms set end_date = '20121230' where code = '0503369G_БД_1' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503369G_БК' and start_date = '20120101'
update dbo.report_forms set end_date = '20111231' where code = '0503369G_БК' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503369G_БК' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503369G_ВБД' and start_date = '20081231'
update dbo.report_forms set end_date = '20111231' where code = '0503369G_ВБД' and start_date = '20110101'
update dbo.report_forms set end_date = '20121230' where code = '0503369G_ВБД' and start_date = '20120101'
update dbo.report_forms set end_date = '20121231' where code = '0503369G_ВБД' and start_date = '20121231'
update dbo.report_forms set end_date = '20121231' where code = '0503369G_ВБК' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503369G_ВБК' and start_date = '20120101'
update dbo.report_forms set end_date = '20111231' where code = '0503369G_ВБК' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503369G_ВБК' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503371G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121230' where code = '0503371G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503371G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503371G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101230' where code = '0503372G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503372G' and start_date = '20101231'
update dbo.report_forms set end_date = '20121230' where code = '0503372G' and start_date = '20110101'
update dbo.report_forms set end_date = '20091230' where code = '0503372G' and start_date = '20081231'
GO
update dbo.report_forms set end_date = '20091230' where code = '0503373G' and start_date = '20081231'
update dbo.report_forms set end_date = '20111230' where code = '0503373G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503373G' and start_date = '20091231'
update dbo.report_forms set end_date = '20111231' where code = '0503373G' and start_date = '20111231'
update dbo.report_forms set end_date = '20111231' where code = '0503373GV' and start_date = '20111231'
update dbo.report_forms set end_date = '20121231' where code = '0503373GV' and start_date = '20120101'
update dbo.report_forms set end_date = '20111230' where code = '0503373GV' and start_date = '20091231'
update dbo.report_forms set end_date = '20111230' where code = '0503373GV' and start_date = '20110101'
update dbo.report_forms set end_date = '20091230' where code = '0503373GV' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '0503376G' and start_date = '20081231'
update dbo.report_forms set end_date = '20121230' where code = '0503376G' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503377G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '0503377G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101230' where code = '0503377Gf' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503377Gf' and start_date = '20101231'
update dbo.report_forms set end_date = '20101231' where code = '0503377M' and start_date = '20100101'
update dbo.report_forms set end_date = '20101231' where code = '0503377Mf' and start_date = '20100101'
update dbo.report_forms set end_date = '20091230' where code = '0503379G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503379GF' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0503382G' and start_date = '20081231'
update dbo.report_forms set end_date = '20101230' where code = '0503382G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503382G' and start_date = '20101231'
update dbo.report_forms set end_date = '20121231' where code = '0503382G' and start_date = '20110101'
update dbo.report_forms set end_date = '20071231' where code = '0503382GF' and start_date = '20081231'
update dbo.report_forms set end_date = '20091231' where code = '0503382M' and start_date = '20090101'
GO
update dbo.report_forms set end_date = '20121231' where code = '0503382M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503382M' and start_date = '20100101'
update dbo.report_forms set end_date = '20081231' where code = '0503387' and start_date = '20070822'
update dbo.report_forms set end_date = '20081231' where code = '0503387' and start_date = '20080101'
update dbo.report_forms set end_date = '20101230' where code = '0503387G' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '0503387G' and start_date = '20101231'
update dbo.report_forms set end_date = '20110430' where code = '0503387M' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '0503387M' and start_date = '20101201'
update dbo.report_forms set end_date = '20111031' where code = '0503387M' and start_date = '20110501'
update dbo.report_forms set end_date = '20100430' where code = '0503387M' and start_date = '20100430'
update dbo.report_forms set end_date = '20101031' where code = '0503387M' and start_date = '20100501'
update dbo.report_forms set end_date = '20100429' where code = '0503387M' and start_date = '20100101'
update dbo.report_forms set end_date = '20090930' where code = '0503387M' and start_date = '20090701'
update dbo.report_forms set end_date = '20091231' where code = '0503387M' and start_date = '20091001'
update dbo.report_forms set end_date = '20090630' where code = '0503387M' and start_date = '20090401'
update dbo.report_forms set end_date = '20090331' where code = '0503387M' and start_date = '20090101'
update dbo.report_forms set end_date = '20130228' where code = '0503387M' and start_date = '20120501'
update dbo.report_forms set end_date = '20120430' where code = '0503387M' and start_date = '20120401'
update dbo.report_forms set end_date = '20120331' where code = '0503387M' and start_date = '20111101'
update dbo.report_forms set end_date = '20130531' where code = '0503387M' and start_date = '20130301'
update dbo.report_forms set end_date = '20120430' where code = '0503387M_01052012' and start_date = '20120101'
update dbo.report_forms set end_date = '20120430' where code = '0503387M_01062012' and start_date = '20120101'
update dbo.report_forms set end_date = '20091231' where code = '0503387M_vn' and start_date = '20091001'
update dbo.report_forms set end_date = '20101130' where code = '0503387M_vn' and start_date = '20100501'
update dbo.report_forms set end_date = '20100430' where code = '0503387M_vn' and start_date = '20100331'
GO
update dbo.report_forms set end_date = '20100330' where code = '0503387M_vn' and start_date = '20100101'
update dbo.report_forms set end_date = '20101231' where code = '0503387M_vn' and start_date = '20101201'
update dbo.report_forms set end_date = '20121231' where code = '0503406' and start_date = '20100101'
update dbo.report_forms set end_date = '20121231' where code = '0503407' and start_date = '20100101'
update dbo.report_forms set end_date = '20111230' where code = '0503710G' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503710G' and start_date = '20111231'
update dbo.report_forms set end_date = '20141230' where code = '0503721G' and start_date = '20121231'
update dbo.report_forms set end_date = '20141231' where code = '0503721G' and start_date = '20141231'
update dbo.report_forms set end_date = '20121230' where code = '0503721G' and start_date = '20110325'
update dbo.report_forms set end_date = '20110601' where code = '0503725' and start_date = '20110101'
update dbo.report_forms set end_date = '20111230' where code = '0503725G' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = '0503725M' and start_date = '20110101'
update dbo.report_forms set end_date = '20111230' where code = '0503730G_B' and start_date = '20110101'
update dbo.report_forms set end_date = '20121230' where code = '0503730G_BU' and start_date = '20110101'
update dbo.report_forms set end_date = '20141230' where code = '0503730G_BU' and start_date = '20121231'
update dbo.report_forms set end_date = '20111230' where code = '0503737' and start_date = '20110101'
update dbo.report_forms set end_date = '20111231' where code = '0503737_1' and start_date = '20110101'
update dbo.report_forms set end_date = '20120101' where code = '0503737_NN' and start_date = '20120101'
update dbo.report_forms set end_date = '20121230' where code = '0503737G' and start_date = '20111231'
update dbo.report_forms set end_date = '20141231' where code = '0503737G' and start_date = '20121231'
update dbo.report_forms set end_date = '20141231' where code = '0503737M' and start_date = '20130101'
update dbo.report_forms set end_date = '20121231' where code = '0503737M' and start_date = '20120101'
update dbo.report_forms set end_date = '20151231' where code = '0503737M' and start_date = '20150101'
update dbo.report_forms set end_date = '20161231' where code = '0503737M_2' and start_date = '20150101'
update dbo.report_forms set end_date = '20141231' where code = '0503738G' and start_date = '20110101'
GO
update dbo.report_forms set end_date = '20151231' where code = '0503738M' and start_date = '20150101'
update dbo.report_forms set end_date = '20141231' where code = '0503738M' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503768G' and start_date = '20110101'
update dbo.report_forms set end_date = '20121230' where code = '0503769G_D' and start_date = '20111231'
update dbo.report_forms set end_date = '20141231' where code = '0503769G_D' and start_date = '20121231'
update dbo.report_forms set end_date = '20141231' where code = '0503769G_K' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503769G_K' and start_date = '20111231'
update dbo.report_forms set end_date = '20111230' where code = '0503769G_K' and start_date = '20110101'
update dbo.report_forms set end_date = '20111230' where code = '0503769G_Д' and start_date = '20110101'
update dbo.report_forms set end_date = '20121230' where code = '0503769M_D' and start_date = '20120101'
update dbo.report_forms set end_date = '20141231' where code = '0503769M_D' and start_date = '20121231'
update dbo.report_forms set end_date = '20151231' where code = '0503769M_D' and start_date = '20150101'
update dbo.report_forms set end_date = '20121230' where code = '0503769M_D_1' and start_date = '20120101'
update dbo.report_forms set end_date = '20151231' where code = '0503769M_K' and start_date = '20150101'
update dbo.report_forms set end_date = '20141231' where code = '0503769M_K' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503769M_K' and start_date = '20120101'
update dbo.report_forms set end_date = '20121230' where code = '0503771G' and start_date = '20121214'
update dbo.report_forms set end_date = '20121230' where code = '0503771G' and start_date = '20110101'
update dbo.report_forms set end_date = '20121230' where code = '0503771G2' and start_date = '20121213'
update dbo.report_forms set end_date = '20121230' where code = '0503772G' and start_date = '20110101'
update dbo.report_forms set end_date = '20111230' where code = '0503773G' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503773G' and start_date = '20121231'
update dbo.report_forms set end_date = '20121230' where code = '0503773G' and start_date = '20120101'
update dbo.report_forms set end_date = '20111231' where code = '0503773G' and start_date = '20111231'
update dbo.report_forms set end_date = '20141231' where code = '0503776G' and start_date = '20121231'
GO
update dbo.report_forms set end_date = '20121230' where code = '0503776G' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503779G' and start_date = '20110101'
update dbo.report_forms set end_date = '20141231' where code = '0503779M' and start_date = '20110101'
update dbo.report_forms set end_date = '20130531' where code = '0503828' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = '0503830G' and start_date = '20121231'
update dbo.report_forms set end_date = '20141231' where code = '0503830G' and start_date = '20130101'
update dbo.report_forms set end_date = '20121230' where code = '0503830G' and start_date = '20110101'
update dbo.report_forms set end_date = '20081230' where code = '0503s74' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0503v27' and start_date = '19820101'
update dbo.report_forms set end_date = '20081230' where code = '0503v27' and start_date = '19810101'
update dbo.report_forms set end_date = '20081230' where code = '0503v27' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0503v27' and start_date = '20070925'
update dbo.report_forms set end_date = '20081230' where code = '0503v28' and start_date = '20071009'
update dbo.report_forms set end_date = '20081230' where code = '0505130' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0505130' and start_date = '20070819'
update dbo.report_forms set end_date = '20081230' where code = '0505130' and start_date = '20070820'
update dbo.report_forms set end_date = '20081230' where code = '0505130' and start_date = '20070821'
update dbo.report_forms set end_date = '20091231' where code = '0505130' and start_date = '20081231'
update dbo.report_forms set end_date = '20081231' where code = '0505130' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '0505140' and start_date = '20080101'
update dbo.report_forms set end_date = '20081230' where code = '0505140' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '0505140' and start_date = '20070821'
update dbo.report_forms set end_date = '20081230' where code = '0505140' and start_date = '20070818'
update dbo.report_forms set end_date = '20081230' where code = '0505140' and start_date = '20070819'
update dbo.report_forms set end_date = '20081230' where code = '0505140' and start_date = '20070820'
GO
update dbo.report_forms set end_date = '20081230' where code = '0505140' and start_date = '20070817'
update dbo.report_forms set end_date = '20091230' where code = '0521441G' and start_date = '20081231'
update dbo.report_forms set end_date = '20070101' where code = '0521443G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '0521445G' and start_date = '20081231'
update dbo.report_forms set end_date = '20120331' where code = '0532161' and start_date = '20100401'
update dbo.report_forms set end_date = '20111230' where code = '0602002' and start_date = '20101231'
update dbo.report_forms set end_date = '20111231' where code = '0602002' and start_date = '20111231'
update dbo.report_forms set end_date = '20121231' where code = '0606010' and start_date = '20090901'
update dbo.report_forms set end_date = '20090831' where code = '0606010' and start_date = '20070822'
update dbo.report_forms set end_date = '20141231' where code = '0606028' and start_date = '20130101'
update dbo.report_forms set end_date = '20130531' where code = '0606045' and start_date = '20130101'
update dbo.report_forms set end_date = '20130531' where code = '0606046' and start_date = '20130101'
update dbo.report_forms set end_date = '20130531' where code = '0606047' and start_date = '20130101'
update dbo.report_forms set end_date = '20130531' where code = '0606048' and start_date = '20130101'
update dbo.report_forms set end_date = '20130531' where code = '0606049' and start_date = '20130101'
update dbo.report_forms set end_date = '20091231' where code = '0607006' and start_date = '20090820'
update dbo.report_forms set end_date = '20101231' where code = '0617004' and start_date = '20090101'
update dbo.report_forms set end_date = '20081231' where code = '0617004' and start_date = '20070822'
update dbo.report_forms set end_date = '20130710' where code = '10072013' and start_date = '20130709'
update dbo.report_forms set end_date = '20120630' where code = '1T_GMS' and start_date = '20090705'
update dbo.report_forms set end_date = '20141231' where code = '2GS_GZ' and start_date = '20080925'
update dbo.report_forms set end_date = '20141231' where code = '2MS' and start_date = '20080925'
update dbo.report_forms set end_date = '20121231' where code = '2-БФ(Р)' and start_date = '20100228'
update dbo.report_forms set end_date = '20100227' where code = '2-БФ(Р)' and start_date = '20090101'
update dbo.report_forms set end_date = '20091231' where code = '410G' and start_date = '20091231'
GO
update dbo.report_forms set end_date = '20101231' where code = '410G' and start_date = '20100101'
update dbo.report_forms set end_date = '20091230' where code = '410G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '410Gf' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '410Gf' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '410Gf' and start_date = '20091231'
update dbo.report_forms set end_date = '20091231' where code = '410Gm' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '410Gm' and start_date = '20100101'
update dbo.report_forms set end_date = '20091230' where code = '410Gm' and start_date = '20081231'
update dbo.report_forms set end_date = '20091230' where code = '410Gs' and start_date = '20081231'
update dbo.report_forms set end_date = '20101231' where code = '410Gs' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '410Gs' and start_date = '20091231'
update dbo.report_forms set end_date = '20091231' where code = '410Gt' and start_date = '20091231'
update dbo.report_forms set end_date = '20101231' where code = '410Gt' and start_date = '20100101'
update dbo.report_forms set end_date = '20101231' where code = '425G' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '425G' and start_date = '20091201'
update dbo.report_forms set end_date = '20091130' where code = '425G' and start_date = '20081231'
update dbo.report_forms set end_date = '20091130' where code = '425M' and start_date = '20090101'
update dbo.report_forms set end_date = '20091231' where code = '425M' and start_date = '20091201'
update dbo.report_forms set end_date = '20101231' where code = '425M' and start_date = '20100101'
update dbo.report_forms set end_date = '20111231' where code = '426' and start_date = '20110101'
update dbo.report_forms set end_date = '20081230' where code = '428' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '428G' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '428V' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '429G' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '429M' and start_date = '20070822'
GO
update dbo.report_forms set end_date = '20081230' where code = '429old' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '430' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '430M' and start_date = '20070822'
update dbo.report_forms set end_date = '20081230' where code = '430Z' and start_date = '20070822'
update dbo.report_forms set end_date = '20101231' where code = '484M' and start_date = '20100101'
update dbo.report_forms set end_date = '20101231' where code = '4fss' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '4fss' and start_date = '20090330'
update dbo.report_forms set end_date = '20111231' where code = '4fss' and start_date = '20110101'
update dbo.report_forms set end_date = '20090327' where code = '4fss' and start_date = '20070821'
update dbo.report_forms set end_date = '20141231' where code = '4fss' and start_date = '20140101'
update dbo.report_forms set end_date = '20131231' where code = '4fss' and start_date = '20130401'
update dbo.report_forms set end_date = '20151231' where code = '4fss' and start_date = '20150101'
update dbo.report_forms set end_date = '20130331' where code = '4fss' and start_date = '20120101'
update dbo.report_forms set end_date = '20090731' where code = '56Н' and start_date = '20070822'
update dbo.report_forms set end_date = '20101231' where code = '571' and start_date = '20100101'
update dbo.report_forms set end_date = '20111231' where code = '571' and start_date = '20110101'
update dbo.report_forms set end_date = '20091231' where code = '571' and start_date = '20090101'
update dbo.report_forms set end_date = '20130331' where code = '571' and start_date = '20120101'
update dbo.report_forms set end_date = '20091231' where code = '572' and start_date = '20090101'
update dbo.report_forms set end_date = '20130331' where code = '572' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '572' and start_date = '20100101'
update dbo.report_forms set end_date = '20101231' where code = '573' and start_date = '20100101'
update dbo.report_forms set end_date = '20111231' where code = '573' and start_date = '20110101'
update dbo.report_forms set end_date = '20091231' where code = '573' and start_date = '20090101'
update dbo.report_forms set end_date = '20121231' where code = '573' and start_date = '20120101'
GO
update dbo.report_forms set end_date = '20121231' where code = '574' and start_date = '20120101'
update dbo.report_forms set end_date = '20091231' where code = '574' and start_date = '20090101'
update dbo.report_forms set end_date = '20111231' where code = '574' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '574' and start_date = '20100101'
update dbo.report_forms set end_date = '20130331' where code = '575' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '575' and start_date = '20090101'
update dbo.report_forms set end_date = '20101231' where code = '576' and start_date = '20090101'
update dbo.report_forms set end_date = '20111231' where code = '576' and start_date = '20110101'
update dbo.report_forms set end_date = '20130331' where code = '576' and start_date = '20120101'
update dbo.report_forms set end_date = '20130331' where code = '577' and start_date = '20120101'
update dbo.report_forms set end_date = '20111231' where code = '577' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = '577' and start_date = '20100101'
update dbo.report_forms set end_date = '20091231' where code = '577' and start_date = '20090101'
update dbo.report_forms set end_date = '20091231' where code = '578' and start_date = '20090101'
update dbo.report_forms set end_date = '20130331' where code = '578' and start_date = '20100101'
update dbo.report_forms set end_date = '20130331' where code = '579' and start_date = '20110101'
update dbo.report_forms set end_date = '20111231' where code = '585' and start_date = '20080101'
update dbo.report_forms set end_date = '20111230' where code = '624' and start_date = '20101231'
update dbo.report_forms set end_date = '20121230' where code = '624' and start_date = '20111231'
update dbo.report_forms set end_date = '20121230' where code = '625' and start_date = '20111231'
update dbo.report_forms set end_date = '20111230' where code = '625' and start_date = '20101231'
update dbo.report_forms set end_date = '20101230' where code = '625' and start_date = '20091231'
update dbo.report_forms set end_date = '20091229' where code = '625' and start_date = '20081231'
update dbo.report_forms set end_date = '20081230' where code = '625' and start_date = '20071213'
update dbo.report_forms set end_date = '20081230' where code = '625' and start_date = '20080101'
GO
update dbo.report_forms set end_date = '20091031' where code = '63' and start_date = '20090629'
update dbo.report_forms set end_date = '20131231' where code = '670' and start_date = '20121205'
update dbo.report_forms set end_date = '20110731' where code = '999РХ' and start_date = '20110601'
update dbo.report_forms set end_date = '20111230' where code = 'AV_ASS' and start_date = '20080101'
update dbo.report_forms set end_date = '20100101' where code = 'AV_ESN' and start_date = '20070822'
update dbo.report_forms set end_date = '20111231' where code = 'AV_F1152028' and start_date = '20080101'
update dbo.report_forms set end_date = '20131231' where code = 'AV_IMU' and start_date = '20120101'
update dbo.report_forms set end_date = '20100101' where code = 'AV_PFR' and start_date = '20070822'
update dbo.report_forms set end_date = '20121231' where code = 'f_500' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = 'f_500_ORRP' and start_date = '20110101'
update dbo.report_forms set end_date = '20121231' where code = 'f_500_pril' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = 'FIN_HELP' and start_date = '20101101'
update dbo.report_forms set end_date = '20141230' where code = 'GZ_REES' and start_date = '20070822'
update dbo.report_forms set end_date = '20121224' where code = 'hab_426r' and start_date = '20121224'
update dbo.report_forms set end_date = '20101231' where code = 'ispoln_doh_rash' and start_date = '20101230'
update dbo.report_forms set end_date = '20120229' where code = 'KK04_PlanFHD_7_1' and start_date = '20111201'
update dbo.report_forms set end_date = '20081230' where code = 'MONITOR' and start_date = '20080402'
update dbo.report_forms set end_date = '20081230' where code = 'MONITOR' and start_date = '20070823'
update dbo.report_forms set end_date = '20100101' where code = 'ND_ESN' and start_date = '20070822'
update dbo.report_forms set end_date = '20121231' where code = 'ND_IMU' and start_date = '20111231'
update dbo.report_forms set end_date = '20131130' where code = 'ND_NP' and start_date = '20120801'
update dbo.report_forms set end_date = '20100101' where code = 'ND_PFR' and start_date = '20070822'
update dbo.report_forms set end_date = '20111231' where code = 'ND_TN' and start_date = '20070822'
update dbo.report_forms set end_date = '20121231' where code = 'ND_TN' and start_date = '20120101'
update dbo.report_forms set end_date = '20131231' where code = 'ND_TN' and start_date = '20130101'
GO
update dbo.report_forms set end_date = '20110102' where code = 'obr_m_sk_int' and start_date = '20110101'
update dbo.report_forms set end_date = '20110102' where code = 'obr_m_spec' and start_date = '20110101'
update dbo.report_forms set end_date = '20110102' where code = 'obr_m_vnesk' and start_date = '20110101'
update dbo.report_forms set end_date = '20091231' where code = 'OPKB' and start_date = '20090101'
update dbo.report_forms set end_date = '20081231' where code = 'OPKB_2008' and start_date = '20080101'
update dbo.report_forms set end_date = '20091231' where code = 'OPKB_MINREGION' and start_date = '20090101'
update dbo.report_forms set end_date = '20100331' where code = 'OPKB_MINREGION' and start_date = '20100101'
update dbo.report_forms set end_date = '20130331' where code = 'Rezerv_fond_Kalin' and start_date = '20130101'
update dbo.report_forms set end_date = '20121230' where code = 'rkm_pr_1' and start_date = '20120101'
update dbo.report_forms set end_date = '20120101' where code = 'rkm_pr_11' and start_date = '20120101'
update dbo.report_forms set end_date = '20120101' where code = 'RKM_PR_260_3' and start_date = '20120101'
update dbo.report_forms set end_date = '20120101' where code = 'RKM_PR_436_1' and start_date = '20120101'
update dbo.report_forms set end_date = '20120731' where code = 'vet_insp' and start_date = '20110101'
update dbo.report_forms set end_date = '20111231' where code = 'П2_ИНВ' and start_date = '20101231'
update dbo.report_forms set end_date = '20121231' where code = 'П2_ИНВ' and start_date = '20120101'
update dbo.report_forms set end_date = '20131231' where code = 'РСВ-1' and start_date = '20130101'
update dbo.report_forms set end_date = '20121231' where code = 'РСВ-1' and start_date = '20120101'
update dbo.report_forms set end_date = '20150629' where code = 'РСВ-1' and start_date = '20140101'
update dbo.report_forms set end_date = '20111231' where code = 'РСВ-1' and start_date = '20110101'
update dbo.report_forms set end_date = '20101231' where code = 'РСВ-1' and start_date = '20100101'
update dbo.report_forms set end_date = '20130401' where code = 'Таблица 12' and start_date = '20130401'
GO

GO

-------------------------------------------------------------------------------------------------
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '001'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '002'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '003'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '004'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '005'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '006'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '008'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '009'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '010'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '011'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '012'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '013'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '014'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '015'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '016'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '017'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '018'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '019'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '021'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '022'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '023'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '025'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '026'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '027'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '028'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '030'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '031'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '032'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '033'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '034'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '035'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '035u'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '037'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '038'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '039'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '040'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '041'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '042'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '043'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '044'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '045'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '046'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '047'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '048'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '049'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '051'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '052'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '053'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '054'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '055'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '056'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '057'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '058'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '059'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '060'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '061'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '062'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '063'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '064'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '065'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '066'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '067'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '068'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '069'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '070'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '071'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '072'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '073'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '074'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '075'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '076'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '077'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '078'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '079'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '080'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '081'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '082'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '083'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '084'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '085'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '086'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '087'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '088'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '089'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '090'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '091'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '093'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '094'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '095'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '096'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '097'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '098'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '099'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '100'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1007'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '101'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1011'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1012'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1013'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1014'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1015'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1016'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1017'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1018'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1019'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '102'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1022'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1024'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1026'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '103'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1030'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1032'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1033'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1034'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1035'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1036'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1037'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1038'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1039'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '104'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1040'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1041'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1042'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1043'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '1044'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1045'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1046'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1047'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1048'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1049'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1053'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '1054'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1055'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1056'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1059'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '106'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1060'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1062'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1063'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1068'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1069'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '107'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1070'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1074'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1075'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1076'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1078'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1079'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '108'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1082'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '1083'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '1084'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '1085'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '1086'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '1087'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1088'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1089'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1090'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1091'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1092'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1093'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1094'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1095'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1097'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1100'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1101'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1102'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1106'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1107'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1108'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1110'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1112'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1113'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '112'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1127'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1128'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1129'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '113'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1130'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1131'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1132'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1135'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1136'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '1137'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1138'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120430' where code = '1139'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '114'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120430' where code = '1140'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120430' where code = '1141'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130331' where code = '1142'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130228' where code = '1143'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130228' where code = '1144'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130228' where code = '1145'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1146'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120430' where code = '1147'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1148'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1149'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '115'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1150'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120430' where code = '1151'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120430' where code = '1152'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1153'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1154'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1155'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1156'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1157'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1158'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1159'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '116'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1160'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1161'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1162'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1163'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1164'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1165'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1166'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1167'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1168'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1169'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '117'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1170'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1171'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1172'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1173'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1174'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1177'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1178'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1179'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '118'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1180'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1181'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1182'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1183'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1184'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1185'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1186'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1187'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1188'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1189'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '119'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1190'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1191'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1196'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1197'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1198'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1199'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '120'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130228' where code = '1200'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1201'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1204'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1208'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1209'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '121'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1210'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1211'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1212'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1213'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1214'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1215'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1216'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1217'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1218'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1219'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '122'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '1220'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1224'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1226'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1229'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '123'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1232'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1233'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1234'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1237'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1238'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1239'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '124'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1241'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1246'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1246_mgd'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20131231' where code = '1247'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '125'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1250'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1251'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1253'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1255'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1256'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1257'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '126'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1264'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1265'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1266'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1267'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1268'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1270'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1272'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1273'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1274'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1275'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1276'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1277'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1278'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1279'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '128'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1280'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1281'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1285'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1288'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1290'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1292'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1293'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1297'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1299'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '130'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1300'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1301'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1302'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1304'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1310'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1314'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1315'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1316'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1317'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1318'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1319'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '132'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1321'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1322'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130228' where code = '1335'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1343'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130831' where code = '1343_rfn'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1344'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130831' where code = '1344_rfn'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1345_rfn'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '1349'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1360'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130531' where code = '1363'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130531' where code = '1364'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130531' where code = '1365'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130531' where code = '1366'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130531' where code = '1367'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130331' where code = '1398'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1402'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1405'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1407'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1409'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1410'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1411'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1412'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1414'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1414_M'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1423'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1427'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1428'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1435'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1436'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1437'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1438'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1440'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1445'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1452'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1454'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1455'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1458'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '1459'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '1462'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '151'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '152'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '153'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '156'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130101' where code = '168'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '200'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120131' where code = '2000'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '2001'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '2002'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '2003'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '2004'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '2007'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '2008'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '201'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130228' where code = '2010'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20130531' where code = '2011'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_1'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_10'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_16'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_17'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141231' where code = '2013_18'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_2'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_3'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_6'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_7'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_8'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '2013_9'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141231' where code = '2014_8'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141231' where code = '2014_9'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20151231' where code = '2015_1'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '202'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '203'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '204'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '205'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '206'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '207'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '208'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '209'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '210'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '211'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '212'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '213'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '214'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '215'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '216'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '216f'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '216m'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '216s'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '217'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '218'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '219'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '220'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '221'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '222'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '223'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '224'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '225'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '226'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '227'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '228'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '229'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '230'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '231'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '232'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '233'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '234'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '237'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '238'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '239'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '240'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '241'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '242'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '243'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '244'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '245'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '246'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '247'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '248'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '249'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '250'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '252'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '253'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '254'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '255'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '256'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '257'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '259'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '260'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '261'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '262'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '263'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '264'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '265'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '266'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '267'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '268'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '269'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '271'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '272'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '273'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '274'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '275'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '276'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '277'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '278'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '279'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '280'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '281'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '282'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '283'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '284'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '285'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '286'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '287'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '288'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '289'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '290'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '291'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '292'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '293'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '294'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '295'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '296'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '297'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '298'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '299'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '300'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '301'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '302'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '303'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '304'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '305'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '306'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '307'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '308'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '309'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '311'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '312'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '313'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '314'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '315'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091130' where code = '316'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '319'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '320'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '321'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '322'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '323'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '324'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '325'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '326'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '327'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '328'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '329'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '330'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '331'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '332'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '333'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '334'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '335'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '336'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '337'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '338'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '339'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '340'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '341'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '342'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '343'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '344'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '346'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100331' where code = '347'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '348'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '350'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '351'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '352'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '352f'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '352m'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '352s'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '353'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '353f'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '353m'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '353s'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '354'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '355'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '356'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '357'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '358'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '359'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '360'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091230' where code = '361'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '363'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '400'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '401'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '402'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '403'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '404'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '405'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '406'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '407'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '408'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '409'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '410'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '411'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '412'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '413'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '414'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '415'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '416'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '417'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '418'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '419'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '420'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '421'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '422'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '423'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '424'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '425'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '426'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '427'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '428'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '429'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '430'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '431'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '432'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '433'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '434'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '435'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '436'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '437'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '438'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '439'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '440'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '441'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '442'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '443'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '444'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '445'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '446'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '447'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '448'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '449'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '450'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '451'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '452'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '453'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '454'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '455'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '456'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '457'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '458'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '459'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '460'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '461'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '462'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '463'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '464'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '465'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '466'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '467'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '468'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '469'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '470'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '471'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '476'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '477'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '478'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '479'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '480'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '481'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '482'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '483'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '484'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '485'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '486'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '487'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '488'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '489'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '490'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '491'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '492'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '493'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '494'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '495'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '496'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100401' where code = '497'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '498'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100401' where code = '499'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100330' where code = '500'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '501'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '502'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '503'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '504'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '505'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '506'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '507'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '508'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '510'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '511'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '512'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '513'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '514'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '515'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '516'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '517'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '518'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '519'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '520'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '521'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '522'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20110101' where code = '523'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '524'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '525'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '526'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '527'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '528'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '529'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '530'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '531'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '532'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '533'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100430' where code = '534'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '535'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100430' where code = '536'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100430' where code = '537'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101031' where code = '538'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '539'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '540'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '541'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '542'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '543'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '545'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '546'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101130' where code = '547'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101130' where code = '548'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101130' where code = '549'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '550'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '551'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '552'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '553'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '554'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '555'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '556'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '557'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '558'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '559'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '560'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '561'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '562'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '563'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '564'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '565'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '566'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '569'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '570'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '571'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '572'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '573'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '574'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '575'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '576'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '577'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '578'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '579'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '580'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '581'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '582'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101130' where code = '583'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '584'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20091231' where code = '585'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '586'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '587'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '590'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '591'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '592'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100930' where code = '593'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101031' where code = '594'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101031' where code = '595'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '596'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100101' where code = '597'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '598'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '599'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '601'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '603'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '604'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '605'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '606'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '607'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '609'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '610'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '611'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '612'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '613'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '614'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '615'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '616'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100101' where code = '617'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '618'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '619'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '620'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '621'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '622'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '625'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '626'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '627'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '628'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '629'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '630'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '631'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '632'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '633'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '634'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '635'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '636'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '637'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '638'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '639'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101031' where code = '640'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101031' where code = '641'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '642'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '643'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '644'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '645'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '646'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '651'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '652'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '653'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '654'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '655'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '656'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '657'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '658'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = '659'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '660'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '661'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '662'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '663'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '666'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '667'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '669'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '670'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '673'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '675'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '676'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '677'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '678'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '679'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '680'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '681'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '682'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '683'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '684'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '685'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '686'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '689'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '690'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '691'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '692'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '693'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '694'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '695'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100101' where code = '696'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '697'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '698'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '699'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '700'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '704'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '705'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '707'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '708'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '709'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '710'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '712'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '713'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '714'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '717'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '719'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '720'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '721'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '725'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '726'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '727'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '728'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '729'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '730'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '731'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '732'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '733'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '734'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '735'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '736'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '737'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '738'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '739'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '740'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '742'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '743'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '745'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '747'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '748'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '749'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '750'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '751'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '752'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20100101' where code = '754'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '755'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '756'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '757'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '758'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '759'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '760'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '761'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '762'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '763'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '764'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '765'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '766'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '767'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '768'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '769'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '770'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '771'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '772'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120331' where code = '773'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '774'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '775'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '777'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '778'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '780'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '783'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '785'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '786'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '788'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '792'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20151231' where code = '793'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '794'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '796'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '797'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '798'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20110430' where code = '803'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '804'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '805'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20110430' where code = '807'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '808'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20110430' where code = '809'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '810'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '811'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '813'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '815'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '820'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '821'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '822'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '823'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '837'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '838'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20110101' where code = '839'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '840'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '841'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '842'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '846'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '847'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '850'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '851'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '852'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '855'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '867'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111031' where code = '868'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111031' where code = '869'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111031' where code = '870'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '872'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '873'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111031' where code = '875'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '877'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '879'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '882'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '884'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '885'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '886'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '888'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '889'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20110101' where code = '890'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '891'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '893'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '894'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '895'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '896'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '897'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '898'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '899'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '900'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '901'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '902'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '903'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '904'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '906'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '908'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '912'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '914'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '915'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '916'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '917'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '922'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '923'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '924'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '925'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '926'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '927'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101231' where code = '928'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '929'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '930'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '931'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '932'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '933'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '934'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '935'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '936'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '937'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '938'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '939'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '940'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '941'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '942'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '943'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '944'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '945'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = '946'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '947'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '948'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '949'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '951'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120331' where code = '952'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120331' where code = '953'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120331' where code = '954'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20120331' where code = '955'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111230' where code = '956'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '957'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20101230' where code = '958'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '959'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '96'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '960'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '961'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '962'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '963'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '964'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '965'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '966'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '967'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '967_atr'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '967_atr_pr'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20110102' where code = '967_smol'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '967_sverdlovsk'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '968'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '969'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '979'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '981'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '982'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '983'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '984'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '985'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '988'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '989'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '990'
GO
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '991'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '992'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '993'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '994'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = '995'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20011231' where code = '996'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121230' where code = '999'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = '999888'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = 'K002'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20141230' where code = 'rk_737'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20121231' where code = 'tamb_006'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = 'U001'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = 'U002'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = 'U004'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = 'U01'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20081231' where code = 'U323'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = 'vet_882_2011'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = 'vet_883_2011'
update  dbo.[REPORT_GROUP_KS] set dt_end = '20111231' where code = 'vet_885_2011'
GO

GO
-- Отчет "Распоряжение о предоставлении отпуска "
-- Сгенерировано скриптом scriptObjectVar 'SA_REP_VAC_RASP'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'SA_REP_VAC_RASP'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'SA_REP_VAC_RASP'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Распоряжение о предоставлении отпуска',NULL, 
	(Select link from object_var where code = 'KADRY_SQL_CATALOG'),
	'SA_REP_VAC_RASP',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'SA_REP_VAC_RASP') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'm_print_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'VISIBLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'VISIBLE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= 'EXEC SA_REP_VAC_RASP @nSel_Spr1'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#SA_REP_VAC_RASP'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(@nCheck1 = 0,"REP_VAC_RASP.XLT",IIF(@nCheck1 = 1,"REP_VAC_RASP_M.XLT",""))'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #SA_REP_VAC_RASP
	@nSel_Spr1 int	/* Ссылка на приказ */,
	@nCheck1 int	/* Тип приказа */
AS
BEGIN

EXEC SA_REP_VAC_RASP @nSel_Spr1

END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_CODE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_CODE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATE_TYPE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATE_TYPE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'SQUERY_NO_SHOW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'SQUERY_NO_SHOW'),
	VALUE= '1'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SA_REP_VAC_RASP') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SA_REP_VAC_RASP'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SA_REP_VAC_RASP_GROUP' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Группа настроек',1, 
		(Select link from object_var where code = 'SA_REP_VAC_RASP'),
		'SA_REP_VAC_RASP_GROUP',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SA_REP_VAC_RASP_MAIN_PARAM' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_LSEL_SPR'),
					'Ссылка на приказ',2, 
					(Select link from object_var where code = 'SA_REP_VAC_RASP_GROUP'),
					'SA_REP_VAC_RASP_MAIN_PARAM',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Ссылка на приказ'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'LSel_Spr'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nSel_Spr1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SA_REP_VAC_RASP_PARAM1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Тип приказа',3, 
					(Select link from object_var where code = 'SA_REP_VAC_RASP_GROUP'),
					'SA_REP_VAC_RASP_PARAM1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SA_REP_VAC_RASP_PARAM1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO


GO



IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[SA_SET_MROT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE dbo.[SA_SET_MROT]

GO
CREATE PROCEDURE [dbo].SA_SET_MROT(@DATE DATETIME, @MROT1 numeric(28, 2) = NULL, @MROT2 numeric(28, 2) = NULL, @TARIF numeric(28, 2) = NULL)
AS
BEGIN

/* ПОМЕНЯТЬ */

IF EXISTS (SELECT * FROM dbo.MINROT WHERE PERIOD = @DATE)
BEGIN
	
	UPDATE dbo.MINROT SET 
		[MROT1] = ISNULL(@MROT1,MROT1), 
		[MROT2] = ISNULL(@MROT2,MROT2), 
		[TARIF] = ISNULL(@TARIF,TARIF)
	WHERE 
		PERIOD = @DATE
		
	RETURN
	
END

/*ДОБАВИТЬ НОВЫЙ*/

DECLARE @NEW_LINK INT, @PREV_LINK INT

SET @PREV_LINK  = (SELECT TOP 1 LINK FROM dbo.MINROT WHERE PERIOD < @DATE ORDER BY PERIOD DESC)

IF EXISTS (SELECT * FROM dbo.MINROT WHERE PERIOD >= @DATE) OR @PREV_LINK IS NULL
	RETURN
	
INSERT INTO dbo.MINROT ([PERIOD], [MROT1], [MROT2], [TARIF], [KOEF], [NORTH], [REF_DEP], [KOEF_BL], [RESERV]) 
SELECT TOP 1 
	NEW_PERIOD = @DATE, 
	MROT1 = ISNULL(@MROT1,MROT1), 
	MROT2 = ISNULL(@MROT2,MROT2), 
	TARIF = ISNULL(@TARIF,TARIF), 
	KOEF, NORTH, REF_DEP, KOEF_BL, RESERV 
FROM 
	dbo.MINROT 
WHERE 
	PERIOD < @DATE 
ORDER BY 
	PERIOD DESC

SET @NEW_LINK = SCOPE_IDENTITY()

IF @NEW_LINK IS NOT NULL
BEGIN

	INSERT INTO dbo.MINROT_DICTION ([LINK_MINROT], [LINK_DICTION], [OBJECT], [PREDEL], [SUMMA])
	SELECT @NEW_LINK, [LINK_DICTION], [OBJECT], [PREDEL], [SUMMA] 
	FROM dbo.MINROT_DICTION A 
	WHERE LINK_MINROT = @PREV_LINK 
		AND NOT EXISTS (SELECT * FROM dbo.MINROT_DICTION B WHERE B.[LINK_MINROT] = @NEW_LINK AND B.[LINK_DICTION] = A.[LINK_DICTION] AND B.[OBJECT] = A.[OBJECT])


	INSERT INTO dbo.MINROT_PAYS ([LINK_MINROT], [LINK_PAYS], [OBJECT], [PERIOD], [PREDEL], [SUMMA])
	SELECT @NEW_LINK, [LINK_PAYS], [OBJECT], [PERIOD], [PREDEL], [SUMMA] 
	FROM dbo.MINROT_PAYS A 
	WHERE LINK_MINROT = @PREV_LINK 
		AND NOT EXISTS (SELECT * FROM dbo.MINROT_PAYS B WHERE B.[LINK_MINROT] = @NEW_LINK AND B.[LINK_PAYS] = A.[LINK_PAYS] AND B.[OBJECT] = A.[OBJECT] AND B.[PREDEL] = A.[PREDEL])

END	

END

GO


GRANT EXECUTE ON dbo.[SA_SET_MROT] TO PUBLIC

GO





EXECUTE [dbo].SA_SET_MROT @DATE = '20160701', @MROT2 = 7500
GO


GO

/*Очитстка от мусора: были рассчитаны вычеты и скидки с КБК, которые теперь в этом году больше не используются.
Врезультате эти суммы вычетов не очищаются при расчете и вылазят в 2НДФЛ*/
delete
from 
	dbo.SAL_DED_MONTH
where
	YEAR(dbo.SAL_DED_MONTH.DATE_DED) = 2016
	and
	not exists (
		Select j.LINK 
		from dbo.calculate_jurnal j
		where 
			YEAR(j.PERIOD_BEGIN) = 2016
			and j.link_empl = dbo.SAL_DED_MONTH.link_empl 
			and j.LINK_VKR = dbo.SAL_DED_MONTH.LINK_VKR
			AND EXISTS (SELECT LINK_PAYS FROM dbo.PAYS P 
							INNER JOIN dbo.TAX_REF R ON R.LINK_TAX = P.LINK 
							WHERE P.OBJECT = 2 AND P.WAY_CALC = 4 AND R.LINK_PAYS = j.link_pays)
	)
	
GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Подразделы 2012 С КОДОМ podr_2012------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Code_str', 3, 'Code_str', 'Код строки', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'podr_2012'
exec dbo.RO_SPR_SAVE @link, 'podr_2012', 'Подразделы 2012', '#Cols_tmp', '#Data_tmp', 0


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[podr_2012]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[podr_2012]


GO



/*******************************************************************************



	© Кейсистемс (Keysystems), 05.12.2012



	справочник Подразделы 2012 (сгенерировано Редактором справочников)



*******************************************************************************/



CREATE     VIEW dbo.[podr_2012]



AS



SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],Code_str as [CODE_STR],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'podr_2012' GROUP BY Code,Code_str, begin_date, end_date




GO


GRANT SELECT ON dbo.[podr_2012] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'podr_2012')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'podr_2012'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012', 'Подразделы 2012', 220, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012', NAME = 'Подразделы 2012', ORDERS = '220', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012_Name'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='podr_2012_Code_str')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'podr_2012_Code_str', 'Код строки', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'podr_2012_Code_str', NAME = 'Код строки', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='podr_2012'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='podr_2012_Code_str'
GO
EXEC X_SET_PROP 'podr_2012', 'TITLE', 'Подразделы 2012'
GO
EXEC X_SET_PROP 'podr_2012', 'INIT_OBJECT_METHOD', 'x_spisok(''podr_2012'')'
GO
EXEC X_SET_PROP 'podr_2012', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''podr_2012'')'
GO
EXEC X_SET_PROP 'podr_2012', 'SERVER_TABLE_NAME', 'podr_2012'
GO
EXEC X_SET_PROP 'podr_2012', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''podr_2012'''
GO
EXEC X_SET_PROP 'podr_2012_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'podr_2012_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'podr_2012_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'podr_2012_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'podr_2012_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'podr_2012_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'podr_2012_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'podr_2012_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'podr_2012_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'podr_2012_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'podr_2012_Name', 'FIELD_DATA', 'Name'
GO
EXEC X_SET_PROP 'podr_2012_Code_str', 'TITLE', 'Код строки'
GO
EXEC X_SET_PROP 'podr_2012_Code_str', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'podr_2012_Code_str', 'CONTROLSOURCE', 'm.cAlias + ".Code_str"'
GO
EXEC X_SET_PROP 'podr_2012_Code_str', 'FIELD_DATA', 'Code_str'
GO
EXEC DBO.W_SPERM_WRITE 'podr_2012', 'Главный бухгалтер', 4,0
GO

EXEC DBO.W_SPERM_WRITE 'podr_2012', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'podr_2012', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'podr_2012', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'podr_2012', 'public', 4,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'podr_2012',0,'Подразделы 2012','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='USER_REPORT' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'podr_2012',@link_self,'Подразделы 2012','HEADER'
GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0100',@link_self,'ОБЩЕГОСУДАРСТВЕННЫЕ ВОПРОСЫ','podr_2012',0,'200',0,'','ОБЩЕГОСУДАРСТВЕННЫЕ ВОПРОСЫ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0101',@link_self,'Функц-ние Президента РФ','podr_2012',0,'200',0,'','Функционирование Президента Российской Федерации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0102',@link_self,'Функц-ние высш.должн.лица субъекта РФ и м/о','podr_2012',0,'200',0,'','Функционирование высшего должностного лица субъекта Российской Федерации и муниципального образования',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0103',@link_self,'Функц-ние законодат.и представ.органов гос.власти','podr_2012',0,'200',0,'','Функционирование законодательных (представительных) органов государственной власти и представительных органов муниципальных образований',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0104',@link_self,'Функц-ние Прав-ва РФ, высш.исп.органов гос.власти','podr_2012',0,'200',0,'','Функционирование Правительства Российской Федерации, высших исполнительных органов государственной власти субъектов Российской Федерации, местных администраций',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0105',@link_self,'Судебная система','podr_2012',0,'200',0,'','Судебная система',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0106',@link_self,'Обесп-е д-ти фин.,нал.,тамож.и органов фин.надзора','podr_2012',0,'200',0,'','Обеспечение деятельности финансовых, налоговых и таможенных органов и органов финансового (финансово-бюджетного) надзора',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0107',@link_self,'Обеспечение проведения выборов и референдумов','podr_2012',0,'200',0,'','Обеспечение проведения выборов и референдумов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0108',@link_self,'Международные отношения и междунар.сотрудничество','podr_2012',0,'200',0,'','Международные отношения и международное сотрудничество',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0109',@link_self,'Государственный материальный резерв','podr_2012',0,'200',0,'','Государственный материальный резерв',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0110',@link_self,'Фундаментальные исследования','podr_2012',0,'200',0,'','Фундаментальные исследования',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0111',@link_self,'Резервные фонды','podr_2012',0,'200',0,'','Резервные фонды',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0112',@link_self,'Научные исследования в области общегосуд. вопросов','podr_2012',0,'200',0,'','Прикладные научные исследования в области общегосударственных вопросов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0113',@link_self,'Другие общегосударственные вопросы','podr_2012',0,'200',0,'','Другие общегосударственные вопросы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0114',@link_self,'Другие общегосударственные вопросы','podr_2012',0,'200',0,'','Другие общегосударственные вопросы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0200',@link_self,'НАЦИОНАЛЬНАЯ ОБОРОНА','podr_2012',0,'200',0,'','НАЦИОНАЛЬНАЯ ОБОРОНА',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0201',@link_self,'Вооруженные Силы Российской Федерации','podr_2012',0,'200',0,'','Вооруженные Силы Российской Федерации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0202',@link_self,'Модернизация Вооруж.Сил РФ и воинских формирований','podr_2012',0,'200',0,'','Модернизация Вооруженных Сил Российской Федерации и воинских формирований',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0203',@link_self,'Мобилизационная и вневойсковая подготовка','podr_2012',0,'200',0,'','Мобилизационная и вневойсковая подготовка',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0204',@link_self,'Мобилизационная подготовка экономики','podr_2012',0,'200',0,'','Мобилизационная подготовка экономики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0205',@link_self,'Подготовка и участие в обеспечении коллек.безоп-ти','podr_2012',0,'200',0,'','Подготовка и участие в обеспечении коллективной безопасности и миротворческой деятельности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0206',@link_self,'Ядерно-оружейный комплекс','podr_2012',0,'200',0,'','Ядерно-оружейный комплекс',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0207',@link_self,'Реализация межд.обяз-в в сфере военно-техн.сотр-ва','podr_2012',0,'200',0,'','Реализация международных обязательств в сфере военно-технического сотрудничества',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0208',@link_self,'Научные исследования в области национальн. обороны','podr_2012',0,'200',0,'','Прикладные научные исследования в области национальной обороны',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0209',@link_self,'Другие вопросы в области национальной обороны','podr_2012',0,'200',0,'','Другие вопросы в области национальной обороны',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0300',@link_self,'НАЦ.БЕЗОПАСНОСТЬ И ПРАВООХРАНИТЕЛЬНАЯ ДЕЯТЕЛЬНОСТЬ','podr_2012',0,'200',0,'','НАЦИОНАЛЬНАЯ БЕЗОПАСНОСТЬ И ПРАВООХРАНИТЕЛЬНАЯ ДЕЯТЕЛЬНОСТЬ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0301',@link_self,'Органы прокуратуры','podr_2012',0,'200',0,'','Органы прокуратуры',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0302',@link_self,'Органы внутренних дел','podr_2012',0,'200',0,'','Органы внутренних дел',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0303',@link_self,'Внутренние войска','podr_2012',0,'200',0,'','Внутренние войска',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0304',@link_self,'Органы юстиции','podr_2012',0,'200',0,'','Органы юстиции',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0305',@link_self,'Система исполнения наказаний','podr_2012',0,'200',0,'','Система исполнения наказаний',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0306',@link_self,'Органы безопасности','podr_2012',0,'200',0,'','Органы безопасности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0307',@link_self,'Органы пограничной службы','podr_2012',0,'200',0,'','Органы пограничной службы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0308',@link_self,'Органы по контроля за оборотом наркотич. средств','podr_2012',0,'200',0,'','Органы по контролю за оборотом наркотических средств и психотропных веществ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0309',@link_self,'Защита населения и территории от ЧС','podr_2012',0,'200',0,'','Защита населения и территории от чрезвычайных ситуаций природного и техногенного характера, гражданская оборона',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0310',@link_self,'Обеспечение пожарной безопасности','podr_2012',0,'200',0,'','Обеспечение пожарной безопасности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0311',@link_self,'Миграционная политика','podr_2012',0,'200',0,'','Миграционная политика',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0312',@link_self,'Модернизация внутренних войск','podr_2012',0,'200',0,'','Модернизация внутренних войск, войск гражданской обороны, а также правоохранительных и иных органов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0313',@link_self,'Научные исследования в области нац. безопасности','podr_2012',0,'200',0,'','Прикладные научные исследования в области национальной безопасности и правоохранительной деятельности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0314',@link_self,'Другие вопросы в области национальной безопасности','podr_2012',0,'200',0,'','Другие вопросы в области национальной безопасности и правоохранительной деятельности',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0400',@link_self,'НАЦИОНАЛЬНАЯ ЭКОНОМИКА','podr_2012',0,'200',0,'','НАЦИОНАЛЬНАЯ ЭКОНОМИКА',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0401',@link_self,'Общеэкономические вопросы','podr_2012',0,'200',0,'','Общеэкономические вопросы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0402',@link_self,'Топливно-энергетический комплекс','podr_2012',0,'200',0,'','Топливно-энергетический комплекс',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0403',@link_self,'Исследование и использование космического пр-ва','podr_2012',0,'200',0,'','Исследование и использование космического пространства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0404',@link_self,'Воспроизводство минерально-сырьевой базы','podr_2012',0,'200',0,'','Воспроизводство минерально-сырьевой базы',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0405',@link_self,'Сельское хозяйство и рыболовство','podr_2012',0,'200',0,'','Сельское хозяйство и рыболовство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0406',@link_self,'Водное хозяйство','podr_2012',0,'200',0,'','Водное хозяйство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0407',@link_self,'Лесное хозяйство','podr_2012',0,'200',0,'','Лесное хозяйство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0408',@link_self,'Транспорт','podr_2012',0,'200',0,'','Транспорт',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0409',@link_self,'Дорожное хозяйство (дорожные фонды)','podr_2012',0,'200',0,'','Дорожное хозяйство (дорожные фонды)',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0410',@link_self,'Связь и информатика','podr_2012',0,'200',0,'','Связь и информатика',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0411',@link_self,'Научные исследования в области нац. экономики','podr_2012',0,'200',0,'','Прикладные научные исследования в области национальной экономики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0412',@link_self,'Другие вопросы в области национальной экономики','podr_2012',0,'200',0,'','Другие вопросы в области национальной экономики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0500',@link_self,'ЖИЛИЩНО-КОММУНАЛЬНОЕ ХОЗЯЙСТВО','podr_2012',0,'200',0,'','ЖИЛИЩНО-КОММУНАЛЬНОЕ ХОЗЯЙСТВО',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0501',@link_self,'Жилищное хозяйство','podr_2012',0,'200',0,'','Жилищное хозяйство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0502',@link_self,'Коммунальное хозяйство','podr_2012',0,'200',0,'','Коммунальное хозяйство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0503',@link_self,'Благоустройство','podr_2012',0,'200',0,'','Благоустройство',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0504',@link_self,'Прикладные научные исследования в области ЖКХ','podr_2012',0,'200',0,'','Прикладные научные исследования в области жилищно-коммунального хозяйства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0505',@link_self,'Другие вопросы в области жилищно-коммун.хоз-ва','podr_2012',0,'200',0,'','Другие вопросы в области жилищно-коммунального хозяйства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0600',@link_self,'ОХРАНА ОКРУЖАЮЩЕЙ СРЕДЫ','podr_2012',0,'200',0,'','ОХРАНА ОКРУЖАЮЩЕЙ СРЕДЫ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0601',@link_self,'Экологический контроль','podr_2012',0,'200',0,'','Экологический контроль',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0602',@link_self,'Сбор, удаление отходов и очистка сточных вод','podr_2012',0,'200',0,'','Сбор, удаление отходов и очистка сточных вод',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0603',@link_self,'Охрана объектов раст.и жив.мира, среды их обитания','podr_2012',0,'200',0,'','Охрана объектов растительного и животного мира и среды их обитания',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0604',@link_self,'Научные исследования в области охраны окруж. среды','podr_2012',0,'200',0,'','Прикладные научные исследования в области охраны окружающей среды',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0605',@link_self,'Другие вопросы в области охраны окружающей среды','podr_2012',0,'200',0,'','Другие вопросы в области охраны окружающей среды',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0700',@link_self,'ОБРАЗОВАНИЕ','podr_2012',0,'200',0,'','ОБРАЗОВАНИЕ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0701',@link_self,'Дошкольное образование','podr_2012',0,'200',0,'','Дошкольное образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0702',@link_self,'Общее образование','podr_2012',0,'200',0,'','Общее образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0703',@link_self,'Начальное профессиональное образование','podr_2012',0,'200',0,'','Начальное профессиональное образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0704',@link_self,'Среднее профессиональное образование','podr_2012',0,'200',0,'','Среднее профессиональное образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0705',@link_self,'Проф.подготовка, повышение квалификации','podr_2012',0,'200',0,'','Профессиональная подготовка, переподготовка и повышение квалификации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0706',@link_self,'Высшее и послевузовское проф.образование','podr_2012',0,'200',0,'','Высшее и послевузовское профессиональное образование',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0707',@link_self,'Молодежная политика и оздоровление детей','podr_2012',0,'200',0,'','Молодежная политика и оздоровление детей',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0708',@link_self,'Научные исследования в области образования','podr_2012',0,'200',0,'','Прикладные научные исследования в области образования',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0709',@link_self,'Другие вопросы в области образования','podr_2012',0,'200',0,'','Другие вопросы в области образования',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0800',@link_self,'КУЛЬТУРА И КИНЕМАТОГРАФИЯ','podr_2012',0,'200',0,'','КУЛЬТУРА И КИНЕМАТОГРАФИЯ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0801',@link_self,'Культура','podr_2012',0,'200',0,'','Культура',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0802',@link_self,'Кинематография','podr_2012',0,'200',0,'','Кинематография',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0803',@link_self,'Прикл.научн.иссл-ия в обл.культуры, кинематографии','podr_2012',0,'200',0,'','Прикладные научные исследования в области культуры, кинематографии',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0804',@link_self,'Другие вопросы в области культуры, кинематографии','podr_2012',0,'200',0,'','Другие вопросы в области культуры, кинематографии',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0805',@link_self,'Научные исслед.в области к-ры,кинематографии, СМИ','podr_2012',0,'200',0,'','Прикладные научные исследования в области культуры, кинематографии, средств массовой информации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0806',@link_self,'Др.вопросы в обл. культуры, кинематографии, СМИ','podr_2012',0,'200',0,'','Другие вопросы в области культуры, кинематографии, средств массовой информации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0900',@link_self,'ЗДРАВООХРАНЕНИЕ','podr_2012',0,'200',0,'','ЗДРАВООХРАНЕНИЕ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0901',@link_self,'Стационарная медицинская помощь','podr_2012',0,'200',0,'','Стационарная медицинская помощь',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0902',@link_self,'Амбулаторная помощь','podr_2012',0,'200',0,'','Амбулаторная помощь',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0903',@link_self,'Медицинская помощь в дневн.стационарах всех типов','podr_2012',0,'200',0,'','Медицинская помощь в дневных стационарах всех типов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0904',@link_self,'Скорая медицинская помощь','podr_2012',0,'200',0,'','Скорая медицинская помощь',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0905',@link_self,'Санаторно-оздоровительная помощь','podr_2012',0,'200',0,'','Санаторно-оздоровительная помощь',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0906',@link_self,'Заготовка, хранение донорской крови','podr_2012',0,'200',0,'','Заготовка, переработка, хранение и обеспечение безопасности донорской крови и ее компонентов',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0907',@link_self,'Санитарно-эпидемиологическое благополучие','podr_2012',0,'200',0,'','Санитарно-эпидемиологическое благополучие',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0908',@link_self,'Прикл.научн.исследования в области здравоохранения','podr_2012',0,'200',0,'','Прикладные научные исследования в области здравоохранения',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0909',@link_self,'Другие вопросы в области здравоохранения','podr_2012',0,'200',0,'','Другие вопросы в области здравоохранения',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0910',@link_self,'Др.вопросы в области здрав-ния, физ.к-ры и спорта','podr_2012',0,'200',0,'','Другие вопросы в области здравоохранения, физической культуры и спорта',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1000',@link_self,'СОЦИАЛЬНАЯ ПОЛИТИКА','podr_2012',0,'200',0,'','СОЦИАЛЬНАЯ ПОЛИТИКА',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1001',@link_self,'Пенсионное обеспечение','podr_2012',0,'200',0,'','Пенсионное обеспечение',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1002',@link_self,'Социальное обслуживание населения','podr_2012',0,'200',0,'','Социальное обслуживание населения',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1003',@link_self,'Социальное обеспечение населения','podr_2012',0,'200',0,'','Социальное обеспечение населения',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1004',@link_self,'Охрана семьи и детства','podr_2012',0,'200',0,'','Охрана семьи и детства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1005',@link_self,'Научные исследования в области социальной политики','podr_2012',0,'200',0,'','Прикладные научные исследования в области социальной политики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1006',@link_self,'Другие вопросы в области социальной политики','podr_2012',0,'200',0,'','Другие вопросы в области социальной политики',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1100',@link_self,'ФИЗИЧЕСКАЯ КУЛЬТУРА И СПОРТ','podr_2012',0,'200',0,'','ФИЗИЧЕСКАЯ КУЛЬТУРА И СПОРТ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1101',@link_self,'Физическая культура','podr_2012',0,'200',0,'','Физическая культура',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1102',@link_self,'Массовый спорт','podr_2012',0,'200',0,'','Массовый спорт',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1103',@link_self,'Спорт высших достижений','podr_2012',0,'200',0,'','Спорт высших достижений',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1104',@link_self,'Прикл.научн.иссл-ия в обл.физич.культуры и спорта','podr_2012',0,'200',0,'','Прикладные научные исследования в области физической культуры и спорта',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1105',@link_self,'Другие вопросы в области физич.культуры и спорта','podr_2012',0,'200',0,'','Другие вопросы в области физической культуры и спорта',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1200',@link_self,'СРЕДСТВА МАССОВОЙ ИНФОРМАЦИИ','podr_2012',0,'200',0,'','СРЕДСТВА МАССОВОЙ ИНФОРМАЦИИ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1201',@link_self,'Телевидение и радиовещание','podr_2012',0,'200',0,'','Телевидение и радиовещание',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1202',@link_self,'Периодическая печать и издательства','podr_2012',0,'200',0,'','Периодическая печать и издательства',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1203',@link_self,'Прикладные научные исследования в области СМИ','podr_2012',0,'200',0,'','Прикладные научные исследования в области средств массовой информации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1204',@link_self,'Другие вопросы в области СМИ','podr_2012',0,'200',0,'','Другие вопросы в области средств массовой информации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1300',@link_self,'ОБСЛУЖИВАНИЕ ГОСУД. И МУНИЦ. ДОЛГА','podr_2012',0,'200',0,'','ОБСЛУЖИВАНИЕ ГОСУДАРСТВЕННОГО И МУНИЦИПАЛЬНОГО ДОЛГА',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1301',@link_self,'Обслуживание госуд.внутреннего и муниц. долга','podr_2012',0,'200',0,'','Обслуживание государственного внутреннего и муниципального долга',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1302',@link_self,'Обслуживание государственного внешнего долга','podr_2012',0,'200',0,'','Обслуживание государственного внешнего долга',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1400',@link_self,'МЕЖБЮДЖЕТНЫЕ ТРАНСФЕРТЫ','podr_2012',0,'200',0,'','МЕЖБЮДЖЕТНЫЕ ТРАНСФЕРТЫ ОБЩЕГО ХАРАКТЕРА БЮДЖЕТАМ СУБЪЕКТОВ РОССИЙСКОЙ ФЕДЕРАЦИИ И МУНИЦИПАЛЬНЫХ ОБРАЗОВАНИЙ',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1401',@link_self,'Дотации на выравнивание БО субъектов РФ и МО','podr_2012',0,'200',0,'','Дотации на выравнивание бюджетной обеспеченности субъектов Российской Федерации и муниципальных образований',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1402',@link_self,'Иные дотации','podr_2012',0,'200',0,'','Иные дотации',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'1403',@link_self,'Прочие межбюджетные трансферты общего характера','podr_2012',0,'200',0,'','Прочие межбюджетные трансферты общего характера',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'0000',@link_self,'Неизвестный подраздел','podr_2012',0,'200',0,'','Неизвестный подраздел',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link

exec dbo.RO_KBK_HIST_SAVE @link, '', '', '20000101'

exec dbo.RO_KBK_HIST_SAVE @link, 'Неизвестный подраздел', 'Неизвестный подраздел', '20160309'


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'7900',@link_self,'Результат исполнения бюджета (дефицит / профицит)','podr_2012',0,'450',0,'','Результат исполнения бюджета (дефицит / профицит)',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'9600',@link_self,'Расходы - всего','podr_2012',0,'200',0,'','Расходы - всего',NULL,NULL
delete dbo.report_kbk_hist where link_up = @link


GO

GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Справочник расходов для формы 0503737M таб_2 С КОДОМ R_SPR_0503737M_2016------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE_STR', 3, 'Code_str', 'Код строки', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_0503737M_2016'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_0503737M_2016', 'Справочник расходов для формы 0503737M таб_2', '#Cols_tmp', '#Data_tmp', 1


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_0503737M_2016]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_0503737M_2016]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 24.03.2016

	справочник Справочник расходов для формы 0503737M таб_2 (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_0503737M_2016]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],Code_str as [CODE_STR],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_0503737M_2016' GROUP BY Code,Code_str, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_0503737M_2016] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503737M_2016')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_0503737M_2016'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016', 'Справочник расходов для формы 0503737M таб_2', 231, (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016', NAME = 'Справочник расходов для формы 0503737M таб_2', ORDERS = '231', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016_Name'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016_CODE_STR')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_0503737M_2016_CODE_STR', 'Код строки', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_0503737M_2016_CODE_STR', NAME = 'Код строки', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_0503737M_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_0503737M_2016_CODE_STR'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'TITLE', 'Справочник расходов для формы 0503737M таб_2'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_0503737M_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_0503737M_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'SERVER_TABLE_NAME', 'R_SPR_0503737M_2016'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_0503737M_2016'''
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_Name', 'FIELD_DATA', 'Name'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE_STR', 'TITLE', 'Код строки'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE_STR', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE_STR', 'CONTROLSOURCE', 'm.cAlias + ".CODE_STR"'
GO
EXEC X_SET_PROP 'R_SPR_0503737M_2016_CODE_STR', 'FIELD_DATA', 'CODE_STR'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_0503737M_2016', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503737M_2016', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503737M_2016', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_0503737M_2016', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503737M_2016',0,'Справочник расходов для формы 0503737M таб_2','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='FORM_2011' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_0503737M_2016',@link_self,'Справочник расходов для формы 0503737M таб_2','HEADER'
GO
delete report_control_protokol
delete report_kbk_hist where link_up in (select link from report_kbk where code_form= 'R_SPR_0503737M_2016')
delete report_kbk_cashe where link_up in (select link from report_kbk where code_form= 'R_SPR_0503737M_2016')
delete report_kbk where code_form= 'R_SPR_0503737M_2016'
declare @LS int
insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '100',0,'R_SPR_0503737M_2016',1,'Расходы на выплаты персоналу в целях обеспечения выполнения функций государственными (муниципальными) органами, казенными учреждениями, органами управления государственными внебюджетными фондами',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '110',0,'R_SPR_0503737M_2016',1,'Расходы на выплаты персоналу казенных учреждений',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '111',0,'R_SPR_0503737M_2016',1,'Фонд оплаты труда учреждений',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '112',0,'R_SPR_0503737M_2016',1,'Иные выплаты персоналу учреждений, за исключением фонда оплаты труда',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '113',0,'R_SPR_0503737M_2016',1,'Иные выплаты, за исключением фонда оплаты труда учреждений, лицам, привлекаемым согласно законодательству для выполнения отдельных полномочий',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '119',0,'R_SPR_0503737M_2016',1,'Взносы по обязательному социальному страхованию  на выплаты по оплате труда работников и иные выплаты работникам учреждений',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '130',0,'R_SPR_0503737M_2016',1,'Расходы на выплаты персоналу в сфере национальной безопасности, правоохранительной деятельности и обороны',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '131',0,'R_SPR_0503737M_2016',1,'Денежное довольствие военнослужащих и сотрудников, имеющих специальные звания',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '133',0,'R_SPR_0503737M_2016',1,'Расходы на выплаты военнослужащим и сотрудникам, имеющим специальные звания, зависящие от размера денежного довольствия',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '134',0,'R_SPR_0503737M_2016',1,'Иные выплаты персоналу и сотрудникам, имеющим специальные звания',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '139',0,'R_SPR_0503737M_2016',1,'Взносы по обязательному социальному страхованию на выплаты по оплате труда лиц, принимаемых на должности стажеров',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '200',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ и услуг для обеспечения государственных (муниципальных) нужд',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '220',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ и услуг для обеспечения специальным топливом и горюче-смазочными материалами, продовольственного и вещевого обеспечения органов в сфере национальной безопасности, правоохранительной деятельности и обороны',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '221',0,'R_SPR_0503737M_2016',1,'Обеспечение специальным топливом и горюче-смазочными материалами в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '222',0,'R_SPR_0503737M_2016',1,'Обеспечение специальным топливом и горюче-смазочными материалами вне рамок государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '223',0,'R_SPR_0503737M_2016',1,'Продовольственное обеспечение в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '224',0,'R_SPR_0503737M_2016',1,'Продовольственное обеспечение вне рамок государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '225',0,'R_SPR_0503737M_2016',1,'Вещевое обеспечение в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '226',0,'R_SPR_0503737M_2016',1,'Вещевое обеспечение вне рамок государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '240',0,'R_SPR_0503737M_2016',1,'Иные закупки товаров, работ и услуг для обеспечения государственных (муниципальных) нужд',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '241',0,'R_SPR_0503737M_2016',1,'Научно-исследовательские и опытно-конструкторские работы',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '242',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ, услуг в сфере информационно-коммуникационных технологий',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '243',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ, услуг в целях капитального ремонта государственного (муниципального) имущества',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '244',0,'R_SPR_0503737M_2016',1,'Прочая закупка товаров, работ и услуг для обеспечения государственных (муниципальных) нужд',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '245',0,'R_SPR_0503737M_2016',1,'Закупка товаров, работ и услуг для обеспечения государственных (муниципальных) нужд в области геодезии и картографии вне рамок государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '300',0,'R_SPR_0503737M_2016',1,'Социальное обеспечение и иные выплаты населению',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '320',0,'R_SPR_0503737M_2016',1,'Социальные выплаты гражданам, кроме публичных нормативных социальных выплат',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '321',0,'R_SPR_0503737M_2016',1,'Пособия, компенсации и иные социальные выплаты гражданам, кроме публичных нормативных обязательств',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '322',0,'R_SPR_0503737M_2016',1,'Субсидии гражданам на приобретение жилья',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '323',0,'R_SPR_0503737M_2016',1,'Приобретение товаров, работ, услуг в пользу граждан в целях их социального обеспечения',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '350',0,'R_SPR_0503737M_2016',1,'Премии и гранты',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '360',0,'R_SPR_0503737M_2016',1,'Иные выплаты населению',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '400',0,'R_SPR_0503737M_2016',1,'Капитальные вложения в объекты государственной (муниципальной) собственности',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '410',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '411',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции на приобретение объектов недвижимого имущества в федеральную собственность в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '412',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции на приобретение объектов недвижимого имущества в государственную (муниципальную) собственность',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '413',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции в объекты капитального строительства в рамках государственного оборонного заказа',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '414',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции в объекты капитального строительства государственной (муниципальной) собственности',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '415',0,'R_SPR_0503737M_2016',1,'Бюджетные инвестиции в соответствии с концессионными соглашениями',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '416',0,'R_SPR_0503737M_2016',1,'Капитальные вложения на приобретение объектов недвижимого имущества государственными (муниципальными) учреждениями',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '417',0,'R_SPR_0503737M_2016',1,'Капитальные вложения на строительство объектов недвижимого имущества государственными (муниципальными) учреждениями',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '790',0,'R_SPR_0503737M_2016',1,'Результат исполнения  (дефицит / профицит)',0,'450',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '800',0,'R_SPR_0503737M_2016',1,'Иные бюджетные ассигнования',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '830',0,'R_SPR_0503737M_2016',1,'Исполнение судебных актов',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '831',0,'R_SPR_0503737M_2016',1,'Исполнение судебных актов Российской Федерации и мировых соглашений по возмещению вреда, причиненного в результате незаконных действий (бездействия) органов государственной власти (государственных органов), органов местного самоуправления либо должно',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '832',0,'R_SPR_0503737M_2016',1,'Исполнение судебных актов судебных органов иностранных государств, международных судов и арбитражей, определяемых международными договорами Российской Федерации, в результате незаконных действий (бездействия) органов государственной власти (государст',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '850',0,'R_SPR_0503737M_2016',1,'Уплата налогов, сборов и иных платежей',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '851',0,'R_SPR_0503737M_2016',1,'Уплата налога на имущество организаций и земельного налога',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '852',0,'R_SPR_0503737M_2016',1,'Уплата прочих налогов, сборов',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '853',0,'R_SPR_0503737M_2016',1,'Уплата иных платежей',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '860',0,'R_SPR_0503737M_2016',1,'Предоставление платежей, взносов, безвозмездных перечислений субъектам международного права',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '861',0,'R_SPR_0503737M_2016',1,'Безвозмездные перечисления субъектам международного права',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '862',0,'R_SPR_0503737M_2016',1,'Взносы в международные организации',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '863',0,'R_SPR_0503737M_2016',1,'Платежи в целях обеспечения реализации соглашений по обязательствам Российской Федерации перед иностранными государствами и международными организациями',0,'200',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '960',0,'R_SPR_0503737M_2016',1,'Расходы - всего',0,'200',0,'','', '19000101',NULL,0

exec dbo.[RO_KBK_CASHE_UPDATE] @vcCodeForm = 'R_SPR_0503737M_2016'

GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Справочник целевых статей С КОДОМ R_SPR_CSR_2016------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 3, 'Name', 'Наименование', '', 0,0)

insert #Data_tmp (Table_From, Filter)
values ('REPORT_KBK', 'Code_Form = ''ЦСР_2016'' and Code not in (select KK.Code from dbo.report_kbk KK where KK.Code_form =''ЦСР_2016_USER'')')

insert #Data_tmp (Table_From, Filter)
values ('REPORT_KBK', 'Code_Form = ''ЦСР_2016_USER''')

declare @link int
select @link = link from report_spr where code = 'R_SPR_CSR_2016'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_CSR_2016', 'Справочник целевых статей', '#Cols_tmp', '#Data_tmp', 1


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_CSR_2016]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_CSR_2016]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 24.06.2016

	справочник Справочник целевых статей (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_CSR_2016]

AS

SELECT max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME],begin_date,end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE Code_Form = 'ЦСР_2016' and Code not in (select KK.Code from dbo.report_kbk KK where KK.Code_form ='ЦСР_2016_USER') GROUP BY Code,begin_date,end_date

	UNION

	SELECT max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME],begin_date,end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE Code_Form = 'ЦСР_2016_USER' GROUP BY Code,begin_date,end_date

GO


GRANT SELECT ON dbo.[R_SPR_CSR_2016] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_CSR_2016')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_CSR_2016'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_CSR_2016', 'Справочник целевых статей', 232, (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_CSR_2016', NAME = 'Справочник целевых статей', ORDERS = '232', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_CSR_2016'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_CSR_2016_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_CSR_2016_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_CSR_2016_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_CSR_2016_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_CSR_2016_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_CSR_2016_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_CSR_2016_Name', 'Наименование', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_CSR_2016_Name', NAME = 'Наименование', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_CSR_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_CSR_2016_Name'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016', 'TITLE', 'Справочник целевых статей'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_CSR_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_CSR_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016', 'SERVER_TABLE_NAME', 'R_SPR_CSR_2016'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_CSR_2016'''
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_CSR_2016_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_CSR_2016', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_CSR_2016', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_CSR_2016', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_CSR_2016', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------

GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Автозаполняемый справочник для формы 0503128G - Расходы С КОДОМ R_SPR_RASH_128_2016------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Code_str', 2, 'Code_str', 'Код строки', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 3, 'isnull(Long_Name,Name)', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_RASH_128_2016'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_RASH_128_2016', 'Автозаполняемый справочник для формы 0503128G - Расходы', '#Cols_tmp', '#Data_tmp', 1


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_RASH_128_2016]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_RASH_128_2016]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 02.02.2016

	справочник Автозаполняемый справочник для формы 0503128G - Расходы (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_RASH_128_2016]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],Code_str as [CODE_STR],max(isnull(Long_Name,Name)) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_RASH_128_2016' GROUP BY Code,Code_str, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_RASH_128_2016] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_RASH_128_2016')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_RASH_128_2016'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016', 'Автозаполняемый справочник для формы 0503128G - Расходы', 221, (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016', NAME = 'Автозаполняемый справочник для формы 0503128G - Расходы', ORDERS = '221', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SPR_SYSTEM_2011'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016_Code_str')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016_Code_str', 'Код строки', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016_Code_str', NAME = 'Код строки', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016_Code_str'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_RASH_128_2016_Name', 'Наименование', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_RASH_128_2016_Name', NAME = 'Наименование', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_RASH_128_2016'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_RASH_128_2016_Name'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'TITLE', 'Автозаполняемый справочник для формы 0503128G - Расходы'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_RASH_128_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_RASH_128_2016'')'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'SERVER_TABLE_NAME', 'R_SPR_RASH_128_2016'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_RASH_128_2016'''
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Code_str', 'TITLE', 'Код строки'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Code_str', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Code_str', 'CONTROLSOURCE', 'm.cAlias + ".Code_str"'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Code_str', 'FIELD_DATA', 'Code_str'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_RASH_128_2016_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_RASH_128_2016', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_RASH_128_2016', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_RASH_128_2016', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_RASH_128_2016', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_RASH_128_2016',0,'Автозаполняемый справочник для формы 0503128G - Расходы','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='FORM_2011' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_RASH_128_2016',@link_self,'Автозаполняемый справочник для формы 0503128G - Расходы','HEADER'
GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'01011234567891021',@link_self,'','R_SPR_RASH_128_2016',0,'200',0,'','Субсидии на обеспечение жильем молодых семей и молодых специалистов, проживающих и работающих в сельской местности','19000101','30000101'
delete dbo.report_kbk_hist where link_up = @link

exec dbo.RO_KBK_HIST_SAVE @link, '', 'Субсидии на обеспечение жильем молодых семей и молодых специалистов, проживающих и работающих в сельской местности', '19000101'


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'79000000000000000',@link_self,'','R_SPR_RASH_128_2016',0,'450',0,'','Результат исполнения бюджета (дефицит / профицит)','19000101','30000101'
delete dbo.report_kbk_hist where link_up = @link

exec dbo.RO_KBK_HIST_SAVE @link, '', 'Результат исполнения бюджета (дефицит / профицит)', '19000101'


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'96000000000000000',@link_self,'','R_SPR_RASH_128_2016',0,'200',0,'','Итого','19000101','30000101'
delete dbo.report_kbk_hist where link_up = @link

exec dbo.RO_KBK_HIST_SAVE @link, '', 'Итого', '19000101'


GO

GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Код строки для формы 0503737 С КОДОМ R_SPR_STR_737------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_STR_737'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_STR_737', 'Код строки для формы 0503737', '#Cols_tmp', '#Data_tmp', 0


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_STR_737]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_STR_737]


GO



/*******************************************************************************



	© Кейсистемс (Keysystems), 30.03.2015



	справочник Код строки для формы 0503737 (сгенерировано Редактором справочников)



*******************************************************************************/



CREATE     VIEW dbo.[R_SPR_STR_737]



AS



SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_STR_737' GROUP BY Code, begin_date, end_date




GO


GRANT SELECT ON dbo.[R_SPR_STR_737] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_STR_737')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_STR_737'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_STR_737')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_STR_737', 'Код строки для формы 0503737', 512, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_STR_737', NAME = 'Код строки для формы 0503737', ORDERS = '512', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_STR_737'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_STR_737_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_STR_737_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_STR_737_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_STR_737_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_STR_737_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_STR_737_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_STR_737_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_STR_737_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_STR_737_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_STR_737_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_STR_737_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_STR_737'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_STR_737_Name'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'TITLE', 'Код строки для формы 0503737'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_STR_737'')'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_STR_737'')'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'SERVER_TABLE_NAME', 'R_SPR_STR_737'
GO
EXEC X_SET_PROP 'R_SPR_STR_737', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_STR_737'''
GO
EXEC X_SET_PROP 'R_SPR_STR_737_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_STR_737_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_STR_737', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_STR_737', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_STR_737', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_STR_737', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_STR_737',0,'Код строки для формы 0503737','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='USER_REPORT' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_STR_737',@link_self,'Код строки для формы 0503737','HEADER'
GO
delete report_control_protokol
delete report_kbk_hist where link_up in (select link from report_kbk where code_form= 'R_SPR_STR_737')
delete report_kbk_cashe where link_up in (select link from report_kbk where code_form= 'R_SPR_STR_737')
delete report_kbk where code_form= 'R_SPR_STR_737'
declare @LS int
insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '910',0,'R_SPR_STR_737',1,'Возвращено остатков субсидий прошлых лет, всего',0,'',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '911',0,'R_SPR_STR_737',1,'из них по кодам аналитики: Доходы от оказания платных услуг (работ)',0,'',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '912',0,'R_SPR_STR_737',1,'Прочие доходы',0,'',0,'','', '19000101',NULL,0

insert report_kbk (code,link_self,code_form,childrens,name,imageindex,code_str,property,add_info,long_name,begin_date, end_date, orders)
select '950',0,'R_SPR_STR_737',1,'Возвращено расходов прошлых лет, всего',0,'',0,'','', '19000101',NULL,0

exec dbo.[RO_KBK_CASHE_UPDATE] @vcCodeForm = 'R_SPR_STR_737'

GO


GO
------------------- ВЫГРУЗКА СПРАВОЧНИКА: Справочник видов расходов для формы 0503123 С КОДОМ R_SPR_VR_EKR_0503123------------------------

------------------- ДАННЫЕ О СПРАВОЧНИКЕ ------------------------
if object_id('tempdb..#Cols_tmp') Is NOT NULL drop table #Cols_tmp
if object_id('tempdb..#Data_tmp') Is NOT NULL drop table #Data_tmp
create table #Cols_tmp (Code varchar(50), orders tinyint, Source varchar(254), Name varchar(254), Const varchar(254), First tinyint, Cnt tinyint)
create table #Data_tmp (Table_From varchar(254), Filter varchar(254))

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('CODE', 1, 'Code', 'Код', '', 0,0)

insert #Cols_tmp (Code, orders, Source, Name, Const,First, Cnt)
values ('Name', 2, 'Name', 'Наименование', '', 0,0)

declare @link int
select @link = link from report_spr where code = 'R_SPR_VR_EKR_0503123'
exec dbo.RO_SPR_SAVE @link, 'R_SPR_VR_EKR_0503123', 'Справочник видов расходов для формы 0503123', '#Cols_tmp', '#Data_tmp', 0


GO



------------------- ВЬЮХА ------------------------

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'dbo.[R_SPR_VR_EKR_0503123]') AND OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW dbo.[R_SPR_VR_EKR_0503123]


GO

/*******************************************************************************

	© Кейсистемс (Keysystems), 09.03.2016

	справочник Справочник видов расходов для формы 0503123 (сгенерировано Редактором справочников)

*******************************************************************************/

CREATE     VIEW dbo.[R_SPR_VR_EKR_0503123]

AS

SELECT  max(LINK) as Link, max(Link_Self) as Link_Self,Code as [CODE],max(Name) as [NAME], begin_date, end_date FROM [dbo].[RO_KBK_HIST_VIEW] [REPORT_KBK] WHERE CODE_FORM = 'R_SPR_VR_EKR_0503123' GROUP BY Code, begin_date, end_date

GO


GRANT SELECT ON dbo.[R_SPR_VR_EKR_0503123] TO PUBLIC


GO


------------------- S_OBJECTS ------------------------
IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_VR_EKR_0503123')
		DELETE FROM DBO.S_OBJECTS WHERE CODE = 'R_SPR_VR_EKR_0503123'
GO


IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_VR_EKR_0503123', 'Справочник видов расходов для формы 0503123', 519, (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_VR_EKR_0503123', NAME = 'Справочник видов расходов для формы 0503123', ORDERS = '519', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='REPORT_USER'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_VR_EKR_0503123'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123_M')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_VR_EKR_0503123_M', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_VR_EKR_0503123_M', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_VR_EKR_0503123_M'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123_CODE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_VR_EKR_0503123_CODE', 'Код', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_VR_EKR_0503123_CODE', NAME = 'Код', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_VR_EKR_0503123_CODE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123_Name')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'R_SPR_VR_EKR_0503123_Name', 'Наименование', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'R_SPR_VR_EKR_0503123_Name', NAME = 'Наименование', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='R_SPR_VR_EKR_0503123'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='R_SPR_VR_EKR_0503123_Name'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'TITLE', 'Справочник видов расходов для формы 0503123'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'INIT_OBJECT_METHOD', 'x_spisok(''R_SPR_VR_EKR_0503123'')'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''R_SPR_VR_EKR_0503123'')'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'SERVER_TABLE_NAME', 'R_SPR_VR_EKR_0503123'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123', 'SELECT_RECORDS_METHOD_SQL', 'WEB_SELECT_DICTIONARY @cDicCode=''R_SPR_VR_EKR_0503123'''
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_M', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_M', 'CONTROLSOURCE', 'm.cAlias + ".checked"'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_M', 'FIELD_DATA', 'CHECKED'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_CODE', 'TITLE', 'Код'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_CODE', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_CODE', 'CONTROLSOURCE', 'm.cAlias + ".CODE"'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_CODE', 'FIELD_DATA', 'CODE'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_Name', 'TITLE', 'Наименование'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_Name', 'VISIBLE', '31'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_Name', 'CONTROLSOURCE', 'm.cAlias + ".Name"'
GO
EXEC X_SET_PROP 'R_SPR_VR_EKR_0503123_Name', 'FIELD_DATA', 'Name'
GO
EXEC DBO.W_SPERM_WRITE 'R_SPR_VR_EKR_0503123', 'Свод-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_VR_EKR_0503123', 'Смета-КС', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_VR_EKR_0503123', 'Свод-КС - получатель', 63,0
GO

EXEC DBO.W_SPERM_WRITE 'R_SPR_VR_EKR_0503123', 'Свод-КС - ограниченый доступ к организациям', 63,0
GO


------------------- ДАННЫЕ СПРАВОЧНИКА ------------------------
exec RN_SAVE_REPORT_KBK 0,'R_SPR_VR_EKR_0503123',0,'Справочник видов расходов для формы 0503123','HEADER'
GO

declare @link_self int
 select @link_self=link from report_kbk where code='USER_REPORT' and code_form='HEADER'
 exec RN_SAVE_REPORT_KBK 0,'R_SPR_VR_EKR_0503123',@link_self,'Справочник видов расходов для формы 0503123','HEADER'
GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'000',@link_self,'Неизвестная статья','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'100',@link_self,'','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'120',@link_self,'','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'122',@link_self,'','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'200',@link_self,'Расходы','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'210',@link_self,'Оплата труда и начисления на выплаты по оплате труда','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'211',@link_self,'Заработная плата','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'212',@link_self,'Прочие выплаты','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'213',@link_self,'Начисления на выплаты по оплате труда','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'220',@link_self,'Оплата работ, услуг','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'221',@link_self,'Услуги связи','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'222',@link_self,'Транспортные услуги','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'223',@link_self,'Коммунальные услуги','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'224',@link_self,'Арендная плата за пользование имуществом','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'225',@link_self,'Работы, услуги по содержанию имущества','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'226',@link_self,'Прочие работы, услуги','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'230',@link_self,'Обслуживание государственного (муниципального) долга','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'231',@link_self,'Обслуживание внутреннего долга','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'232',@link_self,'Обслуживание внешнего долга','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'240',@link_self,'Безвозмездные перечисления организациям','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'241',@link_self,'Безвозмездные перечисления государственным и муниципальным организациям','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'242',@link_self,'Безвозмездные перечисления организациям, за исключением государственных и муниципальных организаций','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'250',@link_self,'Безвозмездные перечисления бюджетам','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'251',@link_self,'Перечисления другим бюджетам бюджетной системы Российской Федерации','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'252',@link_self,'Перечисления наднациональным организациям и правительствам иностранных государств','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'253',@link_self,'Перечисления международным организациям','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'260',@link_self,'Социальное обеспечение','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'261',@link_self,'Пенсии, пособия и выплаты по пенсионному, социальному и медицинскому страхованию населения','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'262',@link_self,'Пособия по социальной помощи населению','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'263',@link_self,'Пенсии, пособия, выплачиваемые организациями сектора государственного управления','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'270',@link_self,'Расходы по операциям с активами','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'271',@link_self,'Амортизация основных средств и нематериальных активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'272',@link_self,'Расходование материальных запасов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'273',@link_self,'Чрезвычайные расходы по операциям с активами','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'290',@link_self,'Прочие расходы','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'300',@link_self,'Поступление нефинансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'310',@link_self,'Увеличение стоимости основных средств','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'320',@link_self,'Увеличение стоимости нематериальных активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'330',@link_self,'Увеличение стоимости непроизведенных активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'340',@link_self,'Увеличение стоимости материальных запасов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'500',@link_self,'Поступление финансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'510',@link_self,'Поступление на счета бюджетов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'520',@link_self,'Увеличение стоимости ценных бумаг, кроме акций и иных форм участия в капитале','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'530',@link_self,'Увеличение стоимости акций и иных форм участия в капитале','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'540',@link_self,'Увеличение задолженности по бюджетным кредитам','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'550',@link_self,'Увеличение стоимости иных финансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'560',@link_self,'Увеличение прочей дебиторской задолженности','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'600',@link_self,'Выбытие финансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'610',@link_self,'Выбытие со счетов бюджетов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'620',@link_self,'Уменьшение стоимости ценных бумаг, кроме акций и иных форм участия в капитале','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'630',@link_self,'Уменьшение стоимости акций и иных форм участия в капитале','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'640',@link_self,'Уменьшение задолженности по бюджетным ссудам и кредитам','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'650',@link_self,'Уменьшение стоимости иных финансовых активов','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO
declare @link_self int, @link int 
set @link_self=0
exec RN_SAVE_REPORT_KBK @link output,'660',@link_self,'Уменьшение прочей дебиторской задолженности','R_SPR_VR_EKR_0503123',0,'',0,'','','19000101',NULL
delete dbo.report_kbk_hist where link_up = @link


GO

GO


GO
-- Отчет "Справка 2-НДФЛ для физлиц с договорами ГПХ"
-- Сгенерировано скриптом scriptObjectVar 'SQL_REPORT_2NDFL_FACE_DGH'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'SQL_REPORT_2NDFL_FACE_DGH'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Справка 2-НДФЛ для физлиц с договорами ГПХ',NULL, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'SQL_REPORT_2NDFL_FACE_DGH',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'm_print_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'VISIBLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'VISIBLE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= 'declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(@cText5)),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 
			 

EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText2					/* Начинать нумерацию справок с */,
	@nCheck1 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck  		/* Перечисленная сумма НДФЛ за период */,
	'''',  0,	/* Используется при другом способе вызова отчета */
	'''',  0,	/* Используется при другом способе вызова отчета */
	NULL, /*Отбор сотрудника*/
	@nMonth1 /* По месяц */,
	@nSel_Spr1 /*Отбор физлица*/,
	@nCheck3 /* Выводить руководителя при печати */'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#SD_REP_2NDFL'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(kir_2ndfl_prepare_report(),"2NDFL-DATA1.XLT","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #SD_REP_2NDFL
	@cText2 varchar(8000)	/* Номер справки */,
	@nSel_Spr1 int	/* Сотрудник */,
	@cText1 varchar(8000)	/* Расчетный год */,
	@nMonth1 int	/* По месяц */,
	@cText4 varchar(8000)	/* Признак */,
	@nCheck1 int	/* Определить перечисленную сумму по проводкам */,
	@cText5 varchar(8000)	/* Перечисленная сумма НДФЛ за период */,
	@nOption1 int	/* Форма */,
	@nCheck3 int /* Выводить руководителя при печати */
AS
BEGIN

declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(@cText5)),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 

EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText2					/* Начинать нумерацию справок с */,
	@nCheck1 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck  		/* Перечисленная сумма НДФЛ за период */,
	'''',  0,	/* Используется при другом способе вызова отчета */
	'''',  0,	/* Используется при другом способе вызова отчета */
	NULL, /*Отбор сотрудника*/
	@nMonth1 /* По месяц */,
	@nSel_Spr1 /*Отбор физлица*/,
	@nCheck3 /* Выводить руководителя при печати */

END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_CODE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_CODE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATE_TYPE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATE_TYPE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'SQUERY_NO_SHOW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'SQUERY_NO_SHOW'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Параметры',1, 
		(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH'),
		'SQL_REPORT_2NDFL_FACE_DGH_NASTR',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N2' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Номер справки',2, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N2',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Номер справки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'
						
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_LSEL_SPR'),
					'Сотрудник',3, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Сотрудник'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'LSel_Spr'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'KU_EMPL_PLACING'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nSel_Spr1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Расчетный год',4, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Расчетный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N3' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_MONTHBOX'),
					'По месяц',5, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N3',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'По месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'MONTHBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущий месяц,Расчетный месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nMonth1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий месяц'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N4' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Признак',6, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N4',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Признак'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N5' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Определить перечисленную сумму по проводкам',7, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N5',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Определить перечисленную сумму по проводкам'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'

GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N5'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N6' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Перечисленная сумма НДФЛ за период',8, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N6',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Перечисленная сумма НДФЛ за период'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N6'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N7' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_OPTIONGROUP'),
					'Форма',9, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N7',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Форма корректировки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'OPTIONGROUP'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Первичная,Корректирующая,Аннулирующая'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nOption1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Первичная'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N7'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO

/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_DGH_N8' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Выводить руководителя при печати',10, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_NASTR'),
					'SQL_REPORT_2NDFL_FACE_DGH_N8',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Выводить руководителя при печати'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_DGH_N8'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO


GO
-- Отчет "Справка 2-НДФЛ"
-- Сгенерировано скриптом scriptObjectVar 'SQL_REPORT_2NDFL_FACE'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'SQL_REPORT_2NDFL_FACE'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'SQL_REPORT_2NDFL_FACE'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Справка 2-НДФЛ',NULL, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'SQL_REPORT_2NDFL_FACE',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'm_print_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'VISIBLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'VISIBLE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= 'declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(convert(varchar(16),@cText5))),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 
			 

EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText2					/* Начинать нумерацию справок с */,
	@nCheck2 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck  		/* Перечисленная сумма НДФЛ за период */,
	'''',  0,	/* Используется при другом способе вызова отчета */
	'''',  0,	/* Используется при другом способе вызова отчета */
	@nSel_Spr1, /*Отбор сотрудника*/
	@nMonth1 /* По месяц */
	DEFAULT, /* Используется при другом способе вызова отчета */
	@nCheck3 /* Выводить руководителя при печати */ '
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#SD_REP_2NDFL_FACE'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(kir_2ndfl_prepare_report(),"2NDFL-DATA1.XLT","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #SD_REP_2NDFL_FACE
	@cText2 varchar(8000)	/* Номер справки */,
	@nSel_Spr1 int	/* Сотрудник */,
	@cText1 varchar(8000)	/* Расчетный год */,
	@nMonth1 int	/* По месяц */,
	@cText4 varchar(8000)	/* Признак */,
	@nCheck2 int	/* Определить перечисленную сумму по проводкам */,
	@cText5 varchar(8000)	/* Перечисленная сумма НДФЛ за период */,
	@nOption1 int	/* Форма */,
	@nCheck3 int /* Выводить руководителя при печати */

	
AS
BEGIN

declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(convert(varchar(16),@cText5))),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 
			 
EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText2					/* Начинать нумерацию справок с */,
	@nCheck2 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck  		/* Перечисленная сумма НДФЛ за период */,
	'''',  0,	/* Используется при другом способе вызова отчета */
	'''',  0,	/* Используется при другом способе вызова отчета */
	@nSel_Spr1, /*Отбор сотрудника*/
	@nMonth1 ,/* По месяц */
	DEFAULT	,/* Используется при другом способе вызова отчета */
	@nCheck3 /* Выводить руководителя при печати */

END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_CODE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_CODE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATE_TYPE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATE_TYPE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'SQUERY_NO_SHOW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'SQUERY_NO_SHOW'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_2NDFL_FACE'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_NASTR' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Параметры',1, 
		(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE'),
		'SQL_REPORT_2NDFL_FACE_NASTR',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N2' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Номер справки',2, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N2',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Номер справки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_LSEL_SPR'),
					'Сотрудник',3, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_MAIN_PARAM',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Сотрудник'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'LSel_Spr'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'KU_EMPL_PLACING'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nSel_Spr1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Расчетный год',4, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Расчетный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N3' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_MONTHBOX'),
					'По месяц',5, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N3',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'По месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'MONTHBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущий месяц,Расчетный месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nMonth1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N4' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Признак',6, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N4',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Признак'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N5' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Определить перечисленную сумму по проводкам',7, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N5',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Определить перечисленную сумму по проводкам'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N5'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N6' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Перечисленная сумма НДФЛ за период',8, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N6',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Перечисленная сумма НДФЛ за период'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N6'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N7' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_OPTIONGROUP'),
					'Форма',9, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N7',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Форма корректировки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'OPTIONGROUP'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Первичная,Корректирующая,Аннулирующая'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nOption1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Первичная'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N7'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO

/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_FACE_N8' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Выводить руководителя при печати',10, 
					(Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_NASTR'),
					'SQL_REPORT_2NDFL_FACE_N8',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Выводить руководителя при печати'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_FACE_N8'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO


GO
-- Отчет "Сведения о доходах физических лиц"
-- Сгенерировано скриптом scriptObjectVar 'SQL_report_2ndfl'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'SQL_report_2ndfl'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'SQL_report_2ndfl'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Сведения о доходах физических лиц',201, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'SQL_REPORT_2NDFL',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'SQL_report_2ndfl') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'kir_export_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= 'declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(convert(varchar(16),@cText5))),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 

			 
EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText3					/* Начинать нумерацию справок с */,
	@nCheck2 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck 		/* Перечисленная сумма НДФЛ за период */,
	@cVal1,  @nOtborLink1,	/* Отбор сотрудников */
	@cVal2,  @nOtborLink2,	/* Отбор сотрудников */
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	@nCheck3 /* Выводить руководителя при печати */
		
'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#REPORT_2NDFL'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(kir_2ndfl_prepare_report(),"2NDFL-DATA1.XLT","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #REPORT_2NDFL
	@cText1 varchar(4)	/* Расчетный год */,
	@nCheck1 int	/* Показать реестр */,
	@cText2 varchar(2)	/* Номер файла (реестра) */,
	@cText3 varchar(4)	/* Начинать нумерацию справок с */,
	@cText4 varchar(1)	/* Признак */,
	@nCheck2 int	/* Определить перечисленную сумму по проводкам */,
	@cText5 varchar(16)	/* Перечисленная сумма НДФЛ за период */,
	@nOption1 int	/* Форма */,
	@nCheck3 int	/* Выводить руководителя при печати */,
	@nFilterLink int	/* Фильтр */
	
AS
BEGIN
	DECLARE @cVal1 char(1), @nOtborLink1 int	/* Отбор сотрудников */
	SELECT @nOtborLink1 = (SELECT LINK FROM OBJECT_VAR WHERE LINK_SELF=@nFilterLink AND OBJECT=(SELECT LINK FROM S_OBJECTS WHERE CODE=''OTBOR_QUERY_SQL_EMPL''))
	SELECT @cVal1 = (SELECT VALUE FROM OBJECT_VAR_VALUES WHERE LINK_UP=@nOtborLink1 AND PROPERTY=(SELECT LINK FROM S_PROPERTY WHERE CODE=''QUERY_OTBOR_CHECK''))
	DECLARE @cVal2 char(1), @nOtborLink2 int	/* Отбор внештатников */
	SELECT @nOtborLink2 = (SELECT LINK FROM OBJECT_VAR WHERE LINK_SELF=@nFilterLink AND OBJECT=(SELECT LINK FROM S_OBJECTS WHERE CODE=''OTBOR_QUERY_SQL_DGH''))
	SELECT @cVal2 = (SELECT VALUE FROM OBJECT_VAR_VALUES WHERE LINK_UP=@nOtborLink2 AND PROPERTY=(SELECT LINK FROM S_PROPERTY WHERE CODE=''QUERY_OTBOR_CHECK''))


declare @nSummForCheck numeric(18,2)

if len(ltrim(rtrim(@cText5)))= 0
begin 
   select @cText5 = null
end

if isnumeric(ltrim(rtrim(@cText5))) = 0 
begin 	
	select @cText5 = null
end
	select @cText5 =  REPLACE(ltrim(rtrim(convert(varchar(16),@cText5))),'','',''.'');
	select  @nSummForCheck  =  cast(ltrim(rtrim(@cText5))  as numeric(18,2)) 
			 
EXEC dbo.SD_REP_2NDFL
	@cText1					/* Расчетный год */,
	@cText3					/* Начинать нумерацию справок с */,
	@nCheck2 				/* Определить перечисленную сумму по проводкам */,
	@nSummForCheck 		/* Перечисленная сумма НДФЛ за период */,
	@cVal1,  @nOtborLink1,	/* Отбор сотрудников */
	@cVal2,  @nOtborLink2,	/* Отбор сотрудников */
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	DEFAULT, /*Используется при другом способе вызова отчета	*/
	@nCheck3 /* Выводить руководителя при печати */
		


END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= 'PROTOCOLS_EOD_2NDFL#1'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= 'KIR_2NDFL_AFTER_REP(oForm)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ALTERNATIVE_PRINT_METHOD'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_report_2ndfl') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_report_2ndfl'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'OTBOR_QUERY_SQL_EMPL' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_FILTER'),
		'Стандартный фильтр для запроса',NULL, 
		(Select link from object_var where code = 'SQL_REPORT_2NDFL'),
		'OTBOR_QUERY_SQL_EMPL',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'W400311' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'OTBOR_QUERY_SQL_DGH'),
					'Отбор внештатников',2, 
					(Select link from object_var where code = 'OTBOR_QUERY_SQL_EMPL'),
					'W400311',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_CHECK') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_CHECK'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE'),
							'DICTIONARY_PERSONS_DGH'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_FIELD') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_FIELD'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_VALUE') and LINK_UP = (Select link from object_var where code = 'W400311') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400311'),
							(Select link from s_property where code = 'QUERY_OTBOR_VALUE'),
							''
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'W400312' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'OTBOR_QUERY_SQL_EMPL'),
					'Отбор сотрудников',1, 
					(Select link from object_var where code = 'OTBOR_QUERY_SQL_EMPL'),
					'W400312',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_CHECK') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_CHECK'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE'),
							'DICT_EMPLOYERS01'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_FIELD') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_FIELD'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_VALUE') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE2') and LINK_UP = (Select link from object_var where code = 'W400312') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'W400312'),
							(Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE2'),
							'DICTIONARY_SUBDIVISION01'
						
GO
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SQL_REPRT_2NDFL_NASTR_GR' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Группа настроек',1, 
		(Select link from object_var where code = 'SQL_REPORT_2NDFL'),
		'SQL_REPRT_2NDFL_NASTR_GR',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Расчетный год',2, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Расчетный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(4)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR2' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Показать реестр',3, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR2',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Показать реестр'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Вкл.'

						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR2'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR3' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Номер файла (реестра)',4, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR3',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Номер файла (реестра)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(3)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR3'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR4' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Начинать нумерацию справок с',5, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR4',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Начинать нумерацию справок с'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(4)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'
						

						
GO
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR4'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR5' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Признак',6, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR5',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'EDITABLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'FORMAT'),
							'[1-2]'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Признак'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText4'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(1)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'1'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR5'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR8' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_OPTIONGROUP'),
					'Форма',9, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR8',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Форма корректировки'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'OPTIONGROUP'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Первичная,Корректирующая,Аннулирующая'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nOption1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Первичная'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR8'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR6' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Определить перечисленную сумму по проводкам',7, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR6',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Определить перечисленную сумму по проводкам'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
			
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR6'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR7' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Перечисленная сумма НДФЛ за период',8, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR7',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Перечисленная сумма НДФЛ за период'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText5'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(16)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR7'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO

/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_2NDFL_NASTR9' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Выводить руководителя при печати',10, 
					(Select link from object_var where code = 'SQL_REPRT_2NDFL_NASTR_GR'),
					'SQL_REPORT_2NDFL_NASTR9',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Выводить руководителя при печати'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck3'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_2NDFL_NASTR9'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO

GO
-- Отчет "Лицевой счет (ф. Т-54)"
-- Сгенерировано скриптом scriptObjectVar 'SQL_REPORT_T54'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'SQL_REPORT_T54'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'SQL_REPORT_T54'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Лицевой счет (ф. Т-54)',2, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'SQL_REPORT_T54',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'SQL_REPORT_T54') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'm_print_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'VISIBLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'VISIBLE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= '	DECLARE @nLINK INT
	SET @nLINK  = CAST(@cText1 AS INT)
	EXEC  SD_REP_T54 @cYear1, @nOption1, @nLINK, @nCheck1'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#REPORT_T54'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKERMULTISHEET.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(@nOption1=1 and kir_f_t54_prepare_report(),"FORM-T54.XLT",IIF(@nOption1=2,"FORM-T54A.XLT",""))'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #REPORT_T54
	@cText1 varchar(8000)	/* Лицо */,
	@nOption1 int	/* Форма документа */,
	@cText2 varchar(8000)	/* Номер документа */,
	@cYear1 VARCHAR(4)	/* Расчетный год */,
	@nCheck1 int	/* Не выводить выплаченную зарплату в удержания */
AS
BEGIN

	DECLARE @nLINK INT
	SET @nLINK  = CAST(@cText1 AS INT)
	EXEC  SD_REP_T54 @cYear1, @nOption1, @nLINK, @nCheck1

END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KIRREPT54.BAS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REPORT_T54') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REPORT_T54'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '0'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SQL_REPORT_T54_NASTR_GR' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Группа настроек',1, 
		(Select link from object_var where code = 'SQL_REPORT_T54'),
		'SQL_REPORT_T54_NASTR_GR',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_T54_MAIN_PARAM' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Лицо',2, 
					(Select link from object_var where code = 'SQL_REPORT_T54_NASTR_GR'),
					'SQL_REPORT_T54_MAIN_PARAM',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'EDITABLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Лицо'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO

						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_MAIN_PARAM'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''

						
GO
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_T54_NASTR2' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_OPTIONGROUP'),
					'Форма документа',3, 
					(Select link from object_var where code = 'SQL_REPORT_T54_NASTR_GR'),
					'SQL_REPORT_T54_NASTR2',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Форма документа'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'OPTIONGROUP'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Лицевой счет (ф. Т-54),Лицевой счет (СВТ) (ф. Т-54а)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nOption1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Лицевой счет (ф. Т-54)'
						
GO
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_T54_NASTR3' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_TEXTBOX'),
					'Номер документа',4, 
					(Select link from object_var where code = 'SQL_REPORT_T54_NASTR_GR'),
					'SQL_REPORT_T54_NASTR3',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Номер документа'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'TEXTBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cText2'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'varchar(8000)'
						
GO
						
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_T54_NASTR4' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_YEARBOX'),
					'Расчетный год',5, 
					(Select link from object_var where code = 'SQL_REPORT_T54_NASTR_GR'),
					'SQL_REPORT_T54_NASTR4',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'FORMAT'),
							'9999'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Расчетный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'MASKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущий год,Расчетный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cYear1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'VARCHAR(4)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REPORT_T54_NASTR5' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Не выводить выплаченную зарплату в удержания',6, 
					(Select link from object_var where code = 'SQL_REPORT_T54_NASTR_GR'),
					'SQL_REPORT_T54_NASTR5',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Не выводить выплаченную зарплату в удержания'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							'при выбранной настройке выплаченная зарплата не выводится в удержаниях'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
						
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REPORT_T54_NASTR5') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REPORT_T54_NASTR5'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO


GO
-- Отчет "Сведения о датах и суммах фактически полученных доходов и удержанных налогов"
-- Сгенерировано скриптом scriptObjectVar 'SQL_REP_6NDFL'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'SQL_REP_6NDFL'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'SQL_REP_6NDFL'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Сведения о датах и суммах фактически полученных доходов и удержанных налогов',401, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'SQL_REP_6NDFL',NULL, NULL, 1
	

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'SQL_REP_6NDFL') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= '	EXEC dbo.SA_6NDFL_REPORT
		@cYear1 		/* Год */,
		@nQuarter1 	/* Квартал */,
		@nMonth1 	/* Месяц */,
             @nCheck1 /* Выводить информацию за указаный месяц */,
		@cVal1 , @nOtborLink1  	/* Отбор подразделений */
'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#SQL_REP_6NDFL'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(.T.,"SA_6NDFL_DESCR.xlt","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #SQL_REP_6NDFL
	@cYear1 VARCHAR(4)	/* Год */,
	@nQuarter1 int	/* Квартал */,
	@nMonth1 int	/* Месяц */,
	@nCheck1 int	/* Выводить информацию за указаный месяц */,
	@nFilterLink int	/* Фильтр */
AS
BEGIN
	DECLARE @cVal1 char(1), @nOtborLink1 int	/* Отбор подразделений */
	SELECT @nOtborLink1 = (SELECT LINK FROM OBJECT_VAR WHERE LINK_SELF=@nFilterLink AND OBJECT=(SELECT LINK FROM S_OBJECTS WHERE CODE=''OTBOR_QUERY_SQL_SUBDIV''))
	SELECT @cVal1 = (SELECT VALUE FROM OBJECT_VAR_VALUES WHERE LINK_UP=@nOtborLink1 AND PROPERTY=(SELECT LINK FROM S_PROPERTY WHERE CODE=''QUERY_OTBOR_CHECK''))

	EXEC dbo.SA_6NDFL_REPORT
		@cYear1 		/* Год */,
		@nQuarter1 	/* Квартал */,
		@nMonth1 	/* Месяц */,
             @nCheck1 /* Выводить информацию за указаный месяц */,
		@cVal1 , @nOtborLink1  	/* Отбор подразделений */


END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'SQL_REP_6NDFL') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'SQL_REP_6NDFL'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= ''
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SQL_REP_6NDFL_GR1' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Группа настроек',2, 
		(Select link from object_var where code = 'SQL_REP_6NDFL'),
		'SQL_REP_6NDFL_GR1',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REP_6NDFL_N1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_YEARBOX'),
					'Год',3, 
					(Select link from object_var where code = 'SQL_REP_6NDFL_GR1'),
					'SQL_REP_6NDFL_N1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'FORMAT'),
							'9999'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'MASKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							'Отчётный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущий год,Расчетный год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@cYear1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'VARCHAR(4)'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий год'
						
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий год'
						
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий год'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REP_6NDFL_N2' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_QUARTERBOX'),
					'Квартал',4, 
					(Select link from object_var where code = 'SQL_REP_6NDFL_GR1'),
					'SQL_REP_6NDFL_N2',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'QUARTERBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							'Отчётный квартал'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущий квартал,Расчетный квартал'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nQuarter1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий квартал'
						
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий квартал'
						
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий квартал'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REP_6NDFL_N3' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_MONTHBOX'),
					'Месяц',5, 
					(Select link from object_var where code = 'SQL_REP_6NDFL_GR1'),
					'SQL_REP_6NDFL_N3',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'MONTHBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							'Если месяц выбран -  информация в отчете будет отражаться за указаный месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущий месяц,Расчетный месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nMonth1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Текущий месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N3') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N3'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REP_6NDFL_N4' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_CHECKBOX'),
					'Выводить информацию за указаный месяц',6, 
					(Select link from object_var where code = 'SQL_REP_6NDFL_GR1'),
					'SQL_REP_6NDFL_N4',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'CHECKBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							'Если настройка отмечена, информация выводится за указаный месяц'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Выкл.,Вкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@nCheck1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'int'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Выкл.'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_N4') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_N4'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'SQL_REP_6NDFL_FILTER' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_FILTER'),
		'Стандартный фильтр для запроса',NULL, 
		(Select link from object_var where code = 'SQL_REP_6NDFL'),
		'SQL_REP_6NDFL_FILTER',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'SQL_REP_6NDFL_OTBOR1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'OTBOR_QUERY_SQL_SUBDIV'),
					'Отбор подразделений',1, 
					(Select link from object_var where code = 'SQL_REP_6NDFL_FILTER'),
					'SQL_REP_6NDFL_OTBOR1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_CHECK') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1'),
							(Select link from s_property where code = 'QUERY_OTBOR_CHECK'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1'),
							(Select link from s_property where code = 'QUERY_OTBOR_DICTIONARY_CODE'),
							'DICTIONARY_SUBDIVISION01'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_FIELD') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1'),
							(Select link from s_property where code = 'QUERY_OTBOR_FIELD'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1'),
							(Select link from s_property where code = 'QUERY_OTBOR_PARENT_CODE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_OTBOR_VALUE') and LINK_UP = (Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'SQL_REP_6NDFL_OTBOR1'),
							(Select link from s_property where code = 'QUERY_OTBOR_VALUE'),
							''
						
GO





/**************** ДОБАВЛЕНИЕ В НАВИГАТОР ОБЪЕКТА "Сведения о датах и суммах фактически полученных доходов и удержанных налогов"*************/ 
 
DECLARE @LINK_VAR INT
SET @LINK_VAR = (SELECT LINK FROM OBJECT_VAR WHERE CODE = 'SQL_REP_6NDFL')

DECLARE @LINK_SELF INT 
SET @LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SALARY_ESN' AND NAME = 'ЕСН И ПФ и стат. отчетность')

DECLARE @OBJECT INT
SET @OBJECT = (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'QUERY_SQL')

DECLARE @ORD INT, @LINK_SNAVIGATOR INT
SET @ORD = (SELECT COALESCE(MAX(ORDERS),0) + 1 FROM DBO.S_NAVIGATOR WHERE LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SALARY_ESN' AND NAME = 'ЕСН И ПФ и стат. отчетность'))
SET @LINK_SNAVIGATOR = COALESCE((SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'NV_SQL_REP_6NDFL'),0)

IF COALESCE(@LINK_SELF,0) > 0  AND COALESCE(@OBJECT,0) > 0  
 		EXEC DBO.W_ESN_UPDATEDOCUMENT @LINK_SNAVIGATOR, 'NV_SQL_REP_6NDFL', 'Сведения для расшифровки 6НДФЛ', @ORD, NULL, 1, @LINK_SELF, 'REPORT', @OBJECT, @LINK_VAR, 3
GO



GO
-- Отчет "Сведения о начислениях по уходу за ребёнком"
-- Сгенерировано скриптом scriptObjectVar 'sql_rep_add_child'

/*** Сам отчет ***/

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var

CREATE TABLE #UPD_object_var (link_navigator int)

INSERT INTO #UPD_object_var (link_navigator)
SELECT  SN.LINK
FROM S_NAVIGATOR SN,OBJECT_VAR OV
WHERE SN.LINK_VAR = OV.LINK AND OV.CODE= 'sql_rep_add_child'  

 
GO
    
	DELETE FROM OBJECT_VAR WHERE CODE = 'sql_rep_add_child'
	INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
	Select (Select link from s_objects where code = 'QUERY_SQL'),
	'Начисления по уходу за ребёнком',110, 
	(Select link from object_var where code = 'SQL_REPORT_CATALOG_SALARY'),
	'sql_rep_add_child',NULL, NULL, 1

	UPDATE S_NAVIGATOR
	SET LINK_VAR = (SELECT TOP 1 LINK FROM object_var WHERE CODE = 'sql_rep_add_child') 
	FROM S_NAVIGATOR S INNER JOIN #UPD_object_var U on S.LINK = U.link_navigator
GO

if object_id('tempdb..#UPD_object_var') is not null
	drop table #UPD_object_var
GO
/*** Свойства отчета ***/
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'INIT_OBJECT_METHOD')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'INIT_OBJECT_METHOD'),
	VALUE= 'm_print_query(nLink_Var)'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'VISIBLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'VISIBLE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'CHECK_VALUE_IN_TABLE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'BEFORE_CHANGE_PROG_NASTR'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_CENTER_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FOOTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_LEFT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'NASTR_XL_RIGHT_HEADER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDFROM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDFROM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDINTO')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDINTO'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDSELECT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDSELECT'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADDWHERE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADDWHERE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AFTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AFTER'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_BEFORE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_BEFORE'),
	VALUE= 'EXEC SD_REP_ADD_CHILD @dDateB1,@dDateE1'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATETIME')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATETIME'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DISTINCT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DISTINCT'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FOOTER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FOOTER'),
	VALUE= '="Исполнитель                               " & User_FIO
                                 подпись'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_FREEZEPANES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_FREEZEPANES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_HEADER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_HEADER'),
	VALUE= '=User_Name'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PAGES')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PAGES'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_PROCEDURE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_PROCEDURE'),
	VALUE= '#sql_rep_add_child'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPMAKER')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPMAKER'),
	VALUE= 'KIRREPMAKER.XLS'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT'),
	VALUE= 'IIF(.t.,"SD_REP_ADD_CHILD.XLT","")'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_REPORT_PATH')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_REPORT_PATH'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SQL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SQL'),
	VALUE= 'CREATE PROCEDURE #sql_rep_add_child
	@dDateB1 datetime	/* Дата начала */,
	@dDateE1 datetime	/* Дата окончания */
AS
BEGIN

EXEC SD_REP_ADD_CHILD @dDateB1,@dDateE1

END'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_SYSTEM')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_SYSTEM'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOP')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOP'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTAL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTAL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_TOTALROW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_TOTALROW'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_AP_LIST')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_AP_LIST'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'EOD_PROTOCOL')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'EOD_PROTOCOL'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'AFTER_REPORT_PROG')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'AFTER_REPORT_PROG'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_ADD_MODULE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_ADD_MODULE'),
	VALUE= 'KirRepCommon.bas'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_CODE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_CODE'),
	VALUE= ''
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'QUERY_DATE_TYPE')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'QUERY_DATE_TYPE'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'SQUERY_NO_SHOW')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'SQUERY_NO_SHOW'),
	VALUE= '0'
	
	
	DELETE  FROM object_var_values WHERE LINK_UP = ( Select link from object_var OV where code = 'sql_rep_add_child') and  PROPERTY = (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR')
	INSERT INTO object_var_values (LINK_UP, PROPERTY, VALUE)
	Select  LINK_UP= (Select link from object_var OV where code = 'sql_rep_add_child'),
	PROPERTY= (Select LINK from s_property where code = 'REPORT_EXTERNAL_GENERATOR'),
	VALUE= '1'
	
/***   Группа настроек    ***/
     
		DELETE FROM object_var WHERE CODE = 'sql_rep_add_child_N' 
		INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
		Select (Select link from s_objects where code = 'QUERY_NASTRS'),
		'Период',1, 
		(Select link from object_var where code = 'sql_rep_add_child'),
		'sql_rep_add_child_N',NULL, NULL, 1
		
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'sql_rep_add_child_D1' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_DATEBOX_PB'),
					'Дата начала',2, 
					(Select link from object_var where code = 'sql_rep_add_child_N'),
					'sql_rep_add_child_D1',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Дата начала'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'DATEBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущая дата,Расчетная дата,Начало расч. периода,Конец расч. периода,Начало года,Конец года,Начало расч. месяца,Конец расч. месяца'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@dDateB1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'datetime'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Начало расч. месяца'

						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D1') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D1'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO
/***   Настройка из группы   ***/
		
					DELETE FROM object_var WHERE CODE = 'sql_rep_add_child_D2' 
					INSERT INTO object_var (OBJECT, NAME, ORDERS, LINK_SELF, CODE, LINK_STATE, USERS, SYS) 
					Select (Select link from s_objects where code = 'NASTR_QUERY_DATEBOX_PE'),
					'Дата окончания',3, 
					(Select link from object_var where code = 'sql_rep_add_child_N'),
					'sql_rep_add_child_D2',NULL, NULL, 1
					
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'EDITABLE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'EDITABLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'SQUERY_NASTR_NON_VISIBLE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'FORMAT') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'FORMAT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CAPTION') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_CAPTION'),
							'Дата окончания'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_CONTROL') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_CONTROL'),
							'DATEBOX'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NOTE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_NOTE'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_NUMPARAM') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_NUMPARAM'),
							'1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SAVE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_SAVE'),
							'0'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SOURCE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_SOURCE'),
							'Текущая дата,Расчетная дата,Начало расч. периода,Конец расч. периода,Начало года,Конец года,Начало расч. месяца,Конец расч. месяца'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLPARAM') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLPARAM'),
							'@dDateE1'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_SQLTYPE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_SQLTYPE'),
							'datetime'
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE'),
							'Конец расч. месяца'

GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'QUERY_NASTR_VALUE_TEXT'),
							''
						
GO
						
						DELETE FROM OBJECT_VAR_VALUES WHERE PROPERTY = (Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL') and LINK_UP = (Select link from object_var where code = 'sql_rep_add_child_D2') 
						INSERT INTO OBJECT_VAR_VALUES(LINK_UP, PROPERTY, VALUE)
						Select ( Select link from object_var where code = 'sql_rep_add_child_D2'),
							(Select link from s_property where code = 'SQUERY_NASTR_OPTIONAL'),
							'0'
						
GO



/**************** ДОБАВЛЕНИЕ В НАВИГАТОР ОБЪЕКТА "Сведения о начислениях по уходу за ребёнком"*************/ 
 
DECLARE @LINK_VAR INT
SET @LINK_VAR = (SELECT LINK FROM OBJECT_VAR WHERE CODE = 'SQL_REP_ADD_CHILD')

DECLARE @LINK_SELF INT 
SET @LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SALARY_REP_EMPL' AND NAME = 'СВЕДЕНИЯ О СОТРУДНИКАХ')

DECLARE @OBJECT INT
SET @OBJECT = (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'QUERY_SQL')

DECLARE @ORD INT, @LINK_SNAVIGATOR INT
SET @ORD = (SELECT COALESCE(MAX(ORDERS),0) + 1 FROM DBO.S_NAVIGATOR WHERE LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'SALARY_REP_EMPL' AND NAME = 'СВЕДЕНИЯ О СОТРУДНИКАХ'))
SET @LINK_SNAVIGATOR = COALESCE((SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'NV_SQL_REP_ADD_CHILD'),0)

IF COALESCE(@LINK_SELF,0) > 0  AND COALESCE(@OBJECT,0) > 0  
 		EXEC DBO.W_ESN_UPDATEDOCUMENT @LINK_SNAVIGATOR, 'NV_SQL_REP_ADD_CHILD', 'Начисления по уходу за ребёнком', @ORD, NULL, 1, @LINK_SELF, 'REPORT', @OBJECT, @LINK_VAR, 3
GO


GO
/****** Объект: Журнал синхронизации с ПК Смета-Смарт******/

IF EXISTS( SELECT * FROM DBO.S_OBJECTS WHERE CODE = 'SYNCH_SMETA_SMART_JOURNAL')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[SDOC] D INNER JOIN [dbo].[S_OBJECTS] O ON D.[OBJECT] = O.[LINK] WHERE O.CODE = 'SYNCH_SMETA_SMART_JOURNAL')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[OBJECT_VAR] V INNER JOIN [dbo].[S_OBJECTS] O ON V.[OBJECT] = O.[LINK] WHERE O.CODE = 'SYNCH_SMETA_SMART_JOURNAL')
	AND NOT EXISTS( SELECT O.LINK FROM [dbo].[DICTION] C INNER JOIN [dbo].[S_OBJECTS] O ON C.[OBJECT] = O.[LINK] WHERE O.CODE = 'SYNCH_SMETA_SMART_JOURNAL')
	
	DELETE FROM DBO.S_OBJECTS WHERE CODE = 'SYNCH_SMETA_SMART_JOURNAL'
ELSE
	DELETE FROM DBO.S_OBJECTS WHERE LINK_SELF IN (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'SYNCH_SMETA_SMART_JOURNAL')	

GO

IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNCH_SMETA_SMART_JOURNAL', 'Журнал синхронизации с ПК Смета-Смарт', 32, (SELECT LINK FROM S_OBJECTS WHERE CODE='SALARY_EXEC_MODULES'), (SELECT LINK FROM S_OBJECTS WHERE CODE='DICTIONARY_CLASS'),1,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNCH_SMETA_SMART_JOURNAL', NAME = 'Журнал синхронизации с ПК Смета-Смарт', ORDERS = '32', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SALARY_EXEC_MODULES'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='DICTIONARY_CLASS'), MANAGED = 1, INHERITED = 1
	WHERE CODE ='SYNCH_SMETA_SMART_JOURNAL'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNC_SMETA_SM_JOUR_CHECKED')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNC_SMETA_SM_JOUR_CHECKED', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNC_SMETA_SM_JOUR_CHECKED', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNC_SMETA_SM_JOUR_CHECKED'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNC_SMETA_SM_JOUR_YEAR')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNC_SMETA_SM_JOUR_YEAR', 'Год', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNC_SMETA_SM_JOUR_YEAR', NAME = 'Год', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNC_SMETA_SM_JOUR_YEAR'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNC_SMETA_SM_JOUR_MONTH')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNC_SMETA_SM_JOUR_MONTH', 'Месяц', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNC_SMETA_SM_JOUR_MONTH', NAME = 'Месяц', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNC_SMETA_SM_JOUR_MONTH'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNC_SMETA_SM_JOUR_HOST')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNC_SMETA_SM_JOUR_HOST', 'Компьютер', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNC_SMETA_SM_JOUR_HOST', NAME = 'Компьютер', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNC_SMETA_SM_JOUR_HOST'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNC_SMETA_SM_JOUR_LOGIN')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNC_SMETA_SM_JOUR_LOGIN', 'Пользователь', 5, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNC_SMETA_SM_JOUR_LOGIN', NAME = 'Пользователь', ORDERS = '5', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNC_SMETA_SM_JOUR_LOGIN'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNC_SMETA_SM_JOUR_STATUS')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNC_SMETA_SM_JOUR_STATUS', 'Статус', 6, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNC_SMETA_SM_JOUR_STATUS', NAME = 'Статус', ORDERS = '6', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNC_SMETA_SM_JOUR_STATUS'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNC_SMETA_SM_JOUR_POSTDATE')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNC_SMETA_SM_JOUR_POSTDATE', 'Дата', 7, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNC_SMETA_SM_JOUR_POSTDATE', NAME = 'Дата', ORDERS = '7', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNC_SMETA_SM_JOUR_POSTDATE'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNC_SMETA_SM_JOUR_POSTTIME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNC_SMETA_SM_JOUR_POSTTIME', 'Время', 8, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNC_SMETA_SM_JOUR_POSTTIME', NAME = 'Время', ORDERS = '8', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNC_SMETA_SM_JOUR_POSTTIME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNCH_SMETA_SMART_JOUR_TAB', 'Выполнение операций', 9, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'),1,1
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNCH_SMETA_SMART_JOUR_TAB', NAME = 'Выполнение операций', ORDERS = '9', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOURNAL'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='WEB_DICTIONARY_CLASS'), MANAGED = 1, INHERITED = 1
	WHERE CODE ='SYNCH_SMETA_SMART_JOUR_TAB'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNCH_SMART_JOUR_Т_MARKER')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNCH_SMART_JOUR_Т_MARKER', 'Маркер', 1, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNCH_SMART_JOUR_Т_MARKER', NAME = 'Маркер', ORDERS = '1', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNCH_SMART_JOUR_Т_MARKER'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNCH_SMART_JOUR_Т_NUM')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNCH_SMART_JOUR_Т_NUM', 'Номер п/п', 2, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNCH_SMART_JOUR_Т_NUM', NAME = 'Номер п/п', ORDERS = '2', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNCH_SMART_JOUR_Т_NUM'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNCH_SMART_JOUR_Т_ONAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNCH_SMART_JOUR_Т_ONAME', 'Вид', 3, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNCH_SMART_JOUR_Т_ONAME', NAME = 'Вид', ORDERS = '3', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNCH_SMART_JOUR_Т_ONAME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNCH_SMART_JOUR_Т_O2NAME')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNCH_SMART_JOUR_Т_O2NAME', 'Операции', 4, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNCH_SMART_JOUR_Т_O2NAME', NAME = 'Операции', ORDERS = '4', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNCH_SMART_JOUR_Т_O2NAME'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNCH_SMART_JOUR_Т_COM')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNCH_SMART_JOUR_Т_COM', 'Коментарий', 5, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNCH_SMART_JOUR_Т_COM', NAME = 'Коментарий', ORDERS = '5', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNCH_SMART_JOUR_Т_COM'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNCH_SMART_JOUR_Т_STATUS')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNCH_SMART_JOUR_Т_STATUS', 'Статус код', 6, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNCH_SMART_JOUR_Т_STATUS', NAME = 'Статус код', ORDERS = '6', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNCH_SMART_JOUR_Т_STATUS'
GO
IF NOT EXISTS(SELECT * FROM S_OBJECTS WHERE CODE='SYNCH_SMART_JOUR_Т_STAT_N')
	INSERT S_OBJECTS (CODE, NAME, ORDERS, LINK_SELF, LINK_CLASS, MANAGED, INHERITED)
	SELECT 'SYNCH_SMART_JOUR_Т_STAT_N', 'Статус наименование', 7, (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'),0,0
ELSE
	UPDATE DBO.S_OBJECTS
	SET CODE = 'SYNCH_SMART_JOUR_Т_STAT_N', NAME = 'Статус наименование', ORDERS = '7', LINK_SELF = (SELECT LINK FROM S_OBJECTS WHERE CODE='SYNCH_SMETA_SMART_JOUR_TAB'), LINK_CLASS = (SELECT LINK FROM S_OBJECTS WHERE CODE='EDIT_FIELD_CLASS'), MANAGED = 0, INHERITED = 0
	WHERE CODE ='SYNCH_SMART_JOUR_Т_STAT_N'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'TITLE', 'Журнал синхронизации с ПК Смета-Смарт'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'INIT_OBJECT_METHOD', 'X_SPISOK("SYNCH_SMETA_SMART_JOURNAL")'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'REMOVE_OBJECT_METHOD', 'I_DELETE_RECORDS(m.oForm.Alias, "SYNCH_SMETA_SMART_JOURNAL", "SYNC_JOURN_DELETE", 4, .F., .F.)'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'SAVE_OBJECT_METHOD', 'sa_sync_save(oForm)'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'EDIT_OBJECT_METHOD', 'SALARY_BROW(''sa_SYNC_edit'')'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'SELECT_RECORDS_METHOD', 'X_SELECT_DICTIONS(''SYNCH_SMETA_SMART_JOURNAL'')'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'SELECT_RECORDS_METHOD_EDIT', 'X_SELECT_DICTIONS(''SYNCH_SMETA_SMART_JOURNAL'')'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'OPEN_CODE', 'link'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'MSG_SEL_ONE', 'IIF(ISNULL(YEAR),'''', YEAR) + [-] + IIF(ISNULL(MONTH), '''', MONTH)'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'SERVER_TABLE_NAME', 'SYNCH_SMETA_SMART_JOURN'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOURNAL', 'OPERATION_MASK', '24'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_CHECKED', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_CHECKED', 'CONTROLSOURCE', 'm.cAlias + ".CHECKED"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_CHECKED', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".CHECKED"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_YEAR', 'TITLE', 'Год'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_YEAR', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_YEAR', 'CONTROLSOURCE', 'm.cAlias + ".YEAR"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_YEAR', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_YEAR', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_YEAR', 'TYPE_FIELD_DICT', 'numeric(10,0)'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_YEAR', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".YEAR"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_YEAR', 'CONTROL_NAME_EDIT', 'Ayear1'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_MONTH', 'TITLE', 'Месяц'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_MONTH', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_MONTH', 'CONTROLSOURCE', 'm.cAlias + ".MONTH"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_MONTH', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_MONTH', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_MONTH', 'TYPE_FIELD_DICT', 'numeric(4,0)'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_MONTH', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".MONTH"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_MONTH', 'CONTROL_NAME_EDIT', 'Amonth1'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_HOST', 'TITLE', 'Компьютер'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_HOST', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_HOST', 'CONTROLSOURCE', 'm.cAlias + ".HOSTNAME"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_HOST', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_HOST', 'STORAGE', 'SYNCH_SMETA_SMART_JOURNAL'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_HOST', 'TYPE_FIELD_DICT', 'VARCHAR(15)'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_HOST', 'SHORT_CODE_OBJ', 'HOSTNAME'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_HOST', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".HOSTNAME"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_HOST', 'CONTROL_NAME_EDIT', 'aTextBox03'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_LOGIN', 'TITLE', 'Пользователь'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_LOGIN', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_LOGIN', 'CONTROLSOURCE', 'm.cAlias + ".LOGINAME"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_LOGIN', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_LOGIN', 'STORAGE', 'SYNCH_SMETA_SMART_JOURNAL'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_LOGIN', 'TYPE_FIELD_DICT', 'VARCHAR(15)'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_LOGIN', 'SHORT_CODE_OBJ', 'LOGINAME'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_LOGIN', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".LOGINAME"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_LOGIN', 'CONTROL_NAME_EDIT', 'aTextBox04'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_STATUS', 'TITLE', 'Статус'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_STATUS', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_STATUS', 'CONTROLSOURCE', 'm.cAlias + ".STATUS"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_STATUS', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_STATUS', 'STORAGE', 'SYNCH_SMETA_SMART_JOURNAL'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_STATUS', 'TYPE_FIELD_DICT', 'VARCHAR(15)'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_STATUS', 'SHORT_CODE_OBJ', 'STATUS'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_STATUS', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".STATUS"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_STATUS', 'CONTROL_NAME_EDIT', 'aTextBox05'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTDATE', 'TITLE', 'Дата'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTDATE', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTDATE', 'CONTROLSOURCE', 'm.cAlias + ".PoSTDATE"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTDATE', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTDATE', 'STORAGE', 'SYNCH_SMETA_SMART_JOURNAL'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTDATE', 'TYPE_FIELD_DICT', 'VARCHAR(8)'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTDATE', 'SHORT_CODE_OBJ', 'PoSTDATE'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTDATE', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".PoSTDATE"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTDATE', 'CONTROL_NAME_EDIT', 'Aseldate1'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTTIME', 'TITLE', 'Время'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTTIME', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTTIME', 'CONTROLSOURCE', 'm.cAlias + ".PoSTTIME"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTTIME', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTTIME', 'STORAGE', 'SYNCH_SMETA_SMART_JOURNAL'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTTIME', 'TYPE_FIELD_DICT', 'varchar(8)'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTTIME', 'SHORT_CODE_OBJ', 'PoSTTIME'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTTIME', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".PoSTTIME"'
GO
EXEC X_SET_PROP 'SYNC_SMETA_SM_JOUR_POSTTIME', 'CONTROL_NAME_EDIT', 'ATEXTBOX1'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'TITLE', 'Выполнение операций'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'INIT_OBJECT_METHOD', 'X_SPISOK("SYNCH_SMETA_SMART_JOUR_TAB")'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'INIT_OBJECT_PROG', 'A_SPISOK_MENU(oForm)
A_SPISOK_UPD (oForm, 0, .T.)'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'SELECT_RECORDS_METHOD', 'sync_select_table(m.nLink, m.cAlias,''SYNCH_SMETA_SMART_JOUR_TAB'',''*'')
'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'SELECT_RECORDS_METHOD_EDIT', 'sync_select_table(m.nLink, m.cAlias,''SYNCH_SMETA_SMART_JOUR_TAB'',''*'')
'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'OPEN_CODE', 'LINK'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'CAPTION', 'Выполнение операций по выбранным настройкам'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'MSG_SEL_ONE', ''
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'SERVER_TABLE_NAME', 'SYNCH_SMETA_SMART_JOUR_TAB'
GO
EXEC X_SET_PROP 'SYNCH_SMETA_SMART_JOUR_TAB', 'PREPARE_NEW_RECORD', 'x_new_diction_record(m.OBJ_CODE, m.cAlias)'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_MARKER', 'VISIBLE', '25'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_MARKER', 'CONTROLSOURCE', 'm.cAlias + ".CHECKED"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_MARKER', 'ROWSOURCE', 'CHECKED'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_MARKER', 'SHORT_CODE_OBJ', 'CHECKED'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_MARKER', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".CHECKED"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_MARKER', 'ASPTYPE', 'checkbox'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_MARKER', 'FIELD_DATA', 'checked'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'TITLE', '№'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'CONTROLSOURCE', 'm.cAlias + ".NOM_PP"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'STORAGE', 'SYNCH_SMETA_SMART_JOUR_TAB'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'TYPE_FIELD_DICT', 'VARCHAR(4)'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'SHORT_CODE_OBJ', 'NOM_PP'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".NOM_PP"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_NUM', 'COMMENTARY', 'Номер п/п'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'TITLE', 'Вид'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'CONTROLSOURCE', 'm.cAlias + ".OPT_NAME"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'STORAGE', 'SYNCH_SMETA_SMART_JOUR_TAB'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'TYPE_FIELD_DICT', 'VARCHAR(150)'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'SHORT_CODE_OBJ', 'OPT_NAME'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".OPT_NAME"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_ONAME', 'COMMENTARY', 'Вид'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_O2NAME', 'TITLE', 'Операции'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_O2NAME', 'VISIBLE', '9'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_O2NAME', 'CONTROLSOURCE', 'm.cAlias + ".NAME"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_O2NAME', 'STORAGE', 'SYNCH_SMETA_SMART_JOUR_TAB'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_O2NAME', 'TYPE_FIELD_DICT', 'VARCHAR(100)'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_O2NAME', 'SHORT_CODE_OBJ', 'NAME'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_O2NAME', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".NAME"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_O2NAME', 'COMMENTARY', 'Операции'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'TITLE', 'Коментарий'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'CONTROLSOURCE', 'm.cAlias + ".COMENT"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'STORAGE', 'SYNCH_SMETA_SMART_JOUR_TAB'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'TYPE_FIELD_DICT', 'varchar(1000)'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'SHORT_CODE_OBJ', 'COMENT'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".COMENT"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_COM', 'COMMENTARY', 'Коментарий'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STATUS', 'TITLE', 'Статус Код'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STATUS', 'VISIBLE', '2'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STATUS', 'CONTROLSOURCE', 'm.cAlias + ".STATUS_O"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STATUS', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STATUS', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STATUS', 'STORAGE', 'SYNCH_SMETA_SMART_JOUR_TAB'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STATUS', 'TYPE_FIELD_DICT', 'Tinyint'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STATUS', 'SHORT_CODE_OBJ', 'STATUS_O'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STATUS', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".STATUS_O"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STAT_N', 'TITLE', 'Статус'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STAT_N', 'VISIBLE', '15'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STAT_N', 'CONTROLSOURCE', 'm.cAlias + ".STAT_NAME_O"'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STAT_N', 'EDITABLE', '1'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STAT_N', 'FIELD_IN_ALIAS', '3'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STAT_N', 'STORAGE', 'SYNCH_SMETA_SMART_JOUR_TAB'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STAT_N', 'TYPE_FIELD_DICT', 'Tinyint'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STAT_N', 'SHORT_CODE_OBJ', 'STAT_NAME_O'
GO
EXEC X_SET_PROP 'SYNCH_SMART_JOUR_Т_STAT_N', 'CONTROLSOURCE_EDIT', 'm.cAlias + ".STAT_NAME_O"'
GO

/**************** УСТАНОВКА ДОСТУПА К ОБЪЕКТУ *************/
EXEC DBO.W_SPERM_WRITE 'SYNCH_SMETA_SMART_JOURNAL', 'Зарплата-КС', 63,0
GO

/**************** ДОБАВЛЕНИЕ В НАВИГАТОР ОБЪЕКТА "Журнал синхронизации с ПК Смета-Смарт"*************/ 
 
DECLARE @LINK_VAR INT
SET @LINK_VAR = NULL

DECLARE @LINK_SELF INT 
SET @LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = '4603' AND NAME = 'РЕГЛАМЕНТЫ')

DECLARE @OBJECT INT
SET @OBJECT = (SELECT LINK FROM DBO.S_OBJECTS WHERE CODE = 'SYNCH_SMETA_SMART_JOURNAL')

DECLARE @ORD INT, @LINK_SNAVIGATOR INT
SET @ORD = (SELECT COALESCE(MAX(ORDERS),0) + 1 FROM DBO.S_NAVIGATOR WHERE LINK_SELF = (SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = '4603' AND NAME = 'РЕГЛАМЕНТЫ'))
SET @LINK_SNAVIGATOR = COALESCE((SELECT LINK FROM DBO.S_NAVIGATOR WHERE CODE = 'NV_SYNC_JOURNAL'),0)

IF COALESCE(@LINK_SELF,0) > 0  AND COALESCE(@OBJECT,0) > 0  
 		EXEC DBO.W_ESN_UPDATEDOCUMENT @LINK_SNAVIGATOR, 'NV_SYNC_JOURNAL', 'Журнал синхронизации с ПК Смета-Смарт', @ORD, NULL, 1, @LINK_SELF, 'RUN', @OBJECT, @LINK_VAR, 3
GO


GO

--SCRIPT T, SYNCH_SMETA_SMART_OPT, opt_code
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT] WHERE [opt_code]='SAL_OPT_INTEGR_PROV_ZP_EXP') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT]([order], [opt_name], [opt_code], [Active])
VALUES (1, 'Передача проводок по зарплате', 'SAL_OPT_INTEGR_PROV_ZP_EXP', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT] WHERE [opt_code]='SAL_OPT_INTEGR_KLASSIF_IMP') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT]([order], [opt_name], [opt_code], [Active])
VALUES (2, 'Прием классификаторов', 'SAL_OPT_INTEGR_KLASSIF_IMP', 1)
GO
--IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT] WHERE [opt_code]='SAL_OPT_INTEGR_IMP_KORR') 
--INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT]([order], [opt_name], [opt_code], [Active])
--VALUES (3, 'Прием корреспондентов', 'SAL_OPT_INTEGR_IMP_KORR', 0)
--GO
--IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT] WHERE [opt_code]='SAL_OPT_INTEGR_KADR_EXP') 
--INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT]([order], [opt_name], [opt_code], [Active])
--VALUES (4, 'Передача кадровой информации', 'SAL_OPT_INTEGR_KADR_EXP', 0)
--GO
--IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT] WHERE [opt_code]='SAL_OPT_INTEGR_PROV_PERECH_IMP') 
--INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT]([order], [opt_name], [opt_code], [Active])
--VALUES (5, 'Прием проводок по перечислениям', 'SAL_OPT_INTEGR_PROV_PERECH_IMP', 0)
--GO
--IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT] WHERE [opt_code]='SAL_OPT_INTEGR_PP_ZKR_EXP') 
--INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT]([order], [opt_name], [opt_code], [Active])
--VALUES (6, 'Передача ПП/ЗКР', 'SAL_OPT_INTEGR_PP_ZKR_EXP', 0)
--GO

--SCRIPT T, SYNCH_SMETA_SMART_OPT2, CODE

IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='SAL_DOC_PROV_EXP') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (1, 1, 'Передача проводок по зарплате', 'SAL_DOC_PROV_EXP', 'SYNCH_DOCUMENTS_SALARY', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='BI_DICTION_BUDG_TYPE') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 1, 'Справочник бюджетов', 'BI_DICTION_BUDG_TYPE', 'SYNCH_BI_DICTION_BUDG_TYPE', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='BI_DICTION_ADMIN_BS') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 2, 'Администраторы бюджетных средств', 'BI_DICTION_ADMIN_BS', 'SYNCH_BI_DICTION_ADMIN_BS', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='BI_DICTION_KBK') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 10, 'Бюджетная классификация (КБК)', 'BI_DICTION_KBK', 'SYNCH_BI_DICTION_KBK', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='BI_DICTION_DIV') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 3, 'Функциональная классификация расходов', 'BI_DICTION_DIV', 'SYNCH_BI_DICTION_DIV', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='BI_DICTION_EXP') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 4, 'Классификатор расходов', 'BI_DICTION_EXP', 'SYNCH_BI_DICTION_EXP', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='BI_DICTION_CSR') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 5, 'Целевая статья расходов', 'BI_DICTION_CSR', 'SYNCH_BI_DICTION_CSR', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='BI_DICTION_INCOME') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 6, 'Классификатор доходов', 'BI_DICTION_INCOME', 'SYNCH_BI_DICTION_INCOME', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='BB_DICTION_PROG') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 7, 'Классификатор программ', 'BB_DICTION_PROG', 'SYNCH_BB_DICTION_PROG', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='BI_DICTION_IVF') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 8, 'Источники финансирования', 'BI_DICTION_IVF', 'SYNCH_BI_DICTION_IVF', 1)
GO
IF NOT EXISTS (SELECT * FROM dbo.[SYNCH_SMETA_SMART_OPT2] WHERE [code]='DICTIONARY_KOSGU') 
INSERT INTO dbo.[SYNCH_SMETA_SMART_OPT2]([LINK_UP], [order], [name], [code], [command], [Active])
VALUES (2, 9, 'Операции сектора госуправления', 'DICTIONARY_KOSGU', 'SYNCH_DICTIONARY_KOSGU', 1)
GO


GO
